Ejemplo n.º 1
0
 /**
  *	Option: Change Name
  *	Change the name from character
  *
  *	@return	void
  */
 public function ChangeName()
 {
     if ($_GET['write'] == true) {
         if (empty($_POST['NewName'])) {
             setResult(showMessage($this->lang->words['UserPanel']['ChangeName']['Messages']['FieldVoid'], 1));
         } elseif (empty($_POST['Captcha'])) {
             setResult(showMessage($this->lang->words['Global']['Captcha']['Messages']['Void'], 1));
         } elseif (!CTM_Captcha::Check($_POST['Captcha'])) {
             setResult(showMessage($this->lang->words['Global']['Captcha']['Messages']['Invalid'], 2));
         } elseif (strlen($_POST['NewName']) < 4) {
             setResult(showMessage($this->lang->words['UserPanel']['ChangeName']['Messages']['ErrorLength'], 2));
         } elseif (eregi("[^a-zA-Z0-9_!=?&-]", $_POST['NewName'])) {
             setResult(showMessage($this->lang->words['UserPanel']['ChangeName']['Messages']['ErrorWords'], 2));
         } else {
             $bad_syntax = FALSE;
             foreach ($this->settings['USERPANEL']['CHARACTER']['CHANGE_NAME']['BAD_SYNTAX'] as $badSyntax) {
                 if (stristr($_POST['NewName'], $badSyntax)) {
                     $bad_syntax = TRUE;
                     break;
                 }
             }
             if ($bad_syntax == true) {
                 setResult(showMessage($this->lang->words['UserPanel']['ChangeName']['Messages']['ErrorSyntax'], 2));
             } else {
                 $this->DB->Arguments($this->character);
                 $this->DB->Query("SELECT Name FROM " . MUGEN_CORE . ".dbo.GuildMember WHERE Name = '%s'", $find_guild);
                 if ($this->DB->CountRows($find_guild) > 0) {
                     setResult(showMessage($this->lang->words['UserPanel']['ChangeName']['Messages']['ErrorGuild'], 2));
                 } else {
                     $change_name_result = $this->MuLib('Member')->RenameCharacter($this->character, USER_ACCOUNT, $_POST['NewName']);
                     switch ($change_name_result) {
                         case "NAME_IN_USE":
                             setResult(showMessage($this->lang->words['UserPanel']['ChangeName']['Messages']['ErrorName'], 2));
                             break;
                         case "ALL_OK":
                             $temp_name = $this->character;
                             $this->character = $_POST['NewName'];
                             $_SESSION['USERCP_CHARACTER_SELECTED'] = $_POST['NewName'];
                             $GLOBALS['userpanel']['character'] = $_POST['NewName'];
                             CTM_Captcha::gerateCaptchaText();
                             $this->WriteLog(array("option" => "Change Name", "character" => true, "data" => array("[Before] Name: " . $temp_name, "[After] Name: " . $this->character)));
                             $string = showMessage(sprintf($this->lang->words['UserPanel']['ChangeName']['Messages']['Success'], $_POST['NewName']), 3);
                             if (loadIsAjax() == true) {
                                 $string .= "\n<script>\$('#cpCharSelected').val('" . $_POST['NewName'] . "');\n";
                                 $string .= "\$('#currentCharName').val('" . $_POST['NewName'] . "');</script>";
                             }
                             setResult($string);
                             break;
                         case "ID_ERROR":
                             $this->WriteLog(array("option" => "Change Name", "character" => true, "data" => array("Error #" . CoreVariables::ErrorsCode()->CharGameIDFail)));
                             setResult(showMessage(sprintf($this->lang->words['UserPanel']['ChangeName']['Messages']['GeneralError'], CoreVariables::ErrorsCode()->CharGameIDFail), 2));
                             break;
                     }
                 }
             }
         }
     }
 }
Ejemplo n.º 2
0
//**********************************************//
// -> Effect Web                                //
// -> Powered by Erick-Master                   //
// -> CTM TEAM Softwares                        //
// -> www.ctmts.com.br                          //
//**********************************************//
define("SESSION_NAME", "df5A279HCERUxcpA");
ob_start();
session_name(SESSION_NAME);
session_start();
if (isset($_GET["public"])) {
    switch ($_GET["public"]) {
        case "captcha":
            require_once "modules/classes/CTM_Captcha.class.php";
            $CTM_Captcha = new CTM_Captcha();
            $CTM_Captcha->Captcha_Image(130, 25);
            exit;
            break;
        case "logoGuild":
            require_once "modules/classes/CTM_LogoGuild.class.php";
            $CTM_LogoGuild = new CTM_LogoGuild();
            $CTM_LogoGuild->ShowLogo();
            exit;
            break;
    }
}
require_once "modules/Settings.php";
require_once "modules/load.inc.php";
$CTM_General = new CTM_General();
$CTM_CronJob = new CTM_CronJob();
 private function Change_Nick()
 {
     global $CTM_Template, $CTM_Crypt, $CTM, $_Panel, $_Ranking;
     $CTM_Captcha = new CTM_Captcha();
     $Character = $_SESSION["Web_ManageChar"];
     $CTM_Template->Set("Manage_Character", $Character);
     $CTM_Template->Set("Captcha_Image", "?public=captcha");
     if ($_GET["cmd"] == TRUE) {
         $Nick = $_POST["Nick"];
         $Captcha = $_POST["Captcha"];
         $Check_Nick = $this->NumQuery("SELECT Name FROM " . MuGen_DB . ".dbo.Character WHERE Name='{$Nick}'");
         $Check_Img = $this->FetchQuery("SELECT {$CTM[C][0]} FROM " . MuGen_DB . ".dbo.Character WHERE Name='{$Character}' and AccountID='" . $this->Login . "'");
         if ($_Panel["Char"]["Change_Nick"]["CheckGuild"] == 1) {
             $Check_Guild = $this->NumQuery("SELECT * FROM " . MuGen_DB . ".dbo.GuildMember WHERE Name='" . $Character . "'");
         }
         if (empty($Nick)) {
             $this->Error[0] .= "&raquo; Novo Nick<br />\n";
         }
         if (empty($Captcha)) {
             $this->Error[0] .= "&raquo; Codigo de Seguran&ccedil;a<br />\n";
         }
         if (strlen($Nick) < 4) {
             $this->Error[1] .= "&raquo; Minimo 4 Caracteres<br />\n";
         }
         if (strlen($Nick) > 10) {
             $this->Error[1] .= "&raquo; Maximo 10 Caracteres<br />\n";
         }
         if (eregi("[^a-zA-Z0-9_!=?&-]", $Nick)) {
             $this->Error[1] .= "&raquo; Caracteres inv&aacute;lidos<br />\n";
         }
         if ($Check_Nick > 0) {
             $this->Error[1] .= "&raquo; O Nick informado j&aacute; existe<br />\n";
         }
         if ($_Panel["Char"]["Change_Nick"]["CheckGuild"] == 1) {
             if ($Check_Guild > 0) {
                 $this->Error[1] .= "&raquo; Saia da Guild antes de alterar o Nick<br />\n";
             }
         }
         for ($WzAG = 0; $WzAG < count($_Panel["Char"]["Change_Nick"]["Security"]); $WzAG++) {
             $Security .= stristr($Nick, $_Panel["Char"]["Change_Nick"]["Security"][$WzAG]);
         }
         if ($Security == TRUE) {
             $this->Error[1] .= "&raquo; Este Nick contem informa&ccedil;&otilde;es invalidas<br />\n";
         }
         if ($CTM_Captcha->Check($Captcha) == FALSE) {
             $this->Error[1] .= "&raquo; Codigo de Seguran&ccedil;a incorreto<br />\n";
         }
         if ($this->Error[0] == TRUE) {
             exit("<div class=\"warning-box\"> Os seguinte campos se encontram em Branco:<br /><Br />{$this->Error[0]}</div>");
         } elseif ($this->Error[1] == TRUE) {
             exit("<div class=\"error-box\"> Os seguintes erros foram encontrados:<br /><br />{$this->Error[1]}</div>");
         } else {
             $prepare = NULL;
             $prepare .= "UPDATE " . MuGen_DB . ".dbo.Guild SET G_Master = '{$Nick}' WHERE G_Master = '{$Character}';\n";
             $prepare .= "UPDATE " . MuGen_DB . ".dbo.GuildMember SET Name = '{$Nick}' WHERE Name = '{$Character}';\n";
             if (GS_Version > 1) {
                 $prepare .= "UPDATE " . MuGen_DB . ".dbo.T_CGuid SET Name = '{$Nick}' WHERE Name = '{$Character}';\n";
                 $prepare .= "UPDATE " . MuGen_DB . ".dbo.T_FriendMain SET Name = '{$Nick}' WHERE Name = '{$Character}';\n";
                 $prepare .= "UPDATE " . MuGen_DB . ".dbo.T_FriendMail SET FriendName = '{$Nick}' WHERE FriendName = '{$Character}';\n";
                 $prepare .= "UPDATE " . MuGen_DB . ".dbo.T_FriendList SET FriendName = '{$Nick}' WHERE FriendName = '{$Character}';\n";
                 $prepare .= "UPDATE " . MuGen_DB . ".dbo.T_WaitFriend SET FriendName = '{$Nick}' WHERE FriendName = '{$Character}';\n";
             }
             if (Server_Files == 0) {
                 $prepare .= "UPDATE " . MuGen_DB . ".dbo.OptionData SET Name = '{$Nick}' WHERE Name = '{$Character}';\n";
                 $prepare .= "UPDATE " . MuGen_DB . ".dbo.T_MasterLevelSystem SET CHAR_NAME = '{$Nick}' WHERE CHAR_NAME = '{$Character}';\n";
                 if ($_Ranking["Gens"]["Enable"] === TRUE) {
                     $prepare .= "UPDATE " . MuGen_DB . ".dbo.T_GensSystem SET CHAR_NAME = '{$Nick}' WHERE CHAR_NAME = '{$Character}';\n";
                 }
             }
             if (Server_Files == 1) {
                 $prepare .= "UPDATE " . MuGen_DB . ".dbo.OptionData SET Name = '{$Nick}' WHERE Name = '{$Character}';\n";
             }
             if (Server_Files == 2) {
                 $prepare .= "UPDATE " . MuGen_DB . ".dbo.OptionData SET Name = '{$Nick}' WHERE Name = '{$Character}';\n";
                 $prepare .= "UPDATE " . MuGen_DB . ".dbo.QuestWorld SET Name = '{$Nick}' WHERE Name = '{$Character}';\n";
                 $prepare .= "UPDATE " . MuGen_DB . ".dbo.QuestKillCount SET Name = '{$Nick}' WHERE Name = '{$Character}';\n";
                 $prepare .= "UPDATE " . MuGen_DB . ".dbo.RankingBloodCastle SET Name = '{$Nick}' WHERE Name = '{$Character}';\n";
                 $prepare .= "UPDATE " . MuGen_DB . ".dbo.RankingDevilSquare SET Name = '{$Nick}' WHERE Name = '{$Character}';\n";
                 $prepare .= "UPDATE " . MuGen_DB . ".dbo.RankingChaosCastle SET Name = '{$Nick}' WHERE Name = '{$Character}';\n";
                 $prepare .= "UPDATE " . MuGen_DB . ".dbo.RankingIllusionTemple SET Name = '{$Nick}' WHERE Name = '{$Character}';\n";
                 $prepare .= "UPDATE " . MuGen_DB . ".dbo.RankingDuel SET Name = '{$Nick}' WHERE Name = '{$Character}';\n";
                 $prepare .= "UPDATE " . MuGen_DB . ".dbo.Gens_Rank SET Name = '{$Nick}' WHERE Name = '{$Character}';\n";
                 $prepare .= "UPDATE " . MuGen_DB . ".dbo.Gens_Reward SET Name = '{$Nick}' WHERE Name = '{$Character}';\n";
                 $prepare .= "UPDATE " . MuGen_DB . ".dbo.EventSantaClaus SET Name = '{$Nick}' WHERE Name = '{$Character}';\n";
                 $prepare .= "UPDATE " . MuGen_DB . ".dbo.EventLeoTheHelper SET Name = '{$Nick}' WHERE Name = '{$Character}';\n";
             }
             $img = NULL;
             if (!empty($Check_Img[0])) {
                 $Crypt = $CTM_Crypt->CharImg($Nick . time());
                 $File = explode(".", $Check_Img[0]);
                 @rename(constant("Upload_Img") . $Check_Img[0], $Request . "/" . $Crypt . "." . $File[1]);
                 $img = ",{$CTM[C][0]} = '" . $Crypt . "." . $File[1] . "'";
             }
             $prepare .= "UPDATE " . MuGen_DB . ".dbo.AccountCharacter SET GameID1 = '{$Nick}' WHERE GameID1 = '{$Character}' AND Id = '" . $this->Login . "';\n";
             $prepare .= "UPDATE " . MuGen_DB . ".dbo.AccountCharacter SET GameID2 = '{$Nick}' WHERE GameID2 = '{$Character}' AND Id = '" . $this->Login . "';\n";
             $prepare .= "UPDATE " . MuGen_DB . ".dbo.AccountCharacter SET GameID3 = '{$Nick}' WHERE GameID3 = '{$Character}' AND Id = '" . $this->Login . "';\n";
             $prepare .= "UPDATE " . MuGen_DB . ".dbo.AccountCharacter SET GameID4 = '{$Nick}' WHERE GameID4 = '{$Character}' AND Id = '" . $this->Login . "';\n";
             $prepare .= "UPDATE " . MuGen_DB . ".dbo.AccountCharacter SET GameID5 = '{$Nick}' WHERE GameID5 = '{$Character}' AND Id = '" . $this->Login . "';\n";
             $prepare .= "UPDATE " . MuGen_DB . ".dbo.AccountCharacter SET GameIDC = '{$Nick}' WHERE GameIDC = '{$Character}' AND Id = '" . $this->Login . "';\n";
             $prepare .= "UPDATE " . MuGen_DB . ".dbo.Character SET Name = '{$Nick}'{$img} WHERE Name = '{$Character}';";
             $this->Query($prepare);
             $_SESSION["Web_ManageChar"] = $Nick;
             $this->WriteLog("CHANGE_NICK", "Novo nick: " . $Nick);
             exit("<script>CTM_Load('?pag=panel&cmd=char','Panel_Char','GET');</script>\r\n\t\t\t\t<div class=\"success-box\"> Nick alterado para <strong>{$Nick}</strong> com Sucesso!</div>");
         }
     }
     if ($_GET["cmd"] == "check_captcha") {
         $Captcha = $_GET["captcha"];
         if (empty($Captcha)) {
             exit("<script>VerifyDatas('Captcha', 'CaptchaResult', 'Campo em branco', '#efdc75', 'warning');</script>");
         } else {
             if ($CTM_Captcha->Check($Captcha) == FALSE) {
                 exit("<script>VerifyDatas('Captcha', 'CaptchaResult', 'Codigo de Seguan&ccedil;a Incorreto', '#FF0000', 'error');</script>");
             } else {
                 exit("<script>VerifyDatas('Captcha', 'CaptchaResult', 'Codigo de Seguan&ccedil;a v&aacute;lido', 'green', 'success');</script>");
             }
         }
     }
 }
Ejemplo n.º 4
0
 private function VerifyDatas()
 {
     if ($_GET["cmd"] == "verify") {
         header("Content-Type: text/javascript", true);
         if ($_GET["id"] == "code") {
             $Code = $_GET["code"];
             $HashCode = "0x" . bin2hex($Code);
             $Check = $this->NumQuery("SELECT * FROM dbo." . $GLOBALS["CTM"][18] . " WHERE HashCode={$HashCode}");
             if (empty($Code)) {
                 exit("<script>VerifyDatas('Code', 'CodeResult', 'Campo em branco', '#efdc75', 'warning');</script>");
             } else {
                 if ($Check < 1) {
                     exit("<script>VerifyDatas('Code', 'CodeResult', 'Codigo invalido', '#FF0000', 'error');</script>");
                 } else {
                     exit("<script>VerifyDatas('Code', 'CodeResult', 'Codigo v&aacute;lido', 'green', 'success');</script>");
                 }
             }
         }
         if ($_GET["id"] == "login") {
             $lower = (bool) constant("Register[ForceLower]");
             $Acc = $_GET["account"];
             $Check = $this->NumQuery("SELECT memb___id FROM " . MuAcc_DB . ".dbo.MEMB_INFO WHERE memb___id=" . ($lower ? "LOWER" : NULL) . "('{$Acc}')");
             if (empty($Acc)) {
                 exit("<script>VerifyDatas('Account', 'AccountResult', 'Campo em branco', '#efdc75', 'warning');</script>");
             } elseif (strlen($Acc) > 10) {
                 exit("<script>VerifyDatas('Account', 'AccountResult', 'Maximo 10 Digitos', '#FF0000', 'error');</script>");
             } elseif (strlen($Acc) < 4) {
                 exit("<script>VerifyDatas('Account', 'AccountResult', 'Minimo 4 Digitos', '#FF0000', 'error');</script>");
             } else {
                 if ($Check > 0) {
                     exit("<script>VerifyDatas('Account', 'AccountResult', 'Login j&aacute; Existe', '#FF0000', 'error');</script>");
                 } else {
                     exit("<script>VerifyDatas('Account', 'AccountResult', 'Login v&aacute;lido', 'green', 'success');</script>");
                 }
             }
         }
         if ($_GET["id"] == "mail") {
             $Mail_Addr = $_GET["mail"];
             $Check = $this->NumQuery("SELECT mail_addr FROM " . MuAcc_DB . ".dbo.MEMB_INFO WHERE mail_addr='{$Mail_Addr}'");
             if (empty($Mail_Addr)) {
                 exit("<script>VerifyDatas('Mail', 'MailResult', 'Campo em branco', '#efdc75', 'warning');</script>");
             } else {
                 if (preg_match("/(.*?)@(.*?).(.).([com|net|org])/i", $Mail_Addr) == FALSE) {
                     exit("<script>VerifyDatas('Mail', 'MailResult', 'E-Mail inv&aacute;lido', '#FF0000', 'error');</script>");
                 } elseif ($Check > 0) {
                     exit("<script>VerifyDatas('Mail', 'MailResult', 'E-Mail j&aacute; Existe', '#FF0000', 'error');</script>");
                 } else {
                     exit("<script>VerifyDatas('Mail', 'MailResult', 'E-Mail v&aacute;lido', 'green', 'success');</script>");
                 }
             }
         }
         if ($_GET["id"] == "pwd") {
             $Pwd_1 = $_GET["pwd_1"];
             $Pwd_2 = $_GET["pwd_2"];
             if (empty($Pwd_2)) {
                 exit("<script>VerifyDatas('Re_Password', 'Re_PasswordResult', 'Campo em branco', '#efdc75', 'warning');</script>");
             } else {
                 if ($Pwd_1 != $Pwd_2) {
                     exit("<script>VerifyDatas('Re_Password', 'Re_PasswordResult', 'Senhas n&atilde;o conferem', '#FF0000', 'error');</script>");
                 } else {
                     exit("<script>VerifyDatas('Re_Password', 'Re_PasswordResult', 'Senha Confirmada', 'green', 'success');</script>");
                 }
             }
         }
         if ($_GET["id"] == "re_mail") {
             $Mail_1 = $_GET["mail_1"];
             $Mail_2 = $_GET["mail_2"];
             if (empty($Mail_2)) {
                 exit("<script>VerifyDatas('Re_Mail', 'Re_MailResult', 'Campo em branco', '#efdc75', 'warning');</script>");
             } else {
                 if ($Mail_1 != $Mail_2) {
                     exit("<script>VerifyDatas('Re_Mail', 'Re_MailResult', 'E-Mails n&atilde;o conferem', '#FF0000', 'error');</script>");
                 } else {
                     exit("<script>VerifyDatas('Re_Mail', 'Re_MailResult', 'E-Mail Confirmado', 'green', 'success');</script>");
                 }
             }
         }
         if ($_GET["id"] == "captcha") {
             $CTM_Captcha = new CTM_Captcha();
             $Captcha = $_GET["captcha"];
             if (empty($Captcha)) {
                 exit("<script>VerifyDatas('Captcha', 'CaptchaResult', 'Campo em branco', '#efdc75', 'warning');</script>");
             } else {
                 if ($CTM_Captcha->Check($Captcha) == FALSE) {
                     exit("<script>VerifyDatas('Captcha', 'CaptchaResult', 'Codigo de Seguan&ccedil;a Incorreto', '#FF0000', 'error');</script>");
                 } else {
                     exit("<script>VerifyDatas('Captcha', 'CaptchaResult', 'Codigo de Seguan&ccedil;a v&aacute;lido', 'green', 'success');</script>");
                 }
             }
         }
     }
 }
Ejemplo n.º 5
0
 private function Check_Datas()
 {
     header("Content-Type: text/javascript", true);
     if ($_GET["cmd"] == "verify") {
         if ($_GET["id"] == "code") {
             $Code = $_GET["code"];
             $HashCode = "0x" . bin2hex($Code);
             $Check = $this->NumQuery("SELECT * FROM dbo." . $GLOBALS["CTM"][14] . " WHERE HashCode={$HashCode}");
             if (empty($Code)) {
                 exit("<script>VerifyDatas('Code', 'CodeResult', 'Campo em branco', '#efdc75', 'warning');</script>");
             } else {
                 if ($Check < 1) {
                     exit("<script>VerifyDatas('Code', 'CodeResult', 'Codigo invalido', '#FF0000', 'error');</script>");
                 } else {
                     exit("<script>VerifyDatas('Code', 'CodeResult', 'Codigo v&aacute;lido', 'green', 'success');</script>");
                 }
             }
         }
         if ($_GET["id"] == "pwd") {
             $Pwd_1 = $_GET["pwd_1"];
             $Pwd_2 = $_GET["pwd_2"];
             if (empty($Pwd_2)) {
                 exit("<script>VerifyDatas('Re_Password', 'Re_PasswordResult', 'Campo em branco', '#efdc75', 'warning');</script>");
             } else {
                 if ($Pwd_1 != $Pwd_2) {
                     exit("<script>VerifyDatas('Re_Password', 'Re_PasswordResult', 'Senhas n&atilde;o conferem', '#FF0000', 'error');</script>");
                 } else {
                     exit("<script>VerifyDatas('Re_Password', 'Re_PasswordResult', 'Senha Confirmada', 'green', 'success');</script>");
                 }
             }
         }
         if ($_GET["id"] == "captcha") {
             $CTM_Captcha = new CTM_Captcha();
             $Captcha = $_GET["captcha"];
             if (empty($Captcha)) {
                 exit("<script>VerifyDatas('Captcha', 'CaptchaResult', 'Campo em branco', '#efdc75', 'warning');</script>");
             } else {
                 if ($CTM_Captcha->Check($Captcha) == FALSE) {
                     exit("<script>VerifyDatas('Captcha', 'CaptchaResult', 'Codigo de Seguan&ccedil;a Incorreto', '#FF0000', 'error');</script>");
                 } else {
                     exit("<script>VerifyDatas('Captcha', 'CaptchaResult', 'Codigo de Seguan&ccedil;a v&aacute;lido', 'green', 'success');</script>");
                 }
             }
         }
     }
 }
Ejemplo n.º 6
0
if (!empty($_GET['showLoad'])) {
    require_once CTM_ROOT_PATH . "modules/kernel/ctmCaptcha.php";
    require_once CTM_ROOT_PATH . "modules/sources/includes/functions.inc.php";
    require_once CTM_ROOT_PATH . "modules/sources/extras/classGuildMark.php";
    switch ($_GET["showLoad"]) {
        case "captcha":
            CTM_Captcha::$number = 8;
            CTM_Captcha::$size = 18;
            CTM_Captcha::$words = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
            CTM_Captcha::$bg = PUBLIC_DIRECTORY . "/style_captcha/backgrounds/{rand}.gif";
            CTM_Captcha::$fontDir = PUBLIC_DIRECTORY . "/style_captcha/fonts/";
            CTM_Captcha::$fonts = array(0 => array("constan.ttf", 8), 1 => array("FRABK.ttf", 8), 2 => array("MAIAN.ttf", 8));
            CTM_Captcha::$colors = array(0 => array(131, 7, 124), 1 => array(70, 138, 239), 2 => array(30, 30, 30), 3 => array(118, 106, 0), 4 => array(157, 10, 79), 5 => array(72, 104, 33), 6 => array(214, 0, 0), 7 => array(48, 71, 160));
            CTM_Captcha::$border = array(0 => true, 1 => array(0, 0, 0));
            CTM_Captcha::$setLines = array(0 => true, 1 => array(0 => array(70, 120, 278), 1 => array(0, 0, 0), 2 => array(48, 71, 160)));
            CTM_Captcha::CaptchaImage(186, 27);
            exit;
            break;
        case "gmark":
            GuildMark::getMark($_GET['hexa'], 100);
            exit;
            break;
        case "jslang":
            if ($_GET['lang']) {
                if (file_exists(CTM_ROOT_PATH . "cache/lang_cache/" . $_GET['lang'] . "/web_" . CTM_ROOT_AREA . ".js")) {
                    header("Content-type: text/javascript");
                    readfile(CTM_ROOT_PATH . "cache/lang_cache/" . $_GET['lang'] . "/web_" . CTM_ROOT_AREA . ".js");
                }
            }
            exit;
            break;
Ejemplo n.º 7
0
 /**
  *	Register Account
  *
  *	@return	void
  */
 private function loadRegisterAccount()
 {
     if ($_GET['write'] == true) {
         if ($_POST['Terms'] != 1) {
             setResult(showMessage($this->lang->words['Register']['Register']['Messages']['CheckTerms'], 2));
         } else {
             $error = NULL;
             $finishRegister = FALSE;
             $PID = $this->settings['REGISTER']['REGISTER_PID'];
             /* Variables to lower */
             $_POST['Login'] = strtolower($_POST['Login']);
             $_POST['Mail'] = strtolower($_POST['Mail']);
             $_POST['CMail'] = strtolower($_POST['CMail']);
             /* Check Void Fields */
             if (empty($_POST['Login'])) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['NULL_Login'] . "<br />\n";
             }
             if (empty($_POST['Password'])) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['NULL_Password'] . "<br />\n";
             }
             if (empty($_POST['CPassword'])) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['NULL_CPassword'] . "<br />\n";
             }
             if (empty($_POST['Mail'])) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['NULL_Mail'] . "<br />\n";
             }
             if (empty($_POST['CMail'])) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['NULL_CMail'] . "<br />\n";
             }
             if (empty($_POST['PersonalID']) && $PID) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['NULL_PID'] . "<br />\n";
             }
             if (empty($_POST['Name'])) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['NULL_Name'] . "<br />\n";
             }
             if (empty($_POST['Phone'])) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['NULL_Phone'] . "<br />\n";
             }
             if (empty($_POST['Sex'])) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['NULL_Sex'] . "<br />\n";
             }
             if (empty($_POST['BirthDay'])) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['NULL_BirthDay'] . "<br />\n";
             }
             if (empty($_POST['BirthMonth'])) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['NULL_BirthMonth'] . "<br />\n";
             }
             if (empty($_POST['BirthYear'])) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['NULL_BirthYear'] . "<br />\n";
             }
             if (empty($_POST['SecureQuestion'])) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['NULL_SecureQuestion'] . "<br />\n";
             }
             if (empty($_POST['SecureAnswer'])) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['NULL_SecureAnswer'] . "<br />\n";
             }
             if (empty($_POST['Captcha'])) {
                 $error .= "&raquo; " . $this->lang->words['Global']['Captcha']['Messages']['Void'];
             }
             if (strlen($error) > 0) {
                 return setResult(showMessage($this->lang->words['Register']['Register']['Messages']['NULL_Message'] . "<br /><br />" . $error, 1));
             }
             /* Check Error Fields */
             if (!CTM_Captcha::Check($_POST['Captcha'])) {
                 $error .= "&raquo; " . $this->lang->words['Global']['Captcha']['Messages']['Invalid'] . "<br />\n";
             }
             if (strlen($_POST['Login']) <= 3 || strlen($_POST['Login']) > 10) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['Error_LoginLength'] . "<br />\n";
             }
             if (strlen($_POST['Password']) <= 3 || strlen($_POST['Password']) > 10) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['Error_PassLength'] . "<br />\n";
             }
             if (strlen($_POST['PersonalID']) != 7 && $PID) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['Error_PIDLength'] . "<br />\n";
             }
             if (eregi("[^a-zA-Z0-9_!=?&-]", $_POST['Login'])) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['Error_LoginWords'] . "<br />\n";
             }
             if (eregi("[^a-zA-Z0-9_!=?&-]", $_POST['Password'])) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['Error_PassWords'] . "<br />\n";
             }
             if (!CTM_Text::checkMail($_POST['Mail'])) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['Error_MailWords'] . "<br />\n";
             }
             if (!is_numeric($_POST['PersonalID']) && $PID) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['Error_PIDWords'] . "<br />\n";
             }
             if (strcmp($_POST['Password'], $_POST['CPassword']) != 0) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['Error_ConfirmPass'] . "<br />\n";
             }
             if (strcmp($_POST['Mail'], $_POST['CMail']) != 0) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['Error_ConfirmMail'] . "<br />\n";
             }
             $this->DB->Arguments($_POST['Login']);
             $this->DB->Query("SELECT 1 FROM " . MUACC_CORE . ".dbo.MEMB_INFO WHERE LOWER(memb___id) = '%s'", $checkLoginQ);
             if ($this->DB->CountRows($checkLoginQ) > 0) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['Error_LoginExists'] . "<br />\n";
             }
             $this->DB->Arguments($_POST['Mail']);
             $this->DB->Query("SELECT 1 FROM " . MUACC_CORE . ".dbo.MEMB_INFO WHERE LOWER(mail_addr) = '%s'", $checkMailQ);
             if ($this->DB->CountRows($checkMailQ) > 0) {
                 $error .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['Error_MailExists'] . "<br />\n";
             }
             if (strlen($error) > 0) {
                 return setResult(showMessage($this->lang->words['Register']['Register']['Messages']['Error_Message'] . "<br /><br />" . $error, 2));
             }
             /* Finish and save fields values */
             CTM_MuOnline::Lib('Member')->CreateAccount(array("Name" => utf8_encode($_POST['Name']), "Login" => $_POST['Login'], "Password" => $_POST['Password'], "Mail" => $_POST['Mail'], "PID" => $PID ? $_POST['PersonalID'] : $this->settings['REGISTER']['DEFAULT_PID'], "Phone" => $_POST['Phone'], "Sex" => $_POST['Sex'], "Birth" => $_POST['BirthDay'] . "/" . $_POST['BirthMonth'] . "/" . $_POST['BirthYear'], "SecureQuestion" => array(utf8_encode($_POST['SecureQuestion']), utf8_encode($_POST['SecureAnswer'])), "Lock" => $this->settings['REGISTER']['CONFIRM_MAIL'] == true ? 1 : 0, "Status" => $this->settings['REGISTER']['CONFIRM_MAIL'] == true ? 1 : 0));
             $bonusCount = 0;
             $VIPBonus = FALSE;
             $coinBonus = FALSE;
             $vaultBonus = FALSE;
             if ($this->settings['REGISTER']['VIP']['SWITCH'] == TRUE && $_POST['VIPBonus'] == 1) {
                 $this->DB->Arguments($this->settings['REGISTER']['VIP']['TYPE'], $this->settings['REGISTER']['VIP']['TIME'], time(), $_POST['Login']);
                 $this->DB->Query("UPDATE " . VIP_CORE . ".dbo." . VIP_TABLE . " SET " . VIP_COLUMN . " = %d, " . VIP_TIME . " = %d, " . VIP_BEGIN . " = %d WHERE " . VIP_LOGIN . " = '%s'");
                 $VIPBonus = TRUE;
                 $bonusCount++;
             }
             if ($this->settings['REGISTER']['COIN']['SWITCH'] == true && $_POST['CoinBonus'] == 1) {
                 $column = constant("COIN_COLUMN_" . $this->settings['REGISTER']['COIN']['TYPE']);
                 $this->DB->Arguments($column, $this->settings['REGISTER']['COIN']['NUMBER'], $_POST['Login']);
                 $this->DB->Query("UPDATE " . COIN_CORE . ".dbo." . COIN_TABLE . " SET %s = %d WHERE " . COIN_LOGIN . "= '%s'");
                 $coinBonus = TRUE;
                 $bonusCount++;
             }
             if ($this->settings['REGISTER']['VAULT_BONUS']['SWITCH'] == true && $_POST['VaultBonus'] != NULL) {
                 if (array_key_exists($_POST['VaultBonus'], $this->settings['REGISTER']['VAULT_BONUS']['OPTIONS'])) {
                     $this->loadVaultBonus($_POST['VaultBonus'], $_POST['Login']);
                     $vaultBonus = TRUE;
                     $bonusCount++;
                 }
             }
             if ($this->settings['REGISTER']['CONFIRM_MAIL'] == true) {
                 $dechex = create_function("\$integer", "return str_pad(dechex(\$integer >= 255 ? 255 : \$integer), 2, 0, STR_PAD_LEFT);");
                 $currentId = $this->DB->GetCurrentId("CTM_ValidingAccounts") + 1;
                 $confirmCode = $dechex($currentId);
                 $confirmCode .= ":" . $dechex(0xff - strlen($_POST['Account']) + mt_rand(0, 50));
                 $confirmCode .= ":" . $dechex(strlen($_POST['Mail']) + mt_rand(0, 50));
                 $confirmCode .= ":" . $dechex(mt_rand(0, 150));
                 $confirmCode .= ":" . $dechex(mt_rand(151, 255));
                 $confirmCode .= ":" . $dechex(0xff / intval(date("d")) + intval(date("H")) + intval(date("m")) + intval(date("s")) + mt_rand(0, 50));
                 $confirmCode .= ":" . $dechex(0xff / intval(date("m")) + intval(date("H")) + intval(date("m")) + intval(date("s")) + mt_rand(0, 50));
                 $confirmCode .= ":" . $dechex(intval(date("Y")) / 0xff + intval(date("H")) + intval(date("m")) + intval(date("s")) + mt_rand(0, 50));
                 $confirmCode = strtoupper($confirmCode);
                 $link = gerateFullLink("?/register/confirm");
                 $this->DB->Arguments($_POST['Login'], utf8_encode($_POST['Name']), $_POST['Mail'], $confirmCode);
                 $this->DB->Query("INSERT INTO dbo.CTM_ValidatingAccounts (Account,Name,Mail,ConfirmCode) VALUES ('%s','%s','%s','%s')");
                 $this->email->arguments = array("NAME" => htmlEncode($_POST['Name']), "LOGIN" => $_POST['Login'], "EMAIL" => $_POST['Mail'], "SECURE_QUESTION" => htmlEncode($_POST['SecureQuestion']), "SECURE_ANSWER" => htmlEncode($_POST['SecureAnswer']), "VALIDATION_LINK" => $currentId, "VALIDATION_CODE" => $confirmCode, "SYSTEM_LINK" => $link);
                 $this->email->LoadTemplate("RegisterNewMember");
                 $this->email->GetMailContent($mail);
                 $this->mailer->AddAddress($_POST['Mail'], $_POST['Name']);
                 $this->mailer->SetSubject($mail['subject']);
                 $this->mailer->SetBody($mail['content']);
                 if ($this->mailer->SendMail() == true) {
                     $finishRegister = TRUE;
                     $this->lang->setArguments("Register,Register,Messages,Success,NotCompleted", $_POST['Mail']);
                     $success = "<strong>" . $this->lang->words['Register']['Register']['Messages']['Success'][1] . "</strong><br /><br />\n";
                     $success .= $this->lang->words['Register']['Register']['Messages']['Success']['NotCompleted'];
                 } else {
                     CTM_MuOnline::Lib('Member')->DeleteAccount($_POST['Login']);
                     $this->lang->setArguments("Register,Register,Messages,Error_SendMail", CoreVariables::ErrorsCode()->SendMailError);
                     setResult(showMessage($this->lang->words['Register']['Register']['Messages']['Error_SendMail'], 2));
                 }
             } else {
                 $finishRegister = TRUE;
                 $success = "<strong>" . $this->lang->words['Register']['Register']['Messages']['Success'][1] . "</strong><br /><br />\n";
                 $success .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['Success'][2] . "<strong> " . htmlEncode($_POST['Name']) . "</strong><br />\n";
                 $success .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['Success'][3] . "<strong> " . strtolower($_POST['Login']) . "</strong><br />\n";
                 $success .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['Success'][4] . "<strong> " . $_POST['Mail'] . "</strong>\n";
             }
             if ($finishRegister == true) {
                 if ($bonusCount > 0) {
                     $success .= "<br /><br />\n";
                     $success .= "<strong>" . $this->lang->words['Register']['Register']['Messages']['Success'][5] . "</strong><br /><br />\n";
                     if ($VIPBonus) {
                         $this->lang->setTags("Register,Register,Messages,Success,6", $this->settings['REGISTER']['VIP']['TIME'], constant("VIP_NAME_" . $this->settings['REGISTER']['VIP']['TYPE']));
                         $success .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['Success'][6] . "<br />\n";
                     }
                     if ($coinBonus) {
                         $this->lang->setTags("Register,Register,Messages,Success,7", $this->settings['REGISTER']['COIN']['NUMBER'], constant("COIN_NAME_" . $this->settings['REGISTER']['COIN']['TYPE']));
                         $success .= "&raquo; " . $this->lang->words['Register']['Register']['Messages']['Success'][7] . "<br />\n";
                     }
                     if ($vaultBonus) {
                         $success .= "&raquo; " . htmlEncode($this->settings['REGISTER']['VAULT_BONUS']['OPTIONS'][$_POST['VaultBonus']]) . "<br />\n";
                     }
                 }
                 $success .= "<br />\n";
                 $success .= $this->lang->words['Register']['Register']['Messages']['Success'][8];
                 CTM_Captcha::gerateCaptchaText();
                 setResult(showMessage($success, 3));
             }
         }
     }
 }
Ejemplo n.º 8
0
 /**
  *	Generate Captcha Text
  *	Generate the new captcha text
  *
  *	@param	integer	Letters number
  *	@return	void
  */
 public static function GerateCaptchaText($number = -1)
 {
     self::$captcha = NULL;
     $number = $number == -1 ? self::$number : $number;
     $length = strlen(self::$words);
     for ($i = 0; $i < $number; $i++) {
         if ($length > 0) {
             self::$captcha .= self::$words[mt_rand(0, $length - 1)];
         } else {
             self::$captch .= chr(mt_rand(65, 90));
         }
     }
     $_SESSION['CTM_SECURE_CAPTCHA'] = md5(sha1(self::$captcha));
 }