конструктор шаблонов (бета) sql - CREATE TABLE `bb_topic_tpl` ( `tpl_id` smallint(6) NOT NULL auto_increment, `tpl_name` varchar(60) NOT NULL default '', `tpl_src_form` text NOT NULL, `tpl_src_title` text NOT NULL, `tpl_src_msg` text NOT NULL, `tpl_comment` text NOT NULL, `tpl_rules_post_id` int(10) unsigned NOT NULL default '0', `tpl_last_edit_tm` int(11) NOT NULL default '0', `tpl_last_edit_by` int(11) NOT NULL default '0', PRIMARY KEY (`tpl_id`), UNIQUE KEY `tpl_name` (`tpl_name`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; git-svn-id: https://torrentpier2.googlecode.com/svn/trunk@393 a8ac35ab-4ca4-ca47-4c2d-a49a94f06293
This commit is contained in:
nanosimbiot 2012-04-09 22:08:01 +00:00
commit c5f645f077
12 changed files with 3781 additions and 236 deletions

View file

@ -65,6 +65,7 @@ DROP TABLE IF EXISTS `bb_smilies`;
DROP TABLE IF EXISTS `bb_topics`;
DROP TABLE IF EXISTS `bb_topics_watch`;
DROP TABLE IF EXISTS `bb_topic_templates`;
DROP TABLE IF EXISTS `bb_topic_tpl`;
DROP TABLE IF EXISTS `bb_users`;
DROP TABLE IF EXISTS `bb_user_group`;
DROP TABLE IF EXISTS `bb_vote_desc`;
@ -1377,6 +1378,26 @@ INSERT INTO `bb_topic_templates` VALUES (14, 'sport', 'sport', 'sport', 'Sport')
-- --------------------------------------------------------
--
-- Структура таблицы `bb_topic_tpl`
--
CREATE TABLE `bb_topic_tpl` (
`tpl_id` smallint(6) NOT NULL auto_increment,
`tpl_name` varchar(60) NOT NULL default '',
`tpl_src_form` text NOT NULL,
`tpl_src_title` text NOT NULL,
`tpl_src_msg` text NOT NULL,
`tpl_comment` text NOT NULL,
`tpl_rules_post_id` int(10) unsigned NOT NULL default '0',
`tpl_last_edit_tm` int(11) NOT NULL default '0',
`tpl_last_edit_by` int(11) NOT NULL default '0',
PRIMARY KEY (`tpl_id`),
UNIQUE KEY `tpl_name` (`tpl_name`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Структура таблицы `bb_users`
--

View file

@ -93,7 +93,7 @@ switch($this->request['type'])
case 'view_message':
$message = (string) $this->request['message'];
if(!trim($message)) $this->ajax_die($lang['EMPTY_MESSAGE']);
$message = htmlCHR($message);
$message = htmlCHR($message, false, ENT_NOQUOTES);
$this->response['message_html'] = bbcode2html($message);
$this->response['res_id'] = @$this->request['res_id'];

View file

@ -52,8 +52,8 @@ $bb_cfg = $tr_cfg = $page_cfg = array();
// Increase number of revision after update
$bb_cfg['tp_version'] = '2.4 (RC)';
$bb_cfg['tp_release_state'] = 'R391';
$bb_cfg['tp_release_date'] = '9-04-2012';
$bb_cfg['tp_release_state'] = 'R393';
$bb_cfg['tp_release_date'] = '10-04-2012';
// Database
$charset = 'utf8';

View file

@ -3,7 +3,7 @@
if (!defined('BB_ROOT')) die(basename(__FILE__));
$can_edit_tpl = IS_SUPER_ADMIN;
$edit_tpl_mode = ($can_edit_tpl && !empty($_REQUEST['edit_tpl']));
$edit_tpl_mode = ($can_edit_tpl && empty($_REQUEST['edit_tpl']));
// forum_data
$sql = "SELECT forum_name, allow_reg_tracker, forum_tpl_id FROM ". BB_FORUMS ." WHERE forum_id = $forum_id LIMIT 1";
@ -20,7 +20,7 @@ if (!$f_data['forum_tpl_id'] OR !$tpl_data = DB()->fetch_row($sql))
{
if (!$edit_tpl_mode)
{
redirect("posting.php?mode=newtopic&f=$forum_id");
redirect("posting.php?mode=newtopic&f=$forum_id&tpl=1");
}
}
@ -43,7 +43,7 @@ if ($tpl_data)
if ($tpl_data['tpl_rules_post_id'])
{
if (!$tpl_rules_html = get_posts_html($tpl_data['tpl_rules_post_id']))
if (!$tpl_rules_html = bbcode2html(DB()->fetch_row("SELECT post_text FROM ". BB_POSTS_TEXT ." WHERE post_id = ". $tpl_data['tpl_rules_post_id'], 'post_text')))
{
$tpl_data['tpl_rules_post_id'] = 0;
DB()->query("UPDATE ". BB_TOPIC_TPL ." SET tpl_rules_post_id = 0 WHERE tpl_id = {$f_data['forum_tpl_id']} LIMIT 1");

View file

@ -1 +0,0 @@
posting_tpl_common_header.html

View file

@ -1,175 +0,0 @@
/*
-------------------------------------------------------------------------------------------------
-- el_attr --------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
*/
TPL.el_attr = {
/*
код_элемента = ID элемента в форме
все элементы имеют class "rel-input"
формат el_attr
код_элемента: [
[0] - тип
[1] - название
[2] - атрибуты элемента типа size,rows.. по умолчанию (в том же порядке как и опциональные для элемента)
[3] - атрибуты типа HEAD,req.. по умолчанию для формата сообщения
]
формат элементов в #tpl-src-form (включая все опциональные атрибуты типа maxlength..)
INP - input[name,maxlength,size]
TXT - textarea[name,rows]
SEL - select[name] -- значения для селектов находятся в TPL.selects
*/
audio_codec : [ 'SEL', 'Аудио кодек', '', '' ],
audio : [ 'INP', 'Аудио', '200,80', '' ],
casting : [ 'TXT', 'В ролях', '3', 'BR' ],
video_codec : [ 'SEL', 'Видео кодек', '', '' ],
video : [ 'INP', 'Видео', '200,80', '' ],
year : [ 'INP', 'Год выпуска', '4,5', 'num' ],
moreinfo : [ 'TXT', 'Доп. информация', '3', 'BR' ],
genre : [ 'INP', 'Жанр', '200,40', '' ],
video_quality : [ 'SEL', 'Качество видео', '', '' ],
title_rus : [ 'INP', 'Название', '90,80', 'HEAD,req' ],
description : [ 'TXT', 'Описание', '6', 'BR' ],
title_eng : [ 'INP', 'Оригинальное название', '90,80', 'HEAD' ],
translation : [ 'SEL', 'Перевод', '', '' ],
poster : [ 'INP', 'Постер', '200,80', 'img,POSTER' ],
playtime : [ 'INP', 'Продолжительность', '200,30', '' ],
director : [ 'INP', 'Режиссер', '200,50', '' ],
rus_sub : [ 'SEL', 'Русские субтитры', '', '' ],
screenshots : [ 'TXT', 'Скриншоты', '3', 'spoiler' ],
country : [ 'INP', 'Страна', '200,50', '' ],
studio : [ 'INP', 'Студия', '200,50', '' ],
video_format : [ 'SEL', 'Формат видео', '', '' ],
// dummy
dummy : ['','']
};
/*
-------------------------------------------------------------------------------------------------
-- el_id ----------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
*/
TPL.el_id = {
// ID контейнеров содержащих html элементов
load_pic_btn : 'Кнопка "Загрузить картинку"',
// ID элементов, для которых нужно создать скрытые элементы, содержащие аббревиатуры для подстановки в название
// Каждый элемент el_abr должен точно соответствовать el (translation_abr -> translation)
translation_abr : '[ABR] Перевод',
// dummy
dummy : ''
};
/*
-------------------------------------------------------------------------------------------------
-- selects --------------------------------------------------------------------------------------
-------------------------------------------------------------------------------------------------
*/
TPL.selects = {
// [0] всегда имеет value='' и если задан как '' (пустая строка) заменяется на "» Выбрать"
translation : [
'',
'Любительский (одноголосый)',
'Любительский (двухголосый)',
'Авторский (одноголосый)',
'Профессиональный (одноголосый)',
'Профессиональный (двухголосый)',
'Профессиональный (многоголосый, закадровый)',
'Профессиональный (полное дублирование)',
'Субтитры',
'Отсутствует',
'Не требуется'
],
translation_abr : [
' ',
'одноголосый (Л)', // 'Любительский (одноголосый)',
'двухголосый (Л)', // 'Любительский (двухголосый)',
'авторский', // 'Авторский (одноголосый)',
'одноголосый', // 'Профессиональный (одноголосый)',
'двухголосый', // 'Профессиональный (двухголосый)',
'многоголосый', // 'Профессиональный (многоголосый, закадровый)',
'дублированный', // 'Профессиональный (полное дублирование)',
'субтитры', // 'Субтитры',
'без перевода', // 'Отсутствует',
' ' // 'Не требуется'
],
rus_sub : ['', 'есть', 'нет'],
rus_sub_abr : ['', 'есть', 'нет'],
video_quality : [
'» Качество видео',
'DVDRip',
'DVD5',
'DVD5 (сжатый)',
'DVD9',
'HDTV',
'HDTVRip',
'TVRip',
'TeleCine',
'TeleSynch',
'CamRip',
'SATRip',
'VHSRip',
'HD-DVDRip',
'BDRip',
'DVDScreener'
],
video_format : [
'» Формат видео',
'AVI',
'DVD Video',
'OGM',
'MKV',
'WMV',
'MPEG',
'MP4',
'TS',
'M2TS'
],
video_codec : [
'» Видео кодек',
'DivX',
'XviD',
"Другой MPEG4",
'VPx',
'MPEG1',
'MPEG2',
'Windows Media',
'QuickTime',
'H.264',
'Flash'
],
audio_codec : [
'» Аудио кодек',
'MP3',
'APE',
'FLAC',
'WAVPack',
'WMA',
'OGG Vorbis',
'DTS',
'DVD-AUDIO',
'TTA',
'AAC',
'AC3',
'M4A',
'M4B'
],
// dummy
dummy : ['']
};

View file

@ -1,24 +0,0 @@
<div id="tpl-abr-box"></div>
<script type="text/javascript">
$(document).ready(function(){
$.each(TPL.el_id, function(el,desc){
var m = el.match(/^(.*)(_abr)$/);
if (m == null) {
return true; // continue
}
var el_abr = m[0];
var el_ref = m[1];
$('#tpl-abr-box').append('<div id="'+el_abr+'-hid">'+ TPL.build_select_el(el_abr) +'</div>');
TPL.submit_fn[el_abr] = function(){
if ( $('#'+el_ref).length ) {
$('#'+el_abr)[0].selectedIndex = $('#'+el_ref)[0].selectedIndex;
}
}
});
});
</script>
<!--load_pic_btn-->
<div id="load_pic_btn"><input type="button" style="width: 140px;" value="Загрузить картинку" onclick="window.open('http://ipicture.ru', '_blank'); return false;" /></div>
<!--/load_pic_btn-->

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

File diff suppressed because it is too large Load diff

View file

@ -59,6 +59,7 @@ $images['post_new'] = $_lang .'post.gif';
$images['post_locked'] = $_lang .'reply-locked.gif';
$images['reply_new'] = $_lang .'reply.gif';
$images['reply_locked'] = $_lang .'reply-locked.gif';
$images['relese_new'] = $_lang .'relese.gif';
// pm_icons
$images['pm_inbox'] = $_main .'msg_inbox.gif';
@ -122,7 +123,7 @@ $template->assign_vars(array(
// Images auto-resize
'POST_IMG_WIDTH_DECR_JS' => $bb_cfg['topic_left_column_witdh'] + $bb_cfg['post_img_width_decr'],
'ATTACH_IMG_WIDTH_DECR_JS' => $bb_cfg['topic_left_column_witdh'] + $bb_cfg['attach_img_width_decr'],
'MAGNET_LINKS' => $bb_cfg['magnet_links_enabled'],
));

View file

@ -399,8 +399,16 @@ $found_topics = count($topic_rowset);
$orig_word = $replacement_word = array();
obtain_word_list($orig_word, $replacement_word);
$post_new_topic_url = "posting.php?mode=newtopic&amp;f=$forum_id";
$post_new_topic_url .= ($forum_data['topic_tpl_id']) ? '&tpl=1' : '';
if($forum_data['allow_reg_tracker'])
{
$post_new_topic_url = "posting.php?mode=new_rel&amp;f=$forum_id";
$post_img = $images['relese_new'];
}
else
{
$post_new_topic_url = "posting.php?mode=newtopic&amp;f=$forum_id";
$post_img = $images['post_new'];
}
// Post URL generation for templating vars
$template->assign_vars(array(
@ -428,7 +436,7 @@ $template->assign_vars(array(
'FORUM_ID' => $forum_id,
'FORUM_NAME' => htmlCHR($forum_data['forum_name']),
'TORRENTS' => $forum_data['allow_reg_tracker'],
'POST_IMG' => ($forum_data['forum_status'] == FORUM_LOCKED) ? $images['post_locked'] : $images['post_new'],
'POST_IMG' => ($forum_data['forum_status'] == FORUM_LOCKED) ? $images['post_locked'] : $post_img,
'FOLDER_IMG' => $images['folder'],
'FOLDER_NEW_IMG' => $images['folder_new'],