Алексей Смирнов

Алексей Смирнов

С нами с 20 декабря 2014; Место в рейтинге пользователей: #43
Алексей Смирнов
06 сентября 2018, 22:34
0
Если ограничить глубину вывода настройкой depth=0 (первый уровень) должны попасть только дочерние ресурсы.
А так не совсем ясна структура:
1) Если у вас к обьекту привязан итем (их может быть несколько?), и фильтровать вам нужно по 3м полям на конкретной странице (Название обьекта, название Итема, год обьекта), то mSearch2 справится с минишопом или без него.
2) Если у вас какая-то другая структура, то опишите. т.к. не ясно к чему принадлежит Название компании — это итем или обьект.
P.S. Collection хорош тем что вы можете в ручную вбивать TV значения прямо в списках ресурсов, чего не сделать в самом минишопе и что затрудняет быстродействие простых операций заполнения в ручную.
Алексей Смирнов
06 сентября 2018, 22:22
0
Хорошее и полезное дополнение.
Но пришлось откатиться на первую версию компонента (благо покупал давно и осталась) т.к. во 2й существует сейчас непреодолимая вещь:
У меня в ручную реализованы схожие товары и есть ведомый товар, который доступен, остальные товары (связанные) отдают 301 редирект на главный товар (страницы товаров со своими ID). Так вот при попытке добавить связанные товары — появляется ошибка в консоли js. и все. Как только убираю редиректы со связанных товаров — все работает.
Убил день на то чтобы понять это…
Зачем проверять доступность ресурса по ID — мне не ясно.
Есть просьба убрать эту проверку или как-то сделать ее выключаемой, т.к. думаю могут в перспективе быть подобные проблемы у людей (хотя сомневаюсь — наверное я единственный ))) ) но все же.
Спасибо.
Алексей Смирнов
03 августа 2018, 22:19
+1
Я редактировал сам сниппет, скопировав его, т.к. штатного отключения для пагинации нет.
Видимо, нужно, сильно попросить Василия добавить пару нужных вещей для TicketComments, т.к. с пагинацией есть проблемы.
убрать форму можно вмешавшись в код дополнения строки около 190:
$pls = array('thread' => $scriptProperties['thread']);
if (!$Tickets->authenticated && empty($allowGuest)) {
    $form = $pdoFetch->getChunk($tplLoginToComment);
} elseif (!$Tickets->authenticated) {
    $pls['name'] = $_SESSION['TicketComments']['name'];
    $pls['email'] = $_SESSION['TicketComments']['email'];
    if (!empty($enableCaptcha)) {
        $tmp = $Tickets->getCaptcha();
        $pls['captcha'] = $modx->lexicon('ticket_comment_captcha', $tmp);
    }
    $form = $pdoFetch->getChunk($tplCommentFormGuest, $pls);
} else {
    $form = $pdoFetch->getChunk($tplCommentForm, $pls);
}
if ($_GET['page']) {
    $form = ''; // очищаем переменную если есть GET запрос пагинации. Т.е. форма на страницах 2 и более не появится.
}
$commentForm = $thread->get('closed')
    ? $modx->lexicon('ticket_thread_err_closed')
    : $form;
$output = !empty($formBefore)
    ? $commentForm . $commentsThread
    : $commentsThread . $commentForm;
У этого решения есть минус — при прямом обращении к странице комента — форма не будет показана. Поэтому это всего лишь временное не полноценное решение.
Алексей Смирнов
26 июля 2018, 04:07
0
Заказывайте 17 июля. массово замечно 19 числа… -1 день на всякий случай. можно и 15го.
Алексей Смирнов
26 июля 2018, 04:06
0
Вам скорее всего поможет слдедующее modxclub.ru/topics/massovyie-vzlomyi-modx-revolution-2792.html
там заплатка на POST запросы… хотя бы так:
Есть простой патч, конкретно против этой уязвимости в начало 2-х файлов прописать.
//connectors/system/phpthumb.php

//fstr patch CVE-2018-1000207
if(isset($_POST["cache_filename"]) && strpos($_POST["cache_filename"],".php") ) die();


//assets/components/gallery/connector.php

//fstr patch2 CVE-2018-1000207
if(isset($_POST["action"]) && $_POST["action"] =="web/phpthumb" && isset($_POST["f"]) && (strtolower($_POST["f"])=="php") ) die();
Алексей Смирнов
23 июля 2018, 00:46
0
Последняя версия какая у вас стояла?
Алексей Смирнов
21 июля 2018, 11:29
0
Так же обновляйте Gallery до последней — заплатка появилась!
Алексей Смирнов
21 июля 2018, 11:26
0
Врядли под раздачу, тк. например на сайте что я лечил — запрос сразу непосредственно на системный конектор phpthumb с POST запросом! А следом еще один запрос на файл dbs.php, те скрип проверяет получился ли взлом… тк я успел до ночи обновить сайт и gallery то на 2й файл сервак уже отдал 404-ю т.е. взлом не получился. А потом через 4 часа повторынй запрос к конектору, но тут уже поинтересней чутка. сначала опять на системный конектор а потом на конектор gallery. следом проверили файл assets..images..accesson.php (который должен был появится в результате взлома) получили 404.
Обратил внимание что шлют POST запросы.
Так что «товарищи» которые писали прогу для взлома прекрасно понимали что хотят взломать.
И лечение обновить modx До последней версии + gallery до последней Очень даже актуально и спасло!
Алексей Смирнов
21 июля 2018, 00:40
+1
Дополню по следам:
в корневой директории файлы dbs.php cache.php.
так же местами присутствует файл в корне annizod.
На одном сайте где стояла древняя 2.3.1 в логах заметил что стучались через коннектор phpthumb
и сразу пошли обращения на левые файлы…
Алексей Смирнов
21 июля 2018, 00:37
0
2. обновляется ядро до последней 2.6.5
Алексей Смирнов
21 июля 2018, 00:25
0
Новая волна взломов подобного плана.
На одном сайте где стояла древняя 2.3.1 в логах заметил что стучались через коннектор phpthumb
Вариант лечения (в идеале)
1. Выкатывается недавний бекап.
2. обновляется ядро до последней 2.6.4 (с 2.3.1 на 2.6.4. прошло все хорошо). заметил что 2.5.1 версия так же заражается. 2.5.4, 2.5.8. — пока под вопросом.
3. БД пока не заметил что трогает. вроде чиста.
Признаки вируса:
в корневой файлы dbs.php cache.php. Все JS на сайте обнуляют на какой-то код, поэтому JS тоже нужно весь менять. (каспер ругается страшно на эти js)
так же местами присутствует файл в корне annizod.
Если у кого еще есть инфа — трогает ли этот вирус БД — дайте знать. Спасибо.
Учитывая масштаб — вирусяка автоматическая.
Алексей Смирнов
04 апреля 2018, 10:46
0
Спасибо, конечно.
Но проблему поборол. Спасибо за отклик. Я смотрю в интернете на форумах фиг помогут сисадмины.
Алексей Смирнов
19 марта 2018, 15:12
0
Вспоминается басня (или что-то типа того) где художник рисовал что-то, а остальные ему советовали что рисовать. В итоге получилась фигня.
Так и тут любой может хотеть что угодно тк он видит исключительно в своих интересах, но профессионалам МОДX виднее что и как делать.
Поэтому я, например, советую не пинать систему и разработчиков, а:
1) Предлагать разработчикам всяко-разно.
2) Написать свои решения для CMS.
3) Написать свою CMS и использовать только ее.
4) и тд.
И если кто знает идеальную систему — напишите ее название. ОООчень нада. :)))))
Алексей Смирнов
12 февраля 2018, 16:32
0
Это на первый взгляд выход. Я знаю про 0, но тогда пулучатся куча ID для parents и resources.
Потому что если мне нужно исключить 31 id вместе с потомками мне нужно написать так:
[[pdoSitemap? &showHidden=`1` &parents=`0,20,-31` &resources=`-31` ]]
Но когда у нас под 10..15 первого уровня прописывание усложняется. Конечно не сильно, но все же.
Приходиться убирать и служебные страницы из карты, такие как 404 ошибка, настройки всевозможные, все то что лежит на первом уровне и не должно попасть в карту сайта.
Ладно если программист создает разделы и помнит про карту сайта, а вот с клиентами которые работают в админке… уже слонее. И если Клиент добавит новый раздел от перого уровня, то в карту сайта он не попадет! Ведь, этот раздел (Контейнер ID) нужно прописать в карте, что является уже критичным.
Ну да ладно, просто предупрежу клиента, что при добавлении нового раздела в корне — сообщал об этом.
Алексей Смирнов
12 февраля 2018, 15:38
0
Есть маленький нюанс.
Если нужно исключить из выборки ресурсы с контейнером 31, например, то из карты сайта пропадают ресурсы первого уровня поясню:
0 — корень сайта
--1 Главная
--31 Каталог
----5 Тапки
— — Куча внутренних ресурсов Тапки…
----7 шляпки
— — Куча внутренних ресурсов шляпки…
--20 Новости
— — Куча ресурсов новостей с контейнером…
---10 контакты
1. Вариант:
[[pdoSitemap? &showHidden=`1` &parents=`` ]]
Выведет все ресурсы.
2. Вариант:
[[pdoSitemap? &showHidden=`1` &parents=`-31` ]]
Исключит ресурсы: 1,31,5+,7+,20,10. Т.е. ресурсы первого уровня от корня. Это глюк или перелести API модикса или глюки pdoToolse — не ясно.
при этом:
3. Вариант:
[[pdoSitemap? &showHidden=`1` &parents=`-20` ]]
Исключит ресурсы: 1,31,20+,10.
Как видим 5+ и 7+ ресурсы и сами контейнеры (5 и 7) не исключились.

Вот теперь и думай что использовать свое или чужое…
Может быть кто-то обьяснит че происходит?
Modx 2.5.8, pdoTools 2.10.6
Алексей Смирнов
03 января 2018, 22:25
0
Проблема решается следующим образом:
1. Копируете снипет xPoller2 и переименовываете.
2. Находим строчку 112:
foreach ($options as $option) {
        $output['maxVotes'] += $option['votes'];
        //if (empty($output['maxVotes'])) $output['maxVotes'] = $option['votes'];
        //if ($output['maxVotes'] < $option['votes']) $output['maxVotes'] = $option['votes'];
    }
3. Коментируем оба условия и вписываем сложение голосов.
Алексей Смирнов
17 декабря 2017, 14:01
0
Отличное дополнение. Давно пользуюсь.
И вот из наболевшего. Есть отличный параметр ms2gallery_disable_for_templates (Запрет показа у определеных шаблонов). В настройках дополнения.
Но у меня 30 шаблонов, а вывести галерею нужно у максимум 2 шаблонов. Т.е. не удобно перечисляьть запрет у всех. Было бы удробно указать 2 чила и все:
Есть пожелание указывать -1 (Исключить шаблон 1), и просто 5 (Показывать только в 5 шаблоне). Своего рода механизм работы, как у &parents параметра у снипетов.

Спасибо за труды!
Алексей Смирнов
17 декабря 2017, 12:43
0
Подниму тему. Может быть уже изобрели более крутую вещь помимо ClientConfig.
Т.к. необходим listbox с динамическим списком — например выполнить EVAL, а CC это не умеет делать.
Алексей Смирнов
16 декабря 2017, 19:17
0
К слову. в modx revo 2.5.8 думаю и в 2.6 (не проверял)
Достаточно в файле
core\model\phpthumb\phpthumb.class.php
Закоментировать строку 1682, а именно:
if (!is_null($this->dpi) && $this->ImageMagickSwitchAvailable('density')) {
					// for vector source formats only (WMF, PDF, etc)
					//$commandline .= ' -flatten'; // Комментируем эту строку.
					$commandline .= ' -density '.phpthumb_functions::escapeshellarg_replacement($this->dpi);
				}