Форум сетевых администраторов
Показаны 12 сообщений на этой странице

Форум сетевых администраторов (http://netadmin.ws/forum/index.php)
- VBulletin 2.x.x (http://netadmin.ws/forum/forumdisplay.php?forumid=45)
-- Ошибка?! в шаблоне standarderror (http://netadmin.ws/forum/showthread.php?threadid=3721)


Помещено Afina 18-12-2002 в 09:00:

Ошибка?! в шаблоне standarderror

если коротко то шаблон выглядит так

quote:

Заголовок
 </td></tr></table>
текст ошибки
<table bgcolor="{pagebgcolor}" width="{tablewidth}" cellpadding="10" cellspacing="0" border="0">
<tr>
<td>

футер


в других шаблонах специального разрыва общей таблицы не наблюдается
зачем оно так сделано???


Помещено polo 18-12-2002 в 14:10:

ну сделанно для того чтобы по серидине было. В showthread и в postbit помоему это тоже присудствует.

__________________
Всегда есть решение.


Помещено MCTarakan 18-12-2002 в 21:23:

Afina дык, это не ошибка... а вполнепонятная неточность... таких неточносетй можно дофига привести! Вообще шаблоны написаны очень криво - редактируя их можно уменьшить вес страницы в половину!!!!

__________________
yMC.ru - хомяк музыканта


Помещено Afina 19-12-2002 в 05:33:

обидно, бум искать др неточности =(


Помещено MCTarakan 20-12-2002 в 00:08:

Afina как найдешь - выкладывай! полезно узнавать новые ляпы! :good:

__________________
yMC.ru - хомяк музыканта


Помещено Afina 20-12-2002 в 07:34:

когда отправляется уведомление о изменениях в подписанной теме
оно отправляется в шаблоне того кто ответил а не тому кому высылается сообщение
имхо это неправильно


Помещено MCTarakan 21-12-2002 в 01:40:

Afina ДА! я это тоже заметил недавно!!! ТОЧНО - НЕПÐ_АВИЛЬНО!!! как поправить???

__________________
yMC.ru - хомяк музыканта


Помещено Afina 21-12-2002 в 09:50:

все просто -
1 надо найти все эти места где идет отсылка email не активному юзеру , а кому-то другому
2 вставить код вычисления templateid для получателя
3 заменить templatelatestid на templateid получателя
имхо все просто, но ломает делать


Помещено MCTarakan 22-12-2002 в 00:49:

Afina в каких файлах???

__________________
yMC.ru - хомяк музыканта


Помещено Afina 22-12-2002 в 07:26:

Вот что я накопал
следующие шаблоны загружаются от текущего пользователя, а по логике необходимо чтобы они загружалить о пользователа которому отсылается сообщение.
1 email_moderator и emailsubject_moderator
файлы newreply.php и newthread.php
2 email_newuser и emailsubject_newuser
файл register.php
3 email_notify и emailsubject_notify
файлы admin\functions.php и newreply.php
4 email_pmboxfull и emailsubject_pmfullbox
файлы private.php private2.php
5 email_reportbadpost и emailsubject_reportbadpost
файл report.php
6 email_usermessage и emailsubject_usermessage
файл member.php
7 email_pmreceived и emailsubject_pmreceived
файлы private.php private2.php
8 warn_banemail_notify, warn_banemail_subject, warn_pmemail_notify, warn_pmemail_subject
файл warn.php (у меня установлен warning hack)

кусок кода использования этих шаблонов выглядит примерно так

code:

  $moderators=$DB_site->query("SELECT DISTINCT user.email FROM moderator,user WHERE user.userid=moderator.userid AND moderator.forumid IN ($foruminfo[parentlist])");
   $thread[title]=unhtmlspecialchars($thread[title]);

  if ($DB_site->num_rows($moderators)==0) {
    // get admins if no mods
    $moderators=$DB_site->query("SELECT user.email FROM user,usergroup WHERE user.usergroupid=usergroup.usergroupid AND (usergroup.cancontrolpanel=1 OR usergroup.ismoderator=1)");
  }
  while ($moderator=$DB_site->fetch_array($moderators)) {
    eval("\$message = \"".gettemplate("email_reportbadpost",1,0)."\";");
    eval("\$subject = \"".gettemplate("emailsubject_reportbadpost",1,0)."\";");
    mail ($moderator[email],$subject,$message,"From: \"$bbtitle Mailer\" <$webmasteremail>");
  }


функция gettemplate загружает шаблон для текущего ползователя (переменная $templatesetid)
и кроме того, если шаблон уже прокешировался, то она просто поднимает его из кеша
а необходимо сделать так, чтобы gettemplate могла выдавать шаблон для любого пользователя
ну и перед eval("\$message = .... вставить код для вычисления $templatesetid_new для каждого юзверя которому отправляется сообщение

вот! достаточно ястно изложил?

1 функция gettemplate будет выглядеть теперь так

code:
// ###################### Start gettemplate #######################
function  gettemplate($templatename,$escape=1,$gethtmlcommen
ts=1, $templatesetid_new) {
  // gets a template from the db or from the local cache
  global  $templatecache,$DB_site,$templatesetid,$addtemplat
ename;
//++++++++++ insert by Segr ++++++++++
if (!isset($templatesetid_new) or ($templatesetid_new == $templatesetid)) {
//++++++++++ insert by Segr ++++++++++
  if (isset($templatecache[$templatename])) {
    $template=$templatecache[$templatename];
  } else {
    $gettemp=$DB_site->query_first("SELECT template FROM template WHERE title='".addslashes($templatename)."' AND (templatesetid=-1 OR templatesetid=" . intval($templatesetid). ") ORDER BY templatesetid DESC LIMIT 1");
    $template=$gettemp[template];
    $templatecache[$templatename]=$template;
 }
//++++++++++ insert by Segr ++++++++++
} else {
  $gettemp=$DB_site->query_first("SELECT template FROM template WHERE title='".addslashes($templatename)."' AND (templatesetid=-1 OR templatesetid=" . intval($templatesetid_new). ") ORDER BY templatesetid DESC LIMIT 1");
  $template=$gettemp[template];
}
//++++++++++ insert by Segr ++++++++++



2 теперь надо поправить вычисление $moderators, добавить после SELECT - user.styleid
3 код вычисления $templatesetid_new

code:
  $style=$DB_site->query("SELECT style.templatesetid FROM style WHERE style.styleid=$moderator[styleid]");
  $templatesetid_new = $style[templatesetid];



вроде все.
только вот реализовывать это, а тем более опробывать времени нет. жаль
кто возьмется?


Помещено MCTarakan 22-12-2002 в 16:48:

Afina я возъмусь, только теперь уже после НГ а то на локалке у меня форум загнулся - нада выяснять что и почему... а ща праздники, сам понимаешь, да еще и переезжаю я... вообщем, как только, так сразу!
Я тебе ПМ или мыло кину!

__________________
yMC.ru - хомяк музыканта


Помещено Afina 27-12-2002 в 13:15:

еще, никак не пойму
структура форума -
форум1
--форум 2 (подфорум)
делаю модератора вася на форум1 и его же модератором на форум2
захожу на форум2
и вижу сверху
модерируется - вася, вася
те повторение
тоже так задумано?


Формат времени GMT. Текущее время 03:59.
Показаны 12 сообщений на этой странице

Powered by: vBulletin Version 2.2.4
Copyright © Jelsoft Enterprises Limited 2000, 2001.