Fi1osof

Fi1osof

С нами с 05 мая 2014; Место в рейтинге пользователей: #10
Fi1osof
25 ноября 2016, 13:33
0
Роман, ткните носом (дайте ссылку), где именно в правилах магазина описан порядок возврата средств.
Fi1osof
25 ноября 2016, 12:00
+1
Опубликовать может кто угодно.
Fi1osof
25 ноября 2016, 11:57
+1
Так может надо тогда выложить новую версию сюда modx.com/extras/package/redirector?
Fi1osof
25 ноября 2016, 10:57
+1
От Шона не стоит уже ждать, он давно от дел с MODX отошел. Но может кто-то обновит.
Fi1osof
25 ноября 2016, 10:41
+1
Это все связано с последними обновлениями modx.pro/news/10363-modx-2-52/
Там более жестко подошли к формированию запросов.
Если бы это наш modRedirect был, то мы бы выпустили обновление. А так надо патчить сторонний компонент.
Fi1osof
25 ноября 2016, 04:36
0
Подскажите, у вас используется Redirector Шона МакКормика, или наш modRedirect? Просто и там и там используется класс modRedirect (только недавно это выяснил).
Fi1osof
25 ноября 2016, 04:29
+2
Роман, не обнадеживайте человека. Далеко не все товары подлежат возврату.

ПЕРЕЧЕНЬ
непродовольственных товаров надлежащего качества, не подлежащих возврату или обмену на аналогичный товар других размера, формы, габарита, фасона, расцветки или комплектации
(в ред. Постановлений Правительства РФ от 20.10.1998 N 1222, от 06.02.2002 N 81)

11. Технически сложные товары бытового назначения, на которые установлены гарантийные сроки (станки металлорежущие и деревообрабатывающие бытовые; электробытовые машины и приборы; бытовая радиоэлектронная аппаратура; бытовая вычислительная и множительная техника; фото- и киноаппаратура; телефонные аппараты и факсимильная аппаратура; электромузыкальные инструменты; игрушки электронные, бытовое газовое оборудование и устройства).

14. Непериодические издания (книги, брошюры, альбомы, картографические и нотные издания, листовые изоиздания, календари, буклеты, издания, воспроизведенные на технических носителях информации).

Программное обеспечение (оно суть «воспроизведенные на технических носителях информации») не подлежат возврату. Он сейчас купил, скопировал, через 3 минуты попросил возврата денег, и что? Собственно, у меня в модсторе один пользователь попросил возврата средств (хотя ему была оказана помощь в настройке). На это он получил отказ. С его стороны последовали обвинения в мошенничестве, угрозы в уголовном преследовании и т.п. (в общем, всячески насмешил). Только через Леонида ему удалось вернуть часть суммы.
Пользуясь случаем еще раз отмечу, что у нас возврата денег за программное обеспечение нет на основании Закона о защите прав потребителей.

P.S. честно сказать, я не рад, что мои программные продукты выставлены с такой большой скидкой, ну да ладно.
Fi1osof
20 ноября 2016, 02:23
0
Не за что!
Fi1osof
20 ноября 2016, 02:20
0
Владимир, выложил я 2.6.0, там добавлена настройка сбора статистики плагинов.
А еще вот такой классный функционал добавлен: modxclub.ru/topics/sbor-polzovatelskoj-statistiki-s-pomoshhyu-modmonitor-2242.html
Fi1osof
16 ноября 2016, 16:05
0
записей с parent = NULL — нет, только фактические ID
А с parent =0 есть записи? Есть хотя бы процентов 10 от общего количества?
Fi1osof
16 ноября 2016, 16:04
0
конечно, лишь бы все работало не нагружая сайт, тем более загрузку с фронта.
Наверняка объяснение логическое есть. Но что интересно, компонент работает так, что с базой данных работает только когда скрипт полностью отработал, то есть сохранение объекта запроса (и вместе с ним всего остального), выполняется уже когда MODX отправил все данные во фронт и выполняет exit; (навешана функция через register_shutdown_function()).
Ради интереса, установите опять новую версию и в файле core/components/modmonitor/model/modmonitor.class.php в методе saveRequest() пропишите сразу return; чтобы тело функции не выполнялось. И если все равно тормозить будет, значит действительно где-то на уровне сбора информации о плагинах (что крайне удивительно будет). А если не будет тормозов, значит рекурсия на уровне получения дочерних элементов запроса, буду запросы изучать дополнительно.
Fi1osof
16 ноября 2016, 15:35
+1
Странно, поле не нулевое. Тогда без детального осмотра на стороне проекта ничего точно не получится сказать, пока на других проектах не было прецедентов.
Вечером выложу обновленный пакет с настройкой включения-отключения логирования плагинов, но вообще отладка плагинов — очень полезная штука, так что хорошо бы разобраться с ней. Можете обезличенный дамп сайта сделать? (контент и заголовки затереть, а так же емейлы, юзернеймы, комменты и т.п.).

P.S. Ок, просьбу учту.
Fi1osof
16 ноября 2016, 15:15
0
Мне только структуру таблиц надо. Можно в phpMyAdmin сделать экспорт этих таблиц, но только структуру, данные не надо выгружать. Да, туда же закиньте.
Fi1osof
16 ноября 2016, 15:10
0
Из-за самого сбора данных — нет, там механизм простой. Но если поля нулевые, то с этим бага возникает. С этим столкнулся, когда делал вложенность. Я сразу объекты не сохраняю, все набивается через связи в основной объект текущего запроса.
$childs = array();
$childs[] = $item;
$childs[] = $item;
// ...
$request->Children = $childs;
Это позволяет в процессе набивать статистику, но не сохранять ничего, если не сохраняется основной объект запроса. А если уже мы его сохраняем, тогда и все дочерние элементы сохраняются.

Но когда сделал вложенность, структура данных получилась такая:
$childs = array();
$childs[] = $item;

$childs_2 = array();
$childs_2 [] = $item;
$childs_2 [] = $item;

$item->Children = $childs_2;

$childs[] = $item;
// ...
$request->Children = $childs;
На уровне втором и ниже связь получается не Запрос-Элемент, а Элемент-Элемент, и при сохранении таких элементов id запроса не задается им (так как у них нет прямого родителя Запрос).

В итоге я на сохранение элементов прописал типа foreach($this->Children). И вот тут бага и проявилась: null-поля надо проверять именно как is null, а здесь xPDO видимо формирует запрос типа = null или = 0, и в таком случае он получал вообще все элементы, у которых поле parent = null. В таком случае да, если в базе элементов уже дофига, тут просто не хватает ресурсов. Если поле задавать не нулевое и значение по умолчанию задавать 0, тогда такой фигни не происходит.
Fi1osof
16 ноября 2016, 14:45
0
Владимир, проверьте структуру таблиц монитора (modmonitor_request и modmonitor_request_items). Там поля parent случайно не nullable? И нет ли записей с parent = NULL?
Fi1osof
16 ноября 2016, 13:41
0
ОК, скинете, вечером посмотрю.
Fi1osof
16 ноября 2016, 13:26
0
Вообще он практически никак не должен влиять на скорость выполнения. Отладка плагинов пишется напрямую в кеш плагинов, то есть сами объекты плагинов никак не модифицируются. А там просто фиксируется время выполнения. Надо будет детальней изучать.
почта n.lanets@modxclub.ru
Fi1osof
16 ноября 2016, 12:49
0
Сколько времени он стал и на какое событие отжирать время?

P.S. настройку сделаю.
Fi1osof
16 ноября 2016, 10:00
+2
А вот и вышла версия 2.5.0
Вообще она достойна отдельного топика, но во-первых, быстро слишком много моих анонсов на главной будет за раз, а во-вторых, надо бы пойти поспать, опять не спамши… Но релиз действительно знатный. Добавлен сбор статистики по плагинам, чего лично мне не хватало сильно, и мечтал я об этом не один год. И вот свершилось…

Fi1osof
16 ноября 2016, 03:56
+1
А нет, погорячился. Они прислушались ко мнению и в итоге не стали жестко эскейпить название колонки (первый вариант был такой), а просто стали проверять на валидность. Но и здесь, кстати, тоже курьез есть :) Теперь нельзя использовать названия колонок, содержащих слово union. К примеру, вот такой вариант приведет к ошибке: $q->sortby(«unionition»);
SQL injection attempt detected in sortby column; clause rejected