попробовал и файл перместить в
/mailing/classes/modules/user/entity
Перестановкой добился такого сообщения
PHP Fatal error: Class 'PluginMailing_Inherit_ModuleUser_EntityUser' not found in /var/www/example.com/common/plugins/mailing/classes/modules/user/entity/User.entity.class.php on line 2
потом переместил обратно в исходную папку
/mailing/classes/modules/mailing/entity/User.entity.class.php
и попробовал заменить
class PluginMailing_ModuleMailing_EntityUser extends PluginMailing_Inherit_ModuleMailing_EntityUser
получил снова
PHP Fatal error: Class 'PluginBr_Inherit_ModuleUser_EntityUser' not found in /var/www/example.com/common/plugins/br/classes/modules/user/entity/User.entity.class.php on line 12
Что-то не так. Перестановка не помогает, начинает ругаться на другой плагин.
Вот что я сделал
В /mailing/classes/modules/mailing/entity/User.entity.class.php
<?php
class PluginMailing_ModuleUser_EntityUser extends PluginMailing_Inherit_ModuleUser_EntityUser {
public function getUserNoDigestHash() {
return md5(Config::Get('module.security.hash').$this->getMail());
}
}
?>
Class 'PluginSitemap_Inherit_ModuleUser_EntityUser' not found in /var/www/example.com/common/plugins/sitemap/classes/modules/user/entity/User.entity.class.php
2. мои скриптом хэш будет генерироватсья при обращении (код выше, хэш генерируется на основе почты пользователя и соли)
Ну а обращение в какой момент. Кого к кому обращение? При создании рассылки дергается метод, создается хэш и кладется в поле user_no_digest_hash БД?
Если это только для дайджеста, то зачем каждый раз генерить заново? Значит это должно только при создании дайджетста происходить, или я что-то не понимаю.
1. Т.е. я правильно понимаю, что по задумке создателей плагина, эти хеши генерятся отдельно скриптом и куда-то кладутся в БД, в специальное поле таблицы users, или как? Не пойму смысл этого отдельного скрипта.
2. С вашим решением хэши будут генериться сразу при создании рассылки? Каждый раз перезаписываться при создании рассылки?
3. Этот механизм отписки затрагивает все рассылки или только Digest? просто в БД поле называется user_no_digest_hash.
4. И еще вопрос в итоге как получить url отписки — он сам сгенерится и добавится?
Вопрос к тем кто пользовался, настраивал плагин Ls Digest. Вижу в языковом файле есть возможность отписаться. Но вот как она работает? В письме ссылки вроде на отписку не вставляются.
Поставил. Активировал. Скопировал файлы шаблона из папки experience в папку brand, ничего не менял, в разделе личных сообщений появилась вкладка «рассылка», отображается вроде сносно, редактор подцепился, галочки есть. Пока сам функционал не проверял.
Однако после сброса кэша на главной странице вместо виджетов «прямой эфир», «блоги», «теги» выводится сообщение об ошибке
(Возьму более полное из лога, на странице более короткое)
[LOG:1427309365.583-551303358E743][2015-03-25 21:49:25][PID:12982][ERROR][[
E_ERROR [1] Call to a member function getBlog() on a non-object (/var/www/example.com/engine/libs/Smarty/libs/sysplugins/smarty_internal_templatebase.php(157): eval()'d code on line 44)
— call stack — Func::_callStackError() in /var/www/example.com/engine/include/Func.php on line 147
Func::_errorLog() in /var/www/example.com/engine/include/Func.php on line 274
Func::_errorHandler() in /var/www/example.com/engine/include/Func.php on line 69
Func::done()
— end — ]][END:1427309365.583-551303358E743]
[LOG:1427309373.721-5513033DAFF5E][2015-03-25 21:49:33][PID:2373][ERROR][[
E_ERROR [1] Call to a member function getBlog() on a non-object (/var/www/example.com/_tmp/templates/brand-light/compiled/light^6edba5d50b3356b0d4b878f9ce6a117ea7b77cb5.file.widget.stream_comment.tpl.php on line 44)
— call stack — Func::_callStackError() in /var/www/example.com/engine/include/Func.php on line 147
Func::_errorLog() in /var/www/example.com/engine/include/Func.php on line 274
Func::_errorHandler() in /var/www/example.com/engine/include/Func.php on line 69
Func::done()
— end — ]][END:1427309373.721-5513033DAFF5E]
А вот что находится по указанной строчке (/var/www/example.com/_tmp/templates/brand-light/compiled/light^6edba5d50b3356b0d4b878f9ce6a117ea7b77cb5.file.widget.stream_comment.tpl.php on line 44)
<?php $_smarty_tpl->tpl_vars['oBlog'] = new Smarty_variable($_smarty_tpl->tpl_vars['oTopic']->value->getBlog(), null, 0);?>
Насколько я понимаю так уже делалось например с плагином баннероид altocms.ru/addons/item/82/. Плагин бесплатный, лицензия GPL. Это означает что вы можете его исправить и распространять под той же лицензией (и конечно бесплатно). Вопрос скорее организационный чем какой-то принципиальный, зато его решение поможет многим.
/mailing/classes/modules/user/entity
Перестановкой добился такого сообщения
PHP Fatal error: Class 'PluginMailing_Inherit_ModuleUser_EntityUser' not found in /var/www/example.com/common/plugins/mailing/classes/modules/user/entity/User.entity.class.php on line 2
потом переместил обратно в исходную папку
/mailing/classes/modules/mailing/entity/User.entity.class.php
и попробовал заменить
class PluginMailing_ModuleMailing_EntityUser extends PluginMailing_Inherit_ModuleMailing_EntityUser
получил снова
PHP Fatal error: Class 'PluginBr_Inherit_ModuleUser_EntityUser' not found in /var/www/example.com/common/plugins/br/classes/modules/user/entity/User.entity.class.php on line 12
Вот что я сделал
В /mailing/classes/modules/mailing/entity/User.entity.class.php
В PluginMailing.class.php
Class 'PluginSitemap_Inherit_ModuleUser_EntityUser' not found in /var/www/example.com/common/plugins/sitemap/classes/modules/user/entity/User.entity.class.php
o_O
А как сделать вот это
Ну а обращение в какой момент. Кого к кому обращение? При создании рассылки дергается метод, создается хэш и кладется в поле user_no_digest_hash БД?
Если это только для дайджеста, то зачем каждый раз генерить заново? Значит это должно только при создании дайджетста происходить, или я что-то не понимаю.
1. Т.е. я правильно понимаю, что по задумке создателей плагина, эти хеши генерятся отдельно скриптом и куда-то кладутся в БД, в специальное поле таблицы users, или как? Не пойму смысл этого отдельного скрипта.
2. С вашим решением хэши будут генериться сразу при создании рассылки? Каждый раз перезаписываться при создании рассылки?
3. Этот механизм отписки затрагивает все рассылки или только Digest? просто в БД поле называется user_no_digest_hash.
4. И еще вопрос в итоге как получить url отписки — он сам сгенерится и добавится?
generate-unsub-hash.php?
Не могу понять никак…
И как тогда будет выглядеть вывод url для отписывания в шаблон?
Однако после сброса кэша на главной странице вместо виджетов «прямой эфир», «блоги», «теги» выводится сообщение об ошибке
(Возьму более полное из лога, на странице более короткое)
[LOG:1427309365.583-551303358E743][2015-03-25 21:49:25][PID:12982][ERROR][[
E_ERROR [1] Call to a member function getBlog() on a non-object (/var/www/example.com/engine/libs/Smarty/libs/sysplugins/smarty_internal_templatebase.php(157): eval()'d code on line 44)
— call stack — Func::_callStackError() in /var/www/example.com/engine/include/Func.php on line 147
Func::_errorLog() in /var/www/example.com/engine/include/Func.php on line 274
Func::_errorHandler() in /var/www/example.com/engine/include/Func.php on line 69
Func::done()
— end — ]][END:1427309365.583-551303358E743]
[LOG:1427309373.721-5513033DAFF5E][2015-03-25 21:49:33][PID:2373][ERROR][[
E_ERROR [1] Call to a member function getBlog() on a non-object (/var/www/example.com/_tmp/templates/brand-light/compiled/light^6edba5d50b3356b0d4b878f9ce6a117ea7b77cb5.file.widget.stream_comment.tpl.php on line 44)
— call stack — Func::_callStackError() in /var/www/example.com/engine/include/Func.php on line 147
Func::_errorLog() in /var/www/example.com/engine/include/Func.php on line 274
Func::_errorHandler() in /var/www/example.com/engine/include/Func.php on line 69
Func::done()
— end — ]][END:1427309373.721-5513033DAFF5E]
А вот что находится по указанной строчке (/var/www/example.com/_tmp/templates/brand-light/compiled/light^6edba5d50b3356b0d4b878f9ce6a117ea7b77cb5.file.widget.stream_comment.tpl.php on line 44)
ИМХО.
Еще раз внимательно прочитайте мой пост.
altocms.ru/805.html