Дмитрий Ломакин

Дмитрий Ломакин

С нами с 26 июня 2013; Место в рейтинге пользователей: #557
Дмитрий Ломакин
12 декабря 2018, 05:46
0
С нетерпением ждем открытия jsclub.ru!

ps просто шутка, без обид.
Дмитрий Ломакин
11 ноября 2018, 19:03
0
У меня свои таблицы.

Использовать extID можно, но тогда:
на странице товара выводить какой код? extID?
в URL на странице товара какой код использовать? extID?
В базе потом искать тоже по extID? индекс делаем по extID?
в финале ID где будет использоваться? нигде?

а если везде вышеуказанном использовать id, то сотрудникам неудобно
в 1с один код, на сайте другой!
Дмитрий Ломакин
11 ноября 2018, 18:55
0
Если поле PK всегда readOnly, то такое поведение newObject оправдано.
Если в оф. документации было бы это оговорено, то такое поведение newObject оправдано.
Если newObject игнорирует id и ругается на это в логах, то такое поведение приемлемо

текущая ситуация меня удивила, понять ее удалось только из исходников.
«решил поделить с сообществом. Может кому то время сэкономит.»

ИМХО я все сделал верно.
Дмитрий Ломакин
10 ноября 2018, 04:13
0
у меня этот кусок использовался при импорте из 1с
поле id = id в 1с
при таком раскладе «проблемы совпадающих id» просто не могло возникнуть от слова совсем.
Дмитрий Ломакин
17 сентября 2018, 16:10
0
$key = ['1=(SELECT 1)'];
$key = ['NOT EXISTS(SELECT 1)'];
не понял про это, просьба чутка разжевать
Дмитрий Ломакин
05 июля 2017, 20:47
0
флажок «Опубликован» проверь у 404 страницы. Должен стоять.
Дмитрий Ломакин
24 апреля 2017, 00:39
0
Для справки:
Делал себе пару лет назад. Насколько помню:
1. Почти все скрипты Василия под CentOS без корректировки работать не будут.
2. У меня не получилось для пользователя SFTP запретить логин по SSH.
А по уму пользователь по SFTP может подключаться, а логиниться по SSH и работать в консоле он не может.
Правда это было давно, и т.к. для меня было не критично я копать не стал, может и можно сделать.
3. свежие версии nginx и php подключаются после танцев с бубнами.

из плюсов: работа стабильная и предсказуемая на 100%

будут вопросы обращайтесь

Дмитрий Ломакин
31 марта 2017, 01:15
0
«больше 12 тыс» и «У товаров есть тв поле применяемости, в ней указаны модели авто. (имеет множественный выбор с разделителем ||)»
— не совместимые вещи. если делать так, то будут тормоза дикие.

Делайте отдельную таблицу
id_товара
id_авто

Дмитрий Ломакин
10 февраля 2017, 22:24
0
Тем более сниппет медленнее плагина, а его ещё нужно вызывать во всех шаблонах
У вас что сниппет один раз будет вызываться на страницу, что плагин один раз.
И откуда инфа про «сниппет медленнее плагина»?
Дмитрий Ломакин
10 февраля 2017, 21:42
0
Допустим был шаблон «template1»
из него весь текст удалить. оставить
[[$template1-[[!userAgent]]]]
сделать сниппет userAgent
который возвращает нужный суффикс в зависимости от userAgent

сделать 2 (или больше) чанка. их содержимое=шаблон нужный
«template1-big»
«template1-small»

повторить фокус с остальными шаблонами
Дмитрий Ломакин
15 января 2017, 21:37
+1
права доступа и владельца на папки файловой системы проверьте
и на папку /var/lib/php/session (на centOS) или где там у вас хранится…
Дмитрий Ломакин
03 декабря 2016, 01:32
+2
код бы свой проверили сначала что ли
он конечно безобидный, в том смысле что никогда не выполнится )))
но полезнее, если работать будет:
вместо
if ($rt && (is_array($rt) && !in_array(true, $rt)))
надо
if ($rt && is_array($rt) && !in_array(true, $rt, true))

ps Изящно исправили. аж восхитился. Серьезно!
Дмитрий Ломакин
02 декабря 2016, 20:11
+1
Еще раз:
Чушь, что плагин OnAfterWebAuthentication неверно работает и
Надеюсь, кто-нибудь отправит багфикс.
плагин свою логику отрабатывает на 5+
он сейчас работает для обхода проверки пароля
для того что бы можно было авторизовать пользователя не зная его пароля
ферштейн?

вы же его пытаетесь использовать для другого совершенно. Для запрета авторизации.
такой функционал был бы полезен, слов нет. Но этот плагин не для этого.
поэтому не фикс надо отправлять, а апдейт. Добавить еще одни плагин для нужного вам функционала

Про
Создайте у себя плагин на событие OnWebAuthentication и пропишите в нем $modx->event->_output = 'false';… Как результат: авторизация. joxi.ru/Y2LjLVESn3pqXr
и
Сделаете вы $modx->event->_output = true; или не сделаете ничего, результат не поменяется в принципе.
Сами себе противоречите )))
Если вы не сделаете ничего, то плагина и нет как бы, и тогда с неверным логин/паролем пользователя не авторизуют
А если сделаете «modx->event->_output = true;» то проверки пароля не будет
и пользователь авторизуется только по логину.

Про
А вы поищите хорошенько, может что-то подобное найдете.

OnWebLogin — не то, в этот момент пользователь уже авторизован, а нужно этого не допустить
Дмитрий Ломакин
01 декабря 2016, 23:12
+1
Пожалуй не соглашусь с этими претензиями к MODX.

1. событие «OnWebAuthentication» на самом деле правильнее назвать было бы «OnBeforeWebAuthentication»
и в этой роли оно свой функционал отрабатывает идеально.

У меня, например, сейчас с помощью этого события реализован функционал авторизации по ссылке. Пришла ссылка на email — тыц на нее — и ты уже залогинен.

2. По поводу "$modx->event->_output" вообще претензия странная.
«Я туда сую неверное значение и MODX плохо работает». Так не суйте неверное.
Если в процессе работы плагина выходит, что пользователь достоин авторизации, то делаем
$modx->event->_output = true;
в иных случаях не трогаем. И все работает как надо.

3. Добавить событие «OnAfterWebAuthentication» было бы полезно

Дмитрий Ломакин
20 июня 2016, 22:10
0
в свое время пробовал с php7.
такая ошибка мешала или другая уже не помню
решилось правкой кода:

файл:
core/model/modx/modmanagerresponse.class.php

функция:
public function instantiateController($className,$getInstanceMethod = 'getInstance') {


было так:
$this->modx->controller = call_user_func_array(array($c,$getInstanceMethod),array($this->modx,$className,$this->action));

делал так:
$this->modx->controller = $c->getInstance($this->modx,$className,$this->action);

додумался не сам. подсказал друг. мне помогло
Дмитрий Ломакин
28 ноября 2014, 13:55
0
непонял, эта табличка откуда?

А если вы имеете ввиду, что у комментария нет url, то все верно, у него нет url, ибо комментарий — это не ресурс.
нет, это не имел ввиду, с этим все понятно
Дмитрий Ломакин
27 ноября 2014, 23:27
0
В дереве ресурсов modx есть ресурс «item» с id=10, на нем лежат комментарии tickets
вложенных элементов нет.
Адрес mysite.ru/item на практике не используется, используются адреса mysite.ru/item/id1, mysite.ru/item/id2, mysite.ru/item/id3,…
По ссылке mysite.ru/item/id1 должна отдаться 404 страница, но срабатываем плагин, находит в таблице migx товар с id1, задает плейсхолдеры и
$modx->resource=$modx->getObject('modResource',10);
$modx->request->prepareResponse();
На экране все выглядит так: открылась страница mysite.ru/item/id1
После этого пишем тикет, сохраняем, смотрим в админке и видим:
ресурс в котором создан тикет mysite.ru/item
а надо mysite.ru/item/id1
Смотрим в код и видим tickets не хранит url, а только id ресурса, в нашем случае 10

Вопрос, как можно сделать что бы тикет хранил еще и url и при этом обновления tickets ничего не ломали
Надеюсь, теперь понятней!
Дмитрий Ломакин
13 февраля 2014, 12:47
0
Странно что на странице входа об этом не очевидном моменте нет упоминания
Дмитрий Ломакин
13 февраля 2014, 01:01
0
я еще с таким стодкнулся
Если входишь HybridAuth через Facebook и потом на странице авторизации сначала согласиться связать сайт и мой аккаунт, а на следущий вопрос «разрешить сайту размещать публикации от моего имени» (или как то аналогично по смыслу) сказать НЕТ, то крындец наступает:
на сайт не зайти
удалить на facebook привязку и по новой зайти через HybridAuth тоже не помогает
в общем больше на сайт не зайти никак через facebook
PS с другими соцсетями не экспериментировал
PPS на store.simpledream.ru я сейчас (только что проверил) я зайти через facebook не могу, хотя сюда зашел без проблем.
Дмитрий Ломакин
30 января 2014, 12:08
0
из админки выйди, и попробуй еще
думаю будешь приятно удивлен )