diff --git a/upload/admin/admin_smilies.php b/upload/admin/admin_smilies.php
index f22bce2b6..4c012ddd6 100644
--- a/upload/admin/admin_smilies.php
+++ b/upload/admin/admin_smilies.php
@@ -7,9 +7,6 @@ if (!empty($setmodules))
return;
}
-function update_smilies () { $GLOBALS['datastore']->update('smile_replacements'); }
-register_shutdown_function('update_smilies');
-
require('./pagestart.php');
// ACP Header - END
@@ -60,9 +57,9 @@ if( isset($_GET['import_pack']) || isset($_POST['import_pack']) )
//
// Import a list a "Smiley Pack"
//
- $smile_pak = ( isset($_POST['smile_pak']) ) ? $_POST['smile_pak'] : $_GET['smile_pak'];
- $clear_current = ( isset($_POST['clear_current']) ) ? $_POST['clear_current'] : $_GET['clear_current'];
- $replace_existing = ( isset($_POST['replace']) ) ? $_POST['replace'] : $_GET['replace'];
+ $smile_pak = (string) request_var('smile_pak', '');
+ $clear_current = (int) request_var('clear_current', '');
+ $replace_existing = (int) request_var('replace', '');
if ( !empty($smile_pak) )
{
@@ -77,6 +74,7 @@ if( isset($_GET['import_pack']) || isset($_POST['import_pack']) )
{
message_die(GENERAL_ERROR, "Couldn't delete current smilies", "", __LINE__, __FILE__, $sql);
}
+ $datastore->update('smile_replacements');
}
else
{
@@ -142,6 +140,7 @@ if( isset($_GET['import_pack']) || isset($_POST['import_pack']) )
{
message_die(GENERAL_ERROR, "Couldn't update smilies!", "", __LINE__, __FILE__, $sql);
}
+ $datastore->update('smile_replacements');
}
}
}
@@ -149,7 +148,6 @@ if( isset($_GET['import_pack']) || isset($_POST['import_pack']) )
$message = $lang['SMILEY_IMPORT_SUCCESS'] . "
" . sprintf($lang['CLICK_RETURN_SMILEADMIN'], "", "") . "
" . sprintf($lang['CLICK_RETURN_ADMIN_INDEX'], "", "");
message_die(GENERAL_MESSAGE, $message);
-
}
else
{
@@ -182,7 +180,9 @@ else if( isset($_POST['export_pack']) || isset($_GET['export_pack']) )
//
// Export our smiley config as a smiley pak...
//
- if ( $_GET['export_pack'] == "send" )
+ $export_pack = (string) request_var('export_pack', '');
+
+ if ( $export_pack == "send" )
{
$sql = "SELECT *
FROM " . BB_SMILIES;
@@ -255,6 +255,7 @@ else if ( $mode != "" )
{
message_die(GENERAL_ERROR, "Couldn't delete smiley", "", __LINE__, __FILE__, $sql);
}
+ $datastore->update('smile_replacements');
$message = $lang['SMILEY_DEL_SUCCESS'] . "
" . sprintf($lang['CLICK_RETURN_SMILEADMIN'], "", "") . "
" . sprintf($lang['CLICK_RETURN_ADMIN_INDEX'], "", "");
@@ -347,6 +348,7 @@ else if ( $mode != "" )
{
message_die(GENERAL_ERROR, "Couldn't update smilies info", "", __LINE__, __FILE__, $sql);
}
+ $datastore->update('smile_replacements');
$message = $lang['SMILEY_EDIT_SUCCESS'] . "
" . sprintf($lang['CLICK_RETURN_SMILEADMIN'], "", "") . "
" . sprintf($lang['CLICK_RETURN_ADMIN_INDEX'], "", "");
@@ -392,6 +394,7 @@ else if ( $mode != "" )
{
message_die(GENERAL_ERROR, "Couldn't insert new smiley", "", __LINE__, __FILE__, $sql);
}
+ $datastore->update('smile_replacements');
$message = $lang['SMILEY_ADD_SUCCESS'] . "
" . sprintf($lang['CLICK_RETURN_SMILEADMIN'], "", "") . "
" . sprintf($lang['CLICK_RETURN_ADMIN_INDEX'], "", "");
diff --git a/upload/config.php b/upload/config.php
index e283191aa..2d27e277c 100644
--- a/upload/config.php
+++ b/upload/config.php
@@ -57,7 +57,7 @@ $bb_cfg['css_ver'] = 1;
// Increase number of revision after update
$bb_cfg['tp_version'] = '2.1 Stable';
-$bb_cfg['tp_release_state'] = 'R243';
+$bb_cfg['tp_release_state'] = 'R244';
$bb_cfg['tp_release_date'] = '22-08-2011';
$bb_cfg['board_disabled_msg'] = 'форум временно отключен'; // 'forums temporarily disabled'; // show this msg if board has been disabled via ON/OFF trigger
diff --git a/upload/includes/bbcode.php b/upload/includes/bbcode.php
index 5967cac14..eb1a7afa0 100644
--- a/upload/includes/bbcode.php
+++ b/upload/includes/bbcode.php
@@ -97,7 +97,7 @@ function prepare_message ($message)
// Either in a window or inline
function generate_smilies($mode)
{
- global $bb_cfg, $template, $lang, $images, $user;
+ global $bb_cfg, $template, $lang, $images, $user, $datastore;
$inline_columns = 4;
$inline_rows = 7;
@@ -108,13 +108,9 @@ function generate_smilies($mode)
$user->session_start();
}
- if (!$sql = CACHE('bb_cache')->get('smilies'))
- {
- $sql = DB()->fetch_rowset("SELECT emoticon, code, smile_url FROM ". BB_SMILIES ." ORDER BY smilies_id");
- CACHE('bb_cache')->set('smilies', $sql);
- }
+ $data = $datastore->get('smile_replacements');
- if ($sql)
+ if ($sql = $data['smile'])
{
$num_smilies = 0;
$rowset = array();
diff --git a/upload/includes/datastore/build_smilies.php b/upload/includes/datastore/build_smilies.php
index 8f1dfce9e..f7c52f63e 100644
--- a/upload/includes/datastore/build_smilies.php
+++ b/upload/includes/datastore/build_smilies.php
@@ -13,6 +13,7 @@ foreach ($rowset as $smile)
{
$smilies['orig'][] = '#(?<=^|\W)'. preg_quote($smile['code'], '#') .'(?=$|\W)#';
$smilies['repl'][] = '
';
+ $smilies['smile'][] = $smile;
}
$this->store('smile_replacements', $smilies);