mirror of
https://github.com/phpbb/phpbb.git
synced 2025-08-06 00:37:42 +02:00
Changed forum_link_track to forum_flags for storage of additional info [ pruning related ], moved lang selection into DB, other minor changes, still working on admin_prune, per forum styling for posting
git-svn-id: file:///svn/phpbb/trunk@3989 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
@@ -337,7 +337,7 @@ function make_jumpbox($action, $forum_id = false, $select_all = false)
|
||||
function language_select($default = '')
|
||||
{
|
||||
global $db, $phpbb_root_path, $phpEx;
|
||||
/*
|
||||
|
||||
$sql = "SELECT lang_iso, lang_local_name
|
||||
FROM " . LANG_TABLE . "
|
||||
ORDER BY lang_english_name";
|
||||
@@ -352,37 +352,6 @@ function language_select($default = '')
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
return $lang_options;
|
||||
*/
|
||||
$dir = @opendir($phpbb_root_path . 'language');
|
||||
|
||||
$user = array();
|
||||
while ($file = readdir($dir))
|
||||
{
|
||||
$path = $phpbb_root_path . 'language/' . $file;
|
||||
|
||||
if (is_file($path) || is_link($path) || $file == '.' || $file == '..')
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
if (file_exists($path . '/iso.txt'))
|
||||
{
|
||||
list($displayname) = @file($path . '/iso.txt');
|
||||
$lang[$displayname] = $file;
|
||||
}
|
||||
}
|
||||
@closedir($dir);
|
||||
|
||||
@asort($lang);
|
||||
@reset($lang);
|
||||
|
||||
foreach ($lang as $displayname => $filename)
|
||||
{
|
||||
$selected = (strtolower($default) == strtolower($filename)) ? ' selected="selected"' : '';
|
||||
$user_select .= '<option value="' . $filename . '"' . $selected . '>' . ucwords($displayname) . '</option>';
|
||||
}
|
||||
|
||||
return $user_select;
|
||||
}
|
||||
|
||||
// Pick a template/theme combo,
|
||||
|
@@ -1059,22 +1059,26 @@ function verify_data($type, $fieldname, &$need_update, &$data)
|
||||
}
|
||||
}
|
||||
|
||||
function prune($forum_id, $prune_date = '', $auto_sync = TRUE)
|
||||
function prune($forum_id, $prune_date, $prune_flags = 0, $auto_sync = true)
|
||||
{
|
||||
global $db;
|
||||
|
||||
// Those without polls ...
|
||||
// NOTE: can't remember why only those without polls :) -- Ashe
|
||||
$sql_and = '';
|
||||
if (!($prune_flags & 4))
|
||||
{
|
||||
$sql_and .= ' AND topic_type <> ' . POST_ANNOUNCE;
|
||||
}
|
||||
if (!($prune_flags & 8))
|
||||
{
|
||||
$sql_and .= ' AND topic_type <> ' . POST_STICKY;
|
||||
}
|
||||
|
||||
$sql = 'SELECT topic_id
|
||||
FROM ' . TOPICS_TABLE . "
|
||||
WHERE t.forum_id = $forum_id
|
||||
AND poll_start = 0
|
||||
AND t.topic_type <> " . POST_ANNOUNCE;
|
||||
|
||||
if ($prune_date != '')
|
||||
{
|
||||
$sql .= ' AND topic_last_post_time < ' . $prune_date;
|
||||
}
|
||||
WHERE forum_id = $forum_id
|
||||
AND topic_last_post_time < $prune_date
|
||||
AND poll_start = 0
|
||||
$sql_and";
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
$topic_list = array();
|
||||
@@ -1084,18 +1088,40 @@ function prune($forum_id, $prune_date = '', $auto_sync = TRUE)
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
if ($prune_flags & 2)
|
||||
{
|
||||
$sql = 'SELECT topic_id
|
||||
FROM ' . TOPICS_TABLE . "
|
||||
WHERE forum_id = $forum_id
|
||||
AND poll_start > 0
|
||||
AND poll_last_vote < $prune_date
|
||||
AND topic_last_post_time < $prune_date
|
||||
$sql_and";
|
||||
$result = $db->sql_query($sql);
|
||||
|
||||
while ($row = $db->sql_fetchrow($result))
|
||||
{
|
||||
$topic_list[] = $row['topic_id'];
|
||||
}
|
||||
$db->sql_freeresult($result);
|
||||
|
||||
$topic_list = array_unique($topic_list);
|
||||
}
|
||||
|
||||
return delete_topics('topic_id', $topic_list, $auto_sync);
|
||||
}
|
||||
|
||||
// Function auto_prune(), this function now relies on passed vars
|
||||
function auto_prune($forum_id, $prune_days, $prune_freq)
|
||||
function auto_prune($forum_id, $prune_flags, $prune_days, $prune_freq)
|
||||
{
|
||||
global $db;
|
||||
|
||||
$prune_date = time() - ($prune_days * 86400);
|
||||
$next_prune = time() + ($prune_freq * 86400);
|
||||
|
||||
prune($forum_id, $prune_date);
|
||||
prune($forum_id, $prune_date, $prune_flags, true);
|
||||
|
||||
$sql = "UPDATE " . FORUMS_TABLE . "
|
||||
$sql = 'UPDATE ' . FORUMS_TABLE . "
|
||||
SET prune_next = $next_prune
|
||||
WHERE forum_id = $forum_id";
|
||||
$db->sql_query($sql);
|
||||
|
@@ -289,12 +289,12 @@ class session
|
||||
$SID = '?sid=';
|
||||
|
||||
// Delete existing session, update last visit info first!
|
||||
$sql = "UPDATE " . USERS_TABLE . "
|
||||
SET user_lastvisit = " . intval($this->data['session_time']) . "
|
||||
WHERE user_id = " . $this->data['user_id'];
|
||||
$sql = 'UPDATE ' . USERS_TABLE . '
|
||||
SET user_lastvisit = ' . $this->data['session_time'] . '
|
||||
WHERE user_id = ' . $this->data['user_id'];
|
||||
$db->sql_query($sql);
|
||||
|
||||
$sql = "DELETE FROM " . SESSIONS_TABLE . "
|
||||
$sql = 'DELETE FROM ' . SESSIONS_TABLE . "
|
||||
WHERE session_id = '" . $this->session_id . "'
|
||||
AND session_user_id = " . $this->data['user_id'];
|
||||
$db->sql_query($sql);
|
||||
@@ -310,10 +310,10 @@ class session
|
||||
global $db, $config;
|
||||
|
||||
// Get expired sessions, only most recent for each user
|
||||
$sql = "SELECT session_user_id, session_page, MAX(session_time) AS recent_time
|
||||
FROM " . SESSIONS_TABLE . "
|
||||
WHERE session_time < " . ($current_time - $config['session_length']) . "
|
||||
GROUP BY session_user_id, session_page";
|
||||
$sql = 'SELECT session_user_id, session_page, MAX(session_time) AS recent_time
|
||||
FROM ' . SESSIONS_TABLE . '
|
||||
WHERE session_time < ' . ($current_time - $config['session_length']) . '
|
||||
GROUP BY session_user_id, session_page';
|
||||
$result = $db->sql_query_limit($sql, 5);
|
||||
|
||||
$del_user_id = '';
|
||||
@@ -322,10 +322,10 @@ class session
|
||||
{
|
||||
do
|
||||
{
|
||||
if (intval($row['session_user_id']) != ANONYMOUS)
|
||||
if ($row['session_user_id'] != ANONYMOUS)
|
||||
{
|
||||
$sql = "UPDATE " . USERS_TABLE . "
|
||||
SET user_lastvisit = " . $row['recent_time'] . ", user_lastpage = '" . $db->sql_escape($row['session_page']) . "'
|
||||
$sql = 'UPDATE ' . USERS_TABLE . '
|
||||
SET user_lastvisit = ' . $row['recent_time'] . ", user_lastpage = '" . $db->sql_escape($row['session_page']) . "'
|
||||
WHERE user_id = " . $row['session_user_id'];
|
||||
$db->sql_query($sql);
|
||||
}
|
||||
@@ -339,7 +339,7 @@ class session
|
||||
if ($del_user_id != '')
|
||||
{
|
||||
// Delete expired sessions
|
||||
$sql = "DELETE FROM " . SESSIONS_TABLE . "
|
||||
$sql = 'DELETE FROM ' . SESSIONS_TABLE . "
|
||||
WHERE session_user_id IN ($del_user_id)
|
||||
AND session_time < " . ($current_time - $config['session_length']);
|
||||
$db->sql_query($sql);
|
||||
|
Reference in New Issue
Block a user