📄 account.php
字号:
<?php//////////////////////////// COPYRIGHT NOTICE ////////////////////////////////////// This script is part of BosClassifieds, a software application by BosDev, Inc //// Use of any kind of part or all of this script or modification of this //// script requires a license from BosDev, Inc. Use or modification of //// this script without a license constitutes Software Piracy and will //// result in legal action from BosDev, Inc. All rights reserved. //// http://www.bosdev.com sales@bosdev.com //// //// BosClassifieds Copyright 2004, BosDev, Inc. //////////////////////////////////////////////////////////////////////////////////////Connect to database & get functions loadedinclude("connect.php");include("functions.php");//Set globalsglobal $SystemOptions,$cat_id;$result = query("SELECT * FROM {$class_prefix}system",$class_link);$SystemOptions = mysql_fetch_array($result);//Set languageinclude("{$insPath}languages/{$SystemOptions['language']}.php");//Include integration fileinclude("{$insPath}integration/{$SystemOptions['integration']}.php");//Include payment fileif($SystemOptions['payment_gateway'] != "") { include("{$insPath}payments/{$SystemOptions['payment_gateway']}.php"); }//Check to ensure the user is logged in$passThrough = array("login","loginProcess","create","createProcess","createVerify","forgot","forgotVerify","forgotProcess","contactAdmin","contactAdminProcess");if(!authenticateUser() && !in_array("$action",$passThrough)) { switch($action) { case "report": $returnTo = "report|$listing"; break; case "ask": $returnTo = "ask|$listing"; break; } $action = "login"; }//If not using the bosdevUUS, make sure we have a record for the users dataif(authenticateUser() && ($SystemOptions['integration'] != "uus" && $SystemOptions['integration'] != "uus-intranet")) { $userID = getUserID(); if($userID != "") { $result = query("SELECT COUNT(id) FROM bosdevUUS WHERE id=$userID",$uus_link); list($check) = mysql_fetch_row($result); if($check == 0) { $result = query("INSERT INTO bosdevUUS (id,bc1,bc2) VALUES ($userID,'0','0')",$uus_link); } } }//Get the useridif(authenticateUser()) { $userID = getUserID(); $userInfo = getUserInfo(); }//Load ad types$adTypes = array();$result = query("SELECT type_id,type_title FROM {$class_prefix}ad_types",$class_link);while(list($typeID,$typeTitle) = mysql_fetch_row($result)) { $adTypes[$typeID] = stripslashes($typeTitle); }//What do we need to doswitch($action) { case "login": //Login to their account if($fail == 1) { $msg = "<br><br><div align=\"center\" class=\"error\">{$Languages['account']['loginerror']}</div>"; } if($SystemOptions['integration'] == "uus" || $SystemOptions['integration'] == "uus-intranet") { $intro = $Languages['account']['loginintro']; $create = "<a href=\"account.php?action=create&returnTo=$returnTo\">[{$Languages['account']['create']}]</a>"; $forgot = "<a href=\"account.php?action=forgot&returnTo=$returnTo\">[{$Languages['account']['forgot']}]</a>"; } else { $intro = $Languages['account']['loginintro']; $create = ""; $forgot = ""; } $displayData =<<<ENDDATA <div id="generalBox"> <table width="100%" border="0" cellspacing="1" cellpadding="3"> <form method="post" action="account.php" onSubmit="return checkLogin(this);"> <input type="hidden" name="action" value="loginProcess"> <input type="hidden" name="returnTo" value="$returnTo"> <tr> <td colspan="2" class="headtd">{$Languages['account']['login']}</td> </tr> <tr> <td colspan="2">$intro $msg</td> </tr> <tr> <td align="right" width="50%">{$Languages['account']['username']}</td> <td width="50%"><input type="text" name="username"></td> </tr> <tr> <td align="right" width="50%">{$Languages['account']['password']}</td> <td width="50%"><input type="password" name="password"></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value="{$Languages['account']['loginbutton']}"></td> </tr> <tr> <td width="50%">$create</td> <td align="right" width="50%">$forgot</td> </tr> </form> </table> </div>ENDDATA; break; case "loginProcess": //Process the login information, set cookie $chkLogin = validateLogin($username,$password); if($chkLogin != "") { setLogin($chkLogin,$username,$password); $date = date("Y-m-d"); $result = query("UPDATE bosdevUUS SET last_login='$date' WHERE id=$chkLogin",$uus_link); if($returnTo != "") { $fromParts = explode("|",$returnTo); switch($fromParts[0]) { case "report": $urlAdd = "?action=report&listing={$fromParts[1]}"; break; case "ask": $urlAdd = "?action=ask&listing={$fromParts[1]}"; break; } } $displayData =<<<ENDDATA <div id="generalBox"> <table width="100%" border="0" cellspacing="1" cellpadding="3"> <tr> <td> <span class="error">{$Languages['account']['loggingin']}</span> </td> </tr> </table> </div> <META HTTP-EQUIV="refresh" CONTENT=2;URL="account.php{$urlAdd}">ENDDATA; } else { $displayData =<<<ENDDATA <META HTTP-EQUIV="refresh" CONTENT=0;URL="account.php?action=login&fail=1&returnTo=$returnTo">ENDDATA; } break; case "logout": clearLogin(); $displayData =<<<ENDDATA <div id="generalBox"> <table width="100%" border="0" cellspacing="1" cellpadding="3"> <tr> <td> <span class="error">{$Languages['account']['loggingout']}</span> </td> </tr> </table> </div> <META HTTP-EQUIV="refresh" CONTENT=2;URL="index.php">ENDDATA; break; case "create": //Create an account, UUS only $forgot = "<a href=\"account.php?action=forgot&returnTo=$returnTo\">[{$Languages['account']['forgot']}]</a>"; switch($fail) { case 1: $msg = "<br><div align=\"center\" class=\"error\">{$Languages['account']['usernametaken']}</div>"; break; case 2: $msg = "<br><div align=\"center\" class=\"error\">{$Languages['account']['emailtaken']}</div>"; break; } $displayData =<<<ENDDATA <div id="generalBox"> <table width="100%" border="0" cellspacing="1" cellpadding="3"> <form method="post" action="account.php" onSubmit="return checkCreate(this);"> <input type="hidden" name="action" value="createProcess"> <input type="hidden" name="returnTo" value="$returnTo"> <tr> <td colspan="2" class="headtd">{$Languages['account']['create']}</td> </tr> <tr> <td colspan="2">{$Languages['account']['createintro']} $msg</td> </tr> <tr> <td align="right" width="50%">{$Languages['account']['newusername']}:</td> <td width="50%"><input type="text" name="username"></td> </tr> <tr> <td align="right" width="50%">{$Languages['account']['newemail']}:</td> <td width="50%"><input type="text" name="email"></td> </tr> <tr> <td align="right" width="50%">{$Languages['account']['newpassword1']}:</td> <td width="50%"><input type="password" name="password1"></td> </tr> <tr> <td align="right" width="50%">{$Languages['account']['newpassword2']}:</td> <td width="50%"><input type="password" name="password2"></td> </tr> <tr> <td colspan="2" align="center"><input type="submit" value="{$Languages['account']['createbutton']}"></td> </tr> <tr> <td align="right" colspan="2">$forgot</td> </tr> </form> </table> </div>ENDDATA; break; case "createProcess": //Create an account, UUS only $username = strip_tags(protect($username)); $email = protect($email); $password = md5($password1); $result = query("SELECT id,username,email FROM bosdevUUS WHERE username='$username' OR email='$email'",$uus_link); list($chkID,$chkUsr,$chkEmail) = mysql_fetch_row($result); if($chkID == "") { //ok, create the account $result = query("INSERT INTO bosdevUUS (username,password,email,status,bc2) VALUES ('$username','$password','$email','0','0')",$uus_link); $newID = mysql_insert_id($uus_link); //mail $verificationCode = substr(md5($newID),0,8); $msg = sprintf($Languages['account']['createmessage'],$verificationCode,"{$insUrl}account.php?action=createVerify&code=$verificationCode&id=$newID&pwd=$password1"); htmlMail($SystemOptions['from_email'],$email,$Languages['account']['createtopic'],$msg); $displayData =<<<ENDDATA <div id="generalBox"> <table width="100%" border="0" cellspacing="1" cellpadding="3"> <form method="post" action="account.php"> <input type="hidden" name="action" value="createVerify"> <input type="hidden" name="returnTo" value="$returnTo"> <input type="hidden" name="id" value="$newID"> <input type="hidden" name="pwd" value="$password1"> <tr> <td colspan="2" class="headtd">{$Languages['account']['create']}</td> </tr> <tr> <td>{$Languages['account']['createemailsent']}</td> </tr> <tr> <td align="center"> <input type="text" name="code"><br> <input type="submit" value="{$Languages['account']['createverifybutton']}"> </td> </tr> </form> </table> </div>ENDDATA; } else { if($chkUsr == $username) { $fail = 1; } if($chkEmail == $email) { $fail = 2; } $displayData =<<<ENDDATA <META HTTP-EQUIV="refresh" CONTENT=0;URL="account.php?action=create&fail=$fail&returnTo=$returnTo">ENDDATA; } break; case "createVerify": //Create an account, UUS only $id = protect(trim($id)); if($code == substr(md5($id),0,8)) { $result = query("UPDATE bosdevUUS SET status='1' WHERE id=$id",$uus_link); $result = query("SELECT username,password FROM bosdevUUS WHERE id=$id",$uus_link); list($username,$password) = mysql_fetch_row($result); if(md5($pwd) == $password) { setLogin($id,$username,$pwd); $date = date("Y-m-d"); $result = query("UPDATE bosdevUUS SET last_login='$date' WHERE id=$id",$uus_link); } if($returnTo != "") { $fromParts = explode("|",$returnTo); switch($fromParts[0]) { case "report": $urlAdd = "?action=report&listing={$fromParts[1]}"; break; case "ask": $urlAdd = "?action=ask&listing={$fromParts[1]}"; break; } } $displayData =<<<ENDDATA <META HTTP-EQUIV="refresh" CONTENT=2;URL="account.php{$urlAdd}"> <div id="generalBox"> <table width="100%" border="0" cellspacing="1" cellpadding="3"> <tr> <td><span class="error">{$Languages['account']['loggingin']}</span></td> </tr> </table> </div>ENDDATA; } else { $displayData =<<<ENDDATA <div id="generalBox"> <table width="100%" border="0" cellspacing="1" cellpadding="3"> <form method="post" action="account.php"> <input type="hidden" name="action" value="createVerify"> <input type="hidden" name="returnTo" value="$returnTo"> <input type="hidden" name="id" value="$id"> <input type="hidden" name="pwd" value="$pwd"> <tr> <td colspan="2" class="headtd">{$Languages['account']['create']}</td> </tr> <tr> <td>{$Languages['account']['createinvalidcode']}</td> </tr> <tr> <td align="center"> <input type="text" name="code"><br> <input type="submit" value="{$Languages['account']['createverifybutton']}"> </td> </tr> </form> </table> </div>ENDDATA; } break; case "forgot": //Forgot password, UUS only $displayData =<<<ENDDATA <div id="generalBox"> <table width="100%" border="0" cellspacing="1" cellpadding="3"> <form method="post" action="account.php" onSubmit="return checkReset(this);"> <input type="hidden" name="action" value="forgotVerify"> <input type="hidden" name="returnTo" value="$returnTo"> <tr> <td colspan="2" class="headtd">{$Languages['account']['forgothead']}</td> </tr> <tr> <td> {$Languages['account']['forgotintro']}<br> <br> <div align="center"> {$Languages['account']['forgotemail']}: <input type="text" name="email"><br> <input type="submit" value="{$Languages['account']['forgotbutton']}"> </div> </td> </tr> </form> </table> </div>ENDDATA; break; case "forgotVerify": //Forgot password, UUS only $email = protect($email); $result = query("SELECT username,password FROM bosdevUUS WHERE email='$email'",$uus_link); list($userName,$userPass) = mysql_fetch_row($result); if($userName != "") { //Valid user, send mail
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -