Всего 123 756 комментариев

Василий Наумкин
29 декабря 2012, 13:33
0
Да, конечно нужно не только объединить таблицы, но и выбрать из них нужные данные.
Дмитрий Баданин
29 декабря 2012, 13:25
0
Немного неясно как делать соединения.
Сделал innerJoin как в последнем примере. Смотрю в консоли — поля связанной таблицы по-прежнему не возвращает. Может быть нужно в $c->select прописывать в классе getlist?
Алексей Хребтов
29 декабря 2012, 10:13
0
Чтобы не плодить тем, спрошу здесь.
В заметках про версию 0,3,0 написано
«При регистрации нового юезра добавлена проверка по email. Если такой адрес уже есть — учетка приклеится к нему.»
Я через минишоп, делаю заказ, создается пользователь с указанным email. Потом логинюсь через HybridAuth с провайдера у которого учетка с этим же email. В итоге имею 2 пользователей с одинаковым email-ом (разные логины).
Минишоп в качестве логина подставляет email, а HybridAuth берет у провайдера логин.
Как не создавать пользователя если уже такой есть email?
Алексей Хребтов
29 декабря 2012, 08:47
0
В том и проблема что ошибок не было. Хотя была одна, когда вызывал снипет HybridAuth с провайдером которого уже удалил.<cut/>
А так по логике и не должно было быть ошибок в системном журнале, т.к. ошибка direct_uri_mismatch происходила на стороне сервисов (Гугл, Яндекс) и до моего сайта ответ не доходил. А вот с мейлом когда ключ создал некорректно, и появлялся белый экран, почему не появилась запись в журнале не могу понять.
Василий Наумкин
28 декабря 2012, 23:24
0
Юля, не мучайтесь — на Windows это работать не будет. Ну или будет, но через одно место и после многих танцев с бубном.

Если нет желания покупать GNU/Linux тестовую площадку в интернетах, ознакомьтесь хотя бы с виртуальной машиной.

Учитывая, что 99% сайтов MODX работают на Linux — эти знания себя ещё окупят!
Yulia Udacheva
28 декабря 2012, 23:17
0
Через cmd скачать удалось, а запустить нет
Василий Наумкин
28 декабря 2012, 20:47
0
Очень рад!

На будущее — все ошибки должны быть в системном журнале.
Алексей Хребтов
28 декабря 2012, 20:27
0
Да Василий, все получилось. Спасибо.
с Mail.ru тоже разобрался, сначала белый экран был при попытке авторизации, создал в настройках новый ключ, и заработало. Подозреваю что в первый раз при создании ключа не писал ha.keys., поэтому и не срабатывал провайдер.
Василий Наумкин
28 декабря 2012, 19:09
0
Плагином на OnUserFormSave можно самому задавать любой пароль только что созданному юзеру.

Там будет переменная $mode, которая для нового юзера равна new.
Пётр Молчанов
28 декабря 2012, 17:44
0
Значит придется генерит новый пароль для уже существующих юзеров. Как-то перехватить пароль при регистрации пользователя можно, учитывая, что региться будут через HybridAuth?
Василий Наумкин
28 декабря 2012, 17:29
0
А иначе увёл базу хэшей, раскодировал и получил базу паролей юзеров.

Можно уже тогда сразу, в открытом виде хранить.
Василий Наумкин
28 декабря 2012, 17:23
0
Пароль нельзя обратно расхэшировать, можно только задать новый.

Сам принцип хэша — работа в одну сторону.
Василий Наумкин
28 декабря 2012, 17:21
0
Сервисы Oath2 требуют точного url возврата:
http://example.com/assets/components/hybridauth/action.php?hauth.done=Google

http://example.com/assets/components/hybridauth/action.php?hauth.done=Yandex
Со вчерашнего дня есть инструкции в картинках на rtfm.
Артем
28 декабря 2012, 17:03
0
Стоит написать вопрос, в голове сразу проясняется. )) Я ведь совсем забыл про второе письмо, менеджеру. Там сниппет выполнялся второй раз и пароль опять сбрасывается. Надо было сразу поставить ограничение на один сброс пароля, а не мучить несколько дней этот save.
Мордынский Николай
28 декабря 2012, 16:03
0
А как вы шел скрипт под виндой пытались запустить ?)
Виталий Киреев
28 декабря 2012, 13:59
0
Конкретно такой запрос сработает на любой SQL-БД.
updateCollection не такого. Ну можно получить все узлы в итератор и прогнать по всем, но это O(n) запросов к базе
$nodes  = $modx->getIterator($this->classKey, 
	array('rubr_parent' => $parent, 'rubr_order:>' => $order));
foreach ($nodes as $node) {
     $node->set('rubr_order', $node->rubr_order - 1);
     $node->save();
}
Kirill A. Rusanov
28 декабря 2012, 13:39
0
Согласен, знаю. Но он зависим от используемого типа БД (mysql), ведь так?
Да и просто хочется понять, как реализуются такие очевидные с точки зрения sql запросы в modX. Неужели передается массив уже пересчитанных значений?
Виталий Киреев
28 декабря 2012, 13:34
0
По производительности ваш вариант лучше будет, чем делать «по уму».
Kirill A. Rusanov
28 декабря 2012, 11:06
0
Извините, первый раз, про «кат» поздно заметил…