+1.98
Рейтинг
9.60
Сила
  • avatar dsg
  • 0
Поищите здесь в топиках, эта тема уже появлялась недавно.
  • avatar dsg
  • 0
поддерживаю, с авторизацией проблемы. На данный момент включены плагины:

aceBlogExtender
Config Engine: v.1.2.3
DAO: v.3.1.1
DAOmarket: v.3.1.1
Magic Rule: v.1.1
Mobile template: v.1.0
OpenID: v.1.3.2
Static page: v.1.3.2
Payment: v.1.1
Purse Plugin: v.4.1.0
Robots.txt Controller: v.1.0.1
Search Auto Completer: v.1.2.0
SEO: v.0.2.0
Sitemap: v.0.3.0
Tasks Plugin: v.3.0.0
User medals: v.1.2.2

сами плагины работают вроде корректно (ошибок нет), но при открытии меню профиля пропадают топики и авторизоваться на сайте нельзя. Если кто подскажет с каким из них могут быть связаны данные проблемы, огромное спасибо. (а я пока продолжаю отключать и смотреть)
  • avatar dsg
  • 4
Цена вполне адекватна объему проделанной автором работы. Хотите скидку больше? — к новому году обычно происходит распродажа.
  • avatar dsg
  • 0
прошу прощения, их просто много). Итак, если прописать:
unset($this->aInherits['template']);
unset($this->aInherits['action']);
а в хуке:
if (!(class_exists('MobileDetect') && MobileDetect::IsMobileTemplate())) {
$this->AddHook('template_wrapper_class', 'AddWrapperClass', __CLASS__);
$this->AddHook('template_container_class', 'AddContainerClass', __CLASS__);
}
плагин не отключается, мобильная версия запускается, но при нажатии на «Полная версия» вижу это:
Fatal error: Uncaught exception 'Exception' with message 'Undefined method module: AddContainerClass' in /var/www/.../data/www/мой_сайт.ru/engine/classes/Engine.class.php:604 Stack trace: #0 /var/www/.../data/www/мой_сайт.ru/engine/classes/Engine.class.php(531): Engine->GetModule('AddContainerCla...') #1 /var/www/.../data/www/мой_сайт.ru/engine/classes/Hook.class.php(71): Engine->_CallModule('AddContainerCla...', Array) #2 [internal function]: Hook->__call('AddContainerCla...', Array) #3 [internal function]: PluginAdminusers_HookAdminusers->AddContainerClass(Array) #4 /var/www/.../data/www/мой_сайт.ru/engine/modules/hook/Hook.class.php(292): call_user_func_array(Array, Array) #5 /var/www/.../data/www/мой_сайт.ru/engine/modules/hook/Hook.class.php(244): ModuleHook->RunType(Array, Array) #6 [internal function]: ModuleHook->Run('template_contai...', Array) #7 /var/www/.../data/www/мой_сайт.ru/engine/classes/Engine.class.php(558): call_user_func_array(Array, Array) # in /var/www/.../data/www/мой_сайт.ru/engine/classes/Engine.class.php on line 604
  • avatar dsg
  • 1
а чтобы «обновить» появлялось справа, вместо того, что написано выше в самое начало надо вставить такую конструкцию:
{if $oUserCurrent}
   {if $oCompany->IsAllowTariff('branding') && $oCompany->getUseBrandImage()}
   {include file="`$aTemplatePathPlugin['company']`header_branding.tpl" menu='main' showUpdateButton=true}
	  {else}
   {include file="header.tpl" menu='main' showUpdateButton=true}
   {/if}
  {else}
   {if $oCompany->IsAllowTariff('branding') && $oCompany->getUseBrandImage()}
   {include file="`$aTemplatePathPlugin['company']`header_branding.tpl" menu='main'}
	  {else}
   {include file="header.tpl" menu='main'}
   {/if}
{/if}
  • avatar dsg
  • 0
правда, при таком варианте справа кнопка «обновить» не появится у зарегистрированных пользователей…
  • avatar dsg
  • 0
Нашел еще один непонятный момент — если открыть топик брендированной компании, то он открывается в стандартном дизайне, хотя было бы логично открывать его так же в брендированном. Если кому надо исправить, то находим файл templates/skin/default/actions/ActionCompany/topic.tpl и в самое начало вместо этого:
{if $oUserCurrent}
	{include file='header.tpl' menu='main' showUpdateButton=true}
{else}
	{include file='header.tpl' menu='main'}
{/if}

ставим это:
{if $oCompany->IsAllowTariff('branding') && $oCompany->getUseBrandImage()}
{include file="`$aTemplatePathPlugin['company']`header_branding.tpl" menu='main'}
	{else}
{include file="header.tpl" menu='main'}
{/if}


а в самом низу вместо этого:
{include file='footer.tpl'}

ставим это:
{if $oCompany->getUseBrandImage()}
{include file="`$aTemplatePathPlugin['company']`footer_branding.tpl"}
	{else}
{include file='footer.tpl'}
{/if}


теперь топики у брендированной компании тоже открываются на брендированной странице.
  • avatar dsg
  • 0
что инетерсно:
прописал в PluginAdminusers.class.php это:
unset($this->aInherits['module']);
unset($this->aInherits['entity']);
получил ошибку, прописал
unset($this->aInherits['template']);
unset($this->aInherits['action']);
ошибки нет.

Прописал в файле хука:
if (!(class_exists('MobileDetect') && MobileDetect::IsMobileTemplate())) {
$this->AddHook('template_wrapper_class', 'AddWrapperClass', __CLASS__);
$this->AddHook('template_container_class', 'AddContainerClass', __CLASS__);
}
— ошибка
прописал:
if (class_exists('MobileDetect') && MobileDetect::IsMobileTemplate()) {return;}
— ошибки нет, но и результата тоже нет, плагин не отключился)

перепроверил 10 раз, где прописывал, что прописывал, почистил 3 раза кеш на всякий случай и ничего)
  • avatar dsg
  • 0
так а почему разработчику не напишите?
  • avatar dsg
  • 0
А какая версия LS стоит? подобные проблемы встречаются в плагинах DAO на версии 1.0.2
  • avatar dsg
  • 0
) спасибо, это определенная степень кретинизма, вызванная очень сильным недосыпом заставила меня выставить сброс вне класса и искренне удивляться почему не работает…
  • avatar dsg
  • 0
сделано как описано, в итоге:
Parse error: syntax error, unexpected T_PUBLIC in /var/www/.../data/www/мойсайт.ru/plugins/adminusers/PluginAdminusers.class.php on line 13


весь PluginAdminusers.class.php выглядит так:
<?php

if (!class_exists ('Plugin')) {
  die ('Kokobubble!');
}
public function __construct() {
        if (class_exists('MobileDetect') && MobileDetect::IsMobileTemplate()) {
            // удаляем переопределение шаблонов и классов экшенов
            unset($this->aInherits['template']);
            unset($this->aInherits['module']);
            unset($this->aInherits['mapper']);
        }
    }
	
class PluginAdminusers extends Plugin {

  public function Activate () {
    return true;
  }
	
  // ---

  public function Init () {}

  // ---
	
  protected $aInherits = array (
    'action' => array ('ActionLogin'),
    'entity' => array ('ModuleUser_EntityUser'),
    'module' => array ('ModuleUser')
  );
	
}

?>


13 строка — это
public function __construct() {


  • avatar dsg
  • 2
ort, Вы не могли бы дать более подробную инструкцию по отключению плагинов для мобильной версии, так сказать, для чуть более смертных, чем разработчики? Предложенный Вами вариант был опробован на плагине adminuser и ничего не вышло описано здесь, чуть выше.
  • avatar dsg
  • 0
хорошо, спасибо, но почему тогда в этой строке ошибку выдает?
  • avatar dsg
  • 2
редактировать компанию--> виджеты
  • avatar dsg
  • 0
— Что касается оповещения, то было бы логично отправлять сообщения админу и владельцу по внутренней почте, а владельцу выводить, например, за неделю до окончания срока блок, аналогичный тому, что выводится админу для продления, но будет показываться стоимость в зависимости от выбора и кнопка «продлить» будет вести на страницу оплаты, а после оплаты продлять автоматом.

— Что касается ситуации с окончанием подписки и отказом от продления, то хорошо бы иметь возможность автоматом скрывать компанию из всех списков после окончания подписки. Т.е. все ее топики остаются, но в списках ее не будет и профиля компании никто не увидит, кроме владельца и админа, а владелец сможет там продлить ее размещение по п.1
  • avatar dsg
  • 0
ой, прошу прощения, все корректно работает, я не под тем юзером смотрел)
  • avatar dsg
  • 0
Если передать компанию владельцу, введя его логин, как описано в п. 1, то владелец увидит блок с продлением подписки и сможет без проблем ее продлить, бесплатно.
Думаю, что так не должно быть)
  • avatar dsg
  • 0
в общем вопросы:

1. Как передать открытую админом компанию представителю компании? Если просто передать (как это можно сделать), то новый админ сможет продлять себе тариф сам. Если назначить представителя модератором, то сможет ли он управлять виджетами и всеми плюшками, предусмотренными платным тарифом? И если да, то получается нелогично, что в профиле компании админом значится админ сайта.

2. Предусмотрена ли какая-либо система оповещения при окончании срока подписки на тариф? Кто оповещается и каким образом?

3. Что происходит с компанией, если срок подписки вышел, а тариф не продлен?
  • avatar dsg
  • 0
значит не обновили БД