Web

Подписаться на эту рубрику по RSS

Modx Revo не отправляет письма, в логах тишина. Неочевидная проблема, о которой нужно знать

Сентябрь, 13th 2023

Modx Revo не отправляет письма

На днях попросили прикрутить антиспам фильтр для отправки сообщений из формы обратной связи на Modx Revo. Настраивал такое не в первый раз, но тут что-то пошло не по плану... AjaxForm радостно отчитывался, что сообщение отправлено, но на указанный почтовый ящик ничего не приходило. И что самое удивительное, в логах мертвая тишина – никаких ошибок.

читать полностью →

Чем так выделяется «выделенный сервер» и зачем он вообще нужен?

Октябрь, 28th 2022

Чем так выделяется «выделенный сервер»

Многие из вас наверняка слышали слова «виртуальный хостинг» и «выделенный сервер», причём первое выражение вызывает даже большее уважение в глазах неискушенного пользователя. Перешедшие на следующий уровень знаний, кто уже примерно представляет о чём вообще идёт речь, ассоциируют эти понятия исключительно с web-серверами, на которых работают сайты. Однако это не всегда так.

читать полностью →

1 ноября вступил в силу закон о «суверенном рунете». «Рутрекер» пока работает

Ноябрь, 01st 2019

вступил в силу закон о «суверенном рунете»

Если кто не в курсе, то с сегодняшнего дня вступил в силу закон о «суверенном рунете». Теперь уж западные империалисты не смогут лишить нас Одноклассников и Вконтакте. Согласно новому закону, с 1-ого ноября провайдеров обязали устанавливать программно-аппаратные комплексы глубокой фильтрации трафика (Deep Packet Inspection или сокращённо DPI) для противодействия внешним угрозам.

читать полностью →

Динамическое изменение заголовков в поле emailSubject при отправке сообщений из FormIt

Октябрь, 07th 2019

Динамическое изменение заголовков сообщений FormIt в MODX

Задача была следующая — сделать так, чтобы поле emailSubject содержало некий уникальный номер и наименование товара, типа такого «Заявка №XXXX на товар [[*title]]». Проблема состоит в том, что компонент FormIt в MODX Revolution не обрабатывает эти поля так же как чанки, а просто помещает заданное значение в тему сообщения.

читать полностью →

Прилетело предупрежение за «кликбейт» на Дзене

Октябрь, 03rd 2019

кликбейт

Последнее время у меня на канале было несколько удачных публикаций и после года топтания на месте он, наконец, потихоньку пошёл в рост. Но радовался я не долго и сегодня получил своё первое предупреждение за «кликбейт», а причиной послужила данная публикация: https://zen.yandex.ru/media/mdex/iphone-xr-vnezapno-podeshevel-pravda-poka-ne-u-nas-5d9261079515ee00b10b9155

читать полностью →

Сразу после «России» был продан «секс»: как зарождался домен «.РФ»

Февраль, 26th 2019

домен .РФ

В далёком 2009 году, а именно 25 ноября стартовала регистрация кириллических доменов в зоне .РФ. Сколько хайпа и неоправданных надежд, помнится, было по этому поводу (правда, самого слова "хайп" тогда ещё не было). Решил освежить собственный пост из блога того времени и рассказать вам о паре забавных моментов, которыми сопровождался делёж этого пирога, теперь, практически никому не нужного.

Однако, всех навостривших лыжи застолбить себе "вкусный" домен ждал сюрприз... Уже через пару дней, 27 ноября Технический центр Интернет приостановил прием заявок на регистрацию доменов в данной зоне и очистил реестр от уже зарегистрированных доменов. Спросите почему?

читать полностью →

[FormIt] Невозможно загрузить класс reCaptcha

Ноябрь, 29th 2018

reCaptcha я не робот

Уже не первый раз сталкиваюсь с такой проблемой на ModX Revo при добавлении антиспам фильтра reCaptcha в FormIt. При попытке отправить форму с фильтром, в лог сыпятся ошибки следующего содержания:

читать полностью →

Подборка лучших ресурсов для обучения JavaScript.

Август, 27th 2018

обучение JavaScript

Наткнулся тут на сайте proglib.io на очень интересную подборку ресурсов для всех желающих начать изучать JavaScript. Лично для меня, тема крайне актуальная, потому не смог удержаться и решил разместить данный текст у себя (разумеется со ссылкой на первоисточник), чтобы не плодить и без того огромную коллекцию закладок в моём браузере Safari.

читать полностью →

Массовые взломы MODX Revolution. Как восстановить и обезопасить свой сайт?

Июль, 23rd 2018

взлом MODX Revolution

Плохие новости для всех владельцев сайтов на MODX Revolution. Пару дней назад, а именно 20 июля, множество сайтов на этом движке были скомпроментированы злоумышленниками. Неделей ранее были выявлены критические уязвимости в MODX Revolution версии 2.6.4, позволяющие одним запросом стереть весь сайт или загрузить произвольный файл (например php-скрипт) и удаленно выполнять код (RCE). Также найдена уязвимость в дополнении Gallery.

читать полностью →

Сброс пароля администратора в MODX Evolution

Апрель, 18th 2018

сброс пароля MODX Evolution

Уже не раз пришлось столкнуться с ситуацией, когда требовалось сбросить администраторский пароль на MODX Evolution. Мой метод довольно простой, но требуется непосредственная работа с базой данных MySQL (например через phpmyadmin, который предоставляется практически на любом хостинге).

читать полностью →

Парсер XML -> JSON -> MySQL на PHP. Как я переносил комментарии из HyperComments в базу данных MaxSite CMS.

Декабрь, 08th 2017

программирование на macbook

Программирование - занятие довольно интересное, особенно когда начинает получаться и видишь желаемый результат. Я не считаю себя программистом на php, однако время от времени приходится изобретать костыли и велосипеды чтобы решить какую-то задачу. Конечно, хочется нормально освоить данный язык, чтобы не убивать целый вечер (а то и не один) на написание своих маленьких скриптов, но времени на всё катастрофически не хватает.

Два года назад, для пробы, в качестве дополнительной системы комментариев, я установил HyperComments. В выборах участвовали также DISQUS, VK и Cackle, и с тех пор, особых изменений на данном рынке не случилось, разве что Cackle стал чуточку привлекательнее.

читать полностью →

Нужен ли https блогам?

Ноябрь, 10th 2017

нужен ли блогам https

Прошёл почти месяц с того момента, как блог переехал на протокол https. Яша сменил главное зеркало сайта, прошли апдейты поисковой базы и ТИЦ, потому уже можно сделать первые выводы о результатах переезда.

читать полностью →

Продвижение блога когда не видно результата своих трудов. Что же я делаю не так?

Октябрь, 26th 2017

Продвижение блога когда не видно результата своих трудов

Прошло почти две недели с того момента, как я решил в корне всё поменять и основательно заняться блогом. За эти дни, действительно, проделана не малая работа и для себя открыл много нового, на что просто не обращал внимания раньше. Переезд на протокол HTTPS ещё не завершился, но как оказалось, движется в правильном направлении, хотя уже были сомнения после резкого снижения посещаемости в течение пары дней.

читать полностью →

Если бы я знал это чуть раньше... Основные моменты и ошибки, связанные с индексированием сайтов.

Октябрь, 22nd 2017

Основные моменты и ошибки, связанные с индексированием сайтов.

Ссылка от Яндекса для участия в седьмой Вебмастерской мне так и не пришла (зачем тогда рассылали приглашения?). Ладно, я не гордый, позже посмотрю в записи - всё равно далеко не все темы были мне интересны. Зато синоптики в этот раз не обманули и у нас, всё-таки, выпал первый снег.

Раз уж настроился в эти выходные научиться чему-то новому, то решил ознакомиться с темами прошлогодней конференции. И надо же как совпало, что один из докладов был прямо по той теме, которая, именно в данный момент, не даёт покоя. Из мастер-класса "Настраиваем индексирование: от теории к практике" удалось из первых рук, от сотрудника Яндекса, подробнее узнать о правильных настройках файла robots.txt, как ускорить индексирование сайта, а также откуда берутся дубли страниц и как предотвратить их появление.

читать полностью →

Яндекс приглашает на седьмую Вебмастерскую

Октябрь, 20th 2017

Вебмастерская Yandex

Яндекс разослал приглашения на на седьмую Вебмастерскую - конференцию для маркетологов, аналитиков и владельцев сайтов. Обещают представить, некую важную технологию, которая позволяет легко создавать мобильные версии сайтов и, в дальнейшем их монетизировать.

читать полностью →

Переезд на HTTPS и снова пригорает от проблем с MaxSite CMS

Октябрь, 16th 2017

переезд на HTTPS

Заметили сегодня замочек в адресной строке? Это не просто так - в блоге, наконец, начались масштабные изменения, и какое-то время его будет не хило колбасить в поисковой выдаче. Но, обо всём по порядку...

читать полностью →

Эпический косяк в блоге и канонические url

Октябрь, 15th 2017

эпический косяк в блоге

Начав разбираться и наводить порядок в блоге, обнаружил прямо-таки эпический фэйл, который присутствует на сайте с времен первой смены CMS. Изначально, данный проект стартовал на самом популярном и по сей день, блоговом движке, WordPress. Но мне ведь подавай альтернативу, и дернуло перейти на MaxSite CMS, на тот момент довольно активно развивающийся и с весьма неплохим функционалом. Тут не гнались за лишними наворотами и сам движок был заметно легче и шустрее того же WordPress.

читать полностью →

"Арабские" цифры или Почему арабы пишут буквы справа налево, а цифры - наоборот.

Август, 30th 2017

арабский язык

Сегодняшний пост будет несколько отличаться от всего, что писал ранее. Один заголовок, уже может вызвать удивление, но давайте расскажу почему же эта тема вдруг появилась в блоге.

На днях меня попросили сделать арабскую версию одного сайта, материалы все предоставлял заказчик. Надо сказать, что с арабским то этого, я столкнулся лишь один раз, когда восстанавливал Asus All-in-one PC c флешки и получил Windows 8.1 на арабском.

читать полностью →

Скрипт для обновления превью товаров miniShop2

Август, 09th 2017

Нашел рабочий скрипт для обновления всех превьюшек у товаров в miniShop2 для ModX. Честно говоря не понятно, почему данный функционал не встроен в miniShop2 сразу, потому как функция крайне нужная. Или предполагается какой-то специальный человек для ручной перегенерации изображений? В общем, надеюсь это когда-нибудь доделают.

Для выполнения скрипта потребуется установить дополнительный пакет Console, в нём уже и запускать сам скрипт.

<?php
$step = 5;
$offset = isset($_SESSION['galgenoffset']) && $_SESSION['galgenoffset'] ? $_SESSION['galgenoffset'] : 0;
$miniShop2 = $modx->getService('minishop2');
$modx->setLogLevel(MODX_LOG_LEVEL_ERROR);
$q = $modx->newQuery('msProductFile', array('parent' => 0));
$total = $modx->getCount('msProductFile', $q);
$q->sortby('product_id', 'ASC');
$q->sortby('rank', 'DESC');
$q->limit($step,$offset);
$resources = $modx->getCollection('msProductFile', $q);
foreach ($resources as $resource) {
    $modx->runProcessor('mgr/gallery/generate', array('id' => $resource->id),
        array('processors_path' => $modx->getOption('core_path').'components/minishop2/processors/'));
}
$_SESSION['galgenoffset'] = $offset + $step;
if ($_SESSION['galgenoffset'] >= $total) {
  $sucsess = 100;
  $_SESSION['Console']['completed'] = true;
  unset($_SESSION['galgenoffset']);
} else {
  $sucsess = round($_SESSION['galgenoffset'] / $total, 2) * 100;
  $_SESSION['Console']['completed'] = false;
}
for ($i=0; $i<=100; $i++) {
    if ($i <= $sucsess) {
        print '=';
    } else {
        print '_';
    }
}
$current = $_SESSION['galgenoffset'] ?
           $_SESSION['galgenoffset'] :
           ($sucsess == 100 ? $total : 0);
print "\n";
print $sucsess.'% ('.$current.')'."\n\n";

Обновление MODX Evolution до последней версии

Январь, 29th 2017

обновление MODX Evolution до последней версии

Несмотря ни на что, MODX Evolution по прежнему жива (хотя сейчас, в большей степени, все проекты веду на ветке Revolution). Система хороша как для небольших сайтов и сайтов-визиток, так и вполне себе серьезных проектов, плюс обладает очень шустрой и в последних версиях весьма красивой панелью управления. Единственное, не рекомендовал бы на её основе делать интернет-магазин. Сегодня расскажу, как обновить систему MODX Evolution до последней версии (на данный момент 1.2.1).

читать полностью →