Разные улучшения и изменения скрипта

Сообщение Nemezida » 21 сен 2019, 08:00

Итак, тем кто до сих пор пишет в скрипте (коде) вот так (пример):
Код: Выделить всё
" . $message['receiver'] . "


Гляньте в код на странице вашего сайта, это ж пипец сколько пустышек. Да, работает, но нахрена лишние пустые знаки делать? Меняем на (пример):
Код: Выделить всё
".$message['receiver']."


А еще лучше сразу после запроса вывести функциями что вам нужны (пример):
Код: Выделить всё
$receiver = $message['receiver'];


И потом вставлять только $receiver.

Дальше, блок "Релизы на главной". У всех он разный, но запросы у всех почти одинаковые и их два! Первый подсчитывает количество релизов, второй отвечает за содержимое самого блока релизов. Совместить их не выйдет (пробовал), но можно убрать первый запрос. На генерации странички скажется слабо, но все-же...

Ваш запрос (один на все релиз-блоки одинаковый):
Код: Выделить всё
$res1 = sql_query("SELECT COUNT(*) FROM torrents WHERE category <> 9 and banned = 'no'");
$row1 = mysql_fetch_array($res1); 
$count = $row1[0];


Меняем на:
Код: Выделить всё
//////////////////////////////////////////////
global $CacheBlock, $relizBlock_Refresh, $tracker_lang;
$_cache = 'Blocks_reliz.cache';
if (!$CacheBlock->Check($_cache, $relizBlock_Refresh?0:360000)) //100 chasov
{
$res1 = sql_query("SELECT COUNT(*) FROM torrents WHERE category <> 9 and banned = 'no'");
$row1 = mysql_fetch_array($res1); 
$count = $row1[0]; 
$CacheBlock->Write($_cache, $count);

else //was cached
$count = $CacheBlock->Read($_cache);
//////////////////////////////////////


КЕШ-система использовалась вот эта: System_Cache! - ТЫЦ

Удалить к едреням вот это из блока, нехрен дергать блок лишний раз подсчетами):
Код: Выделить всё
if (!$count) { 
 $content .= "Нет торрентов на трекере(Если вы видите ето сообщение не огорчайтесь , торренты на трекере есть просто сидов сейчас нет )..."; 
} else {

И найти ниже где подсветится код, скобку закрывающуюся:
Код: Выделить всё
}


В файл takeupload.php перед:
Код: Выделить всё
write_log("Торрент номер $id ($nazvanie) был залит пользователем ".$CURUSER["username"], "5DDB6E", "torrent");


вставить:
Код: Выделить всё
unlink("include/cache/Blocks_reliz.cache");
Аватара пользователя
Nemezida
Администратор
Администратор
 
Сообщения: 661
Зарегистрирован: 20 сен 2019, 22:32

Re: Разные улучшения и изменения скрипта

Сообщение Nemezida » 21 сен 2019, 08:01

Этой системой кешируйте блоки ВСЕ что имеют запросы (без запросов не трогать, смысла нет). Кроме указаного блока выше "Релизы на главной", остальные можно полностью кешить - Статистика, Он-Лайн, Новости, Форум, Загрузка и т.д..

Запросов уменьшиться, и генерация чуть уменьшиться.

МЕМКЕШ (если он у вас стоит).

Открыть functions.php и найти функцию категорий.

Заменить на это:
Код: Выделить всё
////////////////memcashed nachalo Category///////////////////////////////////////
function genrelist() {
    $ret = array();
    $Cacher = Cache::getInstance();
    if ( !($res = $Cacher->get("categories") ) ) {
        $ret = sql_query("SELECT id, name, image FROM categories ORDER BY sort ASC");
          while ($row = mysql_fetch_array($ret)){
            $res[] = $row;
        } 
           $Cacher->set("categories", $res);
    }
    return $res;
}
//////////////////////memcashed conec/////////////////////////////
Аватара пользователя
Nemezida
Администратор
Администратор
 
Сообщения: 661
Зарегистрирован: 20 сен 2019, 22:32

Re: Разные улучшения и изменения скрипта

Сообщение Nemezida » 08 окт 2019, 14:43

Столкнулся в свое время с такой ерундой, у всех нормально скачивался торрент-файл, у двух-трех с ошибками или не пускало сидировать, писало в анонсере что читер, доступ закрыт. Удалил в анонсере код отвечающий за чит-мод и ошибка с "читер" исчезла.

Открыть announce.php и удалить, или закомментировать вот этот код:
Код: Выделить всё
if (isset($headers['Cookie']) || isset($headers['Accept-Language']) || isset($headers['Accept-Charset']))
   err('Anti-Cheater: You cannot use this agent');
Аватара пользователя
Nemezida
Администратор
Администратор
 
Сообщения: 661
Зарегистрирован: 20 сен 2019, 22:32

Re: Разные улучшения и изменения скрипта

Сообщение Nemezida » 27 июн 2021, 21:48

Открыть functions_global.php

Найти вот это:
Код: Выделить всё
   $bb[] = "#\[url\]([\w]+?://([\w\#$%&~/.\-;:=,?@\]+]+|\[(?!url=))*?)\[/url\]#is";
   $html[] = "<a href=\"\\1\" title=\"\\1\">\\1</a>";
   $bb[] = "#\[url\]((www|ftp)\.([\w\#$%&~/.\-;:=,?@\]+]+|\[(?!url=))*?)\[/url\]#is";
   $html[] = "<a href=\"http://\\1\" title=\"\\1\">\\1</a>";
   $bb[] = "#\[url=([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
   $html[] = "<a href=\"\\1\" title=\"\\1\">\\2</a>";
   $bb[] = "#\[url=((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
   $html[] = "<a href=\"http://\\1\" title=\"\\1\">\\3</a>";
   $bb[] = "/\[url=([^()<>\s]+?)\]((\s|.)+?)\[\/url\]/i";
   $html[] = "<a href=\"\\1\">\\2</a>";
   $bb[] = "/\[url\]([^()<>\s]+?)\[\/url\]/i";

Заменить полностью на это:
Код: Выделить всё
$bb[] = "#\[url\]([\w]+?://([\w\#$%&~/.\-;:=,?@\]+]+|\[(?!url=))*?)\[/url\]#is";
$html[] = "<a href='\\1' title='\\1'>\\2</a>";
$bb[] = "#\[url=([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is";
$html[] = "<a href='\\1' title='\\1'>\\2</a>";

Объясняю что получилось и что было:

Если вы писали в чате или на странице вот этот код:
Код: Выделить всё
[url]https://hdclub.top[/url]

То вы получали вот такую херню:
Код: Выделить всё
<a href="https://hdclub.top" title="https://hdclub.top"><a href="https://hdclub.top">https://hdclub.top</a></a>

или такую:
Код: Выделить всё
<a href="https://hdclub.top" title="https://hdclub.top"><a href="https://hdclub.top"><a href="https://hdclub.top">https://hdclub.top</a></a></a>

Сейчас у вас будет только так:
Код: Выделить всё
<a href='https://hdclub.top' title='https://hdclub.top'>hdclub.top</a>

А если код такой будет:
Код: Выделить всё
[url=https://hdclub.top]HDClub[/url]

То будет так:
Код: Выделить всё
<a href='https://hdclub.top' title='https://hdclub.top'>HDClub</a>
Аватара пользователя
Nemezida
Администратор
Администратор
 
Сообщения: 661
Зарегистрирован: 20 сен 2019, 22:32


Вернуться в TBDeV

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1