merged from 2.0.0 branch (marked merge_point_20020420) + assorted updates and trial stuff for example session alterations

git-svn-id: file:///svn/phpbb/trunk@2532 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Paul S. Owen 2002-04-20 00:22:29 +00:00
parent 65aa921828
commit 5b0bba72b1
56 changed files with 4087 additions and 3798 deletions

View file

@ -33,7 +33,7 @@ if( !empty($setmodules) )
// Load default header // Load default header
// //
$no_page_header = TRUE; $no_page_header = TRUE;
$phpbb_root_path = "../"; $phpbb_root_path = '../';
require($phpbb_root_path . 'extension.inc'); require($phpbb_root_path . 'extension.inc');
require('pagestart.' . $phpEx); require('pagestart.' . $phpEx);
@ -43,8 +43,8 @@ require('pagestart.' . $phpEx);
// //
@set_time_limit(1200); @set_time_limit(1200);
$message = ""; $message = '';
$subject = ""; $subject = '';
// //
// Do the job ... // Do the job ...
@ -66,12 +66,15 @@ if( isset($HTTP_POST_VARS['submit']) )
$sql = "SELECT user_email $sql = "SELECT user_email
FROM " . USERS_TABLE; FROM " . USERS_TABLE;
} }
if( !($result = $db->sql_query($sql)) )
if( !$result = $db->sql_query($sql) )
{ {
message_die(GENERAL_ERROR, "Coult not select group members!", __LINE__, __FILE__, $sql); message_die(GENERAL_ERROR, 'Could not select group members', '', __LINE__, __FILE__, $sql);
} }
if( !$db->sql_numrows($result) ) if( !$db->sql_numrows($result) )
{ {
// //
@ -82,8 +85,12 @@ if( isset($HTTP_POST_VARS['submit']) )
$email_list = $db->sql_fetchrowset($g_result); $email_list = $db->sql_fetchrowset($g_result);
$subject = stripslashes($HTTP_POST_VARS["subject"]);
$message = stripslashes($HTTP_POST_VARS["message"]);
$subject = stripslashes($HTTP_POST_VARS['subject']);
$message = stripslashes($HTTP_POST_VARS['message']);
// //
// Error checking needs to go here ... if no subject and/or // Error checking needs to go here ... if no subject and/or
@ -107,39 +114,35 @@ if( isset($HTTP_POST_VARS['submit']) )
} }
$emailer = new emailer($board_config['smtp_delivery']); $emailer = new emailer($board_config['smtp_delivery']);
$email_headers = "From: " . $board_config['board_email'] . "\n"; $email_headers = 'From: ' . $board_config['board_email'] . "\n";
$bcc_list = ""; $bcc_list = '';
for($i = 0; $i < count($email_list); $i++) for($i = 0; $i < count($email_list); $i++)
{ {
if( $bcc_list != "" ) $bcc_list .= ( ( $bcc_list != '' ) ? ', ' : '' ) . $email_list[$i]['user_email'];
{
$bcc_list .= ", ";
}
$bcc_list .= $email_list[$i]['user_email'];
} }
$email_headers .= "Bcc: $bcc_list\n"; $email_headers .= "Bcc: $bcc_list\n";
$email_headers .= "Return-Path: " . $userdata['board_email'] . "\n"; $email_headers .= 'Return-Path: ' . $userdata['board_email'] . "\n";
$email_headers .= "X-AntiAbuse: Board servername - " . $server_name . "\n"; $email_headers .= 'X-AntiAbuse: Board servername - ' . $server_name . "\n";
$email_headers .= "X-AntiAbuse: User_id - " . $userdata['user_id'] . "\n"; $email_headers .= 'X-AntiAbuse: User_id - ' . $userdata['user_id'] . "\n";
$email_headers .= "X-AntiAbuse: Username - " . $userdata['username'] . "\n"; $email_headers .= 'X-AntiAbuse: Username - ' . $userdata['username'] . "\n";
$email_headers .= "X-AntiAbuse: User IP - " . decode_ip($user_ip) . "\r\n"; $email_headers .= 'X-AntiAbuse: User IP - ' . decode_ip($user_ip) . "\r\n";
$emailer->use_template("admin_send_email"); $emailer->use_template('admin_send_email');
$emailer->email_address($board_config['board_email']); $emailer->email_address($board_config['board_email']);
$emailer->set_subject($subject); $emailer->set_subject($subject);
$emailer->extra_headers($email_headers); $emailer->extra_headers($email_headers);
$emailer->assign_vars(array( $emailer->assign_vars(array(
"SITENAME" => $board_config['sitename'], 'SITENAME' => $board_config['sitename'],
"BOARD_EMAIL" => $board_config['board_email'], 'BOARD_EMAIL' => $board_config['board_email'],
"MESSAGE" => $message) 'MESSAGE' => $message)
); );
$emailer->send(); $emailer->send();
$emailer->reset(); $emailer->reset();
$message = $lang['Email_sent'] . "<br /><br />" . sprintf($lang['Click_return_admin_index'], "<a href=\"" . append_sid("index.$phpEx?pane=right") . "\">", "</a>"); $message = $lang['Email_sent'] . '<br /><br />' . sprintf($lang['Click_return_admin_index'], '<a href="' . append_sid("index.$phpEx?pane=right") . '">', '</a>');
message_die(GENERAL_MESSAGE, $message); message_die(GENERAL_MESSAGE, $message);
} }
@ -152,18 +155,21 @@ if( isset($HTTP_POST_VARS['submit']) )
$sql = "SELECT group_id, group_name $sql = "SELECT group_id, group_name
FROM ".GROUPS_TABLE . " FROM ".GROUPS_TABLE . "
WHERE group_single_user <> 1"; WHERE group_single_user <> 1";
$g_result = $db->sql_query($sql); if ( !($result = $db->sql_query($sql)) )
$group_list = $db->sql_fetchrowset($g_result);
$select_list = '<select name = "' . POST_GROUPS_URL . '">';
$select_list .= '<option value = "-1">' . $lang['All_users'] . '</option>';
for($i = 0;$i < count($group_list); $i++)
{ {
$select_list .= "<option value = \"" . $group_list[$i]['group_id']; message_die(GENERAL_ERROR, 'Could not obtain list of groups', '', __LINE__, __FILE__, $sql);
$select_list .= "\">" . $group_list[$i]['group_name'] . "</option>";
} }
$select_list .= "</select>";
$select_list = '<select name = "' . POST_GROUPS_URL . '"><option value = "-1">' . $lang['All_users'] . '</option>';
if ( $row = $db->sql_fetchrow($result) )
{
do
{
$select_list .= '<option value = "' . $row['group_id'] . '">' . $row['group_name'] . '</option>';
}
while ( $row = $db->sql_fetchrow($result) );
}
$select_list .= '</select>';
// //
// Generate page // Generate page
@ -171,24 +177,24 @@ $select_list .= "</select>";
include('page_header_admin.'.$phpEx); include('page_header_admin.'.$phpEx);
$template->set_filenames(array( $template->set_filenames(array(
"body" => "admin/user_email_body.tpl") 'body' => 'admin/user_email_body.tpl')
); );
$template->assign_vars(array( $template->assign_vars(array(
"MESSAGE" => $message, 'MESSAGE' => $message,
"SUBJECT" => $subject, 'SUBJECT' => $subject,
"L_EMAIL_TITLE" => $lang['Email'], 'L_EMAIL_TITLE' => $lang['Email'],
"L_EMAIL_EXPLAIN" => $lang['Mass_email_explain'], 'L_EMAIL_EXPLAIN' => $lang['Mass_email_explain'],
"L_COMPOSE" => $lang['Compose'], 'L_COMPOSE' => $lang['Compose'],
"L_RECIPIENTS" => $lang['Recipients'], 'L_RECIPIENTS' => $lang['Recipients'],
"L_EMAIL_SUBJECT" => $lang['Subject'], 'L_EMAIL_SUBJECT' => $lang['Subject'],
"L_EMAIL_MSG" => $lang['Message'], 'L_EMAIL_MSG' => $lang['Message'],
"L_EMAIL" => $lang['Email'], 'L_EMAIL' => $lang['Email'],
"L_NOTICE" => $notice, 'L_NOTICE' => $notice,
"S_USER_ACTION" => append_sid('admin_mass_email.'.$phpEx), 'S_USER_ACTION' => append_sid('admin_mass_email.'.$phpEx),
"S_GROUP_SELECT" => $select_list) 'S_GROUP_SELECT' => $select_list)
); );
$template->pparse('body'); $template->pparse('body');

View file

@ -28,27 +28,16 @@ if ( !defined('IN_PHPBB') )
// //
// Show the overall footer. // Show the overall footer.
// //
$current_time = time();
$template->set_filenames(array( $template->set_filenames(array(
"page_footer" => "admin/page_footer.tpl") 'page_footer' => 'admin/page_footer.tpl')
); );
$template->assign_vars(array( $template->assign_vars(array(
"PHPBB_VERSION" => "2.0 " . $board_config['version'], 'PHPBB_VERSION' => '2' . $board_config['version'],
"TRANSLATION_INFO" => $lang['TRANSLATION_INFO']) 'TRANSLATION_INFO' => $lang['TRANSLATION_INFO'])
); );
$template->pparse("page_footer"); $template->pparse('page_footer');
//
// Output page creation time
//
$mtime = microtime();
$mtime = explode(" ",$mtime);
$mtime = $mtime[1] + $mtime[0];
$endtime = $mtime;
$totaltime = ($endtime - $starttime);
// //
// Close our DB connection. // Close our DB connection.
@ -73,10 +62,10 @@ if( $do_gzip_compress )
$gzip_contents = gzcompress($gzip_contents, 9); $gzip_contents = gzcompress($gzip_contents, 9);
$gzip_contents = substr($gzip_contents, 0, strlen($gzip_contents) - 4); $gzip_contents = substr($gzip_contents, 0, strlen($gzip_contents) - 4);
echo "\x1f\x8b\x08\x00\x00\x00\x00\x00"; echo '\x1f\x8b\x08\x00\x00\x00\x00\x00';
echo $gzip_contents; echo $gzip_contents;
echo pack("V", $gzip_crc); echo pack('V', $gzip_crc);
echo pack("V", $gzip_size); echo pack('V', $gzip_size);
} }
exit; exit;

View file

@ -29,71 +29,28 @@ error_reporting (E_ERROR | E_WARNING | E_PARSE); // This will NOT report uninit
set_magic_quotes_runtime(0); // Disable magic_quotes_runtime set_magic_quotes_runtime(0); // Disable magic_quotes_runtime
// //
// addslashes to vars if magic_quotes_gpc is off // addslashes to vars if magic_quotes_gpc is off this is a security precaution
// this is a security precaution to prevent someone // to prevent someone trying to break out of a SQL statement.
// trying to break out of a SQL statement.
// //
if( !get_magic_quotes_gpc() ) function slash_input_data(&$data)
{ {
if( is_array($HTTP_GET_VARS) ) if ( is_array($data) )
{ {
while( list($k, $v) = each($HTTP_GET_VARS) ) while( list($k, $v) = each($data) )
{ {
if( is_array($HTTP_GET_VARS[$k]) ) $data[$k] = ( is_array($v) ) ? slash_input_data($v) : addslashes($v);
{
while( list($k2, $v2) = each($HTTP_GET_VARS[$k]) )
{
$HTTP_GET_VARS[$k][$k2] = addslashes($v2);
}
@reset($HTTP_GET_VARS[$k]);
}
else
{
$HTTP_GET_VARS[$k] = addslashes($v);
}
}
@reset($HTTP_GET_VARS);
} }
if( is_array($HTTP_POST_VARS) ) @reset($data);
{
while( list($k, $v) = each($HTTP_POST_VARS) )
{
if( is_array($HTTP_POST_VARS[$k]) )
{
while( list($k2, $v2) = each($HTTP_POST_VARS[$k]) )
{
$HTTP_POST_VARS[$k][$k2] = addslashes($v2);
}
@reset($HTTP_POST_VARS[$k]);
}
else
{
$HTTP_POST_VARS[$k] = addslashes($v);
}
}
@reset($HTTP_POST_VARS);
} }
return $data;
}
if( is_array($HTTP_COOKIE_VARS) ) if ( !get_magic_quotes_gpc() )
{ {
while( list($k, $v) = each($HTTP_COOKIE_VARS) ) $HTTP_GET_VARS = slash_input_data($HTTP_GET_VARS);
{ $HTTP_POST_VARS = slash_input_data($HTTP_POST_VARS);
if( is_array($HTTP_COOKIE_VARS[$k]) ) $HTTP_COOKIE_VARS = slash_input_data($HTTP_COOKIE_VARS);
{
while( list($k2, $v2) = each($HTTP_COOKIE_VARS[$k]) )
{
$HTTP_COOKIE_VARS[$k][$k2] = addslashes($v2);
}
@reset($HTTP_COOKIE_VARS[$k]);
}
else
{
$HTTP_COOKIE_VARS[$k] = addslashes($v);
}
}
@reset($HTTP_COOKIE_VARS);
}
} }
// //
@ -101,26 +58,213 @@ if( !get_magic_quotes_gpc() )
// malicious rewriting of language and otherarray values via // malicious rewriting of language and otherarray values via
// URI params // URI params
// //
$board_config = Array(); $board_config = array();
$userdata = Array(); $userdata = array();
$theme = Array(); $theme = array();
$images = Array(); $images = array();
$lang = Array(); $lang = array();
$gen_simple_header = FALSE; $gen_simple_header = FALSE;
@include($phpbb_root_path . 'config.'.$phpEx); require($phpbb_root_path . 'config.'.$phpEx);
if( !defined("PHPBB_INSTALLED") ) if( !defined("PHPBB_INSTALLED") )
{ {
header("Location: install.$phpEx"); header("Location: install.$phpEx");
} }
include($phpbb_root_path . 'includes/constants.'.$phpEx); // Debug Level
define('DEBUG', 1); // Debugging on
//define('DEBUG', 0); // Debugging off
// User Levels <- Do not change the values of USER or ADMIN
define('ANONYMOUS', -1);
define('USER', 0);
define('ADMIN', 1);
define('MOD', 2);
// User related
define('USER_ACTIVATION_NONE', 0);
define('USER_ACTIVATION_SELF', 1);
define('USER_ACTIVATION_ADMIN', 2);
define('USER_AVATAR_NONE', 0);
define('USER_AVATAR_UPLOAD', 1);
define('USER_AVATAR_REMOTE', 2);
define('USER_AVATAR_GALLERY', 3);
// Group settings
define('GROUP_OPEN', 0);
define('GROUP_CLOSED', 1);
define('GROUP_HIDDEN', 2);
// Forum state
define('FORUM_UNLOCKED', 0);
define('FORUM_LOCKED', 1);
// Topic status
define('TOPIC_UNLOCKED', 0);
define('TOPIC_LOCKED', 1);
define('TOPIC_MOVED', 2);
define('TOPIC_WATCH_NOTIFIED', 1);
define('TOPIC_WATCH_UN_NOTIFIED', 0);
// Topic types
define('POST_NORMAL', 0);
define('POST_STICKY', 1);
define('POST_ANNOUNCE', 2);
define('POST_GLOBAL_ANNOUNCE', 3);
// SQL codes
define('BEGIN_TRANSACTION', 1);
define('END_TRANSACTION', 2);
// Error codes
define('GENERAL_MESSAGE', 200);
define('GENERAL_ERROR', 202);
define('CRITICAL_MESSAGE', 203);
define('CRITICAL_ERROR', 204);
// Private messaging
define('PRIVMSGS_READ_MAIL', 0);
define('PRIVMSGS_NEW_MAIL', 1);
define('PRIVMSGS_SENT_MAIL', 2);
define('PRIVMSGS_SAVED_IN_MAIL', 3);
define('PRIVMSGS_SAVED_OUT_MAIL', 4);
define('PRIVMSGS_UNREAD_MAIL', 5);
// URL PARAMETERS
define('POST_TOPIC_URL', 't');
define('POST_CAT_URL', 'c');
define('POST_FORUM_URL', 'f');
define('POST_USERS_URL', 'u');
define('POST_POST_URL', 'p');
define('POST_GROUPS_URL', 'g');
// Session parameters
define('SESSION_METHOD_COOKIE', 100);
define('SESSION_METHOD_GET', 101);
// Page numbers for session handling
define('PAGE_INDEX', 0);
define('PAGE_LOGIN', -1);
define('PAGE_SEARCH', -2);
define('PAGE_REGISTER', -3);
define('PAGE_PROFILE', -4);
define('PAGE_VIEWONLINE', -6);
define('PAGE_VIEWMEMBERS', -7);
define('PAGE_FAQ', -8);
define('PAGE_POSTING', -9);
define('PAGE_PRIVMSGS', -10);
define('PAGE_GROUPCP', -11);
define('PAGE_TOPIC_OFFSET', 5000);
// Auth settings
define('AUTH_LIST_ALL', 0);
define('AUTH_ALL', 0);
define('AUTH_REG', 1);
define('AUTH_ACL', 2);
define('AUTH_MOD', 3);
define('AUTH_ADMIN', 5);
define('AUTH_VIEW', 1);
define('AUTH_READ', 2);
define('AUTH_POST', 3);
define('AUTH_REPLY', 4);
define('AUTH_EDIT', 5);
define('AUTH_DELETE', 6);
define('AUTH_ANNOUNCE', 7);
define('AUTH_STICKY', 8);
define('AUTH_POLLCREATE', 9);
define('AUTH_VOTE', 10);
define('AUTH_ATTACH', 11);
// Table names
define('AUTH_ACCESS_TABLE', $table_prefix.'auth_access');
define('BANLIST_TABLE', $table_prefix.'banlist');
define('CATEGORIES_TABLE', $table_prefix.'categories');
define('CONFIG_TABLE', $table_prefix.'config');
define('DISALLOW_TABLE', $table_prefix.'disallow');
define('FORUMS_TABLE', $table_prefix.'forums');
define('GROUPS_TABLE', $table_prefix.'groups');
define('POSTS_TABLE', $table_prefix.'posts');
define('POSTS_TEXT_TABLE', $table_prefix.'posts_text');
define('PRIVMSGS_TABLE', $table_prefix.'privmsgs');
define('PRIVMSGS_TEXT_TABLE', $table_prefix.'privmsgs_text');
define('PRIVMSGS_IGNORE_TABLE', $table_prefix.'privmsgs_ignore');
define('PRUNE_TABLE', $table_prefix.'forum_prune');
define('RANKS_TABLE', $table_prefix.'ranks');
define('SEARCH_TABLE', $table_prefix.'search_results');
define('SEARCH_WORD_TABLE', $table_prefix.'search_wordlist');
define('SEARCH_MATCH_TABLE', $table_prefix.'search_wordmatch');
define('SESSIONS_TABLE', $table_prefix.'sessions');
define('SMILIES_TABLE', $table_prefix.'smilies');
define('THEMES_TABLE', $table_prefix.'themes');
define('THEMES_NAME_TABLE', $table_prefix.'themes_name');
define('TOPICS_TABLE', $table_prefix.'topics');
define('TOPICS_WATCH_TABLE', $table_prefix.'topics_watch');
define('USER_GROUP_TABLE', $table_prefix.'user_group');
define('USERS_TABLE', $table_prefix.'users');
define('WORDS_TABLE', $table_prefix.'words');
define('VOTE_DESC_TABLE', $table_prefix.'vote_desc');
define('VOTE_RESULTS_TABLE', $table_prefix.'vote_results');
define('VOTE_USERS_TABLE', $table_prefix.'vote_voters');
include($phpbb_root_path . 'includes/template.'.$phpEx); include($phpbb_root_path . 'includes/template.'.$phpEx);
include($phpbb_root_path . 'includes/sessions.'.$phpEx); include($phpbb_root_path . 'includes/sessions.'.$phpEx);
include($phpbb_root_path . 'includes/auth.'.$phpEx); include($phpbb_root_path . 'includes/auth.'.$phpEx);
include($phpbb_root_path . 'includes/functions.'.$phpEx); include($phpbb_root_path . 'includes/functions.'.$phpEx);
include($phpbb_root_path . 'includes/db.'.$phpEx);
switch($dbms)
{
case 'mysql':
include($phpbb_root_path . 'db/mysql.'.$phpEx);
break;
case 'mysql4':
include($phpbb_root_path . 'db/mysql4.'.$phpEx);
break;
case 'postgres':
include($phpbb_root_path . 'db/postgres7.'.$phpEx);
break;
case 'mssql':
include($phpbb_root_path . 'db/mssql.'.$phpEx);
break;
case 'oracle':
include($phpbb_root_path . 'db/oracle.'.$phpEx);
break;
case 'msaccess':
include($phpbb_root_path . 'db/msaccess.'.$phpEx);
break;
case 'mssql-odbc':
include($phpbb_root_path . 'db/mssql-odbc.'.$phpEx);
break;
}
// Make the database connection.
$db = new sql_db($dbhost, $dbuser, $dbpasswd, $dbname, false);
if ( !$db->db_connect_id )
{
message_die(CRITICAL_ERROR, "Could not connect to the database");
}
// //
// Mozilla navigation bar // Mozilla navigation bar
@ -170,22 +314,20 @@ $user_ip = encode_ip($client_ip);
// //
$sql = "SELECT * $sql = "SELECT *
FROM " . CONFIG_TABLE; FROM " . CONFIG_TABLE;
if(!$result = $db->sql_query($sql)) if ( !($result = $db->sql_query($sql)) )
{ {
message_die(CRITICAL_ERROR, "Could not query config information", "", __LINE__, __FILE__, $sql); message_die(CRITICAL_ERROR, 'Could not query config information', '', __LINE__, __FILE__, $sql);
} }
else
while($row = $db->sql_fetchrow($result))
{ {
while($row = $db->sql_fetchrow($result))
{
$board_config[$row['config_name']] = $row['config_value']; $board_config[$row['config_name']] = $row['config_value'];
}
} }
// //
// Show 'Board is disabled' message if needed. // Show 'Board is disabled' message if needed.
// //
if( $board_config['board_disable'] && !defined("IN_ADMIN") && !defined("IN_LOGIN") ) if ( $board_config['board_disable'] && !defined('IN_ADMIN') && !defined('IN_LOGIN') )
{ {
message_die(GENERAL_MESSAGE, 'Board_disable', 'Information'); message_die(GENERAL_MESSAGE, 'Board_disable', 'Information');
} }

View file

@ -67,7 +67,7 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('record_online_user
INSERT INTO phpbb_config (config_name, config_value) VALUES ('server_name', 'www.yourdomain.tld'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('server_name', 'www.yourdomain.tld');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('server_port', '80'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('server_port', '80');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('script_path', '/phpBB2/'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('script_path', '/phpBB2/');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '.1.0 [20020402]'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '.1.0 [20020420]');
/* /*
-- Categories -- Categories

View file

@ -318,7 +318,7 @@ CREATE TABLE [phpbb_users] (
[user_regdate] [int] NOT NULL , [user_regdate] [int] NOT NULL ,
[user_level] [smallint] NOT NULL , [user_level] [smallint] NOT NULL ,
[user_posts] [int] NOT NULL , [user_posts] [int] NOT NULL ,
[user_timezone] [real] NOT NULL , [user_timezone] [decimal] (4,2) NOT NULL ,
[user_style] [int] NULL , [user_style] [int] NULL ,
[user_lang] [varchar] (255) NULL , [user_lang] [varchar] (255) NULL ,
[user_dateformat] [varchar] (14) NOT NULL , [user_dateformat] [varchar] (14) NOT NULL ,

View file

@ -60,7 +60,7 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('record_online_date
INSERT INTO phpbb_config (config_name, config_value) VALUES ('server_name', 'www.myserver.tld'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('server_name', 'www.myserver.tld');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('server_port', '80'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('server_port', '80');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('script_path', '/phpBB2/'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('script_path', '/phpBB2/');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '.1.0 [20020402]'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '.1.0 [20020420]');
# -- Categories # -- Categories

View file

@ -463,7 +463,7 @@ CREATE TABLE phpbb_users (
user_regdate int(11) DEFAULT '0' NOT NULL, user_regdate int(11) DEFAULT '0' NOT NULL,
user_level tinyint(4) DEFAULT '0', user_level tinyint(4) DEFAULT '0',
user_posts mediumint(8) UNSIGNED DEFAULT '0' NOT NULL, user_posts mediumint(8) UNSIGNED DEFAULT '0' NOT NULL,
user_timezone float DEFAULT '0' NOT NULL, user_timezone decimal(4,2) DEFAULT '0' NOT NULL,
user_style tinyint(4), user_style tinyint(4),
user_lang varchar(255), user_lang varchar(255),
user_dateformat varchar(14) DEFAULT 'd M Y H:i' NOT NULL, user_dateformat varchar(14) DEFAULT 'd M Y H:i' NOT NULL,

View file

@ -61,7 +61,7 @@ INSERT INTO phpbb_config (config_name, config_value) VALUES ('record_online_date
INSERT INTO phpbb_config (config_name, config_value) VALUES ('server_name', 'www.yourdomain.tld'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('server_name', 'www.yourdomain.tld');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('server_port', '80'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('server_port', '80');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('script_path', '/phpBB2/'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('script_path', '/phpBB2/');
INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '.1.0 [20020402]'); INSERT INTO phpbb_config (config_name, config_value) VALUES ('version', '.1.0 [20020420]');
-- Categories -- Categories
INSERT INTO phpbb_categories (cat_id, cat_title, cat_order) VALUES (1, 'Test category 1', 10); INSERT INTO phpbb_categories (cat_id, cat_title, cat_order) VALUES (1, 'Test category 1', 10);

View file

@ -478,7 +478,7 @@ CREATE TABLE phpbb_users (
user_avatar_type int2 DEFAULT '0' NOT NULL, user_avatar_type int2 DEFAULT '0' NOT NULL,
user_level int4 DEFAULT '1', user_level int4 DEFAULT '1',
user_lang varchar(255), user_lang varchar(255),
user_timezone real DEFAULT '0' NOT NULL, user_timezone decimal(4) DEFAULT '0' NOT NULL,
user_dateformat varchar(14) DEFAULT 'd M Y H:m' NOT NULL, user_dateformat varchar(14) DEFAULT 'd M Y H:m' NOT NULL,
user_notify_pm int2 DEFAULT '1' NOT NULL, user_notify_pm int2 DEFAULT '1' NOT NULL,
user_popup_pm int2 DEFAULT '0' NOT NULL, user_popup_pm int2 DEFAULT '0' NOT NULL,

View file

@ -29,7 +29,7 @@ include($phpbb_root_path . 'common.'.$phpEx);
// //
function generate_user_info(&$row, $date_format, $group_mod, &$from, &$posts, &$joined, &$poster_avatar, &$profile_img, &$profile, &$search_img, &$search, &$pm_img, &$pm, &$email_img, &$email, &$www_img, &$www, &$icq_status_img, &$icq_img, &$icq, &$aim_img, &$aim, &$msn_img, &$msn, &$yim_img, &$yim) function generate_user_info(&$row, $date_format, $group_mod, &$from, &$posts, &$joined, &$poster_avatar, &$profile_img, &$profile, &$search_img, &$search, &$pm_img, &$pm, &$email_img, &$email, &$www_img, &$www, &$icq_status_img, &$icq_img, &$icq, &$aim_img, &$aim, &$msn_img, &$msn, &$yim_img, &$yim)
{ {
global $lang, $images, $board_config; global $lang, $images, $board_config, $phpEx;
$from = ( !empty($row['user_from']) ) ? $row['user_from'] : '&nbsp;'; $from = ( !empty($row['user_from']) ) ? $row['user_from'] : '&nbsp;';
$joined = create_date($date_format, $row['user_regdate'], $board_config['board_timezone']); $joined = create_date($date_format, $row['user_regdate'], $board_config['board_timezone']);
@ -207,7 +207,7 @@ else if ( isset($HTTP_POST_VARS['joingroup']) && $group_id )
// //
if ( !$userdata['session_logged_in'] ) if ( !$userdata['session_logged_in'] )
{ {
header($header_location . ppend_sid("login.$phpEx?redirect=groupcp.$phpEx&" . POST_GROUPS_URL . "=$group_id", true)); header($header_location . append_sid("login.$phpEx?redirect=groupcp.$phpEx&" . POST_GROUPS_URL . "=$group_id", true));
} }
$sql = "SELECT ug.user_id, g.group_type $sql = "SELECT ug.user_id, g.group_type
@ -308,7 +308,7 @@ else if ( isset($HTTP_POST_VARS['unsub']) || isset($HTTP_POST_VARS['unsubpending
// //
if ( $cancel ) if ( $cancel )
{ {
header($header_location . ppend_sid("groupcp.$phpEx", true)); header($header_location . append_sid("groupcp.$phpEx", true));
} }
elseif ( !$userdata['session_logged_in'] ) elseif ( !$userdata['session_logged_in'] )
{ {
@ -913,6 +913,7 @@ else if ( $group_id )
'L_SELECT_SORT_METHOD' => $lang['Select_sort_method'], 'L_SELECT_SORT_METHOD' => $lang['Select_sort_method'],
'L_PM' => $lang['Private_Message'], 'L_PM' => $lang['Private_Message'],
'L_EMAIL' => $lang['Email'], 'L_EMAIL' => $lang['Email'],
'L_POSTS' => $lang['Posts'],
'L_WEBSITE' => $lang['Website'], 'L_WEBSITE' => $lang['Website'],
'L_FROM' => $lang['Location'], 'L_FROM' => $lang['Location'],
'L_ORDER' => $lang['Order'], 'L_ORDER' => $lang['Order'],

View file

@ -251,7 +251,7 @@ function bbencode_first_pass($text, $uid)
// [QUOTE] and [/QUOTE] for posting replies with quote, or just for quoting stuff. // [QUOTE] and [/QUOTE] for posting replies with quote, or just for quoting stuff.
$text = bbencode_first_pass_pda($text, $uid, '[quote]', '[/quote]', '', false, ''); $text = bbencode_first_pass_pda($text, $uid, '[quote]', '[/quote]', '', false, '');
$text = bbencode_first_pass_pda($text, $uid, '/\[quote=(\\\\".*?\\\\")\]/is', '[/quote]', '', false, '', "[quote:$uid=\\1]"); $text = bbencode_first_pass_pda($text, $uid, '/\[quote=(\\\\"[^"]*?\\\\")\]/is', '[/quote]', '', false, '', "[quote:$uid=\\1]");
// [list] and [list=x] for (un)ordered lists. // [list] and [list=x] for (un)ordered lists.
$open_tag = array(); $open_tag = array();
@ -433,7 +433,13 @@ function bbencode_first_pass_pda($text, $uid, $open_tag, $close_tag, $close_tag_
// Push its position, the text we matched, and its index in the open_tag array on to the stack, and then keep going to the right. // Push its position, the text we matched, and its index in the open_tag array on to the stack, and then keep going to the right.
$match = array("pos" => $curr_pos, "tag" => $which_start_tag, "index" => $start_tag_index); $match = array("pos" => $curr_pos, "tag" => $which_start_tag, "index" => $start_tag_index);
bbcode_array_push($stack, $match); bbcode_array_push($stack, $match);
++$curr_pos; //
// Rather than just increment $curr_pos
// Set it to the ending of the tag we just found
// Keeps error in nested tag from breaking out
// of table structure..
//
$curr_pos = $curr_pos + strlen($possible_start);
} }
else else
{ {

View file

@ -178,17 +178,7 @@ class emailer
// //
function send() function send()
{ {
global $phpEx, $phpbb_root_dir; global $phpEx, $phpbb_root_path;
if (isset($phpbb_root_dir))
{
// we must be in the admin section.
$phpbb_root_path = $phpbb_root_dir;
}
else
{
$phpbb_root_path = "./";
}
if ($this->address == NULL) if ($this->address == NULL)
{ {

View file

@ -491,7 +491,7 @@ function obtain_word_list(&$orig_word, &$replacement_word)
// //
function message_die($msg_code, $msg_text = '', $msg_title = '', $err_line = '', $err_file = '', $sql = '') function message_die($msg_code, $msg_text = '', $msg_title = '', $err_line = '', $err_file = '', $sql = '')
{ {
global $db, $template, $board_config, $theme, $lang, $phpEx, $phpbb_root_path, $nav_links; global $db, $template, $board_config, $theme, $lang, $phpEx, $phpbb_root_path, $nav_links, $gen_simple_header;
global $userdata, $user_ip, $session_length; global $userdata, $user_ip, $session_length;
global $starttime; global $starttime;

View file

@ -22,7 +22,7 @@
if ( !defined('IN_PHPBB') ) if ( !defined('IN_PHPBB') )
{ {
die("Hacking attempt"); die('Hacking attempt');
} }
$html_entities_match = array('#&#', '#<#', '#>#'); $html_entities_match = array('#&#', '#<#', '#>#');
@ -380,7 +380,7 @@ function update_post_stats(&$mode, &$post_data, &$forum_id, &$topic_id, &$post_i
{ {
global $db; global $db;
$sign = ( $mode == 'delete' ) ? "- 1" : "+ 1"; $sign = ( $mode == 'delete' ) ? '- 1' : '+ 1';
$forum_update_sql = "forum_posts = forum_posts $sign"; $forum_update_sql = "forum_posts = forum_posts $sign";
$topic_update_sql = ''; $topic_update_sql = '';
@ -395,7 +395,7 @@ function update_post_stats(&$mode, &$post_data, &$forum_id, &$topic_id, &$post_i
else else
{ {
$topic_update_sql = "topic_replies = topic_replies - 1"; $topic_update_sql .= "topic_replies = topic_replies - 1";
$sql = "SELECT MAX(post_id) AS post_id $sql = "SELECT MAX(post_id) AS post_id
FROM " . POSTS_TABLE . " FROM " . POSTS_TABLE . "
@ -439,9 +439,13 @@ function update_post_stats(&$mode, &$post_data, &$forum_id, &$topic_id, &$post_i
if ( $row = $db->sql_fetchrow($result) ) if ( $row = $db->sql_fetchrow($result) )
{ {
$topic_update_sql = 'topic_replies = topic_replies - 1, topic_first_post_id = ' . $row['post_id']; $topic_update_sql .= 'topic_replies = topic_replies - 1, topic_first_post_id = ' . $row['post_id'];
} }
} }
else
{
$topic_update_sql .= 'topic_replies = topic_replies - 1';
}
} }
else if ( $mode != 'poll_delete' ) else if ( $mode != 'poll_delete' )
{ {

View file

@ -428,7 +428,9 @@ function remove_search_post($post_id_sql)
function username_search($search_match) function username_search($search_match)
{ {
global $db, $board_config, $template, $lang, $images, $theme, $phpEx, $phpbb_root_path; global $db, $board_config, $template, $lang, $images, $theme, $phpEx, $phpbb_root_path;
global $starttime; global $starttime, $gen_simple_header;
$gen_simple_header = TRUE;
$username_list = ''; $username_list = '';
if ( !empty($search_match) ) if ( !empty($search_match) )
@ -459,7 +461,6 @@ function username_search($search_match)
$db->sql_freeresult($result); $db->sql_freeresult($result);
} }
$gen_simple_header = TRUE;
$page_title = $lang['Search']; $page_title = $lang['Search'];
include($phpbb_root_path . 'includes/page_header.'.$phpEx); include($phpbb_root_path . 'includes/page_header.'.$phpEx);

View file

@ -63,7 +63,7 @@ function validate_username($username)
{ {
while( $row = $db->sql_fetchrow($result) ) while( $row = $db->sql_fetchrow($result) )
{ {
if ( preg_match("#\b(" . str_replace("\*", "\w*?", preg_quote($row['disallow_username'])) . ")\b#i", $username) ) if ( preg_match("#\b(" . str_replace("\*", ".*?", preg_quote($row['disallow_username'])) . ")\b#i", $username) )
{ {
return array('error' => true, 'error_msg' => $lang['Username_disallowed']); return array('error' => true, 'error_msg' => $lang['Username_disallowed']);
} }
@ -76,7 +76,7 @@ function validate_username($username)
{ {
while( $row = $db->sql_fetchrow($result) ) while( $row = $db->sql_fetchrow($result) )
{ {
if ( preg_match("#\b(" . str_replace("\*", "\w*?", preg_quote($row['word'])) . ")\b#i", $username) ) if ( preg_match("#\b(" . str_replace("\*", ".*?", preg_quote($row['word'])) . ")\b#i", $username) )
{ {
return array('error' => true, 'error_msg' => $lang['Username_disallowed']); return array('error' => true, 'error_msg' => $lang['Username_disallowed']);
} }
@ -102,7 +102,7 @@ function validate_email($email)
if ( $email != '' ) if ( $email != '' )
{ {
if ( preg_match('/^[a-z0-9\.\-_]+@[a-z0-9\-_]+\.([a-z0-9\-_]+\.)*?[a-z]+$/is', $email) ) if ( preg_match('/^[a-z0-9\.\-_\+]+@[a-z0-9\-_]+\.([a-z0-9\-_]+\.)*?[a-z]+$/is', $email) )
{ {
$sql = "SELECT ban_email $sql = "SELECT ban_email
FROM " . BANLIST_TABLE; FROM " . BANLIST_TABLE;
@ -110,7 +110,7 @@ function validate_email($email)
{ {
while( $row = $db->sql_fetchrow($result) ) while( $row = $db->sql_fetchrow($result) )
{ {
$match_email = str_replace('*', '.*', $row['ban_email']); $match_email = str_replace('*', '.*?', $row['ban_email']);
if ( preg_match('/^' . $match_email . '$/is', $email) ) if ( preg_match('/^' . $match_email . '$/is', $email) )
{ {
return array('error' => true, 'error_msg' => $lang['Email_banned']); return array('error' => true, 'error_msg' => $lang['Email_banned']);

View file

@ -85,13 +85,11 @@ $s_last_visit = ( $userdata['session_logged_in'] ) ? create_date($board_config['
// Get basic (usernames + totals) online // Get basic (usernames + totals) online
// situation // situation
// //
$user_forum_sql = ( !empty($forum_id) ) ? "AND ( u.user_session_page = $forum_id $user_forum_sql = ( !empty($forum_id) ) ? "AND s.session_page = $forum_id" : '';
OR s.session_page = $forum_id)" : '';
$sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip $sql = "SELECT u.username, u.user_id, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_ip
FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s
WHERE u.user_id = s.session_user_id WHERE u.user_id = s.session_user_id
AND ( s.session_time >= ".( time() - 300 ) . " AND s.session_time >= ".( time() - 300 ) . "
OR u.user_session_time >= " . ( time() - 300 ) . " )
$user_forum_sql $user_forum_sql
ORDER BY u.username ASC, s.session_ip ASC"; ORDER BY u.username ASC, s.session_ip ASC";
if( !($result = $db->sql_query($sql)) ) if( !($result = $db->sql_query($sql)) )
@ -364,6 +362,8 @@ $template->assign_vars(array(
'L_SEARCH_SELF' => $lang['Search_your_posts'], 'L_SEARCH_SELF' => $lang['Search_your_posts'],
'L_WHOSONLINE_ADMIN' => sprintf($lang['Admin_online_color'], '<span style="color:#' . $theme['fontcolor3'] . '">', '</span>'), 'L_WHOSONLINE_ADMIN' => sprintf($lang['Admin_online_color'], '<span style="color:#' . $theme['fontcolor3'] . '">', '</span>'),
'L_WHOSONLINE_MOD' => sprintf($lang['Mod_online_color'], '<span style="color:#' . $theme['fontcolor2'] . '">', '</span>'), 'L_WHOSONLINE_MOD' => sprintf($lang['Mod_online_color'], '<span style="color:#' . $theme['fontcolor2'] . '">', '</span>'),
'L_WHOSONLINE_USER' => sprintf($lang['User_online_color'], '<span style="color:#' . $theme['fontcolor1'] . '">', '</span>'),
'L_LEGEND' => $lang['Legend'],
'U_SEARCH_UNANSWERED' => append_sid('search.'.$phpEx.'?search_id=unanswered'), 'U_SEARCH_UNANSWERED' => append_sid('search.'.$phpEx.'?search_id=unanswered'),
'U_SEARCH_SELF' => append_sid('search.'.$phpEx.'?search_id=egosearch'), 'U_SEARCH_SELF' => append_sid('search.'.$phpEx.'?search_id=egosearch'),
@ -386,7 +386,7 @@ $template->assign_vars(array(
'S_CONTENT_ENCODING' => $lang['ENCODING'], 'S_CONTENT_ENCODING' => $lang['ENCODING'],
'S_CONTENT_DIR_LEFT' => $lang['LEFT'], 'S_CONTENT_DIR_LEFT' => $lang['LEFT'],
'S_CONTENT_DIR_RIGHT' => $lang['RIGHT'], 'S_CONTENT_DIR_RIGHT' => $lang['RIGHT'],
'S_TIMEZONE' => sprintf($lang['All_times'], $lang[$board_config['board_timezone']]), 'S_TIMEZONE' => sprintf($lang['All_times'], $lang[number_format($board_config['board_timezone'])]),
'S_LOGIN_ACTION' => append_sid('login.'.$phpEx), 'S_LOGIN_ACTION' => append_sid('login.'.$phpEx),
'T_HEAD_STYLESHEET' => $theme['head_stylesheet'], 'T_HEAD_STYLESHEET' => $theme['head_stylesheet'],

View file

@ -20,8 +20,6 @@
* *
***************************************************************************/ ***************************************************************************/
//
// session_begin()
// //
// Adds/updates a new session to the database for the given userid. // Adds/updates a new session to the database for the given userid.
// Returns the new session ID on success. // Returns the new session ID on success.
@ -54,8 +52,7 @@ function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_a
$expiry_time = $current_time - $board_config['session_length']; $expiry_time = $current_time - $board_config['session_length'];
// //
// Try and pull the last time stored // Try and pull the last time stored in a cookie, if it exists
// in a cookie, if it exists
// //
$sql = "SELECT * $sql = "SELECT *
FROM " . USERS_TABLE . " FROM " . USERS_TABLE . "
@ -81,8 +78,6 @@ function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_a
// autologinid matches password // autologinid matches password
$login = 1; $login = 1;
$enable_autologin = 1; $enable_autologin = 1;
$last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time;
} }
else else
{ {
@ -102,7 +97,6 @@ function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_a
} }
else else
{ {
$last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time;
$login = 1; $login = 1;
} }
} }
@ -146,27 +140,29 @@ function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_a
SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login SET session_user_id = $user_id, session_start = $current_time, session_time = $current_time, session_page = $page_id, session_logged_in = $login
WHERE session_id = '" . $session_id . "' WHERE session_id = '" . $session_id . "'
AND session_ip = '$user_ip'"; AND session_ip = '$user_ip'";
if ( !($result = $db->sql_query($sql)) || !$db->sql_affectedrows() ) if ( !$db->sql_query($sql) || !$db->sql_affectedrows() )
{ {
$session_id = md5(uniqid($user_ip)); $session_id = md5(uniqid($user_ip));
$sql = "INSERT INTO " . SESSIONS_TABLE . " $sql = "INSERT INTO " . SESSIONS_TABLE . "
(session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in) (session_id, session_user_id, session_start, session_time, session_ip, session_page, session_logged_in)
VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login)"; VALUES ('$session_id', $user_id, $current_time, $current_time, '$user_ip', $page_id, $login)";
if ( !($result = $db->sql_query($sql)) ) if ( !$db->sql_query($sql) )
{ {
message_die(CRITICAL_ERROR, 'Error creating new session : session_begin', '', __LINE__, __FILE__, $sql); message_die(CRITICAL_ERROR, 'Error creating new session', '', __LINE__, __FILE__, $sql);
} }
} }
if ( $user_id != ANONYMOUS ) if ( $user_id != ANONYMOUS )
{ {// ( $userdata['user_session_time'] > $expiry_time && $auto_create ) ? $userdata['user_lastvisit'] : (
$last_visit = ( $userdata['user_session_time'] > 0 ) ? $userdata['user_session_time'] : $current_time;
$sql = "UPDATE " . USERS_TABLE . " $sql = "UPDATE " . USERS_TABLE . "
SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit SET user_session_time = $current_time, user_session_page = $page_id, user_lastvisit = $last_visit
WHERE user_id = $user_id"; WHERE user_id = $user_id";
if ( !$db->sql_query($sql) ) if ( !$db->sql_query($sql) )
{ {
message_die(CRITICAL_ERROR, 'Error updating last visit time : session_begin', '', __LINE__, __FILE__, $sql); message_die(CRITICAL_ERROR, 'Error updating last visit time', '', __LINE__, __FILE__, $sql);
} }
$userdata['user_lastvisit'] = $last_visit; $userdata['user_lastvisit'] = $last_visit;
@ -185,8 +181,6 @@ function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_a
setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure); setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure); setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);
// header('Set-cookie: ' . $cookiename . '_data=' . urlencode(serialize($sessiondata)) . '; expires=' . gmdate("l, d-M-Y H:i:s", $current_time + 31536000) . ' GMT; domain=' . $cookiedomain . '; path=' . $cookiepath . $cookiesecure);
// header('Set-cookie: ' . $cookiename . '_sid=' . $session_id . '; domain=' . $cookiedomain . '; path=' . $cookiepath . $cookiesecure);
$SID = ( $sessionmethod == SESSION_METHOD_GET ) ? 'sid=' . $session_id : ''; $SID = ( $sessionmethod == SESSION_METHOD_GET ) ? 'sid=' . $session_id : '';
@ -194,8 +188,8 @@ function session_begin($user_id, $user_ip, $page_id, $auto_create = 0, $enable_a
} }
// //
// Checks for a given user session, tidies session // Checks for a given user session, tidies session table and updates user
// table and updates user sessions at each page refresh // sessions at each page refresh
// //
function session_pagestart($user_ip, $thispage_id) function session_pagestart($user_ip, $thispage_id)
{ {
@ -206,7 +200,6 @@ function session_pagestart($user_ip, $thispage_id)
$cookiepath = $board_config['cookie_path']; $cookiepath = $board_config['cookie_path'];
$cookiedomain = $board_config['cookie_domain']; $cookiedomain = $board_config['cookie_domain'];
$cookiesecure = $board_config['cookie_secure']; $cookiesecure = $board_config['cookie_secure'];
$cookiesecure = ( $board_config['cookie_secure'] ) ? '; secure' : '';
$current_time = time(); $current_time = time();
unset($userdata); unset($userdata);
@ -240,7 +233,7 @@ function session_pagestart($user_ip, $thispage_id)
AND s.session_ip = '$user_ip'"; AND s.session_ip = '$user_ip'";
if ( !($result = $db->sql_query($sql)) ) if ( !($result = $db->sql_query($sql)) )
{ {
message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch : session_pagestart', '', __LINE__, __FILE__, $sql); message_die(CRITICAL_ERROR, 'Error doing DB query userdata row fetch', '', __LINE__, __FILE__, $sql);
} }
$userdata = $db->sql_fetchrow($result); $userdata = $db->sql_fetchrow($result);
@ -255,32 +248,66 @@ function session_pagestart($user_ip, $thispage_id)
// //
// Only update session DB a minute or so after last update // Only update session DB a minute or so after last update
// //
$last_update = ( $userdata['user_id'] == ANONYMOUS ) ? $userdata['session_time'] : $userdata['user_session_time']; if ( $current_time - $userdata['session_time'] > 60 || $userdata['session_page'] != $thispage_id )
{
if ( $current_time - $last_update > 60 ) $sql = "UPDATE " . SESSIONS_TABLE . "
{ // || $userdata['user_session_page'] != $thispage_id SET session_time = $current_time, session_page = $thispage_id
$sql = ( $userdata['user_id'] == ANONYMOUS ) ? "UPDATE " . SESSIONS_TABLE . " SET session_time = $current_time, session_page = $thispage_id WHERE session_id = '" . $userdata['session_id'] . "' AND session_ip = '$user_ip'" : "UPDATE " . USERS_TABLE . " SET user_session_time = $current_time, user_session_page = $thispage_id WHERE user_id = " . $userdata['user_id']; WHERE session_id = '" . $userdata['session_id'] . "'
AND session_ip = '$user_ip'";
if ( !$db->sql_query($sql) ) if ( !$db->sql_query($sql) )
{ {
message_die(CRITICAL_ERROR, 'Error updating sessions table : session_pagestart', '', __LINE__, __FILE__, $sql); message_die(CRITICAL_ERROR, 'Error updating sessions table', '', __LINE__, __FILE__, $sql);
} }
if ( $current_time - $board_config['session_gc'] > $board_config['session_last_gc'] )
{
$sql = "SELECT *
FROM " . SESSIONS_TABLE . "
WHERE session_time < " . ( $current_time - $board_config['session_length'] ) . "
AND session_logged_in = 1";
if ( !($result = $db->sql_query($sql)) )
{
message_die(CRITICAL_ERROR, 'Could not obtain expired session list', '', __LINE__, __FILE__, $sql);
}
$del_session_id = '';
while ( $row = $db->sql_fetchrow($result) )
{
$sql = "UPDATE " . USERS_TABLE . "
SET user_lastvisit = " . $row['session_time'] . ", user_session_page = " . $row['session_page'] . "
WHERE user_id = " . $row['session_user_id'];
if ( !$db->sql_query($sql) )
{
message_die(CRITICAL_ERROR, 'Could not update user session info', '', __LINE__, __FILE__, $sql);
}
$del_session_id .= ( ( $del_session_id != '' ) ? ', ' : '' ) . '\'' . $row['session_id'] . '\'';
}
if ( $del_session_id != '' )
{
// //
// Delete expired sessions // Delete expired sessions
// //
$expiry_time = $current_time - $board_config['session_length'];
$sql = "DELETE FROM " . SESSIONS_TABLE . " $sql = "DELETE FROM " . SESSIONS_TABLE . "
WHERE session_time < $expiry_time WHERE session_id IN ($del_session_id)";
AND session_id <> '$session_id'"; if ( !$db->sql_query($sql) )
if ( !($result = $db->sql_query($sql)) )
{ {
message_die(CRITICAL_ERROR, 'Error clearing sessions table : session_pagestart', '', __LINE__, __FILE__, $sql); message_die(CRITICAL_ERROR, 'Error clearing sessions table', '', __LINE__, __FILE__, $sql);
}
}
echo $sql = "UPDATE " . CONFIG_TABLE . "
SET config_value = '$current_time'
WHERE config_name = 'session_last_gc'";
if ( !$db->sql_query($sql) )
{
message_die(CRITICAL_ERROR, 'Could not update session gc time', '', __LINE__, __FILE__, $sql);
}
} }
setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure); setcookie($cookiename . '_data', serialize($sessiondata), $current_time + 31536000, $cookiepath, $cookiedomain, $cookiesecure);
setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure); setcookie($cookiename . '_sid', $session_id, 0, $cookiepath, $cookiedomain, $cookiesecure);
// header('Set-cookie: ' . $cookiename . '_data=' . urlencode(serialize($sessiondata)) . '; expires=' . gmdate("l, d-M-Y H:i:s", $current_time + 31536000) . ' GMT; domain=' . $cookiedomain . '; path=' . $cookiepath . $cookiesecure);
// header('Set-cookie: ' . $cookiename . '_sid=' . $session_id . '; domain=' . $cookiedomain . '; path=' . $cookiepath . $cookiesecure);
} }
return $userdata; return $userdata;
@ -295,7 +322,7 @@ function session_pagestart($user_ip, $thispage_id)
if ( !($userdata = session_begin($user_id, $user_ip, $thispage_id, TRUE)) ) if ( !($userdata = session_begin($user_id, $user_ip, $thispage_id, TRUE)) )
{ {
message_die(CRITICAL_ERROR, 'Error creating user session : session_pagestart', '', __LINE__, __FILE__, $sql); message_die(CRITICAL_ERROR, 'Error creating user session', '', __LINE__, __FILE__, $sql);
} }
return $userdata; return $userdata;
@ -316,7 +343,6 @@ function session_end($session_id, $user_id)
$cookiepath = $board_config['cookie_path']; $cookiepath = $board_config['cookie_path'];
$cookiedomain = $board_config['cookie_domain']; $cookiedomain = $board_config['cookie_domain'];
$cookiesecure = $board_config['cookie_secure']; $cookiesecure = $board_config['cookie_secure'];
// $cookiesecure = ( $board_config['cookie_secure'] ) ? '; secure' : '';
// //
// Pull cookiedata or grab the URI propagated sid // Pull cookiedata or grab the URI propagated sid
@ -324,12 +350,10 @@ function session_end($session_id, $user_id)
if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) ) if ( isset($HTTP_COOKIE_VARS[$cookiename . '_sid']) )
{ {
$session_id = isset( $HTTP_COOKIE_VARS[$cookiename . '_sid'] ) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : ''; $session_id = isset( $HTTP_COOKIE_VARS[$cookiename . '_sid'] ) ? $HTTP_COOKIE_VARS[$cookiename . '_sid'] : '';
$sessionmethod = SESSION_METHOD_COOKIE;
} }
else else
{ {
$session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : ''; $session_id = ( isset($HTTP_GET_VARS['sid']) ) ? $HTTP_GET_VARS['sid'] : '';
$sessionmethod = SESSION_METHOD_GET;
} }
// //
@ -338,27 +362,19 @@ function session_end($session_id, $user_id)
$sql = "DELETE FROM " . SESSIONS_TABLE . " $sql = "DELETE FROM " . SESSIONS_TABLE . "
WHERE session_id = '$session_id' WHERE session_id = '$session_id'
AND session_user_id = $user_id"; AND session_user_id = $user_id";
if ( !($result = $db->sql_query($sql)) ) if ( !$db->sql_query($sql) )
{ {
message_die(CRITICAL_ERROR, 'Error removing user session : session_end', '', __LINE__, __FILE__, $sql); message_die(CRITICAL_ERROR, 'Error removing user session', '', __LINE__, __FILE__, $sql);
} }
setcookie($cookiename . '_data', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure); setcookie($cookiename . '_data', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure);
setcookie($cookiename . '_sid', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure); setcookie($cookiename . '_sid', '', $current_time - 31536000, $cookiepath, $cookiedomain, $cookiesecure);
// header('Set-cookie: ' . $cookiename . '_data=0; expires=' . gmdate("l, d-M-Y H:i:s", 0) . ' GMT; domain=' . $cookiedomain . '; path=' . $cookiepath. $cookiesecure);
// header('Set-cookie: ' . $cookiename . '_sid=0; expires=' . gmdate("l, d-M-Y H:i:s", 0) . ' GMT; domain=' . $cookiedomain . '; path=' . $cookiepath . $cookiesecure);
$SID = ( $sessionmethod == SESSION_METHOD_GET ) ? 'sid=' . $session_id : '';
return TRUE;
return true;
} }
// //
// Append $SID to a url. Borrowed from phplib and modified. This is an // Append $SID to a url. Borrowed from phplib and modified.
// extra routine utilised by the session code above and acts as a wrapper
// around every single URL and form action. If you replace the session
// code you must include this routine, even if it's empty.
// //
function append_sid($url, $non_html_amp = false) function append_sid($url, $non_html_amp = false)
{ {

View file

@ -233,7 +233,7 @@ function user_avatar_upload($mode, $avatar_mode, &$current_avatar, &$current_typ
return $avatar_sql; return $avatar_sql;
} }
function display_avatar_gallery($mode, &$category, &$user_id, &$email, &$current_email, &$coppa, &$username, &$email, &$icq, &$aim, &$msn, &$yim, &$website, &$location, &$occupation, &$interests, &$signature, &$viewemail, &$notifypm, &$popuppm, &$notifyreply, &$attachsig, &$allowhtml, &$allowbbcode, &$allowsmilies, &$allowviewonline, &$style, &$language, &$timezone, &$dateformat) function display_avatar_gallery($mode, &$category, &$user_id, &$email, &$current_email, &$coppa, &$username, &$email, &$icq, &$aim, &$msn, &$yim, &$website, &$location, &$occupation, &$interests, &$signature, &$viewemail, &$notifypm, &$popuppm, &$notifyreply, &$attachsig, &$allowhtml, &$allowbbcode, &$allowsmilies, &$hideonline, &$style, &$language, &$timezone, &$dateformat)
{ {
global $board_config, $db, $template, $lang, $images, $theme; global $board_config, $db, $template, $lang, $images, $theme;
global $phpbb_root_path, $phpEx; global $phpbb_root_path, $phpEx;
@ -309,7 +309,7 @@ function display_avatar_gallery($mode, &$category, &$user_id, &$email, &$current
} }
} }
$params = array('coppa', 'user_id', 'username', 'email', 'current_email', 'icq', 'aim', 'msn', 'yim', 'website', 'location', 'occupation', 'interests', 'signature', 'viewemail', 'notifypm', 'popuppm', 'notifyreply', 'attachsig', 'allowhtml', 'allowbbcode', 'allowsmilies', 'allowviewonline', 'style', 'language', 'timezone', 'dateformat'); $params = array('coppa', 'user_id', 'username', 'email', 'current_email', 'icq', 'aim', 'msn', 'yim', 'website', 'location', 'occupation', 'interests', 'signature', 'viewemail', 'notifypm', 'popuppm', 'notifyreply', 'attachsig', 'allowhtml', 'allowbbcode', 'allowsmilies', 'hideonline', 'style', 'language', 'timezone', 'dateformat');
$s_hidden_vars = '<input type="hidden" name="agreed" value="true" />'; $s_hidden_vars = '<input type="hidden" name="agreed" value="true" />';

View file

@ -27,12 +27,6 @@ if ( !defined('IN_PHPBB') )
exit; exit;
} }
if ( !$userdata['session_logged_in'] )
{
header('Location: ' . append_sid("login.$phpEx?redirect=profile.$phpEx&mode=email&" . POST_USERS_URL . "=$user_id", true));
exit;
}
if ( !empty($HTTP_GET_VARS[POST_USERS_URL]) || !empty($HTTP_POST_VARS[POST_USERS_URL]) ) if ( !empty($HTTP_GET_VARS[POST_USERS_URL]) || !empty($HTTP_POST_VARS[POST_USERS_URL]) )
{ {
$user_id = ( !empty($HTTP_GET_VARS[POST_USERS_URL]) ) ? $HTTP_GET_VARS[POST_USERS_URL] : $HTTP_POST_VARS[POST_USERS_URL]; $user_id = ( !empty($HTTP_GET_VARS[POST_USERS_URL]) ) ? $HTTP_GET_VARS[POST_USERS_URL] : $HTTP_POST_VARS[POST_USERS_URL];
@ -42,6 +36,12 @@ else
message_die(GENERAL_MESSAGE, $lang['No_user_specified']); message_die(GENERAL_MESSAGE, $lang['No_user_specified']);
} }
if ( !$userdata['session_logged_in'] )
{
header('Location: ' . append_sid("login.$phpEx?redirect=profile.$phpEx&mode=email&" . POST_USERS_URL . "=$user_id", true));
exit;
}
$sql = "SELECT username, user_email, user_viewemail, user_lang $sql = "SELECT username, user_email, user_viewemail, user_lang
FROM " . USERS_TABLE . " FROM " . USERS_TABLE . "
WHERE user_id = $user_id"; WHERE user_id = $user_id";

View file

@ -27,11 +27,11 @@ if ( !defined('IN_PHPBB') )
exit; exit;
} }
// // ---------------------------------------
// Load agreement template since user has not yet // Load agreement template since user has not yet
// agreed to registration conditions/coppa // agreed to registration conditions/coppa
// //
function show_coppa(&$coppa) function show_coppa()
{ {
global $template, $lang, $phpbb_root_path, $phpEx; global $template, $lang, $phpbb_root_path, $phpEx;
@ -40,7 +40,6 @@ function show_coppa(&$coppa)
); );
$template->assign_vars(array( $template->assign_vars(array(
'COPPA' => $coppa,
'REGISTRATION' => $lang['Registration'], 'REGISTRATION' => $lang['Registration'],
'AGREEMENT' => $lang['Reg_agreement'], 'AGREEMENT' => $lang['Reg_agreement'],
"AGREE_OVER_13" => $lang['Agree_over_13'], "AGREE_OVER_13" => $lang['Agree_over_13'],
@ -55,8 +54,7 @@ function show_coppa(&$coppa)
} }
// //
// // ---------------------------------------
//
$error = FALSE; $error = FALSE;
$page_title = ( $mode == 'editprofile' ) ? $lang['Edit_profile'] : $lang['Register']; $page_title = ( $mode == 'editprofile' ) ? $lang['Edit_profile'] : $lang['Register'];
@ -65,12 +63,12 @@ if ( $mode == 'register' && !isset($HTTP_POST_VARS['agreed']) && !isset($HTTP_GE
{ {
include($phpbb_root_path . 'includes/page_header.'.$phpEx); include($phpbb_root_path . 'includes/page_header.'.$phpEx);
show_coppa($coppa); show_coppa();
include($phpbb_root_path . 'includes/page_tail.'.$phpEx); include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
} }
$coppa = ( ( !$HTTP_POST_VARS['coppa'] && !$HTTP_GET_VARS['coppa'] ) || $mode == 'register' ) ? 0 : TRUE; $coppa = ( empty($HTTP_POST_VARS['coppa']) && empty($HTTP_GET_VARS['coppa']) ) ? 0 : TRUE;
// //
// Check and initialize some variables if needed // Check and initialize some variables if needed
@ -223,8 +221,6 @@ if ( isset($HTTP_POST_VARS['submit']) )
} }
else if ( $mode == 'register' ) else if ( $mode == 'register' )
{ {
$coppa = (!$HTTP_POST_VARS['coppa'] && !$HTTP_GET_VARS['coppa']) ? 0 : TRUE;
if ( empty($username) || empty($password) || empty($password_confirm) || empty($email) ) if ( empty($username) || empty($password) || empty($password_confirm) || empty($email) )
{ {
$error = TRUE; $error = TRUE;
@ -707,6 +703,8 @@ if( isset($HTTP_POST_VARS['avatargallery']) && !$error )
'body' => 'profile_avatar_gallery.tpl') 'body' => 'profile_avatar_gallery.tpl')
); );
$allowviewonline = !$allowviewonline;
display_avatar_gallery($mode, $avatar_category, $user_id, $email, $current_email, $coppa, $username, $email, $icq, $aim, $msn, $yim, $website, $location, $occupation, $interests, $signature, $viewemail, $notifypm, $popuppm, $notifyreply, $attachsig, $allowhtml, $allowbbcode, $allowsmilies, $allowviewonline, $user_style, $user_lang, $user_timezone, $user_dateformat); display_avatar_gallery($mode, $avatar_category, $user_id, $email, $current_email, $coppa, $username, $email, $icq, $aim, $msn, $yim, $website, $location, $occupation, $interests, $signature, $viewemail, $notifypm, $popuppm, $notifyreply, $attachsig, $allowhtml, $allowbbcode, $allowsmilies, $allowviewonline, $user_style, $user_lang, $user_timezone, $user_dateformat);
} }
else else
@ -787,7 +785,7 @@ else
// us from doing file uploads.... // us from doing file uploads....
// //
$ini_val = ( phpversion() >= '4.0.0' ) ? 'ini_get' : 'get_cfg_var'; $ini_val = ( phpversion() >= '4.0.0' ) ? 'ini_get' : 'get_cfg_var';
$form_enctype = ( !@$ini_val('file_uploads') || phpversion() == '4.0.4pl1' || !$board_config['allow_avatar_upload'] || ( phpversion() < '4.0.3' && @$ini_val('open_basedir') != '' ) ) ? '' : 'enctype="multipart/form-data"'; $form_enctype = ( @$ini_val('file_uploads') == '0' || strtolower(@$ini_val('file_uploads') == 'off') || phpversion() == '4.0.4pl1' || !$board_config['allow_avatar_upload'] || ( phpversion() < '4.0.3' && @$ini_val('open_basedir') != '' ) ) ? '' : 'enctype="multipart/form-data"';
$template->assign_vars(array( $template->assign_vars(array(
'USERNAME' => $username, 'USERNAME' => $username,

View file

@ -1,5 +1,3 @@
Subject: 新的會員帳號
您好, 您好,
這個 "{USERNAME}" 的帳號正在等待開通 (可能暫時被凍結了或是才剛完成註冊程序). 如果有必要的話, 請先查明這個使用者的資料, 然後利用以下連結啟用這個會員帳號: 這個 "{USERNAME}" 的帳號正在等待開通 (可能暫時被凍結了或是才剛完成註冊程序). 如果有必要的話, 請先查明這個使用者的資料, 然後利用以下連結啟用這個會員帳號:

View file

@ -1,5 +1,3 @@
Subject: 帳號已經啟用
親愛的 {USERNAME} 您好, 親愛的 {USERNAME} 您好,
您在"{SITENAME}"的帳號已經啟用, 您可以使用所收到的會員帳號及密碼登入"{SITENAME}". 您在"{SITENAME}"的帳號已經啟用, 您可以使用所收到的會員帳號及密碼登入"{SITENAME}".

View file

@ -1,5 +1,3 @@
Subject: w迎來到 {SITENAME} 討論區
{WELCOME_MSG} {WELCOME_MSG}
請妥善保留這封電子郵件. 您的帳號資料如下: 請妥善保留這封電子郵件. 您的帳號資料如下:

View file

@ -1,5 +1,3 @@
Subject: w迎來到 {SITENAME} 討論區
{WELCOME_MSG} {WELCOME_MSG}
依照"美國兒童網路隱私保護法"規定, 您的帳號尚未能啟用. 依照"美國兒童網路隱私保護法"規定, 您的帳號尚未能啟用.

View file

@ -1,5 +1,3 @@
Subject: 您已經被加入這個會員群組
恭喜您, 恭喜您,
您已經正式加入"{SITENAME}"的"{GROUP_NAME}"這個群組. 您已經正式加入"{SITENAME}"的"{GROUP_NAME}"這個群組.

View file

@ -1,5 +1,3 @@
Subject: 您的請求已經獲得批准
恭喜您, 恭喜您,
你在"{SITENAME}"所申請加入的群組"{GROUP_NAME}", 已經獲得批准. 你在"{SITENAME}"所申請加入的群組"{GROUP_NAME}", 已經獲得批准.

View file

@ -1,5 +1,3 @@
Subject: 有一個會員申請加入您的群組
親愛的 {GROUP_MODERATOR} 您好, 親愛的 {GROUP_MODERATOR} 您好,
有一個會員提出申請加入你在"{SITENAME}"所管理的會員群組. 有一個會員提出申請加入你在"{SITENAME}"所管理的會員群組.

View file

@ -1,5 +1,3 @@
Subject: "您有新的私人訊息
親愛的 {USERNAME} 您好, 親愛的 {USERNAME} 您好,
您在"{SITENAME}"有新的私人訊息, 而且您要求系統以電子郵件通知. 您可以利用以下的連結檢視您剛收到的私人訊息: 您在"{SITENAME}"有新的私人訊息, 而且您要求系統以電子郵件通知. 您可以利用以下的連結檢視您剛收到的私人訊息:

View file

@ -1,5 +1,3 @@
Subject: 主題回覆通知 - {TOPIC_TITLE}
親愛的 {USERNAME} 您好, 親愛的 {USERNAME} 您好,
您收到這封這封電子郵件是因為您在"{SITENAME}"訂閱了主題"{TOPIC_TITLE}", 這個主題在您上次來訪後有新的回覆訊息. 您可以使用以下連結來觀看回覆的訊息, 在您觀看原主題之前, 不會有更新的訊息通知您. 您收到這封這封電子郵件是因為您在"{SITENAME}"訂閱了主題"{TOPIC_TITLE}", 這個主題在您上次來訪後有新的回覆訊息. 您可以使用以下連結來觀看回覆的訊息, 在您觀看原主題之前, 不會有更新的訊息通知您.

View file

@ -1,5 +1,3 @@
Subject: 您的帳號已經恢復啟用!
親愛的 {USERNAME} 您好, 親愛的 {USERNAME} 您好,
您在"{SITENAME}"的帳號暫時被凍結, 最有可能的原因是因為您更改過您的個人資料. 請使用以下連結重新啟用您的帳號: 您在"{SITENAME}"的帳號暫時被凍結, 最有可能的原因是因為您更改過您的個人資料. 請使用以下連結重新啟用您的帳號:

View file

@ -1,5 +1,3 @@
Subject: 新的密碼啟用
親愛的 {USERNAME} 您好, 親愛的 {USERNAME} 您好,
您收到這封這封電子郵件是因為您 (或者是某人冒充您的名義) 申請了一組新的密碼. 假如這不是您本人所申請, 請不用理會這封電子郵件, 但是如果您持續收到這類的信件騷擾, 請您儘快向管理人員連繫. 您收到這封這封電子郵件是因為您 (或者是某人冒充您的名義) 申請了一組新的密碼. 假如這不是您本人所申請, 請不用理會這封電子郵件, 但是如果您持續收到這類的信件騷擾, 請您儘快向管理人員連繫.

View file

@ -1,5 +1,3 @@
Subject: w迎來到 {SITENAME} 討論區
{WELCOME_MSG} {WELCOME_MSG}
請妥善保留這封電子郵件. 您的帳號資料如下: 請妥善保留這封電子郵件. 您的帳號資料如下:

View file

@ -1,5 +1,3 @@
Subject: w迎來到 {SITENAME} 討論區
{WELCOME_MSG} {WELCOME_MSG}
請妥善保留這封電子郵件. 您的帳號資料如下: 請妥善保留這封電子郵件. 您的帳號資料如下:

View file

@ -7,21 +7,21 @@
* copyright : (C) 2001 The phpBB Group * copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com * email : support@phpbb.com
* *
* $Id: lang_admin.php,v 1.33 2002/02/15 15:36:35 psotfx Exp $ * $Id: lang_admin.php,v 1.35 2002/03/10 03:41:33 dougk_ff7 Exp $
* *
****************************************************************************/ ****************************************************************************/
/*************************************************************************** /***************************************************************************
* Traditional Chinese[繁體中文語系] Translation * Traditional Chinese Translation [繁體中文語系]
* ------------------- * -------------------
* begin : Thu Nov 26 2001 * begin : Thu Nov 26 2001
* by : 小竹子, OOHOO, 皇家騎士, * by : 小竹子, OOHOO, 皇家騎士,
* email : kyo.yoshika@msa.hinet.net * email : kyo.yoshika@msa.hinet.net
* mchiang@bigpond.net.au * webdev@hotmail.com
* sjwu1@ms12.hinet.net * sjwu1@ms12.hinet.net
* f8806077@mail.dyu.edu.tw * f8806077@mail.dyu.edu.tw
* *
* last modify : Wed Feb 27 2002 * last modify : Fri Apr 5 2002
* *
***************************************************************************/ ***************************************************************************/
@ -39,7 +39,7 @@
// //
// Translator credit // Translator credit
$lang['TRANSLATION_INFO'] = '繁體中文由&nbsp;<a href="http://heaven.wusdsl.net/phpbb/viewtopic.php?p=2811#2811"><font color="#FF6633">竹貓星球PBB2中文強化開發小組</font></a>&nbsp;製作'; $lang['TRANSLATION_INFO'] = '繁體中文強化版由&nbsp;<a href="http://heaven.wusdsl.net/phpbb/viewtopic.php?p=2811#2811"><font color="#FF6633">竹貓星球PBB2中文強化開發小組</font></a>&nbsp;製作';
// //
// Modules, this replaces the keys used // Modules, this replaces the keys used
@ -93,7 +93,7 @@ $lang['Users_per_day'] = "
$lang['Board_started'] = "討論區啟用日期"; $lang['Board_started'] = "討論區啟用日期";
$lang['Avatar_dir_size'] = "頭像資料夾檔案大小"; $lang['Avatar_dir_size'] = "頭像資料夾檔案大小";
$lang['Database_size'] = "資料庫檔案大小"; $lang['Database_size'] = "資料庫檔案大小";
$lang['Gzip_compression'] ="Gzip compression"; $lang['Gzip_compression'] ="Gzip 檔案壓縮功能";
$lang['Not_available'] = ""; $lang['Not_available'] = "";
$lang['ON'] = "開啟"; // This is for GZip compression $lang['ON'] = "開啟"; // This is for GZip compression
@ -374,8 +374,8 @@ $lang['Forum_desc'] = "
$lang['Forum_status'] = "版面狀態"; $lang['Forum_status'] = "版面狀態";
$lang['Forum_pruning'] = "定期刪文"; $lang['Forum_pruning'] = "定期刪文";
$lang['prune_freq'] = 'Check for topic age every'; $lang['prune_freq'] = '定期 (每隔幾天) 檢查主題狀態';
$lang['prune_days'] = "刪除在幾天內沒有文章回覆的主題"; $lang['prune_days'] = "刪除 (在幾天內) 沒有文章回覆的主題";
$lang['Set_prune_data'] = "您已經開啟版面定期刪文的功能, 但並未完成相關設定. 請回到上一步設定相關的項目"; $lang['Set_prune_data'] = "您已經開啟版面定期刪文的功能, 但並未完成相關設定. 請回到上一步設定相關的項目";
$lang['Move_and_Delete'] = "移動/刪除"; $lang['Move_and_Delete'] = "移動/刪除";
@ -553,6 +553,7 @@ $lang['No_assigned_rank'] = "
$lang['Rank_updated'] = "等級名稱已經完成更新"; $lang['Rank_updated'] = "等級名稱已經完成更新";
$lang['Rank_added'] = "新的等級名稱已經成功加入"; $lang['Rank_added'] = "新的等級名稱已經成功加入";
$lang['Rank_removed'] = "等級名稱已被順利移除"; $lang['Rank_removed'] = "等級名稱已被順利移除";
$lang['No_update_ranks'] = "等級名稱已經順利移除了, 但是原先使用這項等級的會員資料並未更新. 您必須重新設定這些會員的等級.";
$lang['Click_return_rankadmin'] = "點選 %s這裡%s 返回等級管理"; $lang['Click_return_rankadmin'] = "點選 %s這裡%s 返回等級管理";

View file

@ -12,12 +12,12 @@
***************************************************************************/ ***************************************************************************/
/*************************************************************************** /***************************************************************************
* Traditional Chinese[繁體中文語系] Translation * Traditional Chinese Translation [繁體中文語系]
* ------------------- * -------------------
* begin : Thu Nov 26 2001 * begin : Thu Nov 26 2001
* by : 小竹子, OOHOO, 皇家騎士, * by : 小竹子, OOHOO, 皇家騎士,
* email : kyo.yoshika@msa.hinet.net * email : kyo.yoshika@msa.hinet.net
* mchiang@bigpond.net.au * webdev@hotmail.com
* sjwu1@ms12.hinet.net * sjwu1@ms12.hinet.net
* f8806077@mail.dyu.edu.tw * f8806077@mail.dyu.edu.tw
* *

View file

@ -12,12 +12,12 @@
***************************************************************************/ ***************************************************************************/
/*************************************************************************** /***************************************************************************
* Traditional Chinese[繁體中文語系] Translation * Traditional Chinese Translation [繁體中文語系]
* ------------------- * -------------------
* begin : Thu Nov 26 2001 * begin : Thu Nov 26 2001
* by : 小竹子, OOHOO, 皇家騎士, * by : 小竹子, OOHOO, 皇家騎士,
* email : kyo.yoshika@msa.hinet.net * email : kyo.yoshika@msa.hinet.net
* mchiang@bigpond.net.au * webdev@hotmail.com
* sjwu1@ms12.hinet.net * sjwu1@ms12.hinet.net
* f8806077@mail.dyu.edu.tw * f8806077@mail.dyu.edu.tw
* *
@ -106,7 +106,7 @@ $faq[] = array("
$faq[] = array("--","phpBB 2 聲明"); $faq[] = array("--","phpBB 2 聲明");
$faq[] = array("誰寫了這個討論版?", "這個程式 (未經修改的格式) 由 phpBB Group 所開發及釋出, 著作版權歸 <a href=\"http://www.phpbb.com/\" target=\"_blank\">phpBB Group</a> 所有. 依照「革奴大眾公有版權」(GNU General Public License) 的聲明, 這個程式可以自由的使用及散布, 如果您需要更多的資訊可以參考 <a href=\"http://www.gnu.org/copyleft/gpl.html\" target=\"_blank\">GNU General Public License</a>."); $faq[] = array("誰寫了這個討論版?", "這個程式 (未經修改的格式) 由 phpBB Group 所開發及釋出, 著作版權歸 <a href=\"http://www.phpbb.com/\" target=\"_blank\">phpBB Group</a> 所有. 依照「革奴大眾公有版權」(GNU General Public License) 的聲明, 這個程式可以自由的使用及散布, 如果您需要更多的資訊可以參考 <a href=\"http://www.gnu.org/copyleft/gpl.html\" target=\"_blank\">GNU General Public License</a>.");
$faq[] = array("為什麼不能使用更多的功能 ?", "這個軟體是由 phpBB Group 所製作. 如果您認為需要加入更多功能請參觀 phpbb.com website 的說明. 請不要發表進階功能要求到 phpbb.com 的討論版, 這會使得開發小組分心無法致力新功能的開發. 請在版面瀏覽, 如果有任何我們已開發且經過測試的程式我們會放在版面上的."); $faq[] = array("為什麼不能使用更多的功能 ?", "這個軟體是由 phpBB Group 所製作. 如果您認為需要加入更多功能請參觀 phpbb.com website 的說明. 請不要發表進階功能要求到 phpbb.com 的討論版, 這會使得開發小組分心無法致力新功能的開發. 請在版面瀏覽, 如果有任何我們已開發且經過測試的程式我們會放在版面上的.");
$faq[] = array("我該向誰聯繫有關這個討論版誤用或法律上的相關事務?", "您可以連絡這個討論版的管理者. 如果您不能找到這個版面的管理者以尋求更進一步的的聯繫. 如果您連絡管理者之後仍然沒有回應 (尋找 whois ) 或者其是屬於一個執行中的免費服務 (例如: yahoo, free.fr, f2s.com...等等), 管理者或誤用此服務的部門. 請記住 phpBB Group 是完全沒有控制權而且完全不負任何責任的, 這個討論版位居何處以及何人擁有. 在相關法令下, 完全沒有向 phpBB Group 指示 (cease and desist, liable, defamatory comment...等等). 也許不是直接由 phpbb.com website 路徑而得, 或者是只有 phpBB 此軟體的部份而已. 如果您 email到 phpBB Group 有關任何第三者使用軟體上的問題, 您的答案將會非常簡單或是根本不予回應."); $faq[] = array("我該向誰聯繫有關這個討論版誤用或法律上的相關事務?", "您可以連絡這個討論版的管理者. 如果您不能找到這個版面的管理者以尋求更進一步的的聯繫. 如果您連絡管理者之後仍然沒有回應 (尋找 whois ) 或者其是屬於一個執行中的免費服務 (例如: yahoo, free.fr, f2s.com...等等), 管理者或誤用此服務的部門. 請記住 phpBB Group 是完全沒有控制權而且完全不負任何責任的, 這個討論版位居何處以及何人擁有. 在相關法令下, 完全沒有向 phpBB Group 指示 (cease and desist, liable, defamatory comment...等等). 也許不是直接由 phpbb.com website 路徑而得, 或者是只有 phpBB 此軟體的部份而已. 如果您 email 到 phpBB Group 有關任何第三者使用軟體上的問題, 您的答案將會非常簡單或是根本不予回應.");
// //
// This ends the FAQ entries // This ends the FAQ entries

View file

@ -6,21 +6,21 @@
* copyright : (C) 2001 The phpBB Group * copyright : (C) 2001 The phpBB Group
* email : support@phpbb.com * email : support@phpbb.com
* *
* $Id: lang_main.php,v 1.82 2002/02/03 18:17:08 thefinn Exp $ * $Id: lang_main.php,v 1.85 2002/03/25 19:22:42 dougk_ff7 Exp $
* *
****************************************************************************/ ****************************************************************************/
/*************************************************************************** /***************************************************************************
* Traditional Chinese[繁體中文語系] Translation * Traditional Chinese Translation [繁體中文語系]
* ------------------- * -------------------
* begin : Thu Nov 26 2001 * begin : Thu Nov 26 2001
* by : 小竹子, OOHOO, 皇家騎士, * by : 小竹子, OOHOO, 皇家騎士,
* email : kyo.yoshika@msa.hinet.net * email : kyo.yoshika@msa.hinet.net
* mchiang@bigpond.net.au * webdev@hotmail.com
* sjwu1@ms12.hinet.net * sjwu1@ms12.hinet.net
* f8806077@mail.dyu.edu.tw * f8806077@mail.dyu.edu.tw
* *
* last modify : Wed Mar 4 2002 * last modify : Fri Apr 5 2002
* *
***************************************************************************/ ***************************************************************************/
@ -46,7 +46,7 @@
// //
// Translator credit // Translator credit
$lang['TRANSLATION_INFO'] = '繁體中文由&nbsp;<a href="http://heaven.wusdsl.net/phpbb/viewtopic.php?p=2811#2811"><font color="#FF6633">竹貓星球PBB2中文強化開發小組</font></a>&nbsp;製作'; $lang['TRANSLATION_INFO'] = '繁體中文強化版由&nbsp;<a href="http://heaven.wusdsl.net/phpbb/viewtopic.php?p=2811#2811"><font color="#FF6633">竹貓星球PBB2中文強化開發小組</font></a>&nbsp;製作';
//setlocale(LC_ALL, "en"); //setlocale(LC_ALL, "en");
$lang['ENCODING'] = "big5"; $lang['ENCODING'] = "big5";
@ -70,7 +70,7 @@ $lang['Posts'] = "
$lang['Posted'] = "發表於"; $lang['Posted'] = "發表於";
$lang['Username'] = "會員名稱"; $lang['Username'] = "會員名稱";
$lang['Password'] = "登入密碼"; $lang['Password'] = "登入密碼";
$lang['Email'] = "電子郵件信箱"; $lang['Email'] = "電子郵件";
$lang['Poster'] = "回覆人"; $lang['Poster'] = "回覆人";
$lang['Author'] = "發表人"; $lang['Author'] = "發表人";
$lang['Time'] = "時間"; $lang['Time'] = "時間";
@ -150,7 +150,7 @@ $lang['Hidden_users_total'] = "%d
$lang['Guest_users_zero_total'] = "0 位訪客"; $lang['Guest_users_zero_total'] = "0 位訪客";
$lang['Guest_users_total'] = "%d 位訪客"; $lang['Guest_users_total'] = "%d 位訪客";
$lang['Guest_user_total'] = "%d 位訪客"; $lang['Guest_user_total'] = "%d 位訪客";
$lang['Record_online_users'] = "最高線上人數記錄 <b>%s</b> 在 %s 創下"; // first %s = number of users, second %s is the date. $lang['Record_online_users'] = "最高線上人數記錄為 <font color=\"#FF6633\"><b>%s</b></font> 人 (<font color=\"#FF6633\"><b>%s</b></font> 創下)"; // first %s = number of users, second %s is the date.
$lang['Admin_online_color'] = "%s系統管理員%s"; $lang['Admin_online_color'] = "%s系統管理員%s";
$lang['Mod_online_color'] = "%s版面管理員%s"; $lang['Mod_online_color'] = "%s版面管理員%s";
@ -577,7 +577,7 @@ $lang['password_confirm_if_changed'] = "
$lang['Avatar'] = "個人頭像"; $lang['Avatar'] = "個人頭像";
$lang['Avatar_explain'] = "您的個人頭像將會顯示在您所發表的文章旁邊. 一次只能只用一個圖檔, 寬度不可超過 %d 像素, 高度不可超過 %d 像素而且檔案大小不可超過 %dkB"; $lang['Avatar_explain'] = "您的個人頭像將會顯示在您所發表的文章旁邊. 一次只能只用一個圖檔, 寬度不可超過 %d 像素, 高度不可超過 %d 像素而且檔案大小不可超過 %dkB";
$lang['Upload_Avatar_URL'] = "從連結複製圖檔"; $lang['Upload_Avatar_URL'] = "從連結複製圖檔";
$lang['Upload_Avatar_URL_explain'] = "輸入頭像連結, 系統將會把圖檔複製到系統裡面"; $lang['Upload_Avatar_URL_explain'] = "輸入頭像連結, 系統將會把圖檔複製至系統裡";
$lang['Pick_local_Avatar'] = "由相簿中選取圖檔"; $lang['Pick_local_Avatar'] = "由相簿中選取圖檔";
$lang['Link_remote_Avatar'] = "由網址連結頭像圖檔"; $lang['Link_remote_Avatar'] = "由網址連結頭像圖檔";
$lang['Link_remote_Avatar_explain'] = "輸入頭像圖檔連結網址, 系統將會自動連結到您想要的網址"; $lang['Link_remote_Avatar_explain'] = "輸入頭像圖檔連結網址, 系統將會自動連結到您想要的網址";
@ -667,8 +667,8 @@ $lang['Sort_Location'] = "
$lang['Sort_Posts'] = "文章總數"; $lang['Sort_Posts'] = "文章總數";
$lang['Sort_Email'] = "電子郵件"; $lang['Sort_Email'] = "電子郵件";
$lang['Sort_Website'] = "個人網站"; $lang['Sort_Website'] = "個人網站";
$lang['Sort_Ascending'] = "由小而大"; $lang['Sort_Ascending'] = "依序遞增";
$lang['Sort_Descending'] = "由大而小"; $lang['Sort_Descending'] = "依序遞減";
$lang['Order'] = "順序"; $lang['Order'] = "順序";
@ -909,6 +909,7 @@ $lang['4.5'] = "GMT + 4.5
$lang['5'] = "GMT + 5 小時"; $lang['5'] = "GMT + 5 小時";
$lang['5.5'] = "GMT + 5.5 小時"; $lang['5.5'] = "GMT + 5.5 小時";
$lang['6'] = "GMT + 6 小時"; $lang['6'] = "GMT + 6 小時";
$lang['6.5'] = "GMT + 6.5 小時";
$lang['7'] = "GMT + 7 小時"; $lang['7'] = "GMT + 7 小時";
$lang['8'] = "台北時間 (GMT + 8 小時)"; $lang['8'] = "台北時間 (GMT + 8 小時)";
$lang['9'] = "GMT + 9 小時"; $lang['9'] = "GMT + 9 小時";

File diff suppressed because it is too large Load diff

View file

@ -87,6 +87,7 @@ $lang['IP_Address'] = "IP
$lang['Select_forum'] = "Επιλέξτε μια Δημόσια Συζήτηση"; $lang['Select_forum'] = "Επιλέξτε μια Δημόσια Συζήτηση";
$lang['View_latest_post'] = "Δείτε την πιο πρόσφατη Δημοσιεύση"; $lang['View_latest_post'] = "Δείτε την πιο πρόσφατη Δημοσιεύση";
$lang['View_newest_post'] = "Δείτε την νεότερη Δημοσιεύση";
$lang['Page_of'] = "Σελίδα <b>%d</b> από <b>%d</b>"; // Replaces with: Page 1 of 2 for example $lang['Page_of'] = "Σελίδα <b>%d</b> από <b>%d</b>"; // Replaces with: Page 1 of 2 for example
$lang['ICQ'] = "ICQ Αριθμός"; $lang['ICQ'] = "ICQ Αριθμός";
@ -94,7 +95,7 @@ $lang['AIM'] = "AIM
$lang['MSNM'] = "MSN Messenger"; $lang['MSNM'] = "MSN Messenger";
$lang['YIM'] = "Yahoo Messenger"; $lang['YIM'] = "Yahoo Messenger";
$lang['Forum_Index'] = "%s Forum Index"; // eg. sitename Forum Index, %s can be removed if you prefer $lang['Forum_Index'] = "%s Αρχική σελίδα"; // eg. sitename Forum Index, %s can be removed if you prefer
$lang['Post_new_topic'] = "Δημοσίευση νέας Θ.Ενότητας"; $lang['Post_new_topic'] = "Δημοσίευση νέας Θ.Ενότητας";
$lang['Reply_to_topic'] = "Απάντηση στη Θ.Ενότητα"; $lang['Reply_to_topic'] = "Απάντηση στη Θ.Ενότητα";
@ -116,16 +117,27 @@ $lang['Board_disable'] = "
// Global Header strings // Global Header strings
// //
$lang['Registered_users'] = "Εγγεγραμμένοι Χρήστες:"; $lang['Registered_users'] = "Εγγεγραμμένοι Χρήστες:";
$lang['Browsing_forum'] = "Χρήστες συνδεδεμένοι στο forum:";
$lang['Online_users_zero_total'] = "Συνολικά <b>0</b> χρήστες είναι συνδεδεμένοι :: ";
$lang['Online_users_total'] = "%d χρήστες είναι συνδεδεμένοι αυτήν την στιγμή:: "; $lang['Online_users_total'] = "%d χρήστες είναι συνδεδεμένοι αυτήν την στιγμή:: ";
$lang['Online_user_total'] = "%d χρήστης είναι συνδεδεμένος αυτήν την στιγμή:: "; $lang['Online_user_total'] = "%d χρήστης είναι συνδεδεμένος αυτήν την στιγμή:: ";
$lang['Reg_users_zero_total'] = "0 εγγεγραμένοι, ";
$lang['Reg_users_total'] = "%d εγγεγραμμένοι, "; $lang['Reg_users_total'] = "%d εγγεγραμμένοι, ";
$lang['Reg_user_total'] = "%d εγγεγραμμένος, "; $lang['Reg_user_total'] = "%d εγγεγραμμένος, ";
$lang['Hidden_users_zero_total'] = "0 μη ορατοί και ";
$lang['Hidden_users_total'] = "%d μη ορατοί και "; $lang['Hidden_users_total'] = "%d μη ορατοί και ";
$lang['Hidden_user_total'] = "%d μη ορατός και "; $lang['Hidden_user_total'] = "%d μη ορατός και ";
$lang['Guest_users_zero_total'] = "0 επισκέπτες";
$lang['Guest_users_total'] = "%d επισκέπτες"; $lang['Guest_users_total'] = "%d επισκέπτες";
$lang['Guest_user_total'] = "%d επισκέπτης"; $lang['Guest_user_total'] = "%d επισκέπτης";
$lang['Record_online_users'] = "Περισσότεροι χρήστες υπό σύνδεση <b>%s</b> στίς %s"; // first %s = number of users, second %s is the date.
$lang['Admin_online_color'] = "%sΔιαχειριστής%s";
$lang['Mod_online_color'] = "%sΔιαμεσολαβητής%s";
$lang['You_last_visit'] = "Η τελευταία επίσκεψή σας ήταν στίς %s"; // %s replaced by date/time $lang['You_last_visit'] = "Η τελευταία επίσκεψή σας ήταν στίς %s"; // %s replaced by date/time
$lang['Current_time'] = "Η ώρα είναι %s"; // %s replaced by time
$lang['Search_new'] = "Δημοσιεύσεις που έγιναν μετά την τελευταία σας επίσκεψη"; $lang['Search_new'] = "Δημοσιεύσεις που έγιναν μετά την τελευταία σας επίσκεψη";
$lang['Search_your_posts'] = "Ανασκόπηση των δημοσιεύσεων σας"; $lang['Search_your_posts'] = "Ανασκόπηση των δημοσιεύσεων σας";
$lang['Search_unanswered'] = "Αναπάντητες δημοσιεύσεις"; $lang['Search_unanswered'] = "Αναπάντητες δημοσιεύσεις";
@ -135,16 +147,20 @@ $lang['Edit_profile'] = "
$lang['Search'] = "Αναζήτηση"; $lang['Search'] = "Αναζήτηση";
$lang['Memberlist'] = "Κατάλογος χρηστών"; $lang['Memberlist'] = "Κατάλογος χρηστών";
$lang['FAQ'] = "Σ.Ε"; $lang['FAQ'] = "Σ.Ε";
$lang['BBCode_guide'] = "BBCode Εγχειρίδιο";
$lang['Usergroups'] = "Ομάδες Χρηστών"; $lang['Usergroups'] = "Ομάδες Χρηστών";
$lang['Last_Post'] = "Τελευταία Δημοσίευση"; $lang['Last_Post'] = "Τελευταία Δημοσίευση";
$lang['Moderator'] = "ÄéáìåóïëáâçôÞò/ôåò"; $lang['Moderator'] = "Διαμεσολαβητής";
$lang['Moderators'] = "Διαμεσολαβητές";
// //
// Stats block text // Stats block text
// //
$lang['Posted_articles_zero_total'] = "Οι χρήστες μας έχουν δημοσιεύσει συνολικά <b>0</b> θέματα"; // Number of posts
$lang['Posted_article_total'] = "Οι χρήστες μας έχουν δημοσιεύσει συνολικά <b>%d</b> θέμα"; // Number of posts $lang['Posted_article_total'] = "Οι χρήστες μας έχουν δημοσιεύσει συνολικά <b>%d</b> θέμα"; // Number of posts
$lang['Posted_articles_total'] = "Οι χρήστες μας έχουν δημοσιεύσει συνολικά <b>%d</b> θέματα"; // Number of posts $lang['Posted_articles_total'] = "Οι χρήστες μας έχουν δημοσιεύσει συνολικά <b>%d</b> θέματα"; // Number of posts
$lang['Registered_users_zero_total'] = "Έχουμε <b>0</b> εγγεγραμμένους χρήστες"; // # registered users
$lang['Registered_user_total'] = "Έχουμε <b>%d</b> εγγεγραμμένο χρήστη"; // # registered users $lang['Registered_user_total'] = "Έχουμε <b>%d</b> εγγεγραμμένο χρήστη"; // # registered users
$lang['Registered_users_total'] = "Οι εγγεγραμμένοι χρήστες μας είναι συνολικά <b>%d</b> "; // # registered users $lang['Registered_users_total'] = "Οι εγγεγραμμένοι χρήστες μας είναι συνολικά <b>%d</b> "; // # registered users
$lang['Newest_user'] = "Το νέο μέλος στις συζητήσεις μας είναι ο/η <b>%s%s%s</b>"; // a href, username, /a $lang['Newest_user'] = "Το νέο μέλος στις συζητήσεις μας είναι ο/η <b>%s%s%s</b>"; // a href, username, /a
@ -170,6 +186,7 @@ $lang['Logout'] = "
$lang['Forgotten_password'] = "Έχω ξεχάσει το συνθηματικό μου"; $lang['Forgotten_password'] = "Έχω ξεχάσει το συνθηματικό μου";
$lang['Log_me_in'] = "Να γίνετε η σύνδεση αυτόματα σε κάθε μου επίσκεψη"; $lang['Log_me_in'] = "Να γίνετε η σύνδεση αυτόματα σε κάθε μου επίσκεψη";
$lang['Error_login'] = "Έχετε εισαγάγει λάθος ή μη ενεργοποιημένο χρήστη ή λάθος κωδικό";
// //
@ -243,7 +260,8 @@ $lang['All_Posts'] = "
$lang['Newest_First'] = "Πρώτα οι νεώτερες"; $lang['Newest_First'] = "Πρώτα οι νεώτερες";
$lang['Oldest_First'] = "Πρώτα οι παλαιότερες"; $lang['Oldest_First'] = "Πρώτα οι παλαιότερες";
$lang['Return_to_top'] = "ÅðéóôñïöÞ óôçí êïñõöÞ"; // $lang['Return_to_top'] = "Επιστροφή στην κορυφή";
$lang['Back_to_top'] = "Επιστροφή στην κορυφή";
$lang['Read_profile'] = "Επισκόπηση του προφίλ των χρηστών"; $lang['Read_profile'] = "Επισκόπηση του προφίλ των χρηστών";
$lang['Send_email'] = "Αποστολή μηνύματος σε χρήστη"; $lang['Send_email'] = "Αποστολή μηνύματος σε χρήστη";
@ -271,6 +289,7 @@ $lang['Start_watching_topic'] = "
$lang['No_longer_watching'] = "Αυτήν την Θ.Ενότητα δεν την παρακολουθείτε πλέον"; $lang['No_longer_watching'] = "Αυτήν την Θ.Ενότητα δεν την παρακολουθείτε πλέον";
$lang['You_are_watching'] = "Αυτήν την Θ.Ενότητα την παρακολουθείτε"; $lang['You_are_watching'] = "Αυτήν την Θ.Ενότητα την παρακολουθείτε";
$lang['Total_votes'] = "Σύνολο Ψήφων";
// //
// Posting/Replying (Not private messaging!) // Posting/Replying (Not private messaging!)
@ -320,6 +339,7 @@ $lang['Add_option'] = "
$lang['Update'] = "Ενημέρωση"; $lang['Update'] = "Ενημέρωση";
$lang['Delete'] = "Διαγραφή"; $lang['Delete'] = "Διαγραφή";
$lang['Poll_for'] = "Διεξαγωγή δημοψηφίσματος για"; $lang['Poll_for'] = "Διεξαγωγή δημοψηφίσματος για";
$lang['Days'] = "Ημέρες"; // This is used for the Run poll for ... Days + in admin_forums for pruning
$lang['Poll_for_explain'] = "[ Εισαγάγετε 0 ή αφήστε το κενό, για δημοψήφισμα δίχως χρονικό όριο ]"; $lang['Poll_for_explain'] = "[ Εισαγάγετε 0 ή αφήστε το κενό, για δημοψήφισμα δίχως χρονικό όριο ]";
$lang['Delete_poll'] = "Διαγραφή δημοψηφίσματος"; $lang['Delete_poll'] = "Διαγραφή δημοψηφίσματος";
@ -345,6 +365,48 @@ $lang['Vote_cast'] = "
$lang['Topic_reply_notification'] = "Γνωστοποίηση απάντησης σε Θ.Ενότητα"; $lang['Topic_reply_notification'] = "Γνωστοποίηση απάντησης σε Θ.Ενότητα";
$lang['bbcode_b_help'] = "Έντονο κείμενο: [b]κείμενο[/b] (alt+b)";
$lang['bbcode_i_help'] = "Πλάγια γραφή: [i]κείμενο[/i] (alt+i)";
$lang['bbcode_u_help'] = "Υπογραμμισμένο κείμενο: [u]κείμενο[/u] (alt+u)";
$lang['bbcode_q_help'] = "Κείμενο σε παράθεση: [quote]κείμενο[/quote] (alt+q)";
$lang['bbcode_c_help'] = "Εμφάνιση κώδικα: [code]κώδικας[/code] (alt+c)";
$lang['bbcode_l_help'] = "Λίστα: [list]Κείμενο[/list] (alt+l)";
$lang['bbcode_o_help'] = "Ταξινομημένη λίστα: [list=]κείμενο[/list] (alt+o)";
$lang['bbcode_p_help'] = "Εισαγωγή εικόνας: [img]http://image_url[/img] (alt+p)";
$lang['bbcode_w_help'] = "Εισαγωγή URL: [url]http://url[/url] ή [url=http://url]URL text[/url] (alt+w)";
$lang['bbcode_a_help'] = "Να κλείσουν όλα τα ανοιχτά bbCode tags";
$lang['bbcode_s_help'] = "Χρώμα γραμματοσειράς: [color=red]κείμενο[/color] Τεχ: επίσης μπορείτε να χρησιμοποιήσετε color=#FF0000";
$lang['bbcode_f_help'] = "Μέγεθος γραμματοσειράς: [size=x-small]μικρή γραμματοσειρά[/size]";
$lang['Emoticons'] = "Emoticons";
$lang['More_emoticons'] = "Περισσότερα Emoticons";
$lang['Font_color'] = "Χρώμα γραμματοσειράς";
$lang['color_default'] = "Προεπιλογή";
$lang['color_dark_red'] = "Βαθύ Κόκκινο";
$lang['color_red'] = "Κόκκινο";
$lang['color_orange'] = "Πορτοκαλί";
$lang['color_brown'] = "Καφέ";
$lang['color_yellow'] = "Κίτρινο";
$lang['color_green'] = "Πράσινο";
$lang['color_olive'] = "Λαδί";
$lang['color_cyan'] = "Κυανό";
$lang['color_blue'] = "Μπλέ";
$lang['color_dark_blue'] = "Βαθύ Μπλέ";
$lang['color_indigo'] = "Λουλακί";
$lang['color_violet'] = "Βιολετί";
$lang['color_white'] = "Λευκό";
$lang['color_black'] = "Μαύρο";
$lang['Font_size'] = "Μέγεθος γραμματοσειράς";
$lang['font_tiny'] = "Μικρότερο";
$lang['font_small'] = "Μικρό";
$lang['font_normal'] = "Κανονικό";
$lang['font_large'] = "Μεγάλο";
$lang['font_huge'] = "Μέγιστο";
$lang['Close_Tags'] = "Να κλείσουν τα Tags";
$lang['Styles_tip'] = "Τεχ: Τα στίλ μπορούν να εφαρμοστούν γρηγορότερα σε επιλεγμένο κείμενο";
// //
// Private Messaging // Private Messaging
@ -390,6 +452,10 @@ $lang['Cannot_send_privmsg'] = "
$lang['No_to_user'] = "Πρέπει να ορίσετε τον παραλήπτη χρήστη για να αποσταλεί αυτό το μήνυμα"; $lang['No_to_user'] = "Πρέπει να ορίσετε τον παραλήπτη χρήστη για να αποσταλεί αυτό το μήνυμα";
$lang['No_such_user'] = "Συγνώμη δεν υπάρχει αυτός ο χρήστης"; $lang['No_such_user'] = "Συγνώμη δεν υπάρχει αυτός ο χρήστης";
$lang['Disable_HTML_pm'] = "Απενεργοποίηση της HTML σε αυτό το μήνυμα";
$lang['Disable_BBCode_pm'] = "Απενεργοποίηση του BBCode σε αυτό το μήνυμα";
$lang['Disable_Smilies_pm'] = "Απενεργοποίηση των Smilies σε αυτό το μήνυμα";
$lang['Message_sent'] = "Το μήνυμα σας έχει αποσταλεί"; $lang['Message_sent'] = "Το μήνυμα σας έχει αποσταλεί";
$lang['Click_return_inbox'] = "Πατήστε %sεδώ%s για να επιστρέψετε στο γραμματοκιβώτιο σας"; $lang['Click_return_inbox'] = "Πατήστε %sεδώ%s για να επιστρέψετε στο γραμματοκιβώτιο σας";
@ -485,6 +551,7 @@ $lang['Public_view_email'] = "
$lang['Current_password'] = "Υπάρχον κωδικός"; $lang['Current_password'] = "Υπάρχον κωδικός";
$lang['New_password'] = "Νέος κωδικός"; $lang['New_password'] = "Νέος κωδικός";
$lang['Confirm_password'] = "Επαλήθευση κωδικού"; $lang['Confirm_password'] = "Επαλήθευση κωδικού";
$lang['Confirm_password_explain'] = "Πρέπει να επαληθευτή ο κωδικός σας εφόσον επιθυμείται να τον αλλάξετε ή να τροποποιήσετε το email σας";
$lang['password_if_changed'] = "Πρέπει να εισαγάγετε το κωδικό μόνο εφόσον σκοπεύετε να το αλλάξετε"; $lang['password_if_changed'] = "Πρέπει να εισαγάγετε το κωδικό μόνο εφόσον σκοπεύετε να το αλλάξετε";
$lang['password_confirm_if_changed'] = "Πρέπει να επαληθεύσετε το κωδικό μόνο εάν το αλλάξατε παραπάνω"; $lang['password_confirm_if_changed'] = "Πρέπει να επαληθεύσετε το κωδικό μόνο εάν το αλλάξατε παραπάνω";
@ -517,7 +584,16 @@ $lang['Profile_updated_inactive'] = "
$lang['Password_mismatch'] = "Οι κωδικοί που εισαγάγατε δεν ταιριάζουν"; $lang['Password_mismatch'] = "Οι κωδικοί που εισαγάγατε δεν ταιριάζουν";
$lang['Current_password_mismatch'] = "Ο κωδικός που εισαγάγατε δεν ταιριάζει με αυτόν που είναι αποθηκευμένος στην βάση δεδομένων μας"; $lang['Current_password_mismatch'] = "Ο κωδικός που εισαγάγατε δεν ταιριάζει με αυτόν που είναι αποθηκευμένος στην βάση δεδομένων μας";
$lang['Invalid_username'] = "Ôï üíïìá ÷ñÞóôç ðïõ åðéëÝîáôå ÷ñçóéìïðïéåßôáé Þ äåí åðéôñÝðåôå Þ ðåñéÝ÷åé áêáôÜëëçëïõò ÷áñáêôÞñåò, üðùò ïé \" ÷áñáêôÞñåò";
$lang['Password_long'] = "Ο κωδικός σας δεν πρέπει να υπερβαίνει τους 32 χαρακτήρες";
$lang['Username_taken'] = "Συγνώμη, το όνομα που επιλέξατε χρησιμοποιείται είδη";
$lang['Username_invalid'] = "Συγνώμη, το όνομα που επιλέξατε περιέχει μη επιτρεπτούς χαρακτήρες όπως τα \"";
$lang['Username_disallowed'] = "Συγνώμη, το όνομα που επιλέξατε δεν επιτρέπετε";
$lang['Email_taken'] = "Συγνώμη, το email αυτό ανήκει είδη σε μέλος";
$lang['Email_banned'] = "Συγνώμη, στο email αυτό έχει απαγορευθεί η συμμετοχή";
$lang['Email_invalid'] = "Συγνώμη, το email αυτό είναι μη έγκυρο";
// $lang['Invalid_username'] = "Το όνομα χρήστη που επιλέξατε χρησιμοποιείται ή δεν επιτρέπετε ή περιέχει ακατάλληλους χαρακτήρες, όπως οι \" χαρακτήρες";
$lang['Signature_too_long'] = "Η υπογραφή σας είναι υπερβολικά μεγάλη"; $lang['Signature_too_long'] = "Η υπογραφή σας είναι υπερβολικά μεγάλη";
$lang['Fields_empty'] = "Πρέπει να συμπληρωθούν όλα τα υποχρεωτικά πεδία"; $lang['Fields_empty'] = "Πρέπει να συμπληρωθούν όλα τα υποχρεωτικά πεδία";
$lang['Avatar_filetype'] = "Ο τύπος του αρχείου Άβαταρ πρέπει να είναι .jpg, .gif ή .png"; $lang['Avatar_filetype'] = "Ο τύπος του αρχείου Άβαταρ πρέπει να είναι .jpg, .gif ή .png";
@ -536,6 +612,13 @@ $lang['Account_active_admin'] = "
$lang['Reactivate'] = "Επανεργοποιήστε τον λογαριασμό σας !"; $lang['Reactivate'] = "Επανεργοποιήστε τον λογαριασμό σας !";
$lang['COPPA'] = "Ο λογαριασμό σας δημιουργήθηκε, πρέπει όμως να εγκριθεί. Ελέγξτε το email σας για περισσότερες πληροφορίες."; $lang['COPPA'] = "Ο λογαριασμό σας δημιουργήθηκε, πρέπει όμως να εγκριθεί. Ελέγξτε το email σας για περισσότερες πληροφορίες.";
$lang['Registration'] = "Όροι Εγγραφής";
$lang['Reg_agreement'] = "Οι διαχειριστές και οι διαμεσολαβητές προσπαθούν να διατηρούν το περιεχόμενο αυτής της Δ.Συζήτησης καθαρό από μεμπτό περιεχόμενο επεξεργάζοντας το και ενίοτε διαγράφοντας το. Όμως είναι αδύνατο να ελέγχονται όλα τα μηνύματα που αναρτώνται. Γι' αυτό λαμβάνεται την γνώση πως, ότι αναρτάται εκφράζει μόνο τον δημιουργό του μηνύματος και όχι την άποψη των διαχειριστών, των διαμεσολαβητών και του webmaster (εκτός από τα μηνύματα τα οποία αναρτήθηκαν από αυτούς) και δεν φέρουν καμία ευθύνη γι' αυτά.<br /><br />Συμφωνείτε να μην αναρτάτε μηνύματα με υβριστικό, άσεμνο, πρόστυχο, χυδαίο, συκοφαντικό, απεχθές, απειλητικό, με πορνογραφικό προσανατολισμό ή οποιοδήποτε άλλο περιεχόμενο που υπόκεινται στην νομοθετική αρχή. Μη συμμόρφωση θα οδηγήσει σε άμεση και μόνιμη διαγραφή του μέλους (με γνωστοποίηση της ενέργεια του στο φορέα παροχής υπηρεσιών Internet μέσω του οπίου συνδεθήκατε). Η διεύθυνση IP του εκάστοτε μηνύματος καταγράφετε για να πληρούνται τα παραπάνω. Συμφωνείτε στο ότι ο webmaster, ο διαχειριστής ή ο διαμεσολαβητής έχουν το δικαίωμα να διαγράψουν, να επεξεργαστούν ή να μετακινήσουν οποιαδήποτε ανάρτηση ή Θ.Ενότητα η οποία δεν πληροί τα παραπάνω. Ως μέλος αποδέχομαι, οι πληροφορίες οι οποίες θα εισαγάγω παρακάτω να αποθηκευτούν σε βάση δεδομένων. Οι πληροφορίες αυτές δεν πρόκειται να γνωστοποιηθούν σε τρίτο πρόσωπο ή φορέα χωρίς την άδεια σας, όμως ο webmaster, ο διαχειριστής ή ο διαμεσολαβητής δεν φέρει την ευθύνη απώλειας τους από κακόβουλους χρήστες σε περίπτωση εισβολής τους στον διακομιστή.<br /><br />Αυτό το σύστημα της Δ.Συζήτησης βασίζεται σε cookies τα οποία αποθηκεύονται στον υπολογιστή σας. Τα cookies αυτά δεν περιέχουν καμία απολύτως πληροφορία από τα στοιχεία που θα εισαγάγετε παρακάτω, εξυπηρετούν μόνο στο να βελτιωθεί η περιήγηση σας στην Δ.Συζήτηση. Η email διεύθυνση χρησιμοποιείτε μόνο για την επιβεβαίωση των στοιχείων εγγραφής σας και του κωδικού, καθώς και την αποστολή νέου κωδικού σε περίπτωση που λησμονήσετε το τρέχων ενεργό κωδικό σας.<br /><br />Πατώντας την εγγραφή σας παρακάτω δεσμεύεστε με τους παραπάνω όρους.";
$lang['Agree_under_13'] = "Συμφωνώ με τα παραπάνω και είμαι <b>ΚΑΤΩ</b> των 13 ετών";
$lang['Agree_over_13'] = "Συμφωνώ με τα παραπάνω και είμαι <b>ΑΝΩ</b> των 13 ετών";
$lang['Agree_not'] = "Δεν συμφωνώ με τους παραπάνω όρους";
$lang['Wrong_activation'] = "Το κλειδί ενεργοποίησης που εισαγάγατε δεν ταιριάζει με κανένα κλειδί της βάσης δεδομένων"; $lang['Wrong_activation'] = "Το κλειδί ενεργοποίησης που εισαγάγατε δεν ταιριάζει με κανένα κλειδί της βάσης δεδομένων";
$lang['Send_password'] = "Αποστολή νέου κωδικού "; $lang['Send_password'] = "Αποστολή νέου κωδικού ";
$lang['Password_updated'] = "Ο νέος κωδικός δημιουργήθηκε, ελέγξτε το email σας για να μάθετε πως θα το ενεργοποιήσετε "; $lang['Password_updated'] = "Ο νέος κωδικός δημιουργήθηκε, ελέγξτε το email σας για να μάθετε πως θα το ενεργοποιήσετε ";
@ -614,6 +697,7 @@ $lang['User_is_member_group'] = "
$lang['Group_type_updated'] = "Ο χαρακτήρας της ομάδας ανανεώθηκε επιτυχώς"; $lang['Group_type_updated'] = "Ο χαρακτήρας της ομάδας ανανεώθηκε επιτυχώς";
$lang['Could_not_add_user'] = "Ο χρήστης που επιλέξατε δεν υπάρχει"; $lang['Could_not_add_user'] = "Ο χρήστης που επιλέξατε δεν υπάρχει";
$lang['Could_not_anon_user'] = "Δεν μπορείτε να εντάξετε σε ομάδα ανώνυμο χρήστη";
$lang['Confirm_unsub'] = "Είσθε σίγουρος ότι θέλετε να ακυρώσετε την συμμετοχή σας σ' αυτήν την ομάδα;"; $lang['Confirm_unsub'] = "Είσθε σίγουρος ότι θέλετε να ακυρώσετε την συμμετοχή σας σ' αυτήν την ομάδα;";
$lang['Confirm_unsub_pending'] = "Η συμμετοχή σας σ' αυτήν την ομάδα δεν έχει εγκριθεί ακόμα. Είσθε σίγουρος ότι θέλετε να ακυρώσετε την συμμετοχή σας σ' αυτήν την ομάδα;"; $lang['Confirm_unsub_pending'] = "Η συμμετοχή σας σ' αυτήν την ομάδα δεν έχει εγκριθεί ακόμα. Είσθε σίγουρος ότι θέλετε να ακυρώσετε την συμμετοχή σας σ' αυτήν την ομάδα;";
@ -634,7 +718,7 @@ $lang['This_hidden_group'] = "
$lang['Member_this_group'] = "Είστε μέλος αυτής της ομάδας"; $lang['Member_this_group'] = "Είστε μέλος αυτής της ομάδας";
$lang['Pending_this_group'] = "Η ένταξη σας στην ομάδα προωθείτε"; $lang['Pending_this_group'] = "Η ένταξη σας στην ομάδα προωθείτε";
$lang['Are_group_moderator'] = "Είστε Διαμεσολαβητής Ομάδας"; $lang['Are_group_moderator'] = "Είστε Διαμεσολαβητής Ομάδας";
$lang['None'] = "ÊáíÝíá"; $lang['None'] = "Κανένας";
$lang['Subscribe'] = "Εγγραφή"; $lang['Subscribe'] = "Εγγραφή";
$lang['Unsubscribe'] = "Τερματισμός εγγραφής"; $lang['Unsubscribe'] = "Τερματισμός εγγραφής";
@ -654,6 +738,8 @@ $lang['Search_author_explain'] = "
$lang['Search_for_any'] = "Αναζήτησε οποιονδήποτε όρο ή όπως εισήχθη το ερώτημα"; $lang['Search_for_any'] = "Αναζήτησε οποιονδήποτε όρο ή όπως εισήχθη το ερώτημα";
$lang['Search_for_all'] = "Αναζήτησε όλους τους όρους"; $lang['Search_for_all'] = "Αναζήτησε όλους τους όρους";
$lang['Search_title_msg'] = "Αναζήτησε σε θέμα και στο κείμενο του μηνύματος";
$lang['Search_msg_only'] = "Αναζήτησε μόνο στο κείμενο του μηνύματος";
$lang['Search_author'] = "Αναζήτηση αποστολέα"; $lang['Search_author'] = "Αναζήτηση αποστολέα";
@ -696,9 +782,12 @@ $lang['Sorry_auth_vote'] = "
// These replace the %s in the above strings // These replace the %s in the above strings
$lang['Anonymous_Users'] = "<b>ανώνυμοι χρήστες</b>"; $lang['Anonymous_Users'] = "<b>ανώνυμοι χρήστες</b>";
$lang['Registered_Users'] = "<b>εγγεγραμμένοι χρήστες</b>"; $lang['Registered_Users'] = "<b>εγγεγραμμένοι χρήστες</b>";
$lang['Users_granted_access'] = "<b>÷ñÞóôåò ìå äéêáßùìá åéäéêÞò ðñüóâáóçò</b>"; // $lang['Users_granted_access'] = "<b>χρήστες με δικαίωμα ειδικής πρόσβασης</b>";
$lang['Moderators'] = "<b>äéáìåóïëáâçôÝò</b>"; $lang['Auth_Users_granted_access'] = "<b>χρήστες με δικαίωμα ειδικής πρόσβασης</b>";
$lang['Administrators'] = "<b>äéá÷åéñéóôÝò</b>"; // $lang['Moderators'] = "<b>διαμεσολαβητές</b>";
$lang['Auth_Moderators'] = "<b>διαμεσολαβητές</b>";
//$lang['Administrators'] = "<b>διαχειριστές</b>";
$lang['Auth_Administrators'] = "<b>διαχειριστές</b>";
$lang['Not_Moderator'] = "Δεν είστε Διαμεσολαβητής σε αυτή τη Δ.Συζήτηση"; $lang['Not_Moderator'] = "Δεν είστε Διαμεσολαβητής σε αυτή τη Δ.Συζήτηση";
$lang['Not_Authorised'] = "Μη εξουσιοδοτημένος"; $lang['Not_Authorised'] = "Μη εξουσιοδοτημένος";
@ -710,9 +799,14 @@ $lang['You_been_banned'] = "
// Viewonline // Viewonline
// //
$lang['Who_is_online'] = "Χρήστες σε σύνδεση"; $lang['Who_is_online'] = "Χρήστες σε σύνδεση";
$lang['Reg_users_online'] = "ÓõíäåäåìÝíïé åßíáé %d ÅããåãñáììÝíïé êáé "; // There ae 5 Registered and $lang['Reg_users_zero_online'] = "Συνδεδεμένοι είναι 0 Μέλοι και "; // There ae 5 Registered and
$lang['Reg_users_online'] = "Συνδεδεμένοι είναι %d Μέλοι και "; // There ae 5 Registered and
$lang['Reg_user_online'] = "Είναι συνδεδεμένο %d Μέλος και "; // There ae 5 Registered and
$lang['Hidden_users_zero_online'] = "0 Κρυφοί χρήστες"; // 6 Hidden users online
$lang['Hidden_users_online'] = "%d Κρυφοί χρήστες"; // 6 Hidden users online $lang['Hidden_users_online'] = "%d Κρυφοί χρήστες"; // 6 Hidden users online
$lang['Hidden_user_online'] = "%d Κρυφός χρήστης"; // 6 Hidden users online
$lang['Guest_users_online'] = "Συνδεδεμένοι είναι %d Επισκέπτες"; // There are 10 Guest users online $lang['Guest_users_online'] = "Συνδεδεμένοι είναι %d Επισκέπτες"; // There are 10 Guest users online
$lang['Guest_users_zero_online'] = "Συνδεδεμένοι είναι 0 Επισκέπτες"; // There are 10 Guest users online
$lang['Guest_user_online'] = "Συνδεδεμένος είναι %d Επισκέπτης"; // There is 1 Guest user online $lang['Guest_user_online'] = "Συνδεδεμένος είναι %d Επισκέπτης"; // There is 1 Guest user online
$lang['No_users_browsing'] = "Δεν υπάρχουν συνδεδεμένοι χρήστες αυτή την στιγμή"; $lang['No_users_browsing'] = "Δεν υπάρχουν συνδεδεμένοι χρήστες αυτή την στιγμή";
@ -748,6 +842,7 @@ $lang['Topics_Removed'] = "
$lang['Topics_Locked'] = "Οι επιλεγμένες Θ. Ενότητες έχουν κλειδώση"; $lang['Topics_Locked'] = "Οι επιλεγμένες Θ. Ενότητες έχουν κλειδώση";
$lang['Topics_Moved'] = "Οι επιλεγμένες Θ. Ενότητες μετακινήθηκαν"; $lang['Topics_Moved'] = "Οι επιλεγμένες Θ. Ενότητες μετακινήθηκαν";
$lang['Topics_Unlocked'] = "Οι επιλεγμένες Θ. Ενότητες έχουν ξεκλειδώση"; $lang['Topics_Unlocked'] = "Οι επιλεγμένες Θ. Ενότητες έχουν ξεκλειδώση";
$lang['No_Topics_Moved'] = "Οι Θ. Ενότητες δεν μετακινήθηκαν";
$lang['Confirm_delete_topic'] = "Είσθε σίγουρος ότι θέλετε να διαγράψετε την /τις επιλεγμένη /ες Θ.Ενότητα /τες;"; $lang['Confirm_delete_topic'] = "Είσθε σίγουρος ότι θέλετε να διαγράψετε την /τις επιλεγμένη /ες Θ.Ενότητα /τες;";
$lang['Confirm_lock_topic'] = "Είσθε σίγουρος ότι θέλετε να κλειδώσετε την /τις επιλεγμένη /ες Θ.Ενότητα /τες;"; $lang['Confirm_lock_topic'] = "Είσθε σίγουρος ότι θέλετε να κλειδώσετε την /τις επιλεγμένη /ες Θ.Ενότητα /τες;";
@ -896,7 +991,7 @@ $lang['Critical_Error'] = "
$lang['An_error_occured'] = "Παρουσιάσθηκε Λάθος"; $lang['An_error_occured'] = "Παρουσιάσθηκε Λάθος";
$lang['A_critical_error'] = "Παρουσιάσθηκε Κρίσιμο Λάθος"; $lang['A_critical_error'] = "Παρουσιάσθηκε Κρίσιμο Λάθος";
$lang['Error_login'] = "¸÷åôå åéóáãÜãåé ëÜèïò Þ ìç åíåñãïðïéçìÝíï ÷ñÞóôç Þ ëÜèïò êùäéêü";
// //
// That's all Folks! // That's all Folks!

View file

@ -343,7 +343,7 @@ switch( $mode )
$topics = $HTTP_POST_VARS['topic_id_list']; $topics = $HTTP_POST_VARS['topic_id_list'];
for($i = 0; $i < count($topics); $i++) for($i = 0; $i < count($topics); $i++)
{ {
$hidden_fields .= '<input type="hidden" name="topic_id_list[]" value="' . $topics[$i] . '" />'; $hidden_fields .= '<input type="hidden" name="topic_id_list[]" value="' . intval($topics[$i]) . '" />';
} }
} }
else else
@ -391,7 +391,7 @@ switch( $mode )
$topic_list = ''; $topic_list = '';
for($i = 0; $i < count($topics); $i++) for($i = 0; $i < count($topics); $i++)
{ {
$topic_list .= ( ( $topic_list != '' ) ? ', ' : '' ) . $topics[$i]; $topic_list .= ( ( $topic_list != '' ) ? ', ' : '' ) . intval($topics[$i]);
} }
$sql = "SELECT * $sql = "SELECT *
@ -624,7 +624,7 @@ switch( $mode )
message_die(GENERAL_MESSAGE, $lang['Empty_subject']); message_die(GENERAL_MESSAGE, $lang['Empty_subject']);
} }
$new_forum_id = $HTTP_POST_VARS['new_forum_id']; $new_forum_id = intval($HTTP_POST_VARS['new_forum_id']);
$topic_time = time(); $topic_time = time();
$sql = "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type) $sql = "INSERT INTO " . TOPICS_TABLE . " (topic_title, topic_poster, topic_time, forum_id, topic_status, topic_type)

View file

@ -82,17 +82,17 @@ if ( isset($HTTP_POST_VARS['cancel']) )
else if ( $topic_id ) else if ( $topic_id )
{ {
$redirect = "viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id"; $redirect = "viewtopic.$phpEx?" . POST_TOPIC_URL . "=$topic_id";
$post_append = ""; $post_append = '';
} }
else if ( $forum_id ) else if ( $forum_id )
{ {
$redirect = "viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id"; $redirect = "viewforum.$phpEx?" . POST_FORUM_URL . "=$forum_id";
$post_append = ""; $post_append = '';
} }
else else
{ {
$redirect = "index.$phpEx"; $redirect = "index.$phpEx";
$post_append = ""; $post_append = '';
} }
$header_location = ( @preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')) ) ? 'Refresh: 0; URL=' : 'Location: '; $header_location = ( @preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')) ) ? 'Refresh: 0; URL=' : 'Location: ';
@ -442,7 +442,7 @@ else if ( $mode == 'vote' )
// //
if ( !empty($HTTP_POST_VARS['vote_id']) ) if ( !empty($HTTP_POST_VARS['vote_id']) )
{ {
$vote_option_id = $HTTP_POST_VARS['vote_id']; $vote_option_id = intval($HTTP_POST_VARS['vote_id']);
$sql = "SELECT vd.vote_id $sql = "SELECT vd.vote_id
FROM " . VOTE_DESC_TABLE . " vd, " . VOTE_RESULTS_TABLE . " vr FROM " . VOTE_DESC_TABLE . " vd, " . VOTE_RESULTS_TABLE . " vr
@ -871,7 +871,7 @@ if ( $mode == 'newtopic' || ( $mode == 'editpost' && $post_data['first_post'] )
if( $is_auth['auth_sticky'] ) if( $is_auth['auth_sticky'] )
{ {
$topic_type_toggle .= '<input type="radio" name="topictype" value="' . POST_STICKY . '"'; $topic_type_toggle .= '<input type="radio" name="topictype" value="' . POST_STICKY . '"';
if ( $post_data['topic_type'] == POST_STICKY ) if ( $post_data['topic_type'] == POST_STICKY || $topic_type == POST_STICKY )
{ {
$topic_type_toggle .= ' checked="checked"'; $topic_type_toggle .= ' checked="checked"';
} }
@ -881,7 +881,7 @@ if ( $mode == 'newtopic' || ( $mode == 'editpost' && $post_data['first_post'] )
if( $is_auth['auth_announce'] ) if( $is_auth['auth_announce'] )
{ {
$topic_type_toggle .= '<input type="radio" name="topictype" value="' . POST_ANNOUNCE . '"'; $topic_type_toggle .= '<input type="radio" name="topictype" value="' . POST_ANNOUNCE . '"';
if ( $post_data['topic_type'] == POST_ANNOUNCE ) if ( $post_data['topic_type'] == POST_ANNOUNCE || $topic_type == POST_ANNOUNCE )
{ {
$topic_type_toggle .= ' checked="checked"'; $topic_type_toggle .= ' checked="checked"';
} }
@ -890,7 +890,7 @@ if ( $mode == 'newtopic' || ( $mode == 'editpost' && $post_data['first_post'] )
if ( $topic_type_toggle != '' ) if ( $topic_type_toggle != '' )
{ {
$topic_type_toggle = $lang['Post_topic_as'] . ': <input type="radio" name="topictype" value="' . POST_NORMAL .'"' . ( ( $post_data['topic_type'] == POST_NORMAL ) ? ' checked="checked"' : '' ) . ' /> ' . $lang['Post_Normal'] . '&nbsp;&nbsp;' . $topic_type_toggle; $topic_type_toggle = $lang['Post_topic_as'] . ': <input type="radio" name="topictype" value="' . POST_NORMAL .'"' . ( ( $post_data['topic_type'] == POST_NORMAL || $topic_type == POST_NORMAL ) ? ' checked="checked"' : '' ) . ' /> ' . $lang['Post_Normal'] . '&nbsp;&nbsp;' . $topic_type_toggle;
} }
} }

View file

@ -99,11 +99,11 @@ else
$mode = ''; $mode = '';
} }
$start = ( !empty($HTTP_GET_VARS['start']) ) ? $HTTP_GET_VARS['start'] : 0; $start = ( !empty($HTTP_GET_VARS['start']) ) ? intval($HTTP_GET_VARS['start']) : 0;
if ( isset($HTTP_POST_VARS[POST_POST_URL]) || isset($HTTP_GET_VARS[POST_POST_URL]) ) if ( isset($HTTP_POST_VARS[POST_POST_URL]) || isset($HTTP_GET_VARS[POST_POST_URL]) )
{ {
$privmsg_id = ( isset($HTTP_POST_VARS[POST_POST_URL]) ) ? $HTTP_POST_VARS[POST_POST_URL] : $HTTP_GET_VARS[POST_POST_URL]; $privmsg_id = ( isset($HTTP_POST_VARS[POST_POST_URL]) ) ? intval($HTTP_POST_VARS[POST_POST_URL]) : intval($HTTP_GET_VARS[POST_POST_URL]);
} }
else else
{ {
@ -173,7 +173,7 @@ else if ( $mode == 'read' )
{ {
if ( !empty($HTTP_GET_VARS[POST_POST_URL]) ) if ( !empty($HTTP_GET_VARS[POST_POST_URL]) )
{ {
$privmsgs_id = $HTTP_GET_VARS[POST_POST_URL]; $privmsgs_id = intval($HTTP_GET_VARS[POST_POST_URL]);
} }
else else
{ {
@ -472,9 +472,9 @@ else if ( $mode == 'read' )
$pm_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_pm'] . '" alt="' . $lang['Send_private_message'] . '" title="' . $lang['Send_private_message'] . '" border="0" /></a>'; $pm_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_pm'] . '" alt="' . $lang['Send_private_message'] . '" title="' . $lang['Send_private_message'] . '" border="0" /></a>';
$pm = '<a href="' . $temp_url . '">' . $lang['Send_private_message'] . '</a>'; $pm = '<a href="' . $temp_url . '">' . $lang['Send_private_message'] . '</a>';
if ( !empty($privmsg['user_viewemail']) || $is_auth['auth_mod'] ) if ( !empty($privmsg['user_viewemail']) || $userdata['user_level'] == ADMIN )
{ {
$email_uri = ( $board_config['board_email_form'] ) ? append_sid("profile.$phpEx?mode=email&amp;" . POST_USERS_URL .'=' . $poster_id) : 'mailto:' . $privmsg['user_email']; $email_uri = ( $board_config['board_email_form'] ) ? append_sid("profile.$phpEx?mode=email&amp;" . POST_USERS_URL .'=' . $user_id_from) : 'mailto:' . $privmsg['user_email'];
$email_img = '<a href="' . $email_uri . '"><img src="' . $images['icon_email'] . '" alt="' . $lang['Send_email'] . '" title="' . $lang['Send_email'] . '" border="0" /></a>'; $email_img = '<a href="' . $email_uri . '"><img src="' . $images['icon_email'] . '" alt="' . $lang['Send_email'] . '" title="' . $lang['Send_email'] . '" border="0" /></a>';
$email = '<a href="' . $email_uri . '">' . $lang['Send_email'] . '</a>'; $email = '<a href="' . $email_uri . '">' . $lang['Send_email'] . '</a>';
@ -910,7 +910,7 @@ else if ( $submit || $refresh || $mode != '' )
if ( !$userdata['session_logged_in'] ) if ( !$userdata['session_logged_in'] )
{ {
$user_id = ( isset($HTTP_GET_VARS[POST_USERS_URL]) ) ? '&' . POST_USERS_URL . '=' . $HTTP_GET_VARS[POST_USERS_URL] : ''; $user_id = ( isset($HTTP_GET_VARS[POST_USERS_URL]) ) ? '&' . POST_USERS_URL . '=' . intval($HTTP_GET_VARS[POST_USERS_URL]) : '';
$header_location = ( @preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')) ) ? 'Refresh: 0; URL=' : 'Location: '; $header_location = ( @preg_match('/Microsoft|WebSTAR|Xitami/', getenv('SERVER_SOFTWARE')) ) ? 'Refresh: 0; URL=' : 'Location: ';
header($header_location . append_sid("login.$phpEx?redirect=privmsg.$phpEx&folder=$folder&mode=$mode" . $user_id, true)); header($header_location . append_sid("login.$phpEx?redirect=privmsg.$phpEx&folder=$folder&mode=$mode" . $user_id, true));
} }
@ -1037,7 +1037,7 @@ else if ( $submit || $refresh || $mode != '' )
$msg_time = time(); $msg_time = time();
if ( $mode != "edit" ) if ( $mode != 'edit' )
{ {
// //
// See if recipient is at their inbox limit // See if recipient is at their inbox limit
@ -1087,7 +1087,7 @@ else if ( $submit || $refresh || $mode != '' )
message_die(GENERAL_ERROR, "Could not insert/update private message sent info.", "", __LINE__, __FILE__, $sql_info); message_die(GENERAL_ERROR, "Could not insert/update private message sent info.", "", __LINE__, __FILE__, $sql_info);
} }
if ( $mode != "edit" ) if ( $mode != 'edit' )
{ {
$privmsg_sent_id = $db->sql_nextid(); $privmsg_sent_id = $db->sql_nextid();
@ -1225,7 +1225,7 @@ else if ( $submit || $refresh || $mode != '' )
if ( !empty($HTTP_GET_VARS[POST_USERS_URL]) ) if ( !empty($HTTP_GET_VARS[POST_USERS_URL]) )
{ {
$user_id = $HTTP_GET_VARS[POST_USERS_URL]; $user_id = intval($HTTP_GET_VARS[POST_USERS_URL]);
$sql = "SELECT username $sql = "SELECT username
FROM " . USERS_TABLE . " FROM " . USERS_TABLE . "
@ -1745,7 +1745,7 @@ switch( $folder )
// //
if ( $submit_msgdays && ( !empty($HTTP_POST_VARS['msgdays']) || !empty($HTTP_GET_VARS['msgdays']) ) ) if ( $submit_msgdays && ( !empty($HTTP_POST_VARS['msgdays']) || !empty($HTTP_GET_VARS['msgdays']) ) )
{ {
$msg_days = ( !empty($HTTP_POST_VARS['msgdays']) ) ? $HTTP_POST_VARS['msgdays'] : $HTTP_GET_VARS['msgdays']; $msg_days = ( !empty($HTTP_POST_VARS['msgdays']) ) ? intval($HTTP_POST_VARS['msgdays']) : intval($HTTP_GET_VARS['msgdays']);
$min_msg_time = time() - ($msg_days * 86400); $min_msg_time = time() - ($msg_days * 86400);
$limit_msg_time_total = " AND privmsgs_date > $min_msg_time"; $limit_msg_time_total = " AND privmsgs_date > $min_msg_time";

View file

@ -115,11 +115,7 @@ else
$start = ( isset($HTTP_GET_VARS['start']) ) ? intval($HTTP_GET_VARS['start']) : 0; $start = ( isset($HTTP_GET_VARS['start']) ) ? intval($HTTP_GET_VARS['start']) : 0;
//
// Define some globally used data
//
$sort_by_types = array($lang['Sort_Time'], $lang['Sort_Post_Subject'], $lang['Sort_Topic_Title'], $lang['Sort_Author'], $lang['Sort_Forum']); $sort_by_types = array($lang['Sort_Time'], $lang['Sort_Post_Subject'], $lang['Sort_Topic_Title'], $lang['Sort_Author'], $lang['Sort_Forum']);
$sort_by_sql = array('p.post_time', 'pt.post_subject', 't.topic_title', 'u.username', 'f.forum_id');
// //
// Begin core code // Begin core code
@ -161,7 +157,7 @@ else if ( $search_keywords != '' || $search_author != '' || $search_id )
} }
else else
{ {
header("Location: login.$phpEx?redirect=search&search_id=newposts"); header("Location: login.$phpEx?redirect=search.$phpEx&search_id=newposts", true);
exit; exit;
} }
@ -179,7 +175,7 @@ else if ( $search_keywords != '' || $search_author != '' || $search_id )
} }
else else
{ {
header("Location: login.$phpEx?redirect=search&search_id=egosearch"); header("Location: login.$phpEx?redirect=search.$phpEx&search_id=egosearch", true);
exit; exit;
} }
@ -446,8 +442,8 @@ else if ( $search_keywords != '' || $search_author != '' || $search_id )
} }
else if ( $search_author != '' || $search_time || $auth_sql != '' ) else if ( $search_author != '' || $search_time || $auth_sql != '' )
{ {
$where_sql = ( $search_author == '' && $auth_sql == '' ) ? "post_id IN (" . implode(', ', $search_ids) . ")" : "p.post_id IN (" . implode(", ", $search_ids) . ")"; $where_sql = ( $search_author == '' && $auth_sql == '' ) ? 'post_id IN (' . implode(', ', $search_ids) . ')' : 'p.post_id IN (' . implode(', ', $search_ids) . ')';
$from_sql = ( $search_author == '' && $auth_sql == '' ) ? POSTS_TABLE : POSTS_TABLE . " p"; $from_sql = ( $search_author == '' && $auth_sql == '' ) ? POSTS_TABLE : POSTS_TABLE . ' p';
if ( $search_time ) if ( $search_time )
{ {
@ -643,7 +639,26 @@ else if ( $search_keywords != '' || $search_author != '' || $search_id )
$per_page = ( $show_results == 'posts' ) ? $board_config['posts_per_page'] : $board_config['topics_per_page']; $per_page = ( $show_results == 'posts' ) ? $board_config['posts_per_page'] : $board_config['topics_per_page'];
$sql .= " ORDER BY " . $sort_by_sql[$sort_by] . " $sort_dir LIMIT $start, " . $per_page; $sql .= " ORDER BY ";
switch ( $sort_by )
{
case 1:
$sql .= ( $show_results == 'posts' ) ? 'pt.post_subject' : 't.topic_title';
break;
case 2:
$sql .= 't.topic_title';
break;
case 3:
$sql .= 'u.username';
break;
case 4:
$sql .= 'f.forum_id';
break;
default:
$sql .= ( $show_results == 'posts' ) ? 'p.post_time' : 'p2.post_time';
break;
}
$sql .= " $sort_dir LIMIT $start, " . $per_page;
if ( !$result = $db->sql_query($sql) ) if ( !$result = $db->sql_query($sql) )
{ {
@ -725,7 +740,7 @@ else if ( $search_keywords != '' || $search_author != '' || $search_id )
{ {
$forum_url = append_sid("viewforum.$phpEx?" . POST_FORUM_URL . '=' . $searchset[$i]['forum_id']); $forum_url = append_sid("viewforum.$phpEx?" . POST_FORUM_URL . '=' . $searchset[$i]['forum_id']);
$topic_url = append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . '=' . $searchset[$i]['topic_id'] . "&amp;highlight=$highlight_active"); $topic_url = append_sid("viewtopic.$phpEx?" . POST_TOPIC_URL . '=' . $searchset[$i]['topic_id'] . "&amp;highlight=$highlight_active");
$post_url = append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $searchset[$i]['post_id'] . "&amp;highlight=$highlight_active#" . $searchset[$i]['post_id']); $post_url = append_sid("viewtopic.$phpEx?" . POST_POST_URL . '=' . $searchset[$i]['post_id'] . "&amp;highlight=$highlight_active") . '#' . $searchset[$i]['post_id'];
$post_date = create_date($board_config['default_dateformat'], $searchset[$i]['post_time'], $board_config['board_timezone']); $post_date = create_date($board_config['default_dateformat'], $searchset[$i]['post_time'], $board_config['board_timezone']);

View file

@ -117,15 +117,15 @@
<td class="row2"><input type="radio" name="privmsg_disable" value="0" {S_PRIVMSG_ENABLED} />{L_ENABLED}&nbsp; &nbsp;<input type="radio" name="privmsg_disable" value="1" {S_PRIVMSG_DISABLED} />{L_DISABLED}</td> <td class="row2"><input type="radio" name="privmsg_disable" value="0" {S_PRIVMSG_ENABLED} />{L_ENABLED}&nbsp; &nbsp;<input type="radio" name="privmsg_disable" value="1" {S_PRIVMSG_DISABLED} />{L_DISABLED}</td>
</tr> </tr>
<tr> <tr>
<td class="row1">{L_INBOX_LIMIT}</span></td> <td class="row1">{L_INBOX_LIMIT}</td>
<td class="row2"><input type="text" maxlength="4" size="4" name="max_inbox_privmsgs" value="{INBOX_LIMIT}" /></td> <td class="row2"><input type="text" maxlength="4" size="4" name="max_inbox_privmsgs" value="{INBOX_LIMIT}" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1">{L_SENTBOX_LIMIT}</span></td> <td class="row1">{L_SENTBOX_LIMIT}</td>
<td class="row2"><input type="text" maxlength="4" size="4" name="max_sentbox_privmsgs" value="{SENTBOX_LIMIT}" /></td> <td class="row2"><input type="text" maxlength="4" size="4" name="max_sentbox_privmsgs" value="{SENTBOX_LIMIT}" /></td>
</tr> </tr>
<tr> <tr>
<td class="row1">{L_SAVEBOX_LIMIT}</span></td> <td class="row1">{L_SAVEBOX_LIMIT}</td>
<td class="row2"><input type="text" maxlength="4" size="4" name="max_savebox_privmsgs" value="{SAVEBOX_LIMIT}" /></td> <td class="row2"><input type="text" maxlength="4" size="4" name="max_savebox_privmsgs" value="{SAVEBOX_LIMIT}" /></td>
</tr> </tr>
<tr> <tr>

View file

@ -16,8 +16,8 @@
<td class="{ranks.ROW_CLASS}" align="center">{ranks.RANK}</td> <td class="{ranks.ROW_CLASS}" align="center">{ranks.RANK}</td>
<td class="{ranks.ROW_CLASS}" align="center">{ranks.RANK_MIN}</td> <td class="{ranks.ROW_CLASS}" align="center">{ranks.RANK_MIN}</td>
<td class="{ranks.ROW_CLASS}" align="center">{ranks.SPECIAL_RANK}</td> <td class="{ranks.ROW_CLASS}" align="center">{ranks.SPECIAL_RANK}</td>
<td class="{ranks.ROW_CLASS}" align="center"><a href="{ranks.U_RANK_EDIT}">{L_EDIT}</td> <td class="{ranks.ROW_CLASS}" align="center"><a href="{ranks.U_RANK_EDIT}">{L_EDIT}</a></td>
<td class="{ranks.ROW_CLASS}" align="center"><a href="{ranks.U_RANK_DELETE}">{L_DELETE}</td> <td class="{ranks.ROW_CLASS}" align="center"><a href="{ranks.U_RANK_DELETE}">{L_DELETE}</a></td>
</tr> </tr>
<!-- END ranks --> <!-- END ranks -->
<tr> <tr>

View file

@ -1,15 +1,21 @@
<table width="100%" cellspacing="0" cellpadding="2" border="0" align="center"> <table width="100%" cellspacing="0" cellpadding="2" border="0" align="center">
<tr> <tr>
<td align="left" valign="bottom"><span class="gensmall"> <td width="100%" align="left" valign="bottom"><table width="100%" cellspacing="0" cellpadding="0" border="0">
<!-- BEGIN switch_user_logged_in --> <tr>
{LAST_VISIT_DATE}<br /> <td align="left" valign="bottom"><p><span class="gensmall">{TOTAL_POSTS}<br />{TOTAL_USERS}<br />{NEWEST_USER}</span></p><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></span></td>
<!-- END switch_user_logged_in --> <td align="right" class="gensmall" valign="bottom">
{CURRENT_TIME}<br /></span><span class="nav"><a href="{U_INDEX}" class="nav">{L_INDEX}</a></span></td>
<td align="right" valign="bottom" class="gensmall">
<!-- BEGIN switch_user_logged_in --> <!-- BEGIN switch_user_logged_in -->
<a href="{U_SEARCH_NEW}" class="gensmall">{L_SEARCH_NEW}</a><br /><a href="{U_SEARCH_SELF}" class="gensmall">{L_SEARCH_SELF}</a><br /> <a href="{U_SEARCH_NEW}" class="gensmall">{L_SEARCH_NEW}</a><br /><a href="{U_SEARCH_SELF}" class="gensmall">{L_SEARCH_SELF}</a><br />
<!-- END switch_user_logged_in --> <!-- END switch_user_logged_in -->
<a href="{U_SEARCH_UNANSWERED}" class="gensmall">{L_SEARCH_UNANSWERED}</a></td> <a href="{U_SEARCH_UNANSWERED}" class="gensmall">{L_SEARCH_UNANSWERED}</a><br />
<br />
<!-- BEGIN switch_user_logged_in -->
{LAST_VISIT_DATE}<br />
<!-- END switch_user_logged_in -->
{CURRENT_TIME}</td>
</tr>
</table></td>
</tr> </tr>
</table> </table>
@ -27,10 +33,8 @@
</tr> </tr>
<!-- BEGIN forumrow --> <!-- BEGIN forumrow -->
<tr> <tr>
<td class="row1" align="center" valign="middle" height="50"><img src="{catrow.forumrow.FORUM_FOLDER_IMG}" width="46" height="25" alt="{catrow.forumrow.L_FORUM_FOLDER_ALT}" title="{catrow.forumrow.L_FORUM_FOLDER_ALT}" /></td> <td class="row1" width="50" height="50" align="center" valign="middle"><img src="{catrow.forumrow.FORUM_FOLDER_IMG}" width="46" height="25" alt="{catrow.forumrow.L_FORUM_FOLDER_ALT}" title="{catrow.forumrow.L_FORUM_FOLDER_ALT}" /></td>
<td class="row1" width="100%" height="50"><span class="forumlink"> <a href="{catrow.forumrow.U_VIEWFORUM}" class="forumlink">{catrow.forumrow.FORUM_NAME}</a><br /> <td class="row1" width="100%" height="50"><span class="forumlink"> <a href="{catrow.forumrow.U_VIEWFORUM}" class="forumlink">{catrow.forumrow.FORUM_NAME}</a><br /></span> <span class="genmed">{catrow.forumrow.FORUM_DESC}<br /></span><span class="gensmall">{catrow.forumrow.L_MODERATOR} {catrow.forumrow.MODERATORS}</span></td>
</span> <span class="genmed">{catrow.forumrow.FORUM_DESC}<br />
</span><span class="gensmall">{catrow.forumrow.L_MODERATOR} {catrow.forumrow.MODERATORS}</span></td>
<td class="row2" align="center" valign="middle" height="50"><span class="gensmall">{catrow.forumrow.TOPICS}</span></td> <td class="row2" align="center" valign="middle" height="50"><span class="gensmall">{catrow.forumrow.TOPICS}</span></td>
<td class="row2" align="center" valign="middle" height="50"><span class="gensmall">{catrow.forumrow.POSTS}</span></td> <td class="row2" align="center" valign="middle" height="50"><span class="gensmall">{catrow.forumrow.POSTS}</span></td>
<td class="row2" align="center" valign="middle" height="50" nowrap="nowrap"> <span class="gensmall">{catrow.forumrow.LAST_POST}</span></td> <td class="row2" align="center" valign="middle" height="50" nowrap="nowrap"> <span class="gensmall">{catrow.forumrow.LAST_POST}</span></td>
@ -46,17 +50,16 @@
</tr> </tr>
</table> </table>
<table width="100%" cellpadding="3" cellspacing="1" border="0" class="forumline"> <table width="100%" cellpadding="2" cellspacing="1" border="0" class="forumline">
<tr> <tr>
<td class="catHead" colspan="2" height="28"><span class="cattitle"><a href="{U_VIEWONLINE}" class="cattitle">{L_WHO_IS_ONLINE}</a></span></td> <td class="catHead" colspan="2" height="28"><span class="cattitle"><a href="{U_VIEWONLINE}" class="cattitle">{L_WHO_IS_ONLINE}</a></span></td>
</tr> </tr>
<tr> <tr>
<td class="row1" align="center" valign="middle" rowspan="2"><img src="templates/subSilver/images/whosonline.gif" alt="{L_WHO_IS_ONLINE}" /></td> <td class="row1" width="46" rowspan="2" align="center" valign="middle" rowspan="2"><img src="templates/subSilver/images/whosonline.gif" alt="{L_WHO_IS_ONLINE}" /></td>
<td class="row1" align="left" width="100%"><span class="gensmall">{TOTAL_POSTS}<br />{TOTAL_USERS}<br />{NEWEST_USER}</span> <td class="row1" align="left"><span class="gensmall">{TOTAL_USERS_ONLINE}<br />{RECORD_USERS}<br />{LOGGED_IN_USER_LIST}</span></td>
</td>
</tr> </tr>
<tr> <tr>
<td class="row1" align="left"><span class="gensmall">{TOTAL_USERS_ONLINE} &nbsp; [ {L_WHOSONLINE_ADMIN} ] &nbsp; [ {L_WHOSONLINE_MOD} ]<br />{RECORD_USERS}<br />{LOGGED_IN_USER_LIST}</span></td> <td class="row1" align="left"><span class="gensmall"><b>{L_LEGEND}</b> :: {L_WHOSONLINE_ADMIN} - {L_WHOSONLINE_MOD} - {L_WHOSONLINE_USER}</span></td>
</tr> </tr>
</table> </table>

View file

@ -279,7 +279,7 @@ function storeCaret(textEl) {
<!-- END smilies_row --> <!-- END smilies_row -->
<!-- BEGIN switch_smilies_extra --> <!-- BEGIN switch_smilies_extra -->
<tr align="center"> <tr align="center">
<td colspan="{S_SMILIES_COLSPAN}"><span class="nav"><a href="{U_MORE_SMILIES}" onclick="window.open('{U_MORE_SMILIES}', '_phpbbsmilies', 'HEIGHT=300,resizable=yes,scrollbars=yes,WIDTH=250');return false;" target="_phpbbsmilies" class="nav">{L_MORE_SMILIES}</a></td> <td colspan="{S_SMILIES_COLSPAN}"><span class="nav"><a href="{U_MORE_SMILIES}" onclick="window.open('{U_MORE_SMILIES}', '_phpbbsmilies', 'HEIGHT=300,resizable=yes,scrollbars=yes,WIDTH=250');return false;" target="_phpbbsmilies" class="nav">{L_MORE_SMILIES}</a></span></td>
</tr> </tr>
<!-- END switch_smilies_extra --> <!-- END switch_smilies_extra -->
</table> </table>

View file

@ -7,7 +7,7 @@
<tr> <tr>
<td class="row1"><iframe width="100%" height="300" src="{U_REVIEW_TOPIC}" > <td class="row1"><iframe width="100%" height="300" src="{U_REVIEW_TOPIC}" >
<!-- END switch_inline_mode --> <!-- END switch_inline_mode -->
<table border="0" cellpadding="3" cellspacing="1" width="100%" class="forumline" style="border: 0px #006699 solid "> <table border="0" cellpadding="3" cellspacing="1" width="100%" class="forumline">
<tr> <tr>
<th class="thCornerL" width="22%" height="26">{L_AUTHOR}</th> <th class="thCornerL" width="22%" height="26">{L_AUTHOR}</th>
<th class="thCornerR">{L_MESSAGE}</th> <th class="thCornerR">{L_MESSAGE}</th>

View file

@ -3,7 +3,7 @@
<table width="100%" cellspacing="2" cellpadding="2" border="0" align="center"> <table width="100%" cellspacing="2" cellpadding="2" border="0" align="center">
<tr> <tr>
<td align="left" valign="bottom" colspan="2"><a class="maintitle" href="{U_VIEW_FORUM}">{FORUM_NAME}</a><br /><span class="gensmall"><b>{L_MODERATOR}: {MODERATORS}<br /><br />{LOGGED_IN_USER_LIST}</b></span></td> <td align="left" valign="bottom" colspan="2"><a class="maintitle" href="{U_VIEW_FORUM}">{FORUM_NAME}</a><br /><span class="gensmall"><b>{L_MODERATOR}: {MODERATORS}<br /><br />{LOGGED_IN_USER_LIST}</b></span></td>
<td align="right" valign="bottom" nowrap><span class="gensmall"><b>{PAGINATION}</b></span></td> <td align="right" valign="bottom" nowrap="nowrap"><span class="gensmall"><b>{PAGINATION}</b></span></td>
</tr> </tr>
<tr> <tr>
<td align="left" valign="middle" width="50"><a href="{U_POST_NEW_TOPIC}"><img src="{POST_IMG}" border="0" alt="{L_POST_NEW_TOPIC}" /></a></td> <td align="left" valign="middle" width="50"><a href="{U_POST_NEW_TOPIC}"><img src="{POST_IMG}" border="0" alt="{L_POST_NEW_TOPIC}" /></a></td>
@ -18,7 +18,7 @@
<th width="50" align="center" class="thTop" nowrap="nowrap">&nbsp;{L_REPLIES}&nbsp;</th> <th width="50" align="center" class="thTop" nowrap="nowrap">&nbsp;{L_REPLIES}&nbsp;</th>
<th width="100" align="center" class="thTop" nowrap="nowrap">&nbsp;{L_AUTHOR}&nbsp;</th> <th width="100" align="center" class="thTop" nowrap="nowrap">&nbsp;{L_AUTHOR}&nbsp;</th>
<th width="50" align="center" class="thTop" nowrap="nowrap">&nbsp;{L_VIEWS}&nbsp;</th> <th width="50" align="center" class="thTop" nowrap="nowrap">&nbsp;{L_VIEWS}&nbsp;</th>
<th align="center" nowrap="nowrap" class="thCornerR" nowrap="nowrap">&nbsp;{L_LASTPOST}&nbsp;</th> <th align="center" class="thCornerR" nowrap="nowrap">&nbsp;{L_LASTPOST}&nbsp;</th>
</tr> </tr>
<!-- BEGIN topicrow --> <!-- BEGIN topicrow -->
<tr> <tr>

View file

@ -20,20 +20,43 @@ if ( !($result = $db->sql_query($sql)) )
if ( $row = $db->sql_fetchrow($result) ) if ( $row = $db->sql_fetchrow($result) )
{ {
if ( $row['config_value'] != '.1.0 [20020402]' ) $sql = array();
switch ( $row['config_value'] )
{ {
$sql = "UPDATE " . CONFIG_TABLE . " case '.1.0 [20020402]':
SET config_value = '.1.0 [20020402]' echo 'Updating from [20020402] :: ';
WHERE config_name = 'version'"; flush();
if ( !($result = $db->sql_query($sql)) )
{ $sql[] = "INSERT INTO " . CONFIG_TABLE . " (config_name, config_value)
die("Couldn't update version info"); VALUES ('session_gc', '3600')";
$sql[] = "INSERT INTO " . CONFIG_TABLE . " (config_name, config_value)
VALUES ('session_last_gc', '0')";
echo '<span style="color:green">DONE</span><br /><br />';
break;
default;
echo 'No updates made<br /><br />';
} }
die("UPDATING COMPLETE"); if ( count($sql) )
{
for($i = 0; $i < count($sql); $i++)
{
if ( !($result = $db->sql_query($sql[$i])) )
{
die("Couldn't run update >> " . $sql);
}
}
} }
} }
$sql = "UPDATE " . CONFIG_TABLE . "
SET config_value = '.1.0 [20020420]'
WHERE config_name = 'version'";
if ( !($result = $db->sql_query($sql)) )
{
die("Couldn't update version info");
}
echo "\n<br />\n<b>COMPLETE!</b><br />\n"; echo "\n<br />\n<b>COMPLETE!</b><br />\n";
echo "\n<p>Don't forget to delete this file!</p>\n"; echo "\n<p>Don't forget to delete this file!</p>\n";

View file

@ -161,7 +161,7 @@ function query($sql, $errormsg)
} }
} }
function smiley_replace($text = "") function smiley_replace($text = '')
{ {
global $db; global $db;
@ -186,7 +186,7 @@ function smiley_replace($text = "")
} }
} }
return ( $text != "" ) ? preg_replace($search, $replace, $text) : ""; return ( $text != '' ) ? preg_replace($search, $replace, $text) : '';
} }
@ -201,22 +201,22 @@ function get_schema()
{ {
$line = $schemafile[$i]; $line = $schemafile[$i];
if ( preg_match("/^CREATE TABLE (\w+)/i", $line, $matches) ) if ( preg_match('/^CREATE TABLE (\w+)/i', $line, $matches) )
{ {
// Start of a new table definition, set some variables and go to the next line. // Start of a new table definition, set some variables and go to the next line.
$tabledata = 1; $tabledata = 1;
// Replace the 'phpbb_' prefix by the user defined prefix. // Replace the 'phpbb_' prefix by the user defined prefix.
$table = str_replace("phpbb_", $table_prefix, $matches[1]); $table = str_replace('phpbb_', $table_prefix, $matches[1]);
$table_def[$table] = "CREATE TABLE $table (\n"; $table_def[$table] = "CREATE TABLE $table (\n";
continue; continue;
} }
if ( preg_match("/^\);/", $line) ) if ( preg_match('/^\);/', $line) )
{ {
// End of the table definition // End of the table definition
// After this we will skip everything until the next 'CREATE' line // After this we will skip everything until the next 'CREATE' line
$tabledata = 0; $tabledata = 0;
$table_def[$table] .= ")"; // We don't need the closing semicolon $table_def[$table] .= ')'; // We don't need the closing semicolon
} }
if ( $tabledata == 1 ) if ( $tabledata == 1 )
@ -224,18 +224,18 @@ function get_schema()
// We are inside a table definition, parse this line. // We are inside a table definition, parse this line.
// Add the current line to the complete table definition: // Add the current line to the complete table definition:
$table_def[$table] .= $line; $table_def[$table] .= $line;
if ( preg_match("/^\s*(\w+)\s+(\w+)\((\d+)\)(.*)$/", $line, $matches) ) if ( preg_match('/^\s*(\w+)\s+(\w+)\(([\d,]+)\)(.*)$/', $line, $matches) )
{ {
// This is a column definition // This is a column definition
$field = $matches[1]; $field = $matches[1];
$type = $matches[2]; $type = $matches[2];
$size = $matches[3]; $size = $matches[3];
preg_match("/DEFAULT (NULL|\'.*?\')[,\s](.*)$/i", $matches[4], $match); preg_match('/DEFAULT (NULL|\'.*?\')[,\s](.*)$/i', $matches[4], $match);
$default = $match[1]; $default = $match[1];
$notnull = ( preg_match("/NOT NULL/i", $matches[4]) ) ? 1 : 0; $notnull = ( preg_match('/NOT NULL/i', $matches[4]) ) ? 1 : 0;
$auto_increment = ( preg_match("/auto_increment/i", $matches[4]) ) ? 1 : 0; $auto_increment = ( preg_match('/auto_increment/i', $matches[4]) ) ? 1 : 0;
$field_def[$table][$field] = array( $field_def[$table][$field] = array(
'type' => $type, 'type' => $type,
@ -246,17 +246,17 @@ function get_schema()
); );
} }
if ( preg_match("/\s*PRIMARY\s+KEY\s*\((.*)\).*/", $line, $matches) ) if ( preg_match('/\s*PRIMARY\s+KEY\s*\((.*)\).*/', $line, $matches) )
{ {
// Primary key // Primary key
$key_def[$table]['PRIMARY'] = $matches[1]; $key_def[$table]['PRIMARY'] = $matches[1];
} }
else if ( preg_match("/\s*KEY\s+(\w+)\s*\((.*)\)/", $line, $matches) ) else if ( preg_match('/\s*KEY\s+(\w+)\s*\((.*)\)/', $line, $matches) )
{ {
// Normal key // Normal key
$key_def[$table][$matches[1]] = $matches[2]; $key_def[$table][$matches[1]] = $matches[2];
} }
else if ( preg_match("/^\s*(\w+)\s*(.*?),?\s*$/", $line, $matches) ) else if ( preg_match('/^\s*(\w+)\s*(.*?),?\s*$/', $line, $matches) )
{ {
// Column definition // Column definition
$create_def[$table][$matches[1]] = $matches[2]; $create_def[$table][$matches[1]] = $matches[2];
@ -280,11 +280,11 @@ function get_inserts()
{ {
global $table_prefix; global $table_prefix;
$insertfile = file("db/schemas/mysql_basic.sql"); $insertfile = file('db/schemas/mysql_basic.sql');
for($i = 0; $i < count($insertfile); $i++) for($i = 0; $i < count($insertfile); $i++)
{ {
if ( preg_match("/(INSERT INTO (\w+)\s.*);/i", str_replace("phpbb_", $table_prefix, $insertfile[$i]), $matches) ) if ( preg_match('/(INSERT INTO (\w+)\s.*);/i', str_replace('phpbb_', $table_prefix, $insertfile[$i]), $matches) )
{ {
$returnvalue[$matches[2]][] = $matches[1]; $returnvalue[$matches[2]][] = $matches[1];
} }
@ -323,16 +323,16 @@ function output_table_content($content)
function bbdecode($message) function bbdecode($message)
{ {
// Undo [code] // Undo [code]
$code_start_html = "<!-- BBCode Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Code:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><PRE>"; $code_start_html = '<!-- BBCode Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Code:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><PRE>';
$code_end_html = "</PRE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode End -->"; $code_end_html = '</PRE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode End -->';
$message = str_replace($code_start_html, "[code]", $message); $message = str_replace($code_start_html, '[code]', $message);
$message = str_replace($code_end_html, "[/code]", $message); $message = str_replace($code_end_html, '[/code]', $message);
// Undo [quote] // Undo [quote]
$quote_start_html = "<!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Quote:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE>"; $quote_start_html = '<!-- BBCode Quote Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH=85%><TR><TD><font size=-1>Quote:</font><HR></TD></TR><TR><TD><FONT SIZE=-1><BLOCKQUOTE>';
$quote_end_html = "</BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End -->"; $quote_end_html = '</BLOCKQUOTE></FONT></TD></TR><TR><TD><HR></TD></TR></TABLE><!-- BBCode Quote End -->';
$message = str_replace($quote_start_html, "[quote]", $message); $message = str_replace($quote_start_html, '[quote]', $message);
$message = str_replace($quote_end_html, "[/quote]", $message); $message = str_replace($quote_end_html, '[/quote]', $message);
// Undo [b] and [i] // Undo [b] and [i]
$message = preg_replace("#<!-- BBCode Start --><B>(.*?)</B><!-- BBCode End -->#s", "[b]\\1[/b]", $message); $message = preg_replace("#<!-- BBCode Start --><B>(.*?)</B><!-- BBCode End -->#s", "[b]\\1[/b]", $message);
@ -353,17 +353,17 @@ function bbdecode($message)
// Undo lists (unordered/ordered) // Undo lists (unordered/ordered)
// <li> tags: // <li> tags:
$message = str_replace("<!-- BBCode --><LI>", "[*]", $message); $message = str_replace('<!-- BBCode --><LI>', '[*]', $message);
// [list] tags: // [list] tags:
$message = str_replace("<!-- BBCode ulist Start --><UL>", "[list]", $message); $message = str_replace('<!-- BBCode ulist Start --><UL>', '[list]', $message);
// [list=x] tags: // [list=x] tags:
$message = preg_replace("#<!-- BBCode olist Start --><OL TYPE=([A1])>#si", "[list=\\1]", $message); $message = preg_replace('#<!-- BBCode olist Start --><OL TYPE=([A1])>#si', "[list=\\1]", $message);
// [/list] tags: // [/list] tags:
$message = str_replace("</UL><!-- BBCode ulist End -->", "[/list]", $message); $message = str_replace('</UL><!-- BBCode ulist End -->', '[/list]', $message);
$message = str_replace("</OL><!-- BBCode olist End -->", "[/list]", $message); $message = str_replace('</OL><!-- BBCode olist End -->', '[/list]', $message);
return $message; return $message;
} }
@ -1075,7 +1075,7 @@ if ( !empty($next) )
// undo 1.2.x encoding.. // undo 1.2.x encoding..
$row['post_text'] = bbdecode(stripslashes($row['post_text'])); $row['post_text'] = bbdecode(stripslashes($row['post_text']));
$row['post_text'] = undo_make_clickable($row['post_text']); $row['post_text'] = undo_make_clickable($row['post_text']);
$row['post_text'] = str_replace("<BR>", "\n", $row['post_text']); $row['post_text'] = str_replace('<BR>', "\n", $row['post_text']);
// make a uid // make a uid
$uid = make_bbcode_uid(); $uid = make_bbcode_uid();
@ -1086,14 +1086,14 @@ if ( !empty($next) )
$row['post_text'] = addslashes($row['post_text']); $row['post_text'] = addslashes($row['post_text']);
$edited_sql = ""; $edited_sql = "";
if ( preg_match("/^(.*?)([\n]+<font size=\-1>\[ This message was .*?)$/s", $row['post_text'], $matches) ) if ( preg_match('/^(.*?)([\n]+<font size=\-1>\[ This message was .*?)$/s', $row['post_text'], $matches) )
{ {
$row['post_text'] = $matches[1]; $row['post_text'] = $matches[1];
$edit_info = $matches[2]; $edit_info = $matches[2];
$edit_times = count(explode(" message ", $edit_info)) - 1; // Taken from example for substr_count in annotated PHP manual $edit_times = count(explode(' message ', $edit_info)) - 1; // Taken from example for substr_count in annotated PHP manual
if ( preg_match("/^.* by: (.*?) on (....)-(..)-(..) (..):(..) \]<\/font>/s", $edit_info, $matches) ) if ( preg_match('/^.* by: (.*?) on (....)-(..)-(..) (..):(..) \]<\/font>/s', $edit_info, $matches) )
{ {
$edited_user = $matches[1]; $edited_user = $matches[1];
$edited_time = gmmktime($matches[5], $matches[6], 0, $matches[3], $matches[4], $matches[2]); $edited_time = gmmktime($matches[5], $matches[6], 0, $matches[3], $matches[4], $matches[2]);
@ -1130,7 +1130,7 @@ if ( !empty($next) )
$inc++; $inc++;
if ( $inc == $per_pct ) if ( $inc == $per_pct )
{ {
print "."; print '.';
flush(); flush();
$inc = 0; $inc = 0;
} }
@ -1259,7 +1259,7 @@ if ( !empty($next) )
$inc++; $inc++;
if ( $inc == $per_pct ) if ( $inc == $per_pct )
{ {
print "."; print '.';
flush(); flush();
$inc = 0; $inc = 0;
} }
@ -1279,7 +1279,7 @@ if ( !empty($next) )
while( $row = $db->sql_fetchrow($result) ) while( $row = $db->sql_fetchrow($result) )
{ {
// Check if this moderator and this forum still exist // Check if this moderator and this forum still exist
$sql = "SELECT NULL $sql = "SELECT user_id
FROM " . USERS_TABLE . ", " . FORUMS_TABLE . " FROM " . USERS_TABLE . ", " . FORUMS_TABLE . "
WHERE user_id = " . $row['user_id'] . " WHERE user_id = " . $row['user_id'] . "
AND forum_id = " . $row['forum_id']; AND forum_id = " . $row['forum_id'];
@ -1310,6 +1310,35 @@ if ( !empty($next) )
print "<span class=\"ok\"><b>OK</b></span><br />\n"; print "<span class=\"ok\"><b>OK</b></span><br />\n";
} }
print " * Setting correct user_level for moderators ::";
flush();
$sql = "SELECT DISTINCT u.user_id
FROM " . USERS_TABLE . " u, " . USER_GROUP_TABLE . " ug, " . AUTH_ACCESS_TABLE . " aa
WHERE aa.auth_mod = 1
AND ug.group_id = aa.group_id
AND u.user_id = ug.user_id
AND u.user_level <> " . ADMIN;
$result = query($sql, "Couldn't obtain list of moderators");
if ( $row = $db->sql_fetchrow($result) )
{
$ug_sql = '';
do
{
$ug_sql .= ( ( $ug_sql != '' ) ? ', ' : '' ) . $row['user_id'];
}
while ( $row = $db->sql_fetchrow($result) );
$sql = "UPDATE " . USERS_TABLE . "
SET user_level = " . MOD . "
WHERE user_id IN ($ug_sql)";
query($sql, "Couldn't set moderator status for users");
}
print "<span class=\"ok\"><b>OK</b></span><br />\n";
end_step('convert_privforums'); end_step('convert_privforums');
case 'convert_privforums': case 'convert_privforums':

View file

@ -34,7 +34,7 @@ if ( isset($HTTP_GET_VARS[POST_FORUM_URL]) || isset($HTTP_POST_VARS[POST_FORUM_U
} }
else if ( isset($HTTP_GET_VARS['forum'])) else if ( isset($HTTP_GET_VARS['forum']))
{ {
$forum_id = $HTTP_GET_VARS['forum']; $forum_id = intval($HTTP_GET_VARS['forum']);
} }
else else
{ {

View file

@ -79,11 +79,10 @@ $is_auth_ary = auth(AUTH_VIEW, AUTH_LIST_ALL, $userdata);
// //
// Get user list // Get user list
// //
$sql = "SELECT u.user_id, u.username, u.user_session_time, u.user_session_page, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_time, s.session_page, s.session_ip $sql = "SELECT u.user_id, u.username, u.user_allow_viewonline, u.user_level, s.session_logged_in, s.session_time, s.session_page, s.session_ip
FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s FROM ".USERS_TABLE." u, ".SESSIONS_TABLE." s
WHERE u.user_id = s.session_user_id WHERE u.user_id = s.session_user_id
AND ( s.session_time >= ".( time() - 300 ) . " AND s.session_time >= ".( time() - 300 ) . "
OR u.user_session_time >= " . ( time() - 300 ) . " )
ORDER BY u.username ASC, s.session_ip ASC"; ORDER BY u.username ASC, s.session_ip ASC";
if ( !($result = $db->sql_query($sql)) ) if ( !($result = $db->sql_query($sql)) )
{ {
@ -134,9 +133,6 @@ while ( $row = $db->sql_fetchrow($result) )
$registered_users++; $registered_users++;
} }
$last_update = $row['user_session_time'];
$user_page = $row['user_session_page'];
$which_counter = 'reg_counter'; $which_counter = 'reg_counter';
$which_row = 'reg_user_row'; $which_row = 'reg_user_row';
$prev_user = $user_id; $prev_user = $user_id;
@ -146,13 +142,10 @@ while ( $row = $db->sql_fetchrow($result) )
{ {
if ( $row['session_ip'] != $prev_ip ) if ( $row['session_ip'] != $prev_ip )
{ {
$username = $lang['Guest'];
$view_online = true; $view_online = true;
$guest_users++; $guest_users++;
$username = $lang['Guest'];
$last_update = $row['session_time'];
$user_page = $row['session_page'];
$which_counter = 'guest_counter'; $which_counter = 'guest_counter';
$which_row = 'guest_user_row'; $which_row = 'guest_user_row';
} }
@ -162,9 +155,9 @@ while ( $row = $db->sql_fetchrow($result) )
if ( $view_online ) if ( $view_online )
{ {
if ( $user_page < 1 || !$is_auth_ary[$user_page]['auth_view'] ) if ( $row['session_page'] < 1 || !$is_auth_ary[$row['session_page']]['auth_view'] )
{ {
switch( $user_page ) switch( $row['session_page'] )
{ {
case PAGE_INDEX: case PAGE_INDEX:
$location = $lang['Forum_index']; $location = $lang['Forum_index'];
@ -209,8 +202,8 @@ while ( $row = $db->sql_fetchrow($result) )
} }
else else
{ {
$location_url = append_sid("viewforum.$phpEx?" . POST_FORUM_URL . '=' . $user_page); $location_url = append_sid("viewforum.$phpEx?" . POST_FORUM_URL . '=' . $row['session_page']);
$location = $forum_data[$user_page]; $location = $forum_data[$row['session_page']];
} }
$row_color = ( $$which_counter % 2 ) ? $theme['td_color1'] : $theme['td_color2']; $row_color = ( $$which_counter % 2 ) ? $theme['td_color1'] : $theme['td_color2'];
@ -220,7 +213,7 @@ while ( $row = $db->sql_fetchrow($result) )
'ROW_COLOR' => '#' . $row_color, 'ROW_COLOR' => '#' . $row_color,
'ROW_CLASS' => $row_class, 'ROW_CLASS' => $row_class,
'USERNAME' => $username, 'USERNAME' => $username,
'LASTUPDATE' => create_date($board_config['default_dateformat'], $last_update, $board_config['board_timezone']), 'LASTUPDATE' => create_date($board_config['default_dateformat'], $row['session_time'], $board_config['board_timezone']),
'FORUM_LOCATION' => $location, 'FORUM_LOCATION' => $location,
'U_USER_PROFILE' => append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . '=' . $user_id), 'U_USER_PROFILE' => append_sid("profile.$phpEx?mode=viewprofile&amp;" . POST_USERS_URL . '=' . $user_id),

View file

@ -990,7 +990,7 @@ for($i = 0; $i < $total_posts; $i++)
{ {
$temp_url = append_sid("posting.$phpEx?mode=delete&amp;" . POST_POST_URL . "=" . $postrow[$i]['post_id']); $temp_url = append_sid("posting.$phpEx?mode=delete&amp;" . POST_POST_URL . "=" . $postrow[$i]['post_id']);
$delpost_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_delpost'] . '" alt="' . $lang['Delete_post'] . '" title="' . $lang['Delete_post'] . '" border="0" /></a>'; $delpost_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_delpost'] . '" alt="' . $lang['Delete_post'] . '" title="' . $lang['Delete_post'] . '" border="0" /></a>';
$delpost_img = '<a href="' . $temp_url . '">' . $lang['Delete_post'] . '</a>'; $delpost = '<a href="' . $temp_url . '">' . $lang['Delete_post'] . '</a>';
} }
else else
{ {