Перейти к содержанию

siv1987

Пользователи
  • Постов

    278
  • Зарегистрирован

  • Посещение

  • Победитель дней

    27

Весь контент siv1987

  1. Код, как сказали выше, надо разделять от представления - шаблона. Пишите свою логику в методах класса, там подсветка и проверка синтаксиса работает, а шаблоны используйте только для оформления. Что мешает написать в том же методе hookData логику работы а потом скомпилировать шаблон на основе этих данных? Зачем городить костыли с инклудом левого файла, а потом еще придумывать как этот файл записать на диске при установке. Возьмите пару тройку плагинов которые используют нужный вам принцип и посмотрите какм там это реализовано, не нужно изобретать свои велосипеды, особенно когда знания языка не особо это позволяет. Php в шаблоне по большему счету делать нечего. В шаблонизаторе используются только простые выражения, там подсветка не нужна, вся логика отдельно.
  2. Для гостей кешируется шаблон на небольшой срок. Пару секунд абсолютно не критично и, если не ошибаюсь это время можно настроить. Инклуды это дичь, и не знаю чем это спасет ситуацю, но если так сильно хочеться можете попробовать всунуть ваш код в файле хука, отдельно от класса.
  3. 240млн просмотров? батенька да вы статистику накручиваете.
  4. Правильно так и должно быть, незачем ломать смылки. Если не ошибаюсь можно запретить домены в ссылках, и это будет правильнее.
  5. Прямые руки нынче на вес золота.
  6. Ставьте больше. Если есть профайлер можно посмотреть время выполнения участков кода. Если не хочется парится то да, чистый форум спасает.
  7. Не запрещено. Почему нет смысла увеличить время выполнения?
  8. За небольшую мотивацию могут состряпать скрипт который распарсит csv файл экспортированный из excel и создаст по нему темы на форуме с указанными настройками. Больше увы я не готов делать.
  9. Да не в коде, а в переменной. Где вы хотите получить, там и смотрите. $purchase->expire Если в том же месте где находится код для вставки в другую бд, то скорее всего так $purchase = $this->get_purchase(); $purchase->expire;
  10. Не цитируйте пожалуйста длинные сообщения или сообщения с кодом, читать такие партянки очень не удобно. В $purchase что? Смотрели?
  11. В таблицу? \IPS\Db::i('remote_database_name')->insert('your_table', array( 'license_key' => $this->key, 'field2' => 'value2', 'field3' => 'value2', ));
  12. Нет. if ( !$this->key ) { do { $this->key = $this->generate(); } while ( \count( \IPS\Db::i()->select( '*', 'nexus_licensekeys', array( 'lkey_key=?', $this->key ) ) ) ); /* create external connect */ \IPS\Db::i( 'remote_database_name', array( 'sql_host' => 'host', 'sql_user' => 'user', 'sql_pass' => 'pass', 'sql_database' => 'database', ) ); \IPS\Db::i('remote_database_name')->insert('your_table', array('license_key' => $this->key)); }
  13. SHOW TABLES FROM your_databases Пишите сами не копируйте запросы, чтото форум ломает при копирование текст SHOW DATABASES
  14. Выполнить запрос SHOW DATABASES в админцентр форума > Support > SQL Toolbox Или посмотреть в phpmyadmin На какой хрен засорять тему, он у меня и так есть. Вставьте после while ( \count( \IPS\Db::i()->select( '*', 'nexus_licensekeys', array( 'lkey_key=?', $this->key ) ) ) );
  15. mysql пользователь который использует форум имеет доступ к этой базе данных? Если да, то запрос можно выполнить от текущего подключения. Если нет то http://ipbskins.ru/forum/topic15779.html#entry105651 /* create external connect */ \IPS\Db::i( 'remote_database_name', array( 'sql_host' => 'host', 'sql_user' => 'user', 'sql_pass' => 'pass', 'sql_database' => 'database', ) ); \IPS\Db::i('remote_database_name')->insert('you_table', array('license_key' => $this->key));
  16. А чем таблица форума не устраивает? Можно создать mysql триггер таблицы при inserte чтобы данные копировались в другую таблицы. wanted, достаточно будет в конце условия добавить \IPS\Db::i()->insert( 'your_table', array( 'license_key' => $this->key ) ); Только насколько я понял ТС нужно вставить еще и в другую бд. Тут либо создать другое подключение, либо если у mysql пользователя есть доступ к этой бд, использовать нативный метод \IPS\Db::i()->query с указанием таблицы другой базы данных INSERT INTO other_db.your_table
  17. Обновить файл /ips_kernel/classEmail.php от версии 3.4.9 http://ipbskins.ru/forum/topic14872.html#entry99413 Пофиксить команду HELO http://ipbskins.ru/forum/topic14312.html#entry96013
  18. Это оказывается setter, он отрабатывает в обоих случаях. Только если вызвать его напрямую, поле не устанавливается в "changed to update". Вообще что касается обновления в БД, методы set_ лучше не использовать.
  19. Хм, используйте первый вариант. Только методом set_member_group_id при сохранение значение в бд не обновляется.
  20. $member = \IPS\Member::loggedIn(); if( $member->member_id ) { $member->member_group_id = %new_group_id; $member->save(); } $member = \IPS\Member::loggedIn(); if( $member->member_id ) { $member->set_member_group_id( %new_group_id ); $member->save(); }
  21. Так и перестраивается кеш через Саппорт. А почему у вас кеш шаблонов в uploads?.. Шаблон forumTable в версии 4.4 сильно ничем не отличается. Возможно дело не в нем самом, а в входящих данных. Нужно смотреть.
  22. Форум использует запрос к бд для дополнительных полей. Отдельных методов нету. $profileFields = ['member_id' => %member_id, 'field_%id' => 'new_value']; \IPS\Db::i()->replace( 'core_pfields_content', $profileFields ); При большем желании можно написать плагин который добавит новый метод к \IPS\Member для обновления дополнительных полей.
  23. Какбы не тоже самое. Вам нужно или перестроить кеш шаблонов или обновить до актуальной версии.
  24. Ничего странного как раз нету. В новой версии - новые файлы, а иногда и новая структура. При откате перезаливом сверху перезаписываются только пересекающиеся файлы, а новые, не совместимые со старой версии могут остаться вызывая проблемы.
  25. Спасибо кэп, ты как всегда вовремя нас выручаешь.
×
×
  • Создать...