- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Тренды маркетинга в 2024 году: мобильные продажи, углубленная аналитика и ИИ
Экспертная оценка Адмитад
Оксана Мамчуева
Может, кто-то сталкивался с такой проблемой. В шаблоне настройки имейл-сообщения, отсылаемого при добавлении нового комментария на сайте, стоит: "Если вы не хотите больше получать уведомлений о новых комментариях к данной новости, то проследуйте по данной ссылке: {%unsubscribe%}", а на почту всем пользователям приходит "Если вы не хотите больше получать уведомлений о новых комментариях к данной новости, то проследуйте по данной ссылке: --" ?
То есть вместо ссылки на адрес, где можно отписаться, стоит двойной прочерк.
Никому не нужен домен dlе10, рушка?
как на дле 10 код линкфид поставить?
Ни фига не пашет, у всех такая же трабла, если всё по инструкции делать..
Как реализовать кэширование в модуле, если в модуле такие строки:
Я так понял выборка из бд передается в show.custom.php, чтобы был наложен шаблон на все строки выборки. А как сделать так, чтобы модуль создавал кэш в данном случае?
Спасибо.
Как реализовать кэширование в модуле, если в модуле такие строки:
Я так понял выборка из бд передается в show.custom.php, чтобы был наложен шаблон на все строки выборки. А как сделать так, чтобы модуль создавал кэш в данном случае?
Спасибо.
<?
$tpl->result['content'] = false;
$tpl->result['content'] = dle_cache( md5( $sql_request ) );
if( !$tpl->result['content'] ) {
$sql_result = $db->query( $sql_request );
$found_result = $db->num_rows( $sql_result );
$result_count = $db->super_query( "SELECT COUNT(*) as count $sql_from $where" );
$count_result = $result_count['count'];
$tpl->load_template( '/personaj.tpl' );
$build_navigation = false;
include (ENGINE_DIR . '/modules/show.custom.php');
$tpl->result['content'] = str_ireplace( '[personaj]', '', $tpl->result['content'] );
$tpl->result['content'] = str_ireplace( '[/personaj]', '', $tpl->result['content'] );
if( $config['files_allow'] )
if( strpos( $tpl->result['content'], "[attachment=" ) !== false ) {
$tpl->result['content'] = show_attach( $tpl->result['content'], $attachments );
}
if( $tpl->result['content'] )
create_cache( md5( $sql_request ) , $tpl->result['content'] );
}
Вот так попробуй
Как реализовать кэширование в модуле, если в модуле такие строки:
Я так понял выборка из бд передается в show.custom.php, чтобы был наложен шаблон на все строки выборки. А как сделать так, чтобы модуль создавал кэш в данном случае?
Спасибо.
Вот нашел как реализовано в модуле меню, можно сделать по этому примеру:
sashka_, сделал так, как вы написали, а как проверить, что данные читаются из кэша а не из бд? Это возможно как-то отследить? Количество запросов не уменьшается, если запустить модуль дважды подряд с одинаковыми параметрами. Если я правильно понял, то он создает, но не читает кэш. Как быть?
sashka_, сделал так, как вы написали, а как проверить, что данные читаются из кэша а не из бд? Это возможно как-то отследить? Количество запросов не уменьшается, если запустить модуль дважды подряд с одинаковыми параметрами. Если я правильно понял, то он создает, но не читает кэш. Как быть?
можно вывод на экран сделать, когда работает без кеша
$tpl->result['content'] = false;
$tpl->result['content'] = dle_cache( md5( $sql_request ) );
if( !$tpl->result['content'] ) {
echo "Кеш не сработал";
$sql_result = $db->query( $sql_request );
$found_result = $db->num_rows( $sql_result );
$result_count = $db->super_query( "SELECT COUNT(*) as count $sql_from $where" );
$count_result = $result_count['count'];
$tpl->load_template( '/personaj.tpl' );
$build_navigation = false;
include (ENGINE_DIR . '/modules/show.custom.php');
$tpl->result['content'] = str_ireplace( '[personaj]', '', $tpl->result['content'] );
$tpl->result['content'] = str_ireplace( '[/personaj]', '', $tpl->result['content'] );
if( $config['files_allow'] )
if( strpos( $tpl->result['content'], "[attachment=" ) !== false ) {
$tpl->result['content'] = show_attach( $tpl->result['content'], $attachments );
}
if( $tpl->result['content'] )
create_cache( md5( $sql_request ) , $tpl->result['content'] );
}
Вот так попробуй
Кэш создается, но не читается, какая может быть причина? В $sql-request есть текущее время это может быть причиной?!
UPD Да проблема была в дате из sql запроса, которая давала другую сумму md5. Спасибо всем, кто помог.
Другой вопрос: как надо фильтровать параметры GET запроса для того чтобы не нарушить безопасность движка. Видел в functions.php функцию, которая не пропускает url если в нем есть кавычки и другие не безопасные символы. Этого достаточно или надо дополнительно их сканировать, чтобы предотвратить sql injection? Если да, то, как это сделать?