Strict Standards: Resource ID#33 used as offset, casting to integer (33) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#35 used as offset, casting to integer (35) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#36 used as offset, casting to integer (36) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Баг-фиксы к ExBB Full Mods 0.1.4
ТвойWeb » » ExBB Full Mods » Баг-фиксы к ExBB Full Mods 0.1.4

Страниц (2): [1] 2 »
 

1. TvoyWeb - 09 Апреля, 2006 - 16:49:30 - перейти к сообщению
Здесь я буду выкладывать исправления найденных багов. Тема будет всегда висеть прикрепленной и закрытой, чтобы не мусорить в ней.
Каждое новое исправление в новом сообщении.

Исправление бага описанного в сообщении http://tvoyweb.ru/forums/topic.p...ge=50#1144613692

Открываем файл setmembers.php и находим на 88 строке, строку кода:
CODE:
$newname = ($inuser['name'] == $vars['newname'] || empty($vars['newname'])) ? false : true;

Исправляем так:
CODE:
$newname = ($user['name'] == $vars['newname'] || empty($vars['newname'])) ? false : true;


Далее ищем на 138 строке, строку кода:
CODE:
$allusers[$user_id]['m'] = $inuser['mail'];

Исправляем так:
CODE:
$allusers[$user_id]['m'] = $user['mail'];


Далее ищем примерно на 173 строке. код:
CODE:
$banlist = get_file($exbb['home_path'].'data/banlist.php');
$banned_selected = ($banlist[$user_id]) ? " selected":"";
unset($banlist[$user_id]);
$admin_selected = $member_selected= "";
if (empty($banned_selected)) {
$admin_selected = ($user['status'] == 'ad') ? " selected":"";
$member_selected = ($user['status'] == 'me') ? " selected":"";
}

И удаляем этот код.

Следующие изменения, немного оптимизируют код.
Далее ищем примерно на 186 строке, код:
CODE:
$dataout = '<select name="membercode"><option value="me"'.$member_selected.'>'.$lang['User'].'<option value="banned"'.$banned_selected.'>'.$lang['Banned_user'].'<option value="ad"'.$admin_selected.'>'.$lang['Admin'].'</select>';
$dataout = str_replace("value=\"$inuser[status]\"","value=\"$inuser[status]\" selected",$dataout);

И заменяем его на код:
CODE:
$dataout = "<select name=\"membercode\">
<option value=\"me\">".$lang['User']."</option>
<option value=\"banned\">".$lang['Banned_user']."</option>
<option value=\"ad\">".$lang['Admin']."</option>
</select>";
$dataout = str_replace("value=\"$user[status]\"","value=\"$user[status]\" selected",$dataout);
2. TvoyWeb - 10 Апреля, 2006 - 06:27:34 - перейти к сообщению
Исправление бага описанного в сообщении http://tvoyweb.ru/forums/topic.p...ge=50#1144656822

Открываем postings.php и на 699 строке находим строку кода:
CODE:
$tolist[$newtopic_id][аid'] = $toforum_id;

Исправляем так:
CODE:
$tolist[$newtopic_id][fid'] = $toforum_id;


Добавление бота в список ботов (смотреть сообщение http://tvoyweb.ru/forums/topic.p...ge=50#1144652767 )

Открываем файл lib.php и находим функцию is_search_bot(). В ней находим строки кода:
CODE:
$botnamearray = array ( 'TurtleScanner','Nutscrape','WebSpeedReader',
'StackRambler','NetCaptor','Yandex',
'Bond','Wget','Space Bison',
'msnbot','Yahoo','Mediapartners-Google',
'Googlebot','Yahoo-MMCrawler','Google',
'Slurp','WebCrawler','ZyBorg','Aport');

И исправляем так:
CODE:
$botnamearray = array ( 'TurtleScanner','Nutscrape','WebSpeedReader',
'StackRambler','NetCaptor','Yandex',
'Bond','Wget','Space Bison',
'msnbot','Yahoo','Mediapartners-Google',
'Googlebot','Yahoo-MMCrawler','Google',
'Slurp','WebCrawler','ZyBorg','Aport','Gigabot','WebAlta');


Для тех у кого старая версия этой функции откройте lib.php и примерно на 731 строке функцию:
CODE:
function is_search_bot() {

if ( strstr($_SERVER['HTTP_USER_AGENT'], 'Yandex') ) { return 'Yandex';}
elseif ( strstr($_SERVER['HTTP_USER_AGENT'], 'Googlebot') ) {return 'Google';}
elseif ( strstr($_SERVER['HTTP_USER_AGENT'], 'Slurp') ) {return 'Slurp';}
elseif ( strstr($_SERVER['HTTP_USER_AGENT'], 'WebCrawler') ) {return 'WebCrawler';}
elseif ( strstr($_SERVER['HTTP_USER_AGENT'], 'ZyBorg') ) {return 'ZyBorg';}

return '';
}

И замените ее на функцию:
CODE:
function is_search_bot() {
$botnamearray = array ( 'TurtleScanner','Nutscrape','WebSpeedReader',
'StackRambler','NetCaptor','Yandex',
'Bond','Wget','Space Bison',
'msnbot','Yahoo','Mediapartners-Google',
'Googlebot','Yahoo-MMCrawler','Google',
'Slurp','WebCrawler','ZyBorg','Aport','Gigabot','WebAlta');
foreach ($botnamearray as $name){
if (strstr($_SERVER['HTTP_USER_AGENT'], $name)){
return $name;
break;
}
}
return '';
}

В старой версии этой функции не учитывались многие поисковики. которые и накручивали статистику.
Если знаете другие поисковики которые здесь не указаны, то напишите полный текст HTTP_USER_AGENT этого поисковика.

Все это уже обновлено в архивах.
3. TvoyWeb - 10 Апреля, 2006 - 06:31:38 - перейти к сообщению
Исправление бага в модуле штрафов описанного в сообщении http://tvoyweb.ru/forums/topic.p...ge=50#1144523579

Открываем файл punish.php и находим примерно на 143 строке в функции send_pm() строку кода:
CODE:
$hiuser = Get_File_Data($fp_pun,$inboxfile);

И исправляем так:
CODE:
$hiuser = Get_File_Data($fp_inbox,$inboxfile);
4. TvoyWeb - 10 Апреля, 2006 - 15:07:23 - перейти к сообщению
Исправлеям баг, который проявляется при попытки поиска в теме.
При попытке поиска в теме выдавалось сообщение "Только корректным способом входите в скрипт". Баг описан в сообщении http://tvoyweb.ru/forums/topic.p...ge=50#1144683297

Открываем файл topic.php и на 327 строке строку кода:
CODE:
$options['srch_intop'] = '<a href="search.php?action=t&f=$inforum&t=$intopic">'.$lang['srch_intop'].'</a>';

Исправляем так:
CODE:
$options['srch_intop'] = '<a href="search.php?action=t&f='.$inforum.'&t='.$intopic.'">'.$lang['srch_intop'].'</a>';


Через полчаса обновлю архивы.
5. TvoyWeb - 13 Апреля, 2006 - 16:10:34 - перейти к сообщению
Исправляем ошибку в моде "Дни рождения", описанную в сообщениях http://tvoyweb.ru/forums/topic.p...ge=50#1144881892 и http://tvoyweb.ru/forums/topic.p...ge=50#1144906641

Открываем файл modules/birstday/register_save.php
И находим на 13 строке строку кода:
CODE:
$birstday_data[$day_key][$exbb['mem_id']] = $vars['y'].':'.$today.':'.$inmembername.':'.$emailaddress.':'.$user['showyear'];

Исправляем так:
CODE:
$birstday_data[$day_key][$id] = $vars['y'].':'.$today.':'.$inmembername.':'.$emailaddress.':'.$user['showyear'];
6. TvoyWeb - 14 Апреля, 2006 - 03:36:54 - перейти к сообщению
Исправляем баг описанный в сообщении http://tvoyweb.ru/forums/topic.p...ge=50#1144995004

Открываем файл setbadwords.php
Строка 28, код:
CODE:
lock_file($fp);

Заменить на код:
CODE:
lock_file($fp,$filetomake,LOCK_EX);



Открываем файл modules/birstday/index.php
Строка 17, код:
CODE:
lock_file($fp);

Заменить на код:
CODE:
lock_file($fp,$filetomake,LOCK_EX);


Открываем файл modules/memcontrol/index.php
Строка 162, код:
CODE:
lock_file($usr);

Заменить на код:
CODE:
lock_file($usr,$filetomake,LOCK_EX);


Открываем файл modules/punish/index.php
Строка 17, код:
CODE:
lock_file($fp);

Заменить на код:
CODE:
lock_file($fp,$filetomake,LOCK_EX);


Открываем файл modules/threadstop/index.php
Строка 15, код:
CODE:
lock_file($fp);

Заменить на код:
CODE:
lock_file($fp,$filetomake,LOCK_EX);


Открываем файл modules/userstop/index.php
Строка 15, код:
CODE:
lock_file($fp);

Заменить на код:
CODE:
lock_file($fp,$filetomake,LOCK_EX);
7. inspector - 17 Апреля, 2006 - 05:14:53 - перейти к сообщению
А из топика "Баг-фиксы" исправления попадают в обновления на первой странице? Или надо и обновлять и ручками править?
8. TvoyWeb - 17 Апреля, 2006 - 16:18:51 - перейти к сообщению
inspector
Попадают сразу же, даже порой раньше чем отписываюсь в теме.
9. TvoyWeb - 26 Апреля, 2006 - 16:10:55 - перейти к сообщению
Исправляем баг описанный в сообщении http://tvoyweb.ru/forums/topic.p...ge=10#1146058552
Баг связан с непоказом на главной собственных иконок для разделов форума.

Открываем файл index.php и примерно на 112 строке находим код:
CODE:
if (isset($forum['last_time']) && $exbb['reged']) {
if ($flag === TRUE){
$folderpicture = (!empty($forum['icon'])) ? '<img src="./im/images/'.$forum['icon'].'" border="0">' : '<img src="./templates/'.$exbb['default_style'].'im/foldernew.gif" border="0">';
} else {
$folderpicture = (!empty($forum['icon'])) ? '<img src="./im/images/no_'.$forum['icon'].'" border="0">' : '<img src="./templates/'.$exbb['default_style'].'im/folder.gif" border="0">';
}
} else {
$folderpicture = '<img src="./templates/'.$exbb['default_style'].'im/folder.gif" border="0">';
$loginmessage = $lang['Marked_posts'];
}

И заменяем его на код:
CODE:
$yes_forumicon = (!empty($forum['icon'])) ? './im/images/'.$forum['icon']:'./templates/'.$exbb['default_style'].'im/foldernew.gif';
$no_forumicon = (!empty($forum['icon'])) ? './im/images/no_'.$forum['icon']:'./templates/'.$exbb['default_style'].'im/folder.gif';
if (isset($forum['last_time']) && $exbb['reged']) {
$folderpicture = ($flag === TRUE) ? '<img src="'.$yes_forumicon.'" border="0">' : '<img src="'.$no_forumicon.'" border="0">';
} else {
$folderpicture = '<img src="'.$no_forumicon.'" border="0">';
$loginmessage = $lang['Marked_posts'];
}

Обновления в архивы выложу чуть позже.
10. TvoyWeb - 28 Апреля, 2006 - 17:17:41 - перейти к сообщению
Итак исправляем баг описанный в сообщении http://tvoyweb.ru/forums/topic.p...ge=10#1146234193
Открываем файл forums.php и примерно на 132 строке находим код:
CODE:
$topictitle = wordwrap($topics[$topicid]['name'], 32, ' &shy; ', 1);
$topicdescription = wordwrap($topics[$topicid]['desc'], 32, ' &shy; ', 1);

заменяем его на код:
CODE:
$topicName = $topics[$topicid]['name'];
$topicDesc = $topics[$topicid]['desc'];
$topictitle = (strlen($topicName) > 32) ? substr($topicName,0,32).' &shy; '.substr($topicName,32,strlen($topicName)):$topicName;
$topicdescription = (strlen($topicDesc) > 32) ? substr($topicDesc,0,32).' &shy; '.substr($topicDesc,32,strlen($topicDesc)):$topicDesc;


Дальше открываем файл topic.php и примерно на 102 строке находим код:
CODE:
$topictitle = wordwrap($cur_topic[$intopic]['name'], 32, ' &shy; ', 1);

заменяем его на код:
CODE:
$topicName = $cur_topic[$intopic]['name'];
$topictitle = (strlen($topicName) > 32) ? substr($topicName,0,32).' &shy; '.substr($topicName,32,strlen($topicName)):$topicName;

На этом все. Архивы обновлю чуть позже.

Для тех у кого уже стоит 0.1.5, к утру постараюсь выложить обновление.

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0351]     [ Gzipped ]