Михаил
В случае с пользователями это заметно, так как вызов события OnUserSave зашит непосредственно в modUser::save(), в отличие от большинства других объектов.
Михаил
Ошибся. Механизм, о котором я говорил, работает немного иначе:
1. Сохраняются все добавленные связанные объекты
2. Сохраняется основной объект
3. Сохраняются все добавленные связанные объекты, изменившиеся после (2)
В случае с процессором, из-за которого происходит двойное сохранение пользователя, причина в повторном сохранении при наличии у пользователя групп
Михаил
Есть некоторые мысли, как поправить. Посмотрю еще.
Anonymous
Anonymous
пишу импорт в минишоп из xml / нашел вот такой код
Anonymous
долго понимал что тут наворочено.
переделал это в 4 строки
function xmlobj2arr($d){ //рекурсивно xml в словарь(асоц массив)
if(is_object($d)) $d=get_object_vars($d); //to array
if(is_array($d)){$r=array(); foreach($d as $k=>$v) $r[$k]=xmlobj2arr($v); return $r;}
return $d;
}
и вот думаю, а кто вобще эти форматы придумал? где они облегчают читаемость?
или это мне одному так кажется? может ну их нафиг эти табы и отступы?
кто что думает?
Anonymous
есть стандарт PEP8 там помню было что 80 столбцов макс. а если табами и по 8 симв то после нескольких блоков код уже с середины и хвосты улетают за экран или заворачиваются с 1й поз. Я думаю хватит 2х, визуально видно. и если влазит один логический блок в одну строку то зачем в пять писать?
Миша
Anonymous
а смысл в этом есть?
Igor
ребят , легко ли переносить сайт на модх с локалки на сервак?
Igor
просто ни разу не делал
Igor
мб есть плагин как в вп который раз и все делает сам за минуту
Sergey_K
Sergey_K
Обычная рекурсия
Alex
Sergey_K
Если у тебя объект из объектов, в котором массивы, то как еще?
Igor
Igor
Anonymous
Igor
Anonymous
у меня есть скрипт который эти 4 пути исправляет :)---------- да лучше файлы и базу перенести. надежней.
Anonymous
Обычная рекурсия
куча мала это, а не рекурсия. из переноса хвостов сразу не понял. и подумал что ктото придумал форматы, а все бездумно повторяют, но есть же здравый смысл, если цель-чтобы другие лучше этот код поняли, то надо писать это понятней, может эти стандарты устарели, вместо табов лучше пробелы и не 8 а 4 но я думаю 2х хватит. Но может это я один такой, Вот я и спросил всех где понятней код - там на картинке пол страницы или мой 4 строки 87 столбцов.
Sergey_K
На том скрине экран маловат, мне кажется :)
Anonymous
Благодарю
файлы переносить лучше в архиве zip если панель хостера поддерживает. у меня есть скрипт на пхп. зипует с правами и распаковывает тоже. можно по фтп залить и запустить.
Sergey_K
Про табы да, тоже не вижу смысла в двух т.к. при большой вложенности уезжает вправо сильно.
Alex
подскажите у кого какой ПХП выставлен на хостинге, особенно интересно проекты с minishop
Sergey_K
7.2
Миша
Alex
Бо у меня что то с перехода с 5.6 на высшие весрии (7.1, 7.2) начали на фронте ошибки лезть…
Sergey_K
Там боксы, да, для примеров, щас это модно.
Даже в кастрированном редакторе модх, в котором залипает курсор, это будет отображаться норм
Sergey_K
Anonymous
Anonymous
7й говорят быстрее работает, но может памяти надо больше.
Alex
Да говорят что работает быстрее, но у меня почему то начал ругаться на не числовое значение в сниппете с определением времени
Sergey_K
Может старая функция из строки время делала?
Сейчас-то надо к числу сначала привести.
Alex
вот на такой кусок ругается:
$defTime = strtotime(date("d.m.Y H:i:00")) + $time*60+100;
$defTime2 = round_time($defTime, 15);
$modx->setPlaceholder('defTime', date('H:i', $defTime2));
$start = strtotime(date("d.m.Y {$start}:00")) + $time*60;
Sergey_K
А почему тебе не написать time() вместо stryotime(...)?
Sentinel
Благодарю
Я папку setup запускаю и она все пути проставляет... ничего сложного
Anonymous
Anonymous
строка $defTime = strtotime(date("d.m.Y H:i:00")) + $time*60+100; работает в 7й нормально.
Sentinel
Миша
как там в базе верно записывать даты?
Миша
к MODX вопрос
Anonymous
как целые числа лучше, отдельно для дат форматы есть но не во всех типах БД. strtotime(дата) - понимает 2019-12-31 и 31-12-2019
Roman 🚀
Roman 🚀
Roman 🚀
с секундами да
Sergey_K
Чойта мне кажется, что в минижопе не так. Createddate там datetime насколько помню
Roman 🚀
Sergey_K
С датами одни геморрои :)
Roman 🚀
да уж
Sergey_K
Самая тема, когда получаешь ответ от API а там дата еще и часовой пояс содержит)
Roman 🚀
дадада)
Roman 🚀
и где-нить еще летнее время там
Sergey_K
Причем есть часовой пояс сервера
Sergey_K
И отдельно клиента
Sergey_K
Я в России, сервер в Америке, а клиент в Чили
Sergey_K
Сопоставление дат приводило к когнитивному диссонансу :)
Sergey_K
А, потом к этому говну из другого API летит платеж. Который билингуется в германии)
Roman 🚀
¯\_(ツ)_/¯
Roman 🚀
давно пора перейти на нормальный календарь и время
Sergey_K
Это китайцам надо сказать)))
Sergey_K
И японцам.
У них же внутри страны используется свой календарь.
Sergey_K
Еще бесят числа с точкой
Anonymous
Hi! Как вызвать Fenom-модификатор в своём сниппете?
iWatchYouFromAfar
Anonymous
Не хочется дублировать один и тот же код в разных местах... Fenom модификаторы - это не совсем сниппеты, т.к. они в файловом феномовском плагине.
Roman 🚀
Roman 🚀
Зачем он тебе прям ВНУТРИ?
iWatchYouFromAfar
ну да, обработать сниппет модификатором