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

benix

Актив
  • Постов

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

  • Посещение

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

    1

Активность репутации

  1. Лайк
    benix отреагировална пост Heavenanvil в Пересчитываем всю статистику форума [restatic.php]   
    Всем привет. 
    Как вы знаете, на форуме нет возможности пересчитать все сообщения в темах и пересчитать количество тем во всех разделах.
    Иногда, при некоторых манипуляциях, эти счетчики сбиваются и вернуть их в актуальное состояние - довольно трудоёмкий процесс.
    Единственное, что можно сделать через Админцентр, это пересчитать количество сообщений пользователя (или всех пользователей) и пересчитать их репутацию.
    Пошарив немного по интернету, я решил написать свой собственный php-скрипт и как всегда поделиться им с вами бесплатно.
    На данный момент скрипт умеет (v0.1 - 17.11.2016):
    Пересчитывать количество сообщений в каждой теме; Пересчитывать количество тем в каждом разделе; Пересчитывать количество сообщений у каждого пользователя (то, что можно сделать через админцентр); Отображает общее количество одобренных сообщений на форуме; Отображает общее количество утвержденных тем на форуме. Пересчитывать репутацию он не умеет, я пока не могу найти способа этого сделать, всё что удаётся извлечь из базы, это текущую репутацию.
    Сообщения и темы, находящиеся в архиве он тоже не считает.
    Установка:
    Скачайте файл restatic.php из этого сообщения в корень вашего сайта, настройте (указав параметры подключения к БД) и запустите в адресной строке браузера по пути: http://ваш_сайт.ru/restatic.php
    Процесс выполнения скрипта может занимать от пары секунд, до пары минут, в зависимости от объёма данных в вашей базе.
    Если файл во вложении больше недоступен, можете создать в корне сайта пустой файл restatic.php и скопировать туда следующее содержимое:
    Если файл будет полезен, пишите. Возможно в будущем будет обновляться. Всем спасибо за внимание.
    Возможно вам также будут интересны другие мои темы:
     
    restatic.php
  2. Лайк
    benix получил реакцию от andros0789 в Фиксированный фон   
    Запросы на хуки нужно делать в соответствующих темах. Скидывать хук в какую то левую тему, чтобы его потом никто не нашел, я не буду.
  3. Лайк
    benix отреагировална пост Silence в Invision Power Board 3.4.6 Русифицированный выпуск / Nulled (IPBmafia.Ru)   
    фтп - перед корен ваш форум
    Вы можете использовать и этот инструмент(IP.Board 3.4.9 Tools 1.0.1):
     
    3xtools-v2.zip
  4. Лайк
    benix получил реакцию от sasha197 в Кнопка "Спасибо"   
    АЦ --> Системные настройки --> Пользователи --> Система репутации
    В пункте "Тип репутации" выбираете "Система лайков". 
  5. Лайк
    benix отреагировална пост povstance в Проблема с Публикации темы на форуме IPB   
    По мне так форум должен быть в светлом тоне
  6. Лайк
    benix отреагировална пост Silence в Тем за сутки   
    Спасибо .... да я тоже увидел ето .... :
    Хук для IPB 3+
    <?xml version="1.0" encoding="utf-8"?> <hookexport> <hookdata> <config> <hook_name>Average Posts Per Day</hook_name> <hook_desc/> <hook_author>Test</hook_author> <hook_email>test.com</hook_email> <hook_website>http://invisionlegacy.com</hook_website> <hook_update_check>http://test.com/hookCheck.php?hook=ppD</hook_update_check> <hook_requirements><![CDATA[a:3:{s:21:"required_applications";a:0:{}s:20:"hook_php_version_min";s:0:"";s:20:"hook_php_version_max";s:0:"";}]]></hook_requirements> <hook_version_human>1.0.0</hook_version_human> <hook_version_long>10000</hook_version_long> <hook_extra_data><![CDATA[a:4:{s:7:"display";a:3:{s:8:"settings";s:44:"Setting groups: -RAW33- Average Post Per Day";s:8:"language";s:60:"From members_public_profile: ppd_avg, ppd_per_day, ppd_posts";s:9:"templates";s:37:"From skin_profile: hook_avgpostperDay";}s:13:"settingGroups";a:1:{s:0:"";s:3:"ppD";}s:8:"language";a:1:{s:22:"members_public_profile";a:3:{s:0:"";s:7:"ppd_avg";i:1;s:11:"ppd_per_day";i:2;s:9:"ppd_posts";}}s:9:"templates";a:1:{s:12:"skin_profile";a:1:{i:0;s:18:"hook_avgpostperDay";}}}]]></hook_extra_data> <hook_key>ppD</hook_key> <hook_global_caches/> </config> </hookdata> <hookfiles> <file> <hook_file_real>hook_avgpostperDay.php</hook_file_real> <hook_type>templateHooks</hook_type> <hook_classname>hook_avgpostperDay</hook_classname> <hook_data><![CDATA[a:8:{s:12:"dataLocation";s:0:"";s:14:"libApplication";s:0:"";s:15:"classToOverload";s:0:"";s:9:"skinGroup";s:12:"skin_profile";s:12:"skinFunction";s:13:"profileModern";s:4:"type";s:2:"if";s:2:"id";s:15:"member_birthday";s:8:"position";s:10:"post.endif";}]]></hook_data> <hooks_source><![CDATA[<?php class hook_avgpostperDay { public $registry; public $settings; public $DB; public $memberData; public function __construct() { $this->registry = ipsRegistry::instance(); $this->DB = $this->registry->DB(); $this->settings = $this->registry->settings(); $this->request = $this->registry->request(); $this->lang = $this->registry->getClass('class_localization'); $this->member = $this->registry->member(); $this->memberData =& $this->registry->member()->fetchMemberData(); $this->cache = $this->registry->cache(); $this->caches =& $this->registry->cache()->fetchCaches(); } public function getOutput() { /* Not Enable? */ if(!$this->settings['ppD_enable']) { return false; } /* No Groups Selected */ if(!in_array( $this->memberData['member_group_id'], explode(',', $this->settings['ppD_g']) ) ) { return false; } $id = intval($this->request['id']); if(!$id) { $this->registry->output->showError( 'error_no_user' ); } $member = IPSMember::load( $id, 'extendedProfile,groups' ); $board_posts = $this->caches['stats']['total_topics'] + $this->caches['stats']['total_replies']; $member['_posts_day'] = 0; $member['_total_pct'] = 0; //----------------------------------------- // Total posts //----------------------------------------- if ( $member['posts'] and $board_posts ) { $member['_posts_day'] = round( $member['posts'] / (((time() - $member['joined']) / 86400)), 2); # Fix the issue when there is less than one day $member['_posts_day'] = ( $member['_posts_day'] > $member['posts'] ) ? $member['posts'] : $member['_posts_day']; $member['_total_pct'] = sprintf( '%.2f', ( $member['posts'] / $board_posts * 100 ) ); } return $this->registry->output->getTemplate('profile')->hook_avgpostperDay($member); } }]]></hooks_source> </file> </hookfiles> <hookextras_settings> <setting> <conf_is_title>1</conf_is_title> <conf_title_title>-RAW33- Average Posts Per Day</conf_title_title> <conf_title_desc>Settings for this hook.</conf_title_desc> <conf_title_noshow>0</conf_title_noshow> <conf_title_keyword>ppD</conf_title_keyword> <conf_title_app>core</conf_title_app> <conf_title_tab>Hooks</conf_title_tab> </setting> <setting> <conf_id>314</conf_id> <conf_title>On/Off</conf_title> <conf_description>Is this hook enable ?</conf_description> <conf_group>37</conf_group> <conf_type>yes_no</conf_type> <conf_key>ppD_enable</conf_key> <conf_value/> <conf_default>0</conf_default> <conf_extra/> <conf_evalphp/> <conf_protected>1</conf_protected> <conf_position>1</conf_position> <conf_start_group/> <conf_add_cache>1</conf_add_cache> <conf_keywords/> <conf_title_keyword>ppD</conf_title_keyword> <conf_is_title>0</conf_is_title> </setting> <setting> <conf_id>315</conf_id> <conf_title>Group Permissions</conf_title> <conf_description>Select groups that can view average posts per day on profiles.</conf_description> <conf_group>37</conf_group> <conf_type>multi</conf_type> <conf_key>ppD_g</conf_key> <conf_value/> <conf_default/> <conf_extra>#show_groups#</conf_extra> <conf_evalphp><![CDATA[$key = 'ppD_g'; if ( $save == 1) { if ( is_array($_POST[ $key ]) ) { $_POST[ $key ] = implode(",",$_POST[ $key ]); } else { $_POST[ $key ] = ""; } } if ( $show == 1 ) { $key .= '[]'; }]]></conf_evalphp> <conf_protected>1</conf_protected> <conf_position>2</conf_position> <conf_start_group/> <conf_add_cache>1</conf_add_cache> <conf_keywords/> <conf_title_keyword>ppD</conf_title_keyword> <conf_is_title>0</conf_is_title> </setting> </hookextras_settings> <hookextras_language> <language> <word_app>members</word_app> <word_pack>public_profile</word_pack> <word_key>ppd_posts</word_key> <word_default>posts</word_default> </language> <language> <word_app>members</word_app> <word_pack>public_profile</word_pack> <word_key>ppd_per_day</word_key> <word_default>per day</word_default> </language> <language> <word_app>members</word_app> <word_pack>public_profile</word_pack> <word_key>ppd_avg</word_key> <word_default>Average Posts</word_default> </language> </hookextras_language> <hookextras_modules/> <hookextras_help/> <hookextras_templates> <templates> <template_group>skin_profile</template_group> <template_content><![CDATA[<li class='clear clearfix'> <span class='row_title'>{$this->lang->words['ppd_avg']}</span> {parse format_number="$member['posts']"} {$this->lang->words['ppd_posts']} ({$member['_posts_day']} {$this->lang->words['ppd_per_day']}) </li>]]></template_content> <template_name>hook_avgpostperDay</template_name> <template_data>$member=array()</template_data> <template_updated>1339788308</template_updated> <template_removable>1</template_removable> <template_added_to>1</template_added_to> <template_user_added>1</template_user_added> <template_user_edited>1</template_user_edited> <template_master_key>root</template_master_key> </templates> </hookextras_templates> <hookextras_css/> <hookextras_replacements/> <hookextras_tasks/> <hookextras_database_create/> <hookextras_database_alter/> <hookextras_database_update/> <hookextras_database_insert/> </hookexport>  
  7. Лайк
    benix отреагировална пост ram108 в Покупка/Получение лицензии на ipb   
    Если хотите 3-версию форума с лицензией, просто купите лицензию на ваш домен и поставьте туда нулл. Вопросов не будет.
    Раньше раз в три месяца можно было менять неограниченное количество раз. Недавно было обсуждение и хотели сделать раз в полгода. Ограничений по количеству смен нет.
    Покупать лицензию на стороне нужно только с почтой, которая к ней привязана. Также не забывайте, что аккаунт привязан к ФИО, которые можно сменить только через службу поддержки с предоставлением документов. Покупка лицензии с рук может обернуться ее баном.
  8. Лайк
    benix отреагировална пост LvsF в Media System 1.2.4.6   
    Решил установить
     
    1. Загружаем файлы из папки upload в корень форума.
     
    2. Устанавливаем хук mt_ccs_media.xml, который лежит в папке hook.
     
    3. Переходим в приложение IP.Content в секцию Blocks. Спускаемся вниз и импортируем все блоки (8 штук), что лежат в папке blocks.
     
    Теперь будем работать с шаблонами (Templates)
    В IP.Content они делятся на:
    Block Templates Page Templates Database Templates Article Templates 4. Переходим на страницу шаблонов блоков (Block Templates) и импортируем все шаблоны (тоже 8 штук), что лежат в папке  block-templates.

    5. Переходим на страницу шаблонов баз данных (Database Templates) и импортируем шаблон (1 штука), что лежит в папке database-templates.

    6. Переходим на страницу шаблонов страниц (Page Templates) и импортируем шаблон (1 штука), что лежит в папке page-template.
     
    7. Создаем новую базу данных и настраиваем ее.
    Переходим на страницу баз (Databases) и жмем Add Database.
    Тут важно только то, что я обвел на скриншоте.

    Остальное заполняем/устанавливаем на свое усмотрение.
    Создали базу. Теперь переходим к созданию полей (Fields).
    Данные берем из руководства по установке - Documentation/files/step7.install.htm
     
    8.1. Создаем категории в новой базе данных.
    8.2. Создаем новую страницу. Скриншоты выше в теме.
     
    9. Переопределяем для каждого нового блока базу данных. Кликаем по блоку, переходим во вкладку Content Type и выбираем нашу новую базу.
     
    10. Настраиваем. Для этого переходим в настройки установленного хука.
     

     
     
    Они должны отображаться на новой странице.
     
     
    А добавить ссылку кто мешает?
     
     
    Выше написал. Вкладку можно в самом приложении создать. Там есть возможность создавать/редактировать меню.
       
     
    Найдите блок с проблемным ID (22). На 5-ом шаге покликайте шаблоны и нажмите "Сохранить".
  9. Лайк
    benix отреагировална пост Silence в Magnum Theme   
    https://invisionpower.com/files/file/8328-a-different-article-styles-by-pages-ipcontent/
    Pages(IP.Content) Templates.zip
  10. Лайк
    benix отреагировална пост Respected в Global Forum Message 1.2.0   
    Выбрать чёрный список и внести:
    */forum/* */topic/* */members/* */user/* */index.php?*
  11. Лайк
    benix отреагировална пост NetTown в Как сделать обьявление как на ipbmafia   
    Переходим в ACP -> Внешний вид -> Ваш шаблон > forums > front > index
    Находим
    <ips:template parameters="" /> После этого, вставляем данный код
    <div class="ipsMessage ipsMessage_general">General message</div> <div class="ipsMessage ipsMessage_info">Info message</div> <div class="ipsMessage ipsMessage_success">Success message</div> <div class="ipsMessage ipsMessage_warning">Warning message</div> <div class="ipsMessage ipsMessage_error">Error message</div>  
    Далее просто оставляем нужный Вам и изменяем текст сообщения.
     
     
    Версия 4.1.5 такого кода нет в index 
     
    <ips:template parameters="" /> Можно так 
     
    Шаблон forums > index > index:
    Код после заголовка h2:
    {{if $category->_id == "ID_категории"}} <span class='ipsMessage ipsMessage_warning' style='background: #CEE1EA; color: #615E5A; display: block; margin-top: 10px; margin: 10px 0px; border-bottom: 1px solid #C4D7E0;'>ТЕКСТ</span> {{endif}}  
    У кого нет кода 
    <ips:template parameters="" /> в файле topic/topic ищем код 
     
    {{if $topic->commentForm() || $topic->locked() || \IPS\Member::loggedIn()->restrict_post || \IPS\Member::loggedIn()->members_bitoptions['unacknowledged_warnings']}}
     
    после 
     
    вставляем message
  12. Лайк
    benix отреагировална пост andros0789 в Меню как на Мафии   
    Можете сделать проще, к каждому меню добавить отдельно, от вас требуется правой кнопкой мыши посмотреть какой айди присвоен каждому меню и прописать для каждой вкладки свой стиль вот пример:
    a[data-navitem-id="10"]:before { content: "\f019"; font-family: FontAwesome; } Вот на скрине видно id 32 и 10)) Вот создаете для каждой вкладки свой стиль и радуетесь) а картинки прописываете у казывал выше, с сайта фонтавесом) Удачи

  13. Лайк
    benix отреагировална пост andros0789 в Меню как на мафии   
    Создаете меню произвольное.

     
    Далее правой кнопкой мыши на созданном меню на главной странице сайта и смотрите его айди.

     
    Далее добавляете стиль в ваш custom.css в стиле шаблона

     
     
  14. Лайк
    benix отреагировална пост WoLFr4ge в Как сделать обьявление как на ipbmafia   
    Вставляем код в описание категории.

    После, выводим отображение описания категорий через шаблон на главную и получаем:
     

  15. Лайк
    benix отреагировална пост Sipsb в Куда выслать бриф на обновление сайта?   
    София, Уххх) Зря Вы так думаете!
    Можно попробовать стандартными средствами уменьшать размеры.
     
  16. Лайк
    benix отреагировална пост Respected в Хочу купить IPS4. Возникли вопросы   
    Бесплатно можно раз в пол года, чаще - 15$
    Лицензия вечная, платить только за обновления и тех. поддержку.
  17. Лайк
    benix отреагировална пост IAF в Хочу купить IPS4. Возникли вопросы   
    Домен
    Да
    Требуется продление каждые 6 месяцев
  18. Лайк
    benix отреагировална пост rustav в (SOS34) Recent Topics 3.2.2   
    Может кому полезно будет, решил объединить блок "последние темы" и кнопку "последние публикации"  т.к. в моем стиле изначально не было ссылки/кнопки "последние публикации"
     
    АЦ-Внешний вид-ваш стиль-шаблоны-список форумов-hooksos_topicosrecentes_tema1
    ищем:
    <h3 class='maintitle'> <span class="right"><ul class="ipsFilterbar ipsList_inline ipsType_small"> <if test="$this->memberData['member_group_id'] == 4"><li><a href="{parse url="app=core&amp;module=usercp&amp;tab=core&amp;area=recenttopics" base="public"}" rel="nofollow"><img src='__ipbmafia.ru/public/style_images/mafiaboard/cog.png' title='{$this->lang->words['recenttopics_settings']}' alt='+' /></a></li></if> <a class='toggle right' href='#' title="{$this->lang->words['toggle_cat']}"> {$this->lang->words['toggle_cat']}</a></ul> </span> {$this->settings['topicosrecentes_title']} </h3> в конце после {$this->settings['topicosrecentes_title']} вставляем:
    <li id='nav_explore' class='left' style='list-style-type: none;'> <a href='{parse url="app=core&amp;module=search&amp;do=viewNewContent&amp;search_app=<if test="viewnewcontentapp:|:$this->registry->getCurrentApplication() != 'core' AND IPSLib::appIsSearchable( $this->registry->getCurrentApplication() )">{$this->registry->getCurrentApplication()}<else />forums</if>" base="public"}' title='{$this->lang->words['view_new_posts']}'>Последние обсуждения</a> </li> в настройках Recent Topics убираем название "последние обсуждения" (или какое у вас стоит
     

     
    результат:
     

  19. Лайк
    benix отреагировална пост ram108 в Рекомендации по настройке сервера для IPS 4   
    Дорогие друзья, все вы наверное заметили, что четверка потребляет на порядок больше ресурсов сервера, чем третья версия. Здесь я напишу некоторые рекомендации, которые помогут оптимизировать ваши настройки.
    Рекомендуемые ресурсы для четверки. VPS/VDS с 1GB памятью как минимум. Лучше 2GB + 2 CPU core. Я использую последнее, но при грамотной настройке, форум не будет потреблять более 1GB памяти. 
    Отказаться от Apache и установить nginx+php-fpm. Этим шагом вы сразу значительно увеличите скорость исполнения вашего форума и уменьшите количество потребляемых ресурсов, т.к. отказываетесь от ресурсоемкого сервера Apache. Вместо него используется быстрый сервер nginx.
    Конфигурация php-fpm для 1GB памяти:
    pm = dynamic pm.start_servers = 1 pm.min_spare_servers = 1 pm.max_spare_servers = 3 pm.max_children = 8 pm.process_idle_timeout = 10s pm.max_requests = 300 Конфигурация php-fpm для 2GB памяти.
    pm = dynamic pm.start_servers = 2 pm.min_spare_servers = 2 pm.max_spare_servers = 6 pm.max_children = 10 pm.process_idle_timeout = 10s pm.max_requests = 500 Приведенные выше настройки php-процессора приблизительные. В каждом конкретном случае необходимо их настраивать более тонко.
  20. Лайк
    benix отреагировална пост Respected в (SOS33) Similar Topics on Post Screen 2.1.1   
    Название: (SOS33) Similar Topics on Post Screen 2.1.1
    Добавил: Respected
    Добавлен: 12 Ноя 2012
    Категория: Хуки, Модификации для IP.Board
    Название по-русски : Похожие темы для IP.Board
    Версия IP.Board: 3.3.x

    (SOS33) Similar Topics on Post Screen 2.1.1 - хук, отображающий названия уже существующих похожих тем при создании пользователем новой темы.


  21. Лайк
    benix отреагировална пост Sipsb в Плашка для ац   
    Закиньте файлы из архива в папку /admin, после этого теоретически должна, появится форма дополнительной авторизации.  В .htaccess
    Заените на свой путь до папки admin /Volumes/Shara/test/
    AuthUserFile "СВОЙ ПУТЬ/admin/.htpasswd"  
    Архив.zip
  22. Лайк
    benix отреагировална пост ram108 в Покупка/Получение лицензии на ipb   
    Если форум популярный, лучше лицензию иметь, чтобы избежать юридических проблем. Лицензия только на форум стоит не дорого, все остальные приложения можно не покупать. По крайней мере так раньше было, ходят слухи, что это могло недавно измениться.
  23. Лайк
    benix отреагировална пост Enliv в боты регистрируются   
    капча "я не робот" у меня очень хорошо работает - спама нет.
  24. Лайк
    benix отреагировална пост Respected в globalTemplate - убрать код VigLink - после <!--DEBUG_STATS-->   
    Зарубежный способ монетизации форума, для нас он бесполезен, можно смело удалять  
  25. Лайк
    benix отреагировална пост WOLF в Shoutbox 1.4.1 Rus   
    если вам нравится IPB 3.Х то поставьте версию 3.4.9
×
×
  • Создать...