Terms fix

Переделка страницы с правилами под стандарты + отдельный кеш для конфига.
This commit is contained in:
Exile 2014-08-31 02:54:38 +04:00
commit 0f91ad7bf3
15 changed files with 187 additions and 196 deletions

View file

@ -581,6 +581,7 @@ INSERT INTO `bb_config` VALUES ('show_mod_index', '0');
INSERT INTO `bb_config` VALUES ('premod', '0'); INSERT INTO `bb_config` VALUES ('premod', '0');
INSERT INTO `bb_config` VALUES ('new_tpls', '1'); INSERT INTO `bb_config` VALUES ('new_tpls', '1');
INSERT INTO `bb_config` VALUES ('tor_comment', '1'); INSERT INTO `bb_config` VALUES ('tor_comment', '1');
INSERT INTO `bb_config` VALUES ('terms', '');
-- -------------------------------------------------------- -- --------------------------------------------------------

View file

@ -1,32 +1,25 @@
<?php <?php
if (!empty($setmodules)) { if (!empty($setmodules))
{
$module['GENERAL']['TERMS'] = basename(__FILE__); $module['GENERAL']['TERMS'] = basename(__FILE__);
return; return;
} }
require('./pagestart.php'); require('./pagestart.php');
require(INC_DIR .'bbcode.php'); require(INC_DIR .'bbcode.php');
if ($_SERVER['REQUEST_METHOD'] == 'POST') { if (isset($_POST['post']) && $bb_cfg['terms'] != $_POST['message'])
bb_update_config(array(TERMS_KEY => $_POST['message'])); {
} bb_update_config(array('terms' => $_POST['message']));
bb_die($lang['CONFIG_UPDATED']);
$message = '';
$sql = "SELECT config_value FROM " . BB_CONFIG . " WHERE config_name='" . TERMS_KEY . "'";
if ($result = DB()->sql_query($sql)) {
$row = DB()->sql_fetchrow($result);
$message = $row['config_value'];
} }
$template->assign_vars(array( $template->assign_vars(array(
'S_CONFIG_ACTION' => 'admin_terms.php', 'S_ACTION' => 'admin_terms.php',
'CONFIG' => true, 'EXT_LINK_NW' => $bb_cfg['ext_link_new_win'],
'MESSAGE' => $message, 'MESSAGE' => ($bb_cfg['terms']) ? $bb_cfg['terms'] : '',
'EXT_LINK_NEW_WIN' => $bb_cfg['ext_link_new_win'], 'PREVIEW_HTML' => (isset($_REQUEST['preview'])) ? bbcode2html($_POST['message']) : '',
'PREVIEW_HTML' => (isset($_REQUEST['preview'])) ? bbcode2html($message) : ''
)); ));
print_page('admin_terms.tpl', 'admin'); print_page('admin_terms.tpl', 'admin');

View file

@ -48,8 +48,6 @@ define('TOR_TYPE_SILVER', 2);
define('GUEST_UID', -1); define('GUEST_UID', -1);
define('BOT_UID', -746); define('BOT_UID', -746);
define('TERMS_KEY', 'terms');
// DBS // DBS
class DBS class DBS
{ {

View file

@ -72,8 +72,8 @@ $domain_name = (!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : $do
// Version info // Version info
$bb_cfg['tp_version'] = '2.1 (RC)'; $bb_cfg['tp_version'] = '2.1 (RC)';
$bb_cfg['tp_release_date'] = '30-08-2014'; $bb_cfg['tp_release_date'] = '31-08-2014';
$bb_cfg['tp_release_state'] = 'R599'; $bb_cfg['tp_release_state'] = 'R599b';
// Database // Database
$charset = 'utf8'; $charset = 'utf8';
@ -122,6 +122,7 @@ $bb_cfg['cache']['redis'] = array(
# name => array( (string) type, (array) cfg ) # name => array( (string) type, (array) cfg )
$bb_cfg['cache']['engines'] = array( $bb_cfg['cache']['engines'] = array(
'bb_cache' => array('filecache', array()), 'bb_cache' => array('filecache', array()),
'bb_config' => array('filecache', array()),
'tr_cache' => array('filecache', array()), 'tr_cache' => array('filecache', array()),
'session_cache' => array('filecache', array()), 'session_cache' => array('filecache', array()),
'bb_cap_sid' => array('filecache', array()), 'bb_cap_sid' => array('filecache', array()),

View file

@ -1288,7 +1288,7 @@ function get_attachments_dir ($cfg = null)
function bb_get_config ($table, $from_db = false, $update_cache = true) function bb_get_config ($table, $from_db = false, $update_cache = true)
{ {
if ($from_db OR !$cfg = CACHE('bb_cache')->get("config_{$table}")) if ($from_db OR !$cfg = CACHE('bb_config')->get("config_{$table}"))
{ {
$cfg = array(); $cfg = array();
foreach (DB()->fetch_rowset("SELECT * FROM $table") as $row) foreach (DB()->fetch_rowset("SELECT * FROM $table") as $row)
@ -1297,7 +1297,7 @@ function bb_get_config ($table, $from_db = false, $update_cache = true)
} }
if ($update_cache) if ($update_cache)
{ {
CACHE('bb_cache')->set("config_{$table}", $cfg); CACHE('bb_config')->set("config_{$table}", $cfg);
} }
} }
return $cfg; return $cfg;
@ -1316,6 +1316,7 @@ function bb_update_config ($params, $table = BB_CONFIG)
$updates = DB()->build_array('MULTI_INSERT', $updates); $updates = DB()->build_array('MULTI_INSERT', $updates);
DB()->query("REPLACE INTO $table $updates"); DB()->query("REPLACE INTO $table $updates");
// Update cache // Update cache
bb_get_config($table, true, true); bb_get_config($table, true, true);
} }

View file

@ -468,10 +468,8 @@ $html = new html_common();
$log_action = new log_action(); $log_action = new log_action();
$ads = new ads_common(); $ads = new ads_common();
// !!! Temporarily (??) 'cat_forums' always enqueued // TODO temporarily 'cat_forums' always enqueued
$datastore->enqueue(array( $datastore->enqueue(array('cat_forums'));
'cat_forums',
));
// Дата старта вашего проекта // Дата старта вашего проекта
if (!$bb_cfg['board_startdate']) if (!$bb_cfg['board_startdate'])

View file

@ -2879,4 +2879,5 @@ $lang['ATOM_NO_USER'] = 'This user does not have a feed (no ongoing topics)';
$lang['HASH_INVALID'] = 'Hash %s is invalid'; $lang['HASH_INVALID'] = 'Hash %s is invalid';
$lang['HASH_NOT_FOUND'] = 'Release with hash %s not found'; $lang['HASH_NOT_FOUND'] = 'Release with hash %s not found';
$lang['TERMS_ADMIN_EMPTY_TEXT'] = '[align=center]The text of this page is edited at [url]http://%s/admin/admin_terms.php[/url][/align]'; $lang['TERMS_EMPTY_TEXT'] = '[align=center]The text of this page is edited at: [url=http://%s/admin/admin_terms.php]admin/admin_terms.php[/url]. This line can see only administrators.[/align]';
$lang['TERMS_EXPLAIN'] = 'On this page, you can specify the text of the basic rules of the resource is displayed to users.';

View file

@ -2879,4 +2879,5 @@ $lang['ATOM_NO_USER'] = 'Для этого пользователя нет ле
$lang['HASH_INVALID'] = 'Хэш %s некорректен'; $lang['HASH_INVALID'] = 'Хэш %s некорректен';
$lang['HASH_NOT_FOUND'] = 'Раздача с хэшем %s не найдена'; $lang['HASH_NOT_FOUND'] = 'Раздача с хэшем %s не найдена';
$lang['TERMS_ADMIN_EMPTY_TEXT'] = '[align=center]Текст этой страницы редактируется по адресу [url]http://%s/admin/admin_terms.php[/url][/align]'; $lang['TERMS_EMPTY_TEXT'] = '[align=center]Текст этой страницы редактируется по адресу: [url=http://%s/admin/admin_terms.php]admin/admin_terms.php[/url]. Эту строку видят только администраторы.[/align]';
$lang['TERMS_EXPLAIN'] = 'На данной странице вы можете указать текст основных правил ресурса, выводящихся пользователям.';

View file

@ -2879,4 +2879,5 @@ $lang['ATOM_NO_USER'] = 'Для цього користувача немає с
$lang['HASH_INVALID'] = 'Хеш %s некоректний'; $lang['HASH_INVALID'] = 'Хеш %s некоректний';
$lang['HASH_NOT_FOUND'] = 'Роздача з хешем %s не знайдено'; $lang['HASH_NOT_FOUND'] = 'Роздача з хешем %s не знайдено';
$lang['TERMS_ADMIN_EMPTY_TEXT'] = '[align=center]Текст цієї сторінки редагується за адресою [url]http://%s/admin/admin_terms.php[/url][/align]'; $lang['TERMS_EMPTY_TEXT'] = '[align=center]Текст цієї сторінки редагується за адресою: [url=http://%s/admin/admin_terms.php]admin/admin_terms.php[/url]. Цю рядок бачать тільки адміністраторам.[/align]';
$lang['TERMS_EXPLAIN'] = 'На цій сторінці ви можете вказати текст основних правил ресурсу, які виводяться користувачам.';

View file

@ -27,7 +27,6 @@ tr.hl-tr:hover td { background-color: #CFC !important; }
<tr> <tr>
<td width="80%"> <td width="80%">
<h1>{L_CRON}</h1> <h1>{L_CRON}</h1>
<a href="admin_cron.php?mode=add">{L_CRON_EDIT_HEAD_ADD}</a> <a href="admin_cron.php?mode=add">{L_CRON_EDIT_HEAD_ADD}</a>
</td> </td>
<td width="20%" class="vBottom tRight nowrap med"> <td width="20%" class="vBottom tRight nowrap med">

View file

@ -1,10 +1,10 @@
<script type="text/javascript" src="/misc/js/bbcode.js"></script>
<script type="text/javascript">
var ExternalLinks_InNewWindow = '{EXT_LINK_NEW_WIN}';
var hidePostImg = false;
</script>
<form action="{S_CONFIG_ACTION}" method="post"> <h1>{L_TERMS}</h1>
<p>{L_TERMS_EXPLAIN}</p>
<br />
<form action="{S_ACTION}" method="post">
<table class="forumline"> <table class="forumline">
<tr> <tr>
<th>{L_TERMS}</th> <th>{L_TERMS}</th>
@ -14,7 +14,7 @@
<div class="view-message">{PREVIEW_HTML}</div> <div class="view-message">{PREVIEW_HTML}</div>
</td> </td>
</tr> </tr>
<tr> <tr class="row2">
<td> <td>
<!-- INCLUDE posting_editor.tpl --> <!-- INCLUDE posting_editor.tpl -->
</td> </td>

View file

@ -2,9 +2,20 @@
<tr> <tr>
<th>{L_TERMS}</th> <th>{L_TERMS}</th>
</tr> </tr>
<!-- IF TERMS_HTML -->
<tr> <tr>
<td class="row1"> <td class="row1">
<div class="post_wrap">
{TERMS_HTML} {TERMS_HTML}
</div>
</td> </td>
</tr> </tr>
<!-- ENDIF -->
<!-- IF IS_ADMIN -->
<tr>
<td class="row2">
{TERMS_EDIT}
</td>
</tr>
<!-- ENDIF -->
</table> </table>

View file

@ -1,32 +1,18 @@
<?php <?php
/**
* User: dimka3210
* Date: 30.08.14
* Time: 15:15
*/
define('BB_SCRIPT', 'terms');
define('BB_ROOT', './'); define('BB_ROOT', './');
require(BB_ROOT .'common.php'); require(BB_ROOT .'common.php');
require(INC_DIR .'bbcode.php'); require(INC_DIR .'bbcode.php');
// Start session management
$user->session_start(); $user->session_start();
$message = ''; if (!$bb_cfg['terms'] && !IS_ADMIN) redirect('index.php');
$sql = "SELECT config_value FROM " . BB_CONFIG . " WHERE config_name='" . TERMS_KEY . "'";
if ($result = DB()->sql_query($sql)) {
$row = DB()->sql_fetchrow($result);
$message = $row['config_value'];
}
if (!$message && IS_ADMIN) {
$message = sprintf($lang['TERMS_ADMIN_EMPTY_TEXT'], $domain_name);
} elseif (!$message) {
redirect('/');
}
$template->assign_vars(array( $template->assign_vars(array(
'TERMS_HTML' => bbcode2html($message) 'TERMS_EDIT' => bbcode2html(sprintf($lang['TERMS_EMPTY_TEXT'], $domain_name)),
'TERMS_HTML' => bbcode2html($bb_cfg['terms']),
)); ));
print_page('terms.tpl'); print_page('terms.tpl');