1
0
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:
Paul S. Owen
2003-05-08 01:14:14 +00:00
parent bb373ebcba
commit 711d90b44f
11 changed files with 145 additions and 88 deletions

View File

@@ -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,

View File

@@ -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);

View File

@@ -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);