diff --git a/phpBB/includes/acp/acp_search.php b/phpBB/includes/acp/acp_search.php
index 5eb180398b..b7c37772ed 100644
--- a/phpBB/includes/acp/acp_search.php
+++ b/phpBB/includes/acp/acp_search.php
@@ -274,7 +274,7 @@ class acp_search
$result = $db->sql_query($sql);
$ids = $posters = array();
- while (false !== ($row = $db->sql_fetchrow($result)))
+ while ($row = $db->sql_fetchrow($result))
{
$ids[] = $row['post_id'];
$posters[] = $row['poster_id'];
@@ -325,7 +325,7 @@ class acp_search
AND post_id < ' . (int) ($post_counter + $this->batch_size);
$result = $db->sql_query($sql);
- while (false !== ($row = $db->sql_fetchrow($result)))
+ while ($row = $db->sql_fetchrow($result))
{
$this->search->index('post', $row['post_id'], $row['post_text'], $row['post_subject'], $row['post_encoding'], $row['poster_id'], $row['forum_id']);
}
diff --git a/phpBB/includes/acp/acp_styles.php b/phpBB/includes/acp/acp_styles.php
index 56c8369176..00789fceec 100644
--- a/phpBB/includes/acp/acp_styles.php
+++ b/phpBB/includes/acp/acp_styles.php
@@ -335,6 +335,7 @@ pagination_sep = \'{PAGINATION_SEP}\'
$cache->destroy('sql', STYLES_THEME_TABLE);
+ add_log('admin', 'LOG_THEME_REFRESHED', $theme_row['theme_name']);
trigger_error($user->lang['THEME_REFRESHED'] . adm_back_link($this->u_action));
}
}
@@ -354,7 +355,70 @@ pagination_sep = \'{PAGINATION_SEP}\'
break;
case 'imageset':
- $this->frontend('imageset', array('edit', 'details'), array('export', 'delete'));
+
+ switch ($action)
+ {
+ case 'refresh':
+
+ $sql = 'SELECT *
+ FROM ' . STYLES_IMAGESET_TABLE . "
+ WHERE imageset_id = $style_id";
+ $result = $db->sql_query($sql);
+ $imageset_row = $db->sql_fetchrow($result);
+ $db->sql_freeresult($result);
+
+ if (!$imageset_row)
+ {
+ trigger_error($user->lang['NO_IMAGESET'] . adm_back_link($this->u_action));
+ }
+
+ if (confirm_box(true))
+ {
+ $sql_ary = array();
+
+ $cfg_data = parse_cfg_file("{$phpbb_root_path}styles/{$imageset_row['imageset_path']}/imageset/imageset.cfg");
+
+ $imageset_definitions = array();
+ foreach ($this->imageset_keys as $topic => $key_array)
+ {
+ $imageset_definitions = array_merge($imageset_definitions, $key_array);
+ }
+
+ foreach ($cfg_data as $key => $value)
+ {
+ if (strpos($key, 'img_') === 0)
+ {
+ $key = substr($key, 4);
+ if (in_array($key, $imageset_definitions))
+ {
+ $sql_ary[$key] = str_replace('{PATH}', "styles/{$imageset_row['imageset_path']}/imageset/", trim($value));
+ }
+ }
+ }
+ unset($cfg_data);
+
+ $sql = 'UPDATE ' . STYLES_IMAGESET_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . "
+ WHERE imageset_id = $style_id";
+ $db->sql_query($sql);
+
+ $cache->destroy('sql', STYLES_IMAGESET_TABLE);
+
+ add_log('admin', 'LOG_IMAGESET_REFRESHED', $imageset_row['imageset_name']);
+ trigger_error($user->lang['IMAGESET_REFRESHED'] . adm_back_link($this->u_action));
+ }
+ else
+ {
+ confirm_box(false, $user->lang['CONFIRM_IMAGESET_REFRESH'], build_hidden_fields(array(
+ 'i' => $id,
+ 'mode' => $mode,
+ 'action' => $action,
+ 'id' => $style_id
+ )));
+ }
+ break;
+ }
+
+ $this->frontend('imageset', array('edit', 'details'), array('refresh', 'export', 'delete'));
break;
}
}
diff --git a/phpBB/includes/session.php b/phpBB/includes/session.php
index 38107d80db..3b1e43e052 100644
--- a/phpBB/includes/session.php
+++ b/phpBB/includes/session.php
@@ -463,8 +463,10 @@ class session
$db->sql_return_on_error(true);
- $sql = 'UPDATE ' . SESSIONS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . "
- WHERE session_id = '" . $db->sql_escape($this->session_id) . "'";
+ $sql = 'DELETE
+ FROM ' . SESSIONS_TABLE . '
+ WHERE session_id = \'' . $db->sql_escape($this->session_id) . '\'
+ AND session_user_id = ' . ANONYMOUS;
if (!$this->session_id || !$db->sql_query($sql) || !$db->sql_affectedrows())
{
@@ -483,15 +485,16 @@ class session
trigger_error('BOARD_UNAVAILABLE');
}
}
-
- $this->session_id = $this->data['session_id'] = md5(unique_id());
-
- $sql_ary['session_id'] = (string) $this->session_id;
- $sql_ary['session_page'] = (string) substr($this->page['page'], 0, 199);
-
- $sql = 'INSERT INTO ' . SESSIONS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary);
- $db->sql_query($sql);
}
+
+ $this->session_id = $this->data['session_id'] = md5(unique_id());
+
+ $sql_ary['session_id'] = (string) $this->session_id;
+ $sql_ary['session_page'] = (string) substr($this->page['page'], 0, 199);
+
+ $sql = 'INSERT INTO ' . SESSIONS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary);
+ $db->sql_query($sql);
+
$db->sql_return_on_error(false);
// Regenerate autologin/persistent login key
diff --git a/phpBB/language/en/acp/common.php b/phpBB/language/en/acp/common.php
index 8c2a97dbf0..0847ff44c9 100644
--- a/phpBB/language/en/acp/common.php
+++ b/phpBB/language/en/acp/common.php
@@ -473,6 +473,7 @@ $lang = array_merge($lang, array(
'LOG_IMAGESET_EDIT_DETAILS' => 'Edited imageset details
» %s',
'LOG_IMAGESET_EDIT' => 'Edited imageset
» %s',
'LOG_IMAGESET_EXPORT' => 'Exported imageset
» %s',
+ 'LOG_IMAGESET_REFRESHED' => 'Refreshed imageset
» %s',
'LOG_INDEX_ACTIVATE' => 'Activated inactive users
» %s',
'LOG_INDEX_DELETE' => 'Deleted inactive users
» %s',
@@ -560,6 +561,7 @@ $lang = array_merge($lang, array(
'LOG_THEME_EDIT' => 'Edited theme %1$s
» Modified class %2$s',
'LOG_THEME_EDIT_ADD' => 'Edited theme %1$s
» Added class %2$s',
'LOG_THEME_EXPORT' => 'Exported theme
» %s',
+ 'LOG_THEME_REFRESHED' => 'Refreshed theme
» %s',
'LOG_USER_ACTIVE' => 'User activated
» %s',
'LOG_USER_BAN_USER' => 'Banned User via user management for reason "%1$s"
» %2$s',
diff --git a/phpBB/language/en/acp/styles.php b/phpBB/language/en/acp/styles.php
index f8dfe9419e..abf3685cf0 100644
--- a/phpBB/language/en/acp/styles.php
+++ b/phpBB/language/en/acp/styles.php
@@ -54,6 +54,7 @@ $lang = array_merge($lang, array(
'CACHE_FILENAME' => 'Template file',
'CACHE_FILESIZE' => 'Filesize',
'CACHE_MODIFIED' => 'Modified',
+ 'CONFIRM_IMAGESET_REFRESH' => 'Are you sure you wish to refresh all imageset data? The settings from the imageset configuration file will overwrite all modifications to the imageset which have been carried out with the imageset editor.',
'CONFIRM_TEMPLATE_CLEAR_CACHE' => 'Are you sure you wish to clear all cached versions of your template files?',
'CONFIRM_TEMPLATE_REFRESH' => 'Are you sure you wish to refresh all template data in the database with the contents of the template files on the filesystem? This will overwrite all modifications which have been carried out with the template editor while the template was stored in the database.',
'CONFIRM_THEME_REFRESH' => 'Are you sure you wish to refresh the theme data stored in the database with the contents of the theme on the filesystem? This will overwrite all modifications which have been carried out with the theme editor while the theme was stored in the database.',
@@ -133,6 +134,7 @@ $lang = array_merge($lang, array(
'IMAGESET_EXPORT_EXPLAIN' => 'Here you can export an imageset in the form of an archive. This archive will contain all the data necessary to install the set of images on another board. You may select whether to download the file directly or to place it in your store folder for download later or via FTP.',
'IMAGESET_EXPORTED' => 'Imageset exported succesfully and stored in %s',
'IMAGESET_NAME' => 'Imageset Name',
+ 'IMAGESET_REFRESHED' => 'Imageset refreshed successfully',
'IMAGESET_UPDATED' => 'Imageset updated successfully',
'ITALIC' => 'Italic',
diff --git a/phpBB/viewtopic.php b/phpBB/viewtopic.php
index ac090bb19a..639cb48bae 100644
--- a/phpBB/viewtopic.php
+++ b/phpBB/viewtopic.php
@@ -1089,7 +1089,6 @@ while ($row = $db->sql_fetchrow($result))
$diff = ($diff < 0) ? 1 : 0;
}
- $age = (int) (date('Y', time()) - $bday_year - $diff);
$user_cache[$poster_id]['age'] = (int) ($today['year'] - $bday_year - $diff);
}
}