Доброго времени суток, друзья!
Наконец то выкроил время и в продолжение темы Плагин "Случайный аватар", представляю хак компонента users. Навеяно обсуждениями в комментах к плагину.
Прошу прощения, что затянул с доработкой. Лето… Совершенно нет времени.
Итак, ближе к делу
Хак представляет метод модели компонента users с возможностью выполнения по CRON.
устанавливает случайный аватар из своей библиотеки для пользователей, которые не установили его. Принцип работы схож с плагином "Случайный аватар", но хак работает отдельно от плагина. Можно установить и совместно с плагином. Хак использует те же папки и библиотеки аватаров, что и плагин.
Чтобы облегчить обновление движка до последующих версий, изменен всего один файл /components/users/model.php. Сам файл с изменениями находится в архиве. Версия файла соответсвует версии диструбитива ИнстантКМС с офф. сайта на дату 25.06.12.Если у вас этот файл уже изменен, то сравните содержимое. Изменения касательно хака увидите в конце файла в одном месте. Добавлен метод selectRandAvatar(). Есть соответствующие комментарии.
Чтобы не затрагивать другие файлы, настройки включены в коде в виде констант. Найдете по соотвествующим комментариям. Есть 3 настройки — скольким пользователям установить аватар за одно выполнение задачи, уведомлять ли пользователя, через сколько днейпосле регистрации можно установить аватар пользователю.
Внимательно прочтите комментарии и если нужно, измените константы под себя.
В архиве найдете и библиотеку аватаров, который соответствует с библиотекой плагина. Это для тех, кто не устанавливал плагин.
— скачиваем архив;
— сравниваем и если нужно изменяем файл /components/users/model.php в архиве;
— заливаем на хост;
— далее настраиваем cron. В админке заходим Настройки->Задачи CRON. Нажимаем кнопку с плюсиком "Создать задачу".
В поле "Компонент:" прописываем users, а в поле "Метод модели:" прописываем selectRandAvatar. Остальные поля заполните на ваше усмотрение. Не забудьте включить задачу и настроить CRON сайта.
Или можете создать задачу CRON следующим запросом в БД:
Ну и, скачать архив
следует заменить на
Или просто перезалейте указанный файл с архива, предварительно смержив ваши изменения.
Приятного пользования!
Наконец то выкроил время и в продолжение темы Плагин "Случайный аватар", представляю хак компонента users. Навеяно обсуждениями в комментах к плагину.
Прошу прощения, что затянул с доработкой. Лето… Совершенно нет времени.
Итак, ближе к делу
Хак представляет метод модели компонента users с возможностью выполнения по CRON.
устанавливает случайный аватар из своей библиотеки для пользователей, которые не установили его. Принцип работы схож с плагином "Случайный аватар", но хак работает отдельно от плагина. Можно установить и совместно с плагином. Хак использует те же папки и библиотеки аватаров, что и плагин.
Чтобы облегчить обновление движка до последующих версий, изменен всего один файл /components/users/model.php. Сам файл с изменениями находится в архиве. Версия файла соответсвует версии диструбитива ИнстантКМС с офф. сайта на дату 25.06.12.Если у вас этот файл уже изменен, то сравните содержимое. Изменения касательно хака увидите в конце файла в одном месте. Добавлен метод selectRandAvatar(). Есть соответствующие комментарии.
Чтобы не затрагивать другие файлы, настройки включены в коде в виде констант. Найдете по соотвествующим комментариям. Есть 3 настройки — скольким пользователям установить аватар за одно выполнение задачи, уведомлять ли пользователя, через сколько днейпосле регистрации можно установить аватар пользователю.
Внимательно прочтите комментарии и если нужно, измените константы под себя.
В архиве найдете и библиотеку аватаров, который соответствует с библиотекой плагина. Это для тех, кто не устанавливал плагин.
Установка
Установка:— скачиваем архив;
— сравниваем и если нужно изменяем файл /components/users/model.php в архиве;
— заливаем на хост;
— далее настраиваем cron. В админке заходим Настройки->Задачи CRON. Нажимаем кнопку с плюсиком "Создать задачу".
В поле "Компонент:" прописываем users, а в поле "Метод модели:" прописываем selectRandAvatar. Остальные поля заполните на ваше усмотрение. Не забудьте включить задачу и настроить CRON сайта.
Или можете создать задачу CRON следующим запросом в БД:
INSERT INTO `cms_cron_jobs` (`job_name`, `job_interval`, `component`, `model_method`, `custom_file`, `is_enabled`, `is_new`, `comment`, `class_name`, `class_method`) VALUES ('selectRandAvatar', 1, 'users', 'selectRandAvatar', '', 1, 0, 'Устанавливает случайный аватар пользователю без аватара', '', '')
Важно
Хак предназначен для версии InstantCMS 1.9 в кодировке сp1251(это я к тому, что некоторые уже пишут под версию утф). Тестировалось только на локалхосте. Перед применением не забудьте сделать резервные копии.Ну и, скачать архив
UPDATE 05.08.2012
Архив перезалит. Исправлена ошибка в результате которой не выполнялась задача по CRON. Изменения коснулись файла /components/users/model.php. Строки 906-907
$inConf = cmsConfig::getInstance(); $inUser = cmsUser::getInstance();
$inCore->loadclass('config'); $inConf = cmsConfig::getInstance(); $inCore->loadclass('user'); $inUser = cmsUser::getInstance();
Приятного пользования!
Реклама #
Митяй 12 лет назад #
Алфей 12 лет назад #
demous 12 лет назад #
murakami 12 лет назад #
Дмитрий 12 лет назад #
Nerix 12 лет назад #
Дмитрий 12 лет назад #
Марат 12 лет назад #
Домен не должен влиять.
Для начала, правильно ли у вас настроен CRON? Выполняются ли другие задачи? Если с этим всё нормально, то в админке смотрим, добавилась ли задача и пробуем запустить его. По умолчанию, должны добавиться аватары у 3 пользователей, которые зарегистрировались ранее, чем два дня назад. Причем, сортировка идет по id пользователя, по убыванию. То есть сначала поменяется у тех, кто позже зареган. От текущего времени отнимаете 2 суток, и находите пользователей, которые зарегались чуть ранее этого времени и смотрите, поменялось ли. Если ничего не изменилось, то в админке включаем режим отладки и снова запускаем задачу. Смотрим, что выдаст.
Если лень разбираться самим, то дайте в личку фтп и админ доступ. Посмотрю сам.
Дмитрий 12 лет назад #
murakami 12 лет назад #
Марат 12 лет назад #
murakami 12 лет назад #
Марат 12 лет назад #
Nerix 12 лет назад #
stasis 12 лет назад #
Спасибо!
st.Puh 12 лет назад #
Митяй 12 лет назад #
Sergey Platonov 12 лет назад #
Марат 12 лет назад #
Sergey Platonov 12 лет назад #
Camfrog 12 лет назад #
universe 12 лет назад #
Марат 12 лет назад #
Вчера заметил, что не выполняется задачи CRON. Пробовал запустить сегодня вручную с хостера и заметил ошибку. Исправлено.
boss 11 лет назад #
lezginka.ru 11 лет назад #
http://habrahabr.ru/post/195142/
можно прикрутить ?
Константин Г. 11 лет назад #
Константин Г. 11 лет назад #