Перейти к контенту

[2.3.x]Глобальные объявления v2


Рекомендуемые сообщения

Я сейчас его поставил, но пришлось править:

 

gm_install/install_content/ipb_21x/install/tech.php

 

						$set['conf_help_key']	= '';

на

						$set['conf_key']	= '';

 

+ conf_key в таблице ibf_conf_settings в записях с настройками к globalmess после установки были пустыми -> пришлось ручками вставлять.

 

В остальном все вроде гут)

Изменено пользователем natan
Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 1,2k
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

ОК, значит они изменили таблицы с настройками. Спасибо!

Сегодня постараюсь потестировать на 2.3.1 и посмотреть, нет ли чего еще.

Ссылка на комментарий
Поделиться на других сайтах

DINI, прочитал темку и поиском воспользовался но ответа не нашел, и проблем тоже небыло такого характера, поэтому могу предположить что проблемма в моих кривых руках.

Ставил неоднократно Ваш мод на 2.1.7 все работало на ура.

Ставлю на 2.2.2 все работает только с несколькими проблеммами, а точнее. Не работают некоторые теги: например размер шрифта (выдает размер всегда одного размера)

Ссылка на комментарий
Поделиться на других сайтах

Не работают некоторые теги
Я сейчас тестирую мод на 2.3.х и заодно на всех предыдущих версиях второй серии IPB. Так что я проверю, есть ли указанная ошибка на 2.2.х, и если есть, то уже сегодня ее исправлю.
Ссылка на комментарий
Поделиться на других сайтах

ВНИМАНИЕ: Мод обновлен до версии 2.6.0

 

Это последнее крупное обновление второй версии мода. Обновление вынужденное, т.к. новая версия мода пока задерживается.

 

В этой версии:

  • Добавлена поддержка форумов IPB версий 2.3.х;
  • Добавлена проверка скина текущего раздела форума для изменения стиля объявления при изменении стиля раздела (спасибо Klimon);
  • Исправлена функция обработки BB-тэгов;
  • Немного изменена схема обработки XML файлов, благодаря чему должен исчезнуть баг с неверной кодировкой символов в ACP (спасибо Nomada);
  • В зависимости от кодировки форума используются различные файлы мода;
  • Изменена схема вызова парсера объявлений, поэтому редактирование файла post_parser.php, являвшееся наиболее сложным шагом при установке мода, стало ненужным (спасибо всем тем, благодаря кому вопросы про "вхождение" и post_parser.php находятся в лидерах в ТОП 5);
  • Немного облегчен код системы установки и код файлов самого мода.

Для всех пользователей:

Все необходимые инструкции находятся в файле Readme.txt в папке с модом.

Прочитайте его внимательно, т.к. теперь файлы мода существуют в двух кодировках!

 

Для пользователей IPB 2.3.x:

Официальная английская версия форума создает таблицы в БД с кодировкой utf8_general_ci (по крайней мере, у меня так). Однако кодировка HTML страниц по умолчанию осталась iso-8859-1.

Это означает две вещи:

1. Для установки мода нужно использовать файлы из папки UTF-8.

2. Надо зайти в ACP -> TOOLS & SETTINGS -> System Settings -> General Configuration и поменять значение настройки "Document character set" на utf-8.

 

Рекомендуемые цвета таблицы стандартных объявлений для скина IP.Board Pro:

Шапка

Фон: #303B4A

Обводка: #C4C4C4

Шрифт: #FFFFFF

 

Объявления

Фон: #CED7E5

Обводка: #C4C4C4

Шрифт: #464C55

Ссылки: #6E737A

 

Внимание: В связи с обновлением я сегодня переписал очень много кода, поэтому возможно появление глюков. Как при установке или обновлении мода, так и при его использовании.

Однако прежде, чем сломя голову открывать эту тему и писать сообщение о найденном глюке, очень большая просьба убедиться в том, что глюк вызван не вашими действиями и не вашей невнимательностью!

 

В этой версии я постарался исправить два основных недостатка: неверную кодировку (для этого даже, как я уже говорил, сделал разные версии файлов) и проблемы с редактированием post_parser.php.

При этом глюки с кодировкой все еще возможны (причем на 95% из-за того, что будет неверно выбрана кодировка файлов мода), а вот глюки с post_parser.php уже нет, т.к. он вообще больше не используется. Надеюсь, что многим от этого теперь жить станет проще :D

Изменено пользователем DINI
Ссылка на комментарий
Поделиться на других сайтах

Привет. Проблема следующая - у меня раньше стоял форум версии 2.1.7 с твоим модом, все отлично работало. Потом я обновил движок до версии 2.2.2. Мод конечно же пропал. Затем я скачал отсюда последнюю версию инсталлятора, зашел - он мне предложил обновить старую версию мода. Обновил, потом вставил <%MESSAGE%> в скине, сделал ребилд и ничего не произошло, в скине просто торчит сообщение <%MESSAGE%> и все.

 

Попробовал удалить его, чтобы заново поставить - инсталлятор якобы удаляет, а потом заходишь заново - и он предлагает его удалить снова, будто ничего и не происходило. Жму снова - и опять все повторяется. Проверял после удаления админку - компонент никуда не девался, и все старые объявления сохраняются.

 

Пробовал способ, предложенный в FAQ (где режим отладки включать надо) - не помогло, по-прежнему торчит текст с меседжем и все. В старой версии мода я помню надо было редактировать разные файлы, чтобы мод заработал, а сейчас-то уже все автоматически, и я даже не знаю что там и где нужно редактить. Помоги пожалуйста. Мод в админке включен, объявления есть, проверял не раз.

Ссылка на комментарий
Поделиться на других сайтах

Спасибо за хороший мод. Поставилось все с первого раза.

Кстати, ставил на 2.3.1

Начал крутить под 2.1.7 и не удачно встал.

 

ipsclass->input['act'] != 'idx' and $this->ipsclass->vars['globalmess_main_only'] ) { return ""; } $time_now = time(); ( $this->ipsclass->member['id'] and $this->ipsclass->member['skin'] ) ? $where = "set_skin_set_id = {$this->ipsclass->member['skin']}" : $where = "set_default = 1"; if( $this->ipsclass->input['f'] and $this->ipsclass->forums->forum_by_id[ $this->ipsclass->input['f'] ]['skin_id'] ) { $where = "set_skin_set_id = {$this->ipsclass->forums->forum_by_id[ $this->ipsclass->input['f'] ]['skin_id']}"; } $r = $this->ipsclass->DB->simple_exec_query( array( 'select' => 'globalmess_css', 'from' => 'skin_sets', 'where' => $where ) ); if( $r['globalmess_css'] ); { $colors = unserialize(stripslashes($r['globalmess_css'])); } if( !is_array( $colors ) ) { $colors = $this->make_colors(); } $wwheader = explode( ",", $colors['wwheader'] ); $wwfooter = explode( ",", $colors['wwfooter'] ); $nwheader = explode( ",", $colors['nwheader'] ); $nwfooter = explode( ",", $colors['nwfooter'] ); if( $this->ipsclass->vars['globalmess_state'] == 0 ) { return ""; } $this->ipsclass->DB->simple_construct( array( 'select' => '*', 'from' => 'global_message' ) ); $this->ipsclass->DB->simple_exec(); while( $r = $this->ipsclass->DB->fetch_row() ) { $groups = explode( ",", $r['groups'] ); if( in_array( $this->ipsclass->member['mgroup'], $groups ) and ( !$r['time_from'] or $r['time_from'] < $time_now ) and ( !$r['time_to'] or $r['time_to'] > $time_now ) ) { if($r['type'] == 'normal') { $nrm[] = array( 'text' => $r['message'], 'id' => $r['id'], 'last_updated' => $r['last_updated'], 'alt_state' => $r['alt_state'], 'alt_time' => $r['alt_time'] ); } if($r['type'] == 'important' ) { $imp[] = array( 'text' => $r['message'], 'alt_state' => $r['alt_state'], 'alt_time' => $r['alt_time'] ); } } } if( is_array( $imp ) ) { foreach( $imp as $mess ) { if( !$mess['alt_state'] ) { $show = 1; } else { $date = getdate(); if( $mess['alt_state'] == 'week' ) { $show = ($date['wday'] == $mess['alt_time']) ? 1 : 0; } if( $mess['alt_state'] == 'month' ) { $show = ($date['mday'] == $mess['alt_time']) ? 1 : 0; } if( $mess['alt_state'] == 'year' ) { $show = ($date['mon'] == $mess['alt_time']) ? 1 : 0; } } if( $show ) { $text = str_replace( '{text}', $mess['text'], $this->ipsclass->vars['globalmess_i_message'] ); $text = $this->do_parse( $text ); $impmess_html .= "

$text

"; } } } if( $impmess_html ) { if( $wwheader[3] != 'nofile' ) { $bgwwimg = "background-image: url( {$this->ipsclass->vars['ipb_img_url']}/style_images/<#IMG_DIR#>/{$wwheader[3]} );"; } $html .= ""; $html .= "

{$this->ipsclass->vars['globalmess_i_name']}

"; $html .= $impmess_html; $html .= "

"; } else { $html .= ""; } if( is_array( $nrm ) ) { foreach( $nrm as $mess ) { if( !$mess['alt_state'] ) { $show = 1; } else { $date = getdate(); if( $mess['alt_state'] == 'week' ) { $show = ($date['wday'] == $mess['alt_time']) ? 1 : 0; } if( $mess['alt_state'] == 'month' ) { $show = ($date['mday'] == $mess['alt_time']) ? 1 : 0; } if( $mess['alt_state'] == 'year' ) { $show = ($date['mon'] == $mess['alt_time']) ? 1 : 0; } } if( $show ) { $text = str_replace( '{text}', $mess['text'], $this->ipsclass->vars['globalmess_n_message'] ); $text = $this->do_parse( $text ); $nrmmess_html .= "

$text

"; } } } if( $nrmmess_html ) { if( $nwheader[3] != 'nofile' ) { $bgnwimg = "background-image: url( {$this->ipsclass->vars['ipb_img_url']}/style_images/<#IMG_DIR#>/{$nwheader[3]} );"; } $html .= "\n\n\n"; $collapse = $this->ipsclass->vars['globalmess_collapse']; if( $collapse ) { $html .= "\n"; $cookie = $this->ipsclass->my_getcookie('globalmesscollapse'); $upd_time = $this->ipsclass->my_getcookie('globalmessupdtime'); $upd_mess = $this->ipsclass->my_getcookie('globalmessupdmess'); $mess_list = explode( ",", $upd_mess ); foreach( $nrm as $mess ) { if( $mess['last_updated'] and $mess['last_updated'] > $upd_time ) { $new_mess = 1; } if( !in_array( $mess['id'], $mess_list ) ) { $new_mess = 1; } $mess_id[] = $mess['id']; } $messages = implode( ',', $mess_id ); if( !$cookie or $cookie == 10 ) { $closed_style = "display:none"; $opened_style = "display:show"; $update_cookie = 1; } else if ( $cookie == 11 and !$new_mess ) { $closed_style = "display:show"; $opened_style = "display:none"; $update_cookie = 1; } else if ( $cookie == 11 and $new_mess ) { if( $this->ipsclass->vars['globalmess_do_collapse'] == 'open' ) { $closed_style = "display:none"; $opened_style = "display:show"; $update_cookie = 1; } else { $closed_style = "display:show"; $opened_style = "display:none"; $mess_added = " (Объявления обновлены)"; $update_cookie = 0; } } if( $update_cookie ) { $this->ipsclass->my_setcookie( 'globalmessupdmess', $messages, 1 ); $this->ipsclass->my_setcookie( 'globalmessupdtime', $time_now, 1 ); } $html .= "

 

{$this->ipsclass->vars['globalmess_n_name']}{$mess_added}

\n\n"; $html .= "

 

{$this->ipsclass->vars['globalmess_n_name']}

\n"; } else { $html .= $no_mess ? "

\n" : ""; $html .= "

{$this->ipsclass->vars['globalmess_n_name']}

\n"; } $html .= $nrmmess_html; $html .= "

\n"; } else { $html .= ""; } return $html; } function do_parse( $txt ) { if( !is_array( $this->engine->ipsclass->cache['bbcode'] ) ) { $get[] = "bbcode"; } if( !is_array( $this->engine->ipsclass->cache['emoticons'] ) ) { $get[] = "emoticons"; } if( is_array( $get ) ) { $this->get_cached_items( &$get ); } require_once ROOT_PATH."sources/classes/bbcode/class_bbcode_core.php"; require_once ROOT_PATH."sources/classes/bbcode/class_bbcode.php"; $parse = new class_bbcode(); $parse->ipsclass =& $this->ipsclass; $parse->parse_bbcode = 1; $parse->parse_smilies = 1; $txt = $parse->pre_db_parse( $txt ); $txt = $parse->post_db_parse_bbcode($txt); return $txt; } function get_cached_items( $get ) { $this->ipsclass->DB->simple_construct( array( 'select' => 'cs_key, cs_value', 'from' => 'cache_store', 'where' => "cs_key IN('".implode( "','", $get )."')" ) ); $this->ipsclass->DB->simple_exec(); while( $item = $this->ipsclass->DB->fetch_row() ) { $this->ipsclass->cache[ $item['cs_key'] ] = unserialize( stripslashes( $item['cs_value'] ) ); } } function make_colors() { $colors = addslashes(serialize(array( 'wwheader' => "#992A2A,#E3C0C0,#992A2A,nofile", 'wwfooter' => "#992A2A,#F2DDDD,#992A2A,#7D1F1F", 'nwheader' => "#3A4F6C,#D0DDEA,#C2CFDF,nofile", 'nwfooter' => "#3A4F6C,#F0F5FA,#C2CFDF,#223959" ) ) ); $this->ipsclass->DB->do_update( 'skin_sets', array( 'globalmess_css' => $colors ), "set_skin_set_id = {$this->ipsclass->member['skin']}" ); return $colors; } function clean_expiried() { $time_now = time(); $this->ipsclass->DB->simple_delete( 'global_message', 'time_to < '.$time_now.' AND time_to != 0' ); $this->ipsclass->DB->simple_exec(); } } ?>

Fatal error: Class 'globalmess' not found in C:\wamp\www\work\upload\index.php on line 121

 

 

Выдает вот эту срань.

в 121 стр. вот этот код

 

require_once ROOT_PATH. "sources/components_public/globalmess.php";

 

$ipsclass->globalmess = new globalmess;

$ipsclass->globalmess->ipsclass =& $ipsclass;

 

Если все закоментировать, то мода не видно в действии.

Ссылка на комментарий
Поделиться на других сайтах

Затем я скачал отсюда последнюю версию инсталлятора
Зачем надо было скачивать последнюю версию, если на новом форуме надо было вначале просто восстановить предыдущую?

 

Помоги пожалуйста.
Теперь надо вручную удалять мод. Для этого в БД (например, через phpMyAdmin) выполни запросы:

DROP TABLE ibf_global_message;
DELETE FROM ibf_conf_settings_titles WHERE conf_title_keyword = 'globalmess';
DELETE FROM ibf_conf_settings WHERE conf_key LIKE 'globalmess%';
ALTER TABLE ibf_skin_sets DROP globalmess_css;

Если префикс у таблиц не ibf_, то в запросах его, соответственно, надо поменять на нужный. При выполнении запросов все имеющиеся объявления также будут удалены.

Затем можно будет с нуля установить последнюю версию мода.

 

Fatal error: Class 'globalmess' not found in C:\wamp\www\work\upload\index.php on line 121
Запустите Мастер устранения ошибок, чтобы убедиться в наличии необходимых файлов и правильности установки мода.
Ссылка на комментарий
Поделиться на других сайтах

Fatal error: Class 'globalmess' not found in C:\wamp\www\work\upload\index.php on line 121

Запустите Мастер устранения ошибок, чтобы убедиться в наличии необходимых файлов и правильности установки мода.

 

Перед тем как создавать месагу, я запускал Мастер устр. ошибок и он ничего не показал :D

Ссылка на комментарий
Поделиться на других сайтах

Тогда попробуйте переустановить мод.

Это единственное, что я могу посоветовать, т.к. для выявления причин ошибок такого типа нужно иметь доступ к файлам форума.

Ссылка на комментарий
Поделиться на других сайтах

Тогда попробуйте переустановить мод.

Это единственное, что я могу посоветовать, т.к. для выявления причин ошибок такого типа нужно иметь доступ к файлам форума.

Так ваш мод не переустанавливается, мастер. ошибок ничего не показывает. :D

Ссылка на комментарий
Поделиться на других сайтах

Так ваш мод не переустанавливается
Это единственное, что я могу посоветовать, т.к. для выявления причин ошибок такого типа нужно иметь доступ к файлам форума.
Ссылка на комментарий
Поделиться на других сайтах

Затем я скачал отсюда последнюю версию инсталлятора
Зачем надо было скачивать последнюю версию, если на новом форуме надо было вначале просто восстановить предыдущую?

 

Помоги пожалуйста.
Теперь надо вручную удалять мод. Для этого в БД (например, через phpMyAdmin) выполни запросы:

DROP TABLE ibf_global_message;
DELETE FROM ibf_conf_settings_titles WHERE conf_title_keyword = 'globalmess';
DELETE FROM ibf_conf_settings WHERE conf_key LIKE 'globalmess%';
ALTER TABLE ibf_skin_sets DROP globalmess_css;

Если префикс у таблиц не ibf_, то в запросах его, соответственно, надо поменять на нужный. При выполнении запросов все имеющиеся объявления также будут удалены.

Затем можно будет с нуля установить последнюю версию мода.

 

Fatal error: Class 'globalmess' not found in C:\wamp\www\work\upload\index.php on line 121
Запустите Мастер устранения ошибок, чтобы убедиться в наличии необходимых файлов и правильности установки мода.

 

Ага, полная переустановка мода помогла. Мод встал сразу же, спасибо тебе огромное за помощь и за мод!

Ссылка на комментарий
Поделиться на других сайтах

В общем, скачал архив, закачал, попытался установить на 2.1.7.

Выскочила ошибка в файле install_ipb_21x.php

 

Пришлось самостоятельно залезть внутрь и изменить строку №59.

 

Было:

else if( preg_match( "#^2\.1#", $this->version ) ) $ipsclass->version = "2.1";

 

Стало:

else if( preg_match( "#^2\.1#", $ipsclass->version ) ) $ipsclass->version = "2.1";

 

Всё заработало.

Ссылка на комментарий
Поделиться на других сайтах

Внимание: мод обновлен до версии 2.3.2

 

В ней добавлены инструкции по удалению мода и скрипт удаления данных из БД.

 

ВНИМАНИЕ: Мод предназначен для IPB версий 2.0.х, и, соответственно, удаление мода возможно тоже только из этих версий форума.

Выполнение скрипта в форумах IPB версий 2.1.x. невозможно из-за отличий используемых классов в php файлах форумов. Читайте инструкции по ручному удалению мода.

Где эти инструкции???

Ссылка на комментарий
Поделиться на других сайтах

после установки данного мода в админке - КОМПОНЕНТЫ пишет вот что:

Ошибка при работе с базой данных

как исправить? дайте ссылку на сообщение где описывается как это исправить, а то я не нашёл. Уж больно много страничек :D пробывал исправление не помогло.. везде пишет что всё в порядке...

форум 2.2.2

заранее благодарю!

Изменено пользователем Kamikadze1
Ссылка на комментарий
Поделиться на других сайтах

Автору спасибо за МОД! Действительно очень полезная штука!

Накатил новую версию, помогло только ручное удаление таблиц, как было описано выше. После этого мод встал нормально!

Но небольшая проблемка, не видит стили форума!

В чем дело?

Т.е. обявление синее, основное оформление Cozy Green, до обновления форума (предыдущая версия объявлений) работала нормально! Как изменить стиль объявлений?

Ссылка на комментарий
Поделиться на других сайтах

http://www.pf1.ru/gm_install/install_conte...all_ipb_21x.php

Fatal error: Using $this when not in object context in /home/mh4usefu/public_html/gm_install/install_content/install_ipb_21x.php on line 59

 

обновиться хотел

Ссылка на комментарий
Поделиться на других сайтах

ВНИМАНИЕ: Мод обновлен до версии 2.6.1

В ней исправлена ошибка с определением версии форума установщиком.

Спасибо Ultimate и VOTEX за наводку!

 

Тем, кто уже установил мод, обновлять ничего не надо.

 

--------

 

Отвечаю только сейчас, т.к. был в отпуске без доступа в интернет. Так что извините за задержку.

 

Mortymer, Вам я могу только посоветовать выполнить удаление мода вручную, как я уже описывал выше.

Kamikadze1, Вам надо заглянуть в лог ошибок БД и скопировать сюда собственно текст возникшей ошибки.

-DriveR-, стили объявлений изменяются в секции управления скинами в админке. Выберите пункт "Изменить CSS стили Глобальных объявлений" в ниспадающем меню для нужных скинов.

Ссылка на комментарий
Поделиться на других сайтах

Как добавить то глобальное сообщение? установил мод, но только вот не появилось в админке ничего подобного, только настройки глобального сообщения!
Ссылка на комментарий
Поделиться на других сайтах

+1 (п.4)
Ссылка на комментарий
Поделиться на других сайтах

Всё сделал, только сообщения не выводятся.

При поиске ошибок инсталка ничего не находит и пишет, что всё нормально.

 

В настройках мод включен.

В общем шаблоне форума <% MESSAGE %> есть.

 

Что делать?

Ссылка на комментарий
Поделиться на других сайтах


×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.