Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

news_block_mod_1.0.4

Ответы на вопросы, связанные с модами для phpBB 2.0.x, кроме относящихся к форуму Для авторов (phpBB 2.0.x).
Аватара пользователя
Виталz
phpBB 1.4.0
Сообщения: 34
Стаж: 17 лет 8 месяцев
Откуда: Киев, Украина

news_block_mod_1.0.4

Сообщение Виталz »

вопрос по моду - как мне убрать ограничение длины сообщения выводимого в новостном блоке?


листинг мода привожу ниже

Код: Выделить всё

############################################################## 
## MOD Title: News Block Mod 
## MOD Author: dannyscats < admin@plug-world.net > (Danny) http://www.phpBB3.ws 
## MOD Description: Adds a news block to the top of your forums that can be edited easily in the admin panel. 
## MOD Version: 1.0.4
## 
## Installation Level: (Easy) 
## Installation Time: 3 Minutes 
## Files To Edit:  index.php,
##      language/lang_english/lang_main.php, 
##      language/lang_english/lang_admin.php, 
##      includes/page_header.php, 
##      admin/admin_board.php, 
##      templates/subSilver/admin/board_config_body.tpl,
##      templates/subSilver/index_body.tpl
## Included Files: N/A 
## License: http://opensource.org/licenses/gpl-license.php GNU General Public License v2 
############################################################## 
## For security purposes, please check: http://www.phpbb.com/mods/ 
## for the latest version of this MOD. Although MODs are checked 
## before being allowed in the MODs Database there is no guarantee 
## that there are no security problems within the MOD. No support 
## will be given for MODs not found within the MODs Database which 
## can be found at http://www.phpbb.com/mods/ 
############################################################## 
## Author Notes: 
## 
############################################################## 
## MOD History: 
## 
##   2005-12-06 - Version 1.0.4
##      - Added Smiley Addon, and a few other things, visit http://www.phpbb3.ws/mods for upgrade intructions. 
##
##   2005-12-06 - Version 1.0.3
##      - Mod edited to suit validation requirements 
##
##   2005-12-06 - Version 1.0.2
##      - Mod edited to suit validation requirements 
##
##   2005-12-06 - Version 1.0.1
##      - Mod created 
## 
############################################################## 
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
############################################################## 

# 
#-----[ SQL ]------------------------------------------ 
# 
INSERT INTO phpbb_config (config_name, config_value) VALUES('news_text', 'You can change this text in your admin panel.'); 
INSERT INTO phpbb_config (config_name, config_value) VALUES('news_status', '1');

# 
#-----[ OPEN ]------------------------------------------ 
#
index.php

# 
#-----[ FIND ]------------------------------------------ 
# 
include($phpbb_root_path . 'common.'.$phpEx);

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
include($phpbb_root_path . 'includes/bbcode.'.$phpEx);

# 
#-----[ FIND ]------------------------------------------ 
#
// 
// Start page proper 
// 
$sql = "SELECT c.cat_id, c.cat_title, c.cat_order 
   FROM " . CATEGORIES_TABLE . " c 
   ORDER BY c.cat_order"; 
if( !($result = $db->sql_query($sql)) ) 
{ 
   message_die(GENERAL_ERROR, 'Could not query categories list', '', __LINE__, __FILE__, $sql); 
}

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
// 
// News Block Smilies Pass
// 
$board_config['news_text'] = smilies_pass($board_config['news_text']);


# 
#-----[ OPEN ]------------------------------------------ 
#
language/lang_english/lang_main.php

# 
#-----[ FIND ]------------------------------------------ 
# 
$lang['Index'] = 'Index';

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
$lang['Site_News'] = 'Site News'; 

# 
#-----[ OPEN ]------------------------------------------ 
#
language/lang_english/lang_admin.php

# 
#-----[ FIND ]------------------------------------------ 
# 
$lang['Allow_name_change'] = 'Allow Username changes';

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
$lang['News_text'] = 'Edit News';
$lang['News_text_status'] = 'Show News Block';

# 
#-----[ OPEN ]------------------------------------------ 
#
includes/page_header.php

# 
#-----[ FIND ]------------------------------------------ 
#
	'L_INDEX' => sprintf($lang['Forum_Index'], $board_config['sitename']),

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
	'L_NEWS' => $lang['Site_News'],

# 
#-----[ FIND ]------------------------------------------ 
#
		'T_SPAN_CLASS3' => $theme['span_class3'],

# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
                'NEWS_BLOCK' => $board_config['news_text'], 

# 
#-----[ FIND ]------------------------------------------ 
#
//
// Login box?
//
if ( !$userdata['session_logged_in'] )
{
	$template->assign_block_vars('switch_user_logged_out', array());
	//
	// Allow autologin?
	//
	if (!isset($board_config['allow_autologin']) || $board_config['allow_autologin'] )
	{
		$template->assign_block_vars('switch_allow_autologin', array());
		$template->assign_block_vars('switch_user_logged_out.switch_allow_autologin', array());
	}

# 
#-----[ BEFORE, ADD ]------------------------------------------ 
#
//
// News Block?
//
if($board_config['news_status'] == "1"){
$template->assign_block_vars('show_news', array());
} else {
$template->assign_block_vars('hide_news', array());
} 

# 
#-----[ OPEN ]------------------------------------------ 
#
admin/admin_board.php

# 
#-----[ FIND ]------------------------------------------ 
#
$disable_board_yes = ( $new['board_disable'] ) ? "checked=\"checked\"" : "";
$disable_board_no = ( !$new['board_disable'] ) ? "checked=\"checked\"" : "";

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
$news_status_yes = ( $new['news_status'] ) ? "checked=\"checked\"" : "";
$news_status_no = ( !$new['news_status'] ) ? "checked=\"checked\"" : "";

# 
#-----[ FIND ]------------------------------------------ 
# 
$new['sitename'] = str_replace('"', '"', strip_tags($new['sitename'])); 

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
$new['news_text'] = str_replace('"', '"', $new['news_text']); 

# 
#-----[ FIND ]------------------------------------------ 
# 
	"L_ALLOW_NAME_CHANGE" => $lang['Allow_name_change'],

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
        "L_NEWS_TEXT" => $lang['News_text'],
        "L_NEWS_TEXT_STATUS" => $lang['News_text_status'],

# 
#-----[ FIND ]------------------------------------------ 
# 
 	"AVATAR_GALLERY_PATH" => $new['avatar_gallery_path'], 

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
 	"NEWS_TEXT" => $new['news_text'],
	"S_NEWS_STATUS_YES" => $news_status_yes,
	"S_NEWS_STATUS_NO" => $news_status_no,

# 
#-----[ OPEN ]------------------------------------------ 
#
templates/subSilver/admin/board_config_body.tpl

# 
#-----[ FIND ]------------------------------------------ 
#
<tr>
		<td class="row1">{L_SITE_DESCRIPTION}</td>
		<td class="row2"><input class="post" type="text" size="40" maxlength="255" name="site_desc" value="{SITE_DESCRIPTION}" /></td>
	</tr>
# 
#-----[ AFTER, ADD ]------------------------------------------ 
#
	<tr>
		<td class="row1">{L_NEWS_TEXT_STATUS}</td>
		<td class="row2"><input type="radio" name="news_status" value="1" {S_NEWS_STATUS_YES} /> {L_YES}&nbsp;&nbsp;<input type="radio" name="news_status" value="0" {S_NEWS_STATUS_NO} /> {L_NO}</td>
	</tr>
<tr>
		      <td class="row1">{L_NEWS_TEXT}</td>
		<td class="row2"><textarea name="news_text" rows="5" cols="30">{NEWS_TEXT}</textarea></td>
	</tr>

# 
#-----[ OPEN ]------------------------------------------ 
# 
templates/subSilver/index_body.tpl

# 
#-----[ FIND ]------------------------------------------ 
# 
<table width="100%" cellspacing="0" cellpadding="2" border="0" align="center">
  <tr> 
	<td align="left" valign="bottom"><span class="gensmall">
	<!-- BEGIN switch_user_logged_in -->
	{LAST_VISIT_DATE}<br />
	<!-- END switch_user_logged_in -->
	{CURRENT_TIME}<br /></span><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></span></td>
	<td align="right" valign="bottom" class="gensmall">
		<!-- BEGIN switch_user_logged_in -->
		<a href="{U_SEARCH_NEW}" class="gensmall">{L_SEARCH_NEW}</a><br /><a href="{U_SEARCH_SELF}" class="gensmall">{L_SEARCH_SELF}</a><br />
		<!-- END switch_user_logged_in -->
		<a href="{U_SEARCH_UNANSWERED}" class="gensmall">{L_SEARCH_UNANSWERED}</a></td>
  </tr>
</table>

# 
#-----[ BEFORE, ADD ]------------------------------------------ 
#
<!-- BEGIN show_news -->
<table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline"> 
   <tr> 
      <th class="thCornerL" height="25" nowrap="nowrap">&nbsp;{L_NEWS}&nbsp;</th> 
   </tr> 
   <tr> 
      <td class="row1" width="100%"><span class="gen"><p align="center">{NEWS_BLOCK}</p></span></td> 
   </tr> 
</table><br />
<!-- END show_news -->

# 
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------ 
# 
# EoM
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5284
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 186 раз
Поблагодарили: 793 раза

Сообщение Siava »

Виталz
Потому что новость располагается в таблице phpbb_config, где параметр config_value есть varchar(255), то есть не более 255 символов. Можно переделать мод, добавив новую таблицу, но это будет +1 запрос к БД.
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Аватара пользователя
Vladson
Former team member
Сообщения: 816
Стаж: 20 лет
Откуда: Estonia, Tallinn

Сообщение Vladson »

Siava писал(а):Можно переделать мод, добавив новую таблицу, но это будет +1 запрос к БД.
Разумнее всего

Также можно без проблем изменить varchar(255) на varchar(32768), однако при слишком длинных сообщениях будет сильнее нагружаться БД (даже на тех страницах где эти сообщения выводить не нужно)
Серый цвет - светлый (светлее чёрного), но он и тёмный (темнее белого), он же промежуточный (между чёрным и белым). Теорию относительности никто не отменял. Истина в целом - понятие виртуально-ситуативное.
Аватара пользователя
Виталz
phpBB 1.4.0
Сообщения: 34
Стаж: 17 лет 8 месяцев
Откуда: Киев, Украина

Сообщение Виталz »

ок! а теперь раскажите как создать новую таблицу и что и где нужно изменить в моде.


Я не очень, тоесть совсем не дружу с мускулем :oops:

Вернуться в «Поддержка модов для phpBB 2.0.x»