aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/functions
diff options
context:
space:
mode:
Diffstat (limited to 'phpBB/functions')
-rw-r--r--phpBB/functions/auth.php229
-rw-r--r--phpBB/functions/error.php109
-rw-r--r--phpBB/functions/functions.php160
3 files changed, 329 insertions, 169 deletions
diff --git a/phpBB/functions/auth.php b/phpBB/functions/auth.php
index 6f355e2316..9de568bcc9 100644
--- a/phpBB/functions/auth.php
+++ b/phpBB/functions/auth.php
@@ -33,88 +33,91 @@
*/
function auth($type, $db, $id = "", $user_ip = "")
{
- global $userdata;
- switch($type)
- {
- case 'ip ban':
- $sql = "DELETE FROM ".BANLIST_TABLE."
- WHERE (ban_end < ". mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")).")
- AND (ban_end > 0)";
- $db->sql_query($sql);
- $sql = "SELECT ban_ip FROM ".BANLIST_TABLE;
- if($result = $db->sql_query($sql))
- {
- if($totalrows = $db->sql_numrows($result))
- {
- $iprow = $db->sql_fetchrowset($result);
- for($x = 0; $x < $totalrows; $x++)
- {
- $ip = $iprow[$x]["ban_ip"];
- if($ip[strlen($ip) - 1] == ".")
- {
- $db_ip = explode(".", $ip);
- $this_ip = explode(".", $user_ip);
-
- for($x = 0; $x < count($db_ip) - 1; $x++)
- {
- $my_ip .= $this_ip[$x] . ".";
- }
-
- if($my_ip == $ip)
- {
- return(FALSE);
- }
- }
- else
- {
- if($ipuser == $ip)
- {
- return(FALSE);
- }
- }
- }
- return(TRUE);
- }
- else
- {
- return(TRUE);
- }
- }
- return(TRUE);
- break;
- case 'username ban':
- $sql = "DELETE FROM ".BANLIST_TABLE."
- WHERE (ban_end < ". mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")).")
- AND (ban_end > 0)";
- $db->sql_query($sql);
- $sql = "SELECT ban_userid FROM ".BANLIST_TABLE." WHERE ban_userid = '$user_id'";
- if($result = $db->sql_query($sql))
- {
- if($db->sql_numrows($result))
- {
- return(FALSE);
- }
- else
- {
- return(TRUE);
- }
- }
- else
- {
- return(TRUE);
- }
- break;
- case 'login':
- global $password;
- if($userdata["user_password"] != md5($password))
- {
- return(FALSE);
- }
- else
- {
- return(TRUE);
- }
- }
+ global $userdata;
+ switch($type)
+ {
+ case 'ip ban':
+ $sql = "DELETE FROM ".BANLIST_TABLE."
+ WHERE (ban_end < ". mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")).")
+ AND (ban_end > 0)";
+ $db->sql_query($sql);
+ $sql = "SELECT ban_ip FROM ".BANLIST_TABLE;
+ if($result = $db->sql_query($sql))
+ {
+ if($totalrows = $db->sql_numrows($result))
+ {
+ $iprow = $db->sql_fetchrowset($result);
+ for($x = 0; $x < $totalrows; $x++)
+ {
+ $ip = $iprow[$x]["ban_ip"];
+ if($ip[strlen($ip) - 1] == ".")
+ {
+ $db_ip = explode(".", $ip);
+ $this_ip = explode(".", $user_ip);
+
+ for($x = 0; $x < count($db_ip) - 1; $x++)
+ {
+ $my_ip .= $this_ip[$x] . ".";
+ }
+ if($my_ip == $ip)
+ {
+ return(FALSE);
+ }
+ }
+ else
+ {
+ if($ipuser == $ip)
+ {
+ return(FALSE);
+ }
+ }
+ }
+ return(TRUE);
+ }
+ else
+ {
+ return(TRUE);
+ }
+ }
+ return(TRUE);
+ break;
+ case 'username ban':
+ $sql = "DELETE FROM ".BANLIST_TABLE."
+ WHERE (ban_end < ". mktime(date("H"), date("i"), date("s"), date("m"), date("d"), date("Y")).")
+ AND (ban_end > 0)";
+ $db->sql_query($sql);
+ $sql = "SELECT ban_userid FROM ".BANLIST_TABLE." WHERE ban_userid = '$user_id'";
+ if($result = $db->sql_query($sql))
+ {
+ if($db->sql_numrows($result))
+ {
+ return(FALSE);
+ }
+ else
+ {
+ return(TRUE);
+ }
+ }
+ else
+ {
+ return(TRUE);
+ }
+ break;
+ case 'login':
+ global $password;
+ if($userdata["user_password"] != md5($password))
+ {
+ return(FALSE);
+ }
+ else if($userdata["user_active"] == 0)
+ {
+ return(FALSE);
+ }
+ else
+ {
+ return(TRUE);
+ }
+ }
}
@@ -124,41 +127,41 @@ function auth($type, $db, $id = "", $user_ip = "")
function get_userdata_from_id($userid, $db)
{
- $sql = "SELECT * FROM ".USERS_TABLE." WHERE user_id = $userid";
- if(!$result = $db->sql_query($sql))
- {
- $userdata = array("error" => "1");
- return ($userdata);
- }
- if($db->sql_numrows($result))
- {
- $myrow = $db->sql_fetchrowset($result);
- return($myrow[0]);
- }
- else
- {
- $userdata = array("error" => "1");
- return ($userdata);
- }
+ $sql = "SELECT * FROM ".USERS_TABLE." WHERE user_id = $userid";
+ if(!$result = $db->sql_query($sql))
+ {
+ $userdata = array("error" => "1");
+ return ($userdata);
+ }
+ if($db->sql_numrows($result))
+ {
+ $myrow = $db->sql_fetchrowset($result);
+ return($myrow[0]);
+ }
+ else
+ {
+ $userdata = array("error" => "1");
+ return ($userdata);
+ }
}
function get_userdata($username, $db) {
- $sql = "SELECT * FROM ".USERS_TABLE." WHERE username = '$username' AND user_level != ".DELETED;
- if(!$result = $db->sql_query($sql))
- {
- $userdata = array("error" => "1");
- }
+ $sql = "SELECT * FROM ".USERS_TABLE." WHERE username = '$username' AND user_level != ".DELETED;
+ if(!$result = $db->sql_query($sql))
+ {
+ $userdata = array("error" => "1");
+ }
- if($db->sql_numrows($result))
- {
- $myrow = $db->sql_fetchrowset($result);
- return($myrow[0]);
- }
- else
- {
- $userdata = array("error" => "1");
- return ($userdata);
- }
+ if($db->sql_numrows($result))
+ {
+ $myrow = $db->sql_fetchrowset($result);
+ return($myrow[0]);
+ }
+ else
+ {
+ $userdata = array("error" => "1");
+ return ($userdata);
+ }
}
?>
diff --git a/phpBB/functions/error.php b/phpBB/functions/error.php
index 14f9e14073..d8027e1fad 100644
--- a/phpBB/functions/error.php
+++ b/phpBB/functions/error.php
@@ -24,64 +24,63 @@
function error_die($db, $error_code = "", $error_msg = "")
{
- global $template, $phpEx, $default_lang;
-
- if(!$template->get("overall_header"))
- {
- if(!empty($default_lang))
- {
- include('language/lang_'.$default_lang.'.'.$phpEx);
- }
- else
- {
- include('language/lang_english.'.$phpEx);
- }
- include('includes/page_header.'.$phpEx);
- }
- if(!$error_msg)
- {
- switch($error_code)
+ global $template, $phpEx, $default_lang;
+ if(!defined("HEADER_INC"))
+ {
+ if(!empty($default_lang))
+ {
+ include('language/lang_'.$default_lang.'.'.$phpEx);
+ }
+ else
+ {
+ include('language/lang_english.'.$phpEx);
+ }
+ include('includes/page_header.'.$phpEx);
+ }
+ if(!$error_msg)
+ {
+ switch($error_code)
+ {
+ case GENERAL_ERROR:
+ if(!$error_msg)
+ {
+ $error_msg = "An Error Occured";
+ }
+ break;
+ case SQL_CONNECT:
+ $db_error = $db->sql_error();
+ $error_msg = "Error: phpBB could not connect to the database. Reason: " . $db_error["message"];
+ break;
+ case BANNED:
+ $error_msg = "You have been banned from this forum.";
+ break;
+ case QUERY_ERROR:
+ $db_error = $db->sql_error();
+ $error_msg = "Error: phpBB could not query the database. Reason: " . $db_error["message"];
+ break;
+ case SESSION_CREATE:
+ $error_msg = "Error creating session. Could not log you in. Please go back and try again.";
+ break;
+ case NO_POSTS:
+ $error_msg = "There are no posts in this forum. Click on the 'Post New Topic' link on this page to post one.";
+ break;
+ case LOGIN_FAILED:
+ $error_msg = "Login Failed. You have specified an incorrect/inactive username or invalid password, please go back and try again.";
+ break;
+ }
+ }
+ if(DEBUG)
{
- case GENERAL_ERROR:
- if(!$error_msg)
- {
- $error_msg = "An Error Occured";
- }
- break;
- case SQL_CONNECT:
- $db_error = $db->sql_error();
- $error_msg = "Error: phpBB could not connect to the database. Reason: " . $db_error["message"];
- break;
- case BANNED:
- $error_msg = "You have been banned from this forum.";
- break;
- case QUERY_ERROR:
- $db_error = $db->sql_error();
- $error_msg = "Error: phpBB could not query the database. Reason: " . $db_error["message"];
- break;
- case SESSION_CREATE:
- $error_msg = "Error creating session. Could not log you in. Please go back and try again.";
- break;
- case NO_POSTS:
- $error_msg = "There are no posts in this forum. Click on the 'Post New Topic' link on this page to post one.";
- break;
- case LOGIN_FAILED:
- $error_msg = "Login Failed. You have specified an incorrect username or password, please go back and try again.";
- break;
+ //$error_msg .= "<br>Line number: ".__LINE__."<br>In File: ".__FILE__;
}
- }
- if(DEBUG)
- {
- //$error_msg .= "<br>Line number: ".__LINE__."<br>In File: ".__FILE__;
- }
- $template->set_file(array("error_body" => "error_body.tpl"));
- $template->set_var(array("ERROR_MESSAGE" => $error_msg));
- $template->pparse("output", "error_body");
- include('includes/page_tail.'.$phpEx);
- exit();
+ $template->set_filenames(array("error_body" => "error_body.tpl"));
+ $template->assign_vars(array("ERROR_MESSAGE" => $error_msg));
+ $template->pparse("error_body");
+ include('includes/page_tail.'.$phpEx);
+ exit();
}
-
-
+
+
?>
diff --git a/phpBB/functions/functions.php b/phpBB/functions/functions.php
index 53e3cd8114..0e5341d2e6 100644
--- a/phpBB/functions/functions.php
+++ b/phpBB/functions/functions.php
@@ -117,4 +117,162 @@ function make_jumpbox($db)
return($boxstring);
}
-?>
+function language_select($default, $name="language", $dirname="language/")
+{
+ global $phpEx;
+ $dir = opendir($dirname);
+ $lang_select = "<select name=\"$name\">\n";
+ while ($file = readdir($dir))
+ {
+ if (ereg("^lang_", $file))
+ {
+ $file = str_replace("lang_", "", $file);
+ $file = str_replace(".$phpEx", "", $file);
+ $file == $default ? $selected = " SELECTED" : $selected = "";
+ $lang_select .= " <option$selected>$file\n";
+ }
+ }
+ $lang_select .= "</select>\n";
+ closedir($dir);
+ return $lang_select;
+}
+
+function theme_select($default, $db)
+{
+ $sql = "SELECT theme_id, theme_name FROM ".THEMES_TABLE." ORDER BY theme_name";
+ if($result = $db->sql_query($sql))
+ {
+ $num = $db->sql_numrows($result);
+ $rowset = $db->sql_fetchrowset($result);
+ $theme_select = "<select name=\"theme\">\n";
+ for($i = 0; $i < $num; $i++)
+ {
+ if((stripslashes($rowset[$i]["theme_name"]) == $default) || ($rowset[$i]["theme_id"] == $default))
+ {
+ $selected = " SELECTED";
+ }
+ else
+ {
+ $selected = "";
+ }
+ $theme_select .= "\t<option value=\"".$rowset[$i]["theme_id"]."\"$selected>".stripslashes($rowset[$i]["theme_name"])."</option>\n";
+ }
+ $theme_select .= "</select>\n";
+ }
+ else
+ {
+ $theme_select = "<select name=\"theme\"><option value=\"-1\">Error in theme_select</option></select>";
+ }
+ return($theme_select);
+}
+
+function tz_select($default)
+{
+ global $board_tz;
+ if(!isset($default))
+ {
+ $default == $board_tz;
+ }
+ $tz_select = "<select name=\"timezone\">";
+ $tz_array = array(
+ "-12" => "(GMT -12:00 hours) Eniwetok, Kwajalein",
+ "-11" => "(GMT -11:00 hours) Midway Island, Samoa",
+ "-10" => "(GMT -10:00 hours) Hawaii",
+ "-9" => "(GMT -9:00 hours) Alaska",
+ "-8" => "(GMT -8:00 hours) Pacific Time (US & Canada)",
+ "-7" => "(GMT -7:00 hours) Mountain Time (US & Canada)",
+ "-6" => "(GMT -6:00 hours) Central Time (US & Canada), Mexico City",
+ "-5" => "(GMT -5:00 hours) Eastern Time (US & Canada), Bogota, Lima, Quito",
+ "-4" => "(GMT -4:00 hours) Atlantic Time (Canada), Caracas, La Paz",
+ "-3.5" => "(GMT -3:30 hours) Newfoundland",
+ "-3" => "(GMT -3:00 hours) Brazil, Buenos Aires, Georgetown",
+ "-2" => "(GMT -2:00 hours) Mid-Atlantic",
+ "-1" => "(GMT -1:00 hours) Azores, Cape Verde Islands",
+ "0" => "(GMT) Western Europe Time, London, Lisbon, Casablanca, Monrovia",
+ "+1" => "(GMT +1:00 hours) CET(Central Europe Time), Brussels, Copenhagen, Madrid, Paris",
+ "+2" => "(GMT +2:00 hours) EET(Eastern Europe Time), Kaliningrad, South Africa",
+ "+3" => "(GMT +3:00 hours) Baghdad, Kuwait, Riyadh, Moscow, St. Petersburg, Volgograd, Nairobi",
+ "+3.5" => "(GMT +3:30 hours) Tehran",
+ "+4" => "(GMT +4:00 hours) Abu Dhabi, Muscat, Baku, Tbilisi",
+ "+4.5" => "(GMT +4:30 hours) Kabul",
+ "+5" => "(GMT +5:00 hours) Ekaterinburg, Islamabad, Karachi, Tashkent",
+ "+5.5" => "(GMT +5:30 hours) Bombay, Calcutta, Madras, New Delhi",
+ "+6" => "(GMT +6:00 hours) Almaty, Dhaka, Colombo",
+ "+7" => "(GMT +7:00 hours) Bangkok, Hanoi, Jakarta",
+ "+8" => "(GMT +8:00 hours) Beijing, Perth, Singapore, Hong Kong, Chongqing, Urumqi, Taipei",
+ "+9" => "(GMT +9:00 hours) Tokyo, Seoul, Osaka, Sapporo, Yakutsk",
+ "+9.5" => "(GMT +9:30 hours) Adelaide, Darwin",
+ "+10" => "(GMT +10:00 hours) EAST(East Australian Standard), Guam, Papua New Guinea, Vladivostok",
+ "+11" => "(GMT +11:00 hours) Magadan, Solomon Islands, New Caledonia",
+ "+12" => "(GMT +12:00 hours) Auckland, Wellington, Fiji, Kamchatka, Marshall Island");
+
+ while(list($offset, $zone) = each($tz_array))
+ {
+ if($offset == $default)
+ {
+ $selected = " SELECTED";
+ }
+ else
+ {
+ $selected = "";
+ }
+ $tz_select .= "\t<option value=\"$offset\"$selected>$zone</option>\n";
+ }
+ $tz_select .= "</select>\n";
+ return($tz_select);
+}
+
+function validate_username(&$username, $db)
+{
+ $username = trim($username);
+ $username = strip_tags($username);
+ $username = htmlspecialchars($username);
+ if(empty($username))
+ {
+ return(FALSE);
+ }
+
+ $valid_name = TRUE;
+ $sql = "SELECT LOWER(username) FROM ".USERS_TABLE." WHERE username = '$username'";
+ if($result = $db->sql_query($sql))
+ {
+ if( ($numrows = $db->sql_numrows($result) ) > 0)
+ {
+ $valid_name = FALSE;
+ }
+ }
+
+ $sql = "SELECT disallow_username FROM ".DISALLOW_TABLE." WHERE disallow_username = '$username'";
+ if($result = $db->sql_query($sql))
+ {
+ if(($numrows = $db->sql_numrows($result)) > 0)
+ {
+ $valid_name = FALSE;
+ }
+ }
+
+ return($valid_name);
+}
+function generate_activation_key()
+{
+ $chars = array(
+ "a","A","b","B","c","C","d","D","e","E","f","F","g","G","h","H","i","I","j","J",
+ "k","K","l","L","m","M","n","N","o","O","p","P","q","Q","r","R","s","S","t","T",
+ "u","U","v","V","w","W","x","X","y","Y","z","Z","1","2","3","4","5","6","7","8",
+ "9","0"
+ );
+ $max_elements = count($chars) - 1;
+ srand((double)microtime()*1000000);
+ $act_key = $chars[rand(0,$max_elements)];
+ $act_key .= $chars[rand(0,$max_elements)];
+ $act_key .= $chars[rand(0,$max_elements)];
+ $act_key .= $chars[rand(0,$max_elements)];
+ $act_key .= $chars[rand(0,$max_elements)];
+ $act_key .= $chars[rand(0,$max_elements)];
+ $act_key .= $chars[rand(0,$max_elements)];
+ $act_key .= $chars[rand(0,$max_elements)];
+ $act_key_md = md5($act_key);
+
+ return($act_key_md);
+}
+?> \ No newline at end of file