Exemplo n.º 1
0
    $fileSettings['ReadScript']['SerializePath'] = CTM_CACHE_PATH . "server_cache/db_scripts/";
    $fileSettings['ReadScript']['HashFilesPath'] = "hash_files.txt";
    $skinSettings['Database']['SystemName'] = "Effect Web " . EW_REAL_VERSION;
    $skinSettings['Database']['DatabaseDir'] = CTM_CACHE_PATH . "server_cache/db_php/skin_sources/";
    $skinSettings['Sources']['SystemName'] = "Effect Web " . EW_REAL_VERSION;
    $skinSettings['Sources']['CodeKeyCryptKey'] = "h+C\$/AY#p2kmU90%";
    $skinSettings['Sources']['DatabaseDir'] = CTM_CACHE_PATH . "server_cache/db_php/skin_sources/skin_sources.php";
    $skinSettings['Logic']['SystemName'] = "Effect Web " . EW_REAL_VERSION;
    $skinSettings['ImportExport']['SystemName'] = "Effect Web Template Engine";
    $skinSettings['ImportExport']['Version'] = EW_BUILD_VERSION;
    $skinSettings['ImportExport']['XMLCryptKey'] = "z7RvS82*#M2+tpu+";
    $skinSettings['ImportExport']['CodeKeyCryptKey'] = "h+C\$/AY#p2kmU90%";
    $skinSettings['ImportExport']['CodeKeyVars'][0] = array();
    CTM_MuOnline::libraryFactory($muSettings);
    CTM_FileManage::libraryFactory($fileSettings);
    CTM_Template::libraryFactory($skinSettings);
    $CTM_Mailer = new CTM_Mailer();
    $CTM_Mailer->LibFactory();
    $CTM_Mailer->SendMethod = $CTM_SETTINGS['MAILER']['TYPE'];
    $CTM_Mailer->Debug = CTM_MAILER_DEBUG_MODE;
    $CTM_Mailer->FromMail = array($CTM_SETTINGS['MAILER']['FROM'], SERVER_NAME);
    $CTM_Mailer->LogPath = EW_LOG_PATH . "Mailer/";
    if ($CTM_SETTINGS['MAILER']['TYPE'] == 1) {
        $CTM_Mailer->SMTPHost = $CTM_SETTINGS['MAILER']['SMTP']['HOST'];
        $CTM_Mailer->SMTPPort = $CTM_SETTINGS['MAILER']['SMTP']['PORT'];
        $CTM_Mailer->SMTPUser = $CTM_SETTINGS['MAILER']['SMTP']['USER'];
        $CTM_Mailer->SMTPPass = $CTM_SETTINGS['MAILER']['SMTP']['PASS'];
        $CTM_Mailer->SMTPHelo = $CTM_SETTINGS['MAILER']['SMTP']['HELO'];
        $CTM_Mailer->SMTPSecure = $CTM_SETTINGS['MAILER']['SMTP']['SECURE'];
    }
}
 private function Change_Mail()
 {
     global $CTM_General, $CTM_Template, $CTM, $_Mailer;
     $CTM_Captcha = new CTM_Captcha();
     if (isset($_GET["run"]) == TRUE) {
         if ($_GET["code"] == TRUE) {
             if ($_GET["check"] == TRUE) {
                 if (empty($_GET["code"])) {
                     exit("<div class=\"error-box\"> Este link de valida&ccedil;&atilde;o &eacute; invalido.</div>");
                 } else {
                     $Encode = "0x" . bin2hex($_GET["code"]);
                     $Check_Link = $this->NumQuery("SELECT * FROM dbo.{$CTM[19]} WHERE HashCode={$Encode}");
                     $Find_Link = $this->FetchQuery("SELECT Status,Account,Mail,Expiration \r\n\t\t\t\t\t\tFROM dbo.{$CTM[19]} WHERE HashCode={$Encode}");
                     if ($Check_Link < 1) {
                         exit("<div class=\"error-box\"> Este link de valida&ccedil;&atilde;o &eacute; invalido.</div>");
                     }
                     if (strtoupper(bin2hex($Find_Link[0])) == "2A9F") {
                         exit("<div class=\"error-box\"> Este Link j&aacute; se encontra usado.</div>");
                     } elseif (time() >= $Find_Link[3]) {
                         exit("<div class=\"error-box\"> Este Link expirou.</div>");
                     } else {
                         exit(false);
                     }
                 }
             }
             if ($_GET["cmd"] == TRUE) {
                 $Old_Mail = $_POST["Old_Mail"];
                 $New_Mail = $_POST["New_Mail"];
                 $Re_Mail = $_POST["Re_Mail"];
                 $Captcha = $_POST["Captcha"];
                 if (empty($_GET["code"])) {
                     exit("<div class=\"error-box\"> Este link de valida&ccedil;&atilde;o &eacute; invalido.</div>");
                 } else {
                     $Encode = "0x" . bin2hex($_GET["code"]);
                     $Check_Link = $this->NumQuery("SELECT * FROM dbo.{$CTM[19]} WHERE HashCode={$Encode}");
                     $Find_Link = $this->FetchQuery("SELECT Status,Account,Mail,Expiration \r\n\t\t\t\t\t\tFROM dbo.{$CTM[19]} WHERE HashCode={$Encode}");
                     $Check_Mail = $this->NumQuery("SELECT * FROM " . MuAcc_DB . ".dbo.MEMB_INFO WHERE mail_addr='{$Old_Mail}'\r\n\t\t\t\t\t\tand memb___id='" . $Find_Link[1] . "'");
                     if ($Check_Link < 1) {
                         exit("<div class=\"error-box\"> Este link de valida&ccedil;&atilde;o &eacute; invalido.</div>");
                     } elseif (strtoupper(bin2hex($Find_Link[0])) == "2A9F") {
                         exit("<div class=\"error-box\"> Este Link j&aacute; se encontra usado.</div>");
                     } elseif (time() >= $Find_Link[3]) {
                         exit("<div class=\"error-box\"> Este Link expirou.</div>");
                     } elseif (empty($Old_Mail)) {
                         exit("<div class=\"warning-box\"> Digite o seu E-Mail atual.</div>");
                     } elseif (empty($New_Mail)) {
                         exit("<div class=\"warning-box\"> Digite o novo E-Mail.</div>");
                     } elseif (empty($Re_Mail)) {
                         exit("<div class=\"warning-box\"> Digite a confirma&ccedil;&atilde;o do E-Mail.</div>");
                     } elseif (empty($Captcha)) {
                         exit("<div class=\"warning-box\"> Digite o codigo de seguran&ccedil;a.</div>");
                     } elseif (preg_match("/(.*?)@(.*?)\\..([com|net|org])/i", $New_Mail) == FALSE) {
                         exit("<div class=\"error-box\"> E-Mail inv&aacute;lido</div>");
                     } elseif ($New_Mail != $Re_Mail) {
                         exit("<div class=\"error-box\"> E-Mails n&atilde;o conferem.</div>");
                     } elseif ($CTM_Captcha->Check($Captcha) == FALSE) {
                         exit("<div class=\"error-box\"> Codigo de seguran&ccedil;a incorreto!</div>");
                     } elseif ($Check_Mail < 1) {
                         exit("<div class=\"error-box\"> E-Mail atual incorreto!</div>");
                     } else {
                         $this->Query("UPDATE dbo.{$CTM[19]} SET Status=0x2A9F WHERE HashCode={$Encode}");
                         $this->Query("UPDATE " . MuAcc_DB . ".dbo.MEMB_INFO SET mail_addr='{$New_Mail}' WHERE memb___id='" . $Find_Link[1] . "' and mail_addr='" . $Find_Link[2] . "'");
                         $this->WriteLog("CHANGE_MAIL", "E-Mail anterior: " . $Old_Mail);
                         exit("<div class=\"success-box\"> E-Mail alterado com Sucesso!</div>");
                     }
                 }
             } else {
                 echo "<script>CTM_Load('?pag=paneluser&str=CHANGE_MAIL&run=true&code=" . $_GET["code"] . "&check=true','Command','GET');</script>";
             }
         } else {
             if ($_GET["cmd"] == TRUE) {
                 $Code = $_POST["Code"];
                 $Old_Mail = $_POST["Old_Mail"];
                 $New_Mail = $_POST["New_Mail"];
                 $Re_Mail = $_POST["Re_Mail"];
                 $Captcha = $_POST["Captcha"];
                 $Encode = "0x" . bin2hex($Code);
                 $Check_Link = $this->NumQuery("SELECT * FROM dbo.{$CTM[19]} WHERE HashCode={$Encode}");
                 $Find_Link = $this->FetchQuery("SELECT Status,Account,Mail,Expiration \r\n\t\t\t\t\tFROM dbo.{$CTM[19]} WHERE HashCode={$Encode}");
                 $Check_Mail = $this->NumQuery("SELECT * FROM " . MuAcc_DB . ".dbo.MEMB_INFO WHERE mail_addr='{$Old_Mail}'\r\n\t\t\t\t\tand memb___id='" . $Find_Link[1] . "'");
                 if (empty($Code)) {
                     exit("<div class=\"warning-box\"> Digite o codigo de valida&ccedil;&atilde;o.</div>");
                 } elseif (empty($Old_Mail)) {
                     exit("<div class=\"warning-box\"> Digite o seu E-Mail atual.</div>");
                 } elseif (empty($New_Mail)) {
                     exit("<div class=\"warning-box\"> Digite o novo E-Mail.</div>");
                 } elseif (empty($Re_Mail)) {
                     exit("<div class=\"warning-box\"> Digite a confirma&ccedil;&atilde;o do E-Mail.</div>");
                 } elseif (empty($Captcha)) {
                     exit("<div class=\"warning-box\"> Digite o codigo de seguran&ccedil;a.</div>");
                 }
                 if ($Check_Link < 1) {
                     exit("<div class=\"error-box\"> Este codigo de valida&ccedil;&atilde;o &eacute; invalido.</div>");
                 } elseif (preg_match("/(.*?)@(.*?)\\..([com|net|org])/i", $New_Mail) == FALSE) {
                     exit("<div class=\"error-box\"> E-Mail inv&aacute;lido</div>");
                 } elseif ($New_Mail != $Re_Mail) {
                     exit("<div class=\"error-box\"> E-Mails n&atilde;o conferem.</div>");
                 } elseif ($CTM_Captcha->Check($Captcha) == FALSE) {
                     exit("<div class=\"error-box\"> Codigo de seguran&ccedil;a incorreto!</div>");
                 } elseif ($Check_Mail < 1) {
                     exit("<div class=\"error-box\"> E-Mail atual incorreto!</div>");
                 } elseif (strtoupper(bin2hex($Find_Link[0])) == "2A9F") {
                     exit("<div class=\"error-box\"> Este codigo j&aacute; se encontra usado.</div>");
                 } elseif (time() >= $Find_Link[3]) {
                     exit("<div class=\"error-box\"> Este codigo expirou.</div>");
                 } else {
                     $this->Query("UPDATE dbo.{$CTM[19]} SET Status=0x2A9F WHERE HashCode={$Encode}");
                     $this->Query("UPDATE " . MuAcc_DB . ".dbo.MEMB_INFO SET mail_addr='{$New_Mail}' WHERE memb___id='" . $Find_Link[1] . "' and mail_addr='" . $Find_Link[2] . "'");
                     $this->WriteLog("CHANGE_MAIL", "E-Mail anterior: " . $Old_Mail);
                     exit("<div class=\"success-box\"> E-Mail alterado com Sucesso!</div>");
                 }
             }
         }
         $CTMT = "templates/" . $CTM_Template->Open() . "/pages/";
         $CTM_Template->Set("Captcha_Image", "?public=captcha");
         $CTM_Template->Set("Reset_Link", isset($_GET["code"]) == TRUE ? "&code=" . $_GET["code"] : NULL);
         $CTM_Template->Load($CTMT . "paneluser[CHANGE_MAIL][CHANGE].pag.php");
     } else {
         if ($_GET["cmd"] == TRUE) {
             $Captcha = $_POST["Captcha"];
             $Find_Account = $this->FetchQuery("SELECT memb_name,mail_addr FROM " . MuAcc_DB . ".dbo.MEMB_INFO WHERE memb___id='" . $this->Login . "'");
             if (empty($Captcha)) {
                 exit("<div class=\"warning-box\"> Digite o codigo de seguran&ccedil;a.</div>");
             } elseif ($CTM_Captcha->Check($Captcha) == FALSE) {
                 exit("<div class=\"error-box\"> Codigo de seguran&ccedil;a incorreto!</div>");
             } else {
                 $Time = strtotime("+ 24 hours");
                 for ($WzAG = 0; $WzAG < 25; $WzAG++) {
                     $Rand .= chr(mt_rand(65, 90));
                 }
                 $HashCode = md5(sha1($Rand));
                 $Binarry = "0x" . bin2hex($HashCode);
                 $this->Query("INSERT INTO dbo.{$CTM[19]} (Account,Mail,HashCode,Expiration,Status) VALUES (\r\n\t\t\t\t\t'" . $this->Login . "','" . $Find_Account[1] . "'," . $Binarry . "," . $Time . ",0xFFFF)");
                 /******************************* Send Mail ********************************/
                 $Link .= "http://";
                 $Link .= $_SERVER["HTTP_HOST"];
                 $Link .= $_SERVER["PHP_SELF"];
                 $Link .= "?do=paneluser&str=CHANGE_MAIL&run=true";
                 $Code_Link = "&code=" . $HashCode;
                 $Message .= "Ol&aacute; <strong>" . $Find_Account[0] . "</strong>!<br /><br />";
                 $Message .= "Voc&ecirc; solicitou a altera&ccedil;&atilde;o do e-mail de sua conta,";
                 $Message .= "<br />Para completar este processo, clique no link abaixo para alterar seu e-mail:<br />";
                 $Message .= "<strong>Link:</strong> <a target=\"_blank\" href=\"" . $Link . $Code_Link . "\">" . $Link . $Code_Link;
                 $Message .= "</a><br /><br />";
                 $Message .= "<h3><strong>N&atilde;o funciona?</strong></h3>";
                 $Message .= "Ent&atilde;o clique no link abaixo de digite o seguinte codigo:<br />";
                 $Message .= "Codigo: <strong>" . $HashCode . "</strong><br />";
                 $Message .= "<strong>Link:</strong> <a target=\"_black\" href=\"" . $Link . "\">" . $Link . "</a><br />";
                 $Message .= "<br /><br />Caso tenha mais problemas, por favor contate o Suporte.<br /><br />";
                 $CTM_Mailer = new CTM_Mailer();
                 $CTM_Mailer->SMTP_Server = $_Mailer["SMTP"]["Server"];
                 $CTM_Mailer->SMTP_Port = $_Mailer["SMTP"]["Port"];
                 $CTM_Mailer->SMTP_User = $_Mailer["SMTP"]["User"];
                 $CTM_Mailer->SMTP_Pass = $_Mailer["SMTP"]["Pass"];
                 $CTM_Mailer->Mail_From = $_Mailer["SMTP"]["Mail"];
                 $CTM_Mailer->SMTP_Debug = $_Mailer["SMTP"]["Debug"];
                 $CTM_Mailer->Mail_To = $Find_Account[1];
                 $CTM_Mailer->Mail_Sender = "Suporte " . constant("Server_Name");
                 $CTM_Mailer->Mail_Recipient = $Find_Account[0];
                 $CTM_Mailer->Mail_Subject = utf8_decode("Alteração de E-Mail - " . constant("Server_Name"));
                 $CTM_Mailer->Mail_Message = $Message;
                 if ($CTM_Mailer->Send_Mail() == FALSE) {
                     exit("<div class=\"error-box\"> Erro ao enviar o E-Mail!</div>");
                 } else {
                     unset($Link);
                     unset($Message);
                     exit("<div class=\"success-box\"> Foi enviado um E-Mail com as informa&ccedil;&otilde;es precisas.<br />Siga as instru&ccedil;&otilde;es para alterar seu E-Mail.</div>");
                 }
             }
         }
         $CTMT = "templates/" . $CTM_Template->Open() . "/pages/";
         $CTM_Template->Set("Captcha_Image", "?public=captcha");
         $CTM_Template->Load($CTMT . "paneluser[CHANGE_MAIL].pag.php");
     }
 }
 private function Prepare()
 {
     global $CTM_General, $CTM, $_Mailer;
     $CTM_Captcha = new CTM_Captcha();
     if ($CTM_General->Check_Logged(false) == TRUE) {
         exit("<div class=\"info-box\"> Notamos que voc&ecirc; se encontra Logado com a conta \"" . $_SESSION["Hash_Account"] . "\", o processo n&atilde;o pode ser Efetuado.</div>");
     }
     if ($_GET["cmd"] == TRUE) {
         $Mail = $_POST["Mail"];
         $Captcha = $_POST["Captcha"];
         $Check = $this->NumQuery("SELECT mail_addr FROM " . MuAcc_DB . ".dbo.MEMB_INFO WHERE mail_addr='{$Mail}'");
         $Find_Mail = $this->FetchQuery("SELECT mail_chek FROM " . MuAcc_DB . ".dbo.MEMB_INFO WHERE mail_addr='{$Mail}'");
         if (empty($Mail)) {
             exit("<div class=\"warning-box\"> Digite seu E-Mail.</div>");
         } elseif (empty($Captcha)) {
             exit("<div class=\"warning-box\"> Digite o Codigo de Seguran&ccedil;a.</div>");
         } elseif ($CTM_Captcha->Check($Captcha) == FALSE) {
             exit("<div class=\"error-box\"> Codigo de seguran&ccedil;a incorreto!</div>");
         } elseif (preg_match("/(.*?)@(.*?).(.).([com|net|org])/i", $Mail) == FALSE) {
             exit("<div class=\"error-box\"> E-Mail inv&aacute;lido!</div>");
         } elseif ($Check < 1) {
             exit("<div class=\"error-box\"> Este E-Mail n&atilde;o existe!</div>");
         } elseif ($Find_Mail[0] == 0) {
             exit("<div class=\"error-box\"> Sua conta n&atilde;o esta confirmada.</div>");
         } else {
             for ($WzAG = 0; $WzAG < 25; $WzAG++) {
                 $Rand .= chr(mt_rand(65, 90));
             }
             $HashCode = md5($Rand);
             $Binarry = "0x" . bin2hex($HashCode);
             $Find_Account = $this->FetchQuery("\r\n\t\t\t\tSELECT memb___id,memb_name,fpas_ques,fpas_answ FROM " . MuAcc_DB . ".dbo.MEMB_INFO \r\n\t\t\t\tWHERE mail_addr='{$Mail}'");
             $this->Query("INSERT INTO dbo.{$CTM[14]} (Account,Mail,HashCode,Time_,Expiration,Status) \r\n\t\t\t\tVALUES ('" . $Find_Account[0] . "','" . $Mail . "'," . $Binarry . "," . time() . "," . strtotime("+ 24 hours") . ",0xFFFF)");
             /***************************** Send Mail ******************************/
             $Link .= "http://";
             $Link .= $_SERVER["HTTP_HOST"];
             $Link .= $_SERVER["PHP_SELF"];
             $Link .= "?do=recovery&run=true";
             $Code_Link = "&code=" . $HashCode;
             $Message .= "Ol&aacute; <strong>" . $Find_Account[1] . "</strong>!<br /><br />";
             $Message .= "Voc&ecirc; solicitou a recupera&ccedil;&atilde;o de dados referentes a sua conta,";
             $Message .= "<br />Segue abaixo alguns dados referentes a sua conta:<br /><br />";
             $Message .= "<strong>Login:</strong> " . $Find_Account[0] . "<br />";
             $Message .= "<strong>E-Mail:</strong> " . $Mail . "<br />";
             $Message .= "<strong>Pergunta Secreta:</strong> " . $Find_Account[2] . "<br />";
             $Message .= "<strong>Resposta Secreta:</strong> " . $Find_Account[3] . "<br /><br />";
             $Message .= "Para completar este processo, clique no link abaixo para redefinir sua senha:<br />";
             $Message .= "<strong>Link:</strong> <a target=\"_blank\" href=\"" . $Link . $Code_Link . "\">" . $Link . $Code_Link;
             $Message .= "</a><br /><br />";
             $Message .= "<h3><strong>N&atilde;o funciona?</strong></h3>";
             $Message .= "Ent&atilde;o clique no link abaixo de digite o seguinte codigo:<br />";
             $Message .= "Codigo: <strong>" . $HashCode . "</strong><br />";
             $Message .= "<strong>Link:</strong> <a target=\"_black\" href=\"" . $Link . "\">" . $Link . "</a><br />";
             $Message .= "<br /><br />Caso tenha mais problemas, por favor contate o Suporte.<br /><br />";
             $CTM_Mailer = new CTM_Mailer();
             $CTM_Mailer->SMTP_Server = $_Mailer["SMTP"]["Server"];
             $CTM_Mailer->SMTP_Port = $_Mailer["SMTP"]["Port"];
             $CTM_Mailer->SMTP_User = $_Mailer["SMTP"]["User"];
             $CTM_Mailer->SMTP_Pass = $_Mailer["SMTP"]["Pass"];
             $CTM_Mailer->Mail_From = $_Mailer["SMTP"]["Mail"];
             $CTM_Mailer->SMTP_Debug = $_Mailer["SMTP"]["Debug"];
             $CTM_Mailer->Mail_To = $Mail;
             $CTM_Mailer->Mail_Sender = "Suporte " . constant("Server_Name");
             $CTM_Mailer->Mail_Recipient = $Find_Account[1];
             $CTM_Mailer->Mail_Subject = utf8_decode("Recuperação de Senha - " . constant("Server_Name"));
             $CTM_Mailer->Mail_Message = $Message;
             if ($CTM_Mailer->Send_Mail() == FALSE) {
                 exit("<div class=\"error-box\"> Erro ao enviar o E-Mail!</div>");
             } else {
                 if (constant("Recovery_Pass") === TRUE) {
                     $New_Password = substr(md5(hash("sha512", $Rand)), 0, 10);
                     if (USE_MD5 == 1) {
                         $this->Query("exec dbo.CTM_CryptPwd '" . $Find_Account[0] . "','" . $New_Password . "'");
                     } else {
                         $this->Query("UPDATE " . MuAcc_DB . ".dbo.MEMB_INFO SET memb__pwd='{$New_Password}' WHERE memb___id='" . $Find_Account[0] . "'");
                     }
                 }
                 unset($Link);
                 unset($Message);
                 exit("<div class=\"success-box\"> Foi enviado um E-Mail com os dados referente a sua conta.<br />Siga as instru&ccedil;&otilde;es para redefinir sua senha.<br /><strong style=\"color: red;\">Caso seu E-Mail seja na hotmail, verifique sua caixa de Spam.</strong></div>");
             }
         }
     }
 }
 private function RegisterNow()
 {
     global $CTM, $_Register, $_Mailer;
     $CTM_Captcha = new CTM_Captcha();
     $iPID = (bool) constant("Register[DefinePID]");
     $lower = (bool) constant("Register[ForceLower]");
     if ($_GET["cmd"] == TRUE) {
         #Define POST
         $Account = $_POST["Account"];
         $Password = $_POST["Password"];
         $Re_Password = $_POST["Re_Password"];
         $PID = $_POST["PID"];
         $Mail = $_POST["Mail"];
         $Re_Mail = $_POST["Re_Mail"];
         $Name = $_POST["Name"];
         $Phone = $_POST["Phone"];
         $Sex = $_POST["Sex"];
         $Date_D = $_POST["Date_D"];
         $Date_M = $_POST["Date_M"];
         $Date_Y = $_POST["Date_Y"];
         $Question = $_POST["Question"];
         $Answer = $_POST["Resp"];
         $Captcha = $_POST["Captcha"];
         $ItemBonus = $_POST["ItemBonus"];
         # Define Empty POST
         if (empty($Account)) {
             $this->Error = "&raquo; Login em Branco<br />";
         }
         if (empty($Password)) {
             $this->Error .= "&raquo; Senha em Branco<br />";
         }
         if (empty($Re_Password)) {
             $this->Error .= "&raquo; Confirma&ccedil;&atilde;o de Senha em Branco<br />";
         }
         if (empty($PID) && $iPID) {
             $this->Error .= "&raquo; Personal ID em branco<br />";
         }
         if (empty($Mail)) {
             $this->Error .= "&raquo; E-Mail em Branco<br />";
         }
         if (empty($Re_Mail)) {
             $this->Error .= "&raquo; Confirma&ccedil;&atilde;o de E-Mail em Branco<br />";
         }
         if (empty($Name)) {
             $this->Error .= "&raquo; Nome em Branco<br />";
         }
         if (empty($Phone)) {
             $this->Error .= "&raquo; Telefone em Branco<br />";
         }
         if (empty($Sex)) {
             $this->Error .= "&raquo; Selecione seu Sexo<br />";
         }
         if (empty($Date_D)) {
             $this->Error .= "&raquo; Selecione o dia de seu nascimento<br />";
         }
         if (empty($Date_M)) {
             $this->Error .= "&raquo; Selecione o m&ecirc;s de seu nascimento<br />";
         }
         if (empty($Date_Y)) {
             $this->Error .= "&raquo; Selecione o ano de seu nascimento<br />";
         }
         if (empty($Question)) {
             $this->Error .= "&raquo; Selecione uma Pergunta Secreta<br />";
         }
         if (empty($Answer)) {
             $this->Error .= "&raquo; Digite a resposta Secreta<br />";
         }
         if (empty($Captcha)) {
             $this->Error .= "&raquo; Codigo de Seguan&ccedil;a em Branco<br />";
         }
         # Define POST Erros
         if ($CTM_Captcha->Check($Captcha) == FALSE) {
             $this->Error .= "&raquo; Codigo de Seguran&ccedil;a Incorreto.<br />";
         }
         if (eregi("[^a-zA-Z0-9_!=?&-]", $Account)) {
             $this->Error .= "&raquo; N&atilde;o use s&iacute;mbolos no Login<br />";
         }
         if (eregi("[^a-zA-Z0-9_!=?&-]", $Password) || eregi("[^a-zA-Z0-9_!=?&-]", $Re_Password)) {
             $this->Error .= "&raquo; N&atilde;o use s&iacute;mbolos na Senha<br />";
         }
         if (eregi("[^a-zA-Z0-9_!=?&-]", $Re_Password)) {
             $this->Error .= "&raquo; N&atilde;o use s&iacute;mbolos na Confirma&ccedil;&atilde;o de Senha<br />";
         }
         if (!is_numeric($PID) && $iPID) {
             $this->Error .= "&raquo; O Personal ID deve conter somente n&uacute;meros<br />";
         }
         if (strlen($PID) != 7 && $iPID) {
             $this->Error .= "&raquo; O Personal ID deve conter exatamente 7 digitos<br />";
         }
         if (preg_match("/(.*?)@(.*?)\\..([com|net|org])/i", $Mail) == FALSE) {
             $this->Error .= "&raquo; E-Mail inv&aacute;lido<br />";
         }
         # Define Verify POST
         if ($Password != $Re_Password) {
             $this->Error .= "&raquo; Senhas n&atilde;o conferem<br />";
         }
         if ($Mail != $Re_Mail) {
             $this->Error .= "&raquo; E-Mails n&atilde;o conferem<br />";
         }
         # Define Check POST
         $Check[0] = $this->NumQuery("SELECT memb___id FROM " . MuAcc_DB . ".dbo.MEMB_INFO WHERE memb___id=" . ($lower ? "LOWER" : NULL) . "('{$Account}')");
         $Check[1] = $this->NumQuery("SELECT mail_addr FROM " . MuAcc_DB . ".dbo.MEMB_INFO WHERE mail_addr='{$Mail}'");
         if ($Check[0] > 0) {
             $this->Error .= "&raquo; Login em Uso<br />";
         }
         if ($Check[1] > 0) {
             $this->Error .= "&raquo; E-Mail em Uso<br />";
         }
         # Define Show Errors
         if (isset($this->Error)) {
             exit("<div class=\"error-box\">Os seguintes erros for&atilde;o encontrados: <br />" . $this->Error . "</div>");
         }
         # Define Send Variables
         $Date = date("d/m/Y - H:i:s");
         $Date_G = $Date_D . "/" . $Date_M . "/" . $Date_Y;
         $PID = "111111" . ($iPID ? $PID : "1234567");
         $Account = $lower == true ? strtolower($Account) : $Account;
         # Define Password Module
         if (USE_MD5 == 1) {
             $this->Pwd_Query = "CONVERT(varbinary(16),'0x00')";
         } else {
             $this->Pwd_Query = "'" . $Password . "'";
         }
         # Define Mail Register
         if (constant("Register[Confirm_Mail]") === TRUE) {
             for ($WzAG = 0; $WzAG < 25; $WzAG++) {
                 $Rand .= chr(mt_rand(65, 90));
             }
             $Define["Account"] = substr(md5($Rand . sha1(time())), 0, 10);
             $Define["Mail_Check"] = 0;
             $HashCode = md5(sha1($Rand));
             $Binarry = "0x" . bin2hex($HashCode);
             $this->Query("INSERT INTO dbo.{$CTM[18]} (Account,Temp_Account,HashCode,Status) VALUES (\r\n\t\t\t\t'" . $Account . "','" . $Define["Account"] . "'," . $Binarry . ",0xFFFF)");
         } else {
             $Define["Account"] = $Account;
             $Define["Mail_Check"] = 1;
         }
         # Degine Item Bonus
         if (!($ItemBonus == NULL) && ITEMBONUS_ENABLE) {
             $itemHexa = $this->itemScript($ItemBonus);
             if ($itemHexa != "none") {
                 $this->Query("INSERT INTO " . MuGen_DB . ".dbo.warehouse (AccountID,items,money,DbVersion) VALUES ('" . $Define["Account"] . "',CONVERT(varbinary(" . (GS_Version > 1 ? 1920 : 1200) . ")," . $itemHexa . "),'0','" . (GS_Version > 1 ? 3 : 1) . "')");
             }
         }
         # Define Register Query
         $this->Query("INSERT INTO " . MuAcc_DB . ".dbo.MEMB_INFO (memb___id,memb__pwd,memb_name,sno__numb,post_code,addr_info,addr_deta,tel__numb,mail_addr,phon_numb,fpas_ques,fpas_answ,job__code,CTM_Date,CTM_Birth,CTM_Sex,appl_days,modi_days,out__days,true_days,mail_chek,bloc_code,ctl1_code) VALUES ('" . $Define["Account"] . "'," . $this->Pwd_Query . ",'{$Name}','{$PID}','s-n','11111','','{$Phone}','{$Mail}','','{$Question}','{$Answer}','1','{$Date}','{$Date_G}','{$Sex}','2003-11-23','2003-11-23','2003-11-23','2003-11-23','" . $Define["Mail_Check"] . "','0','1')");
         if (USE_MD5 == 1) {
             $this->Query("exec dbo.CTM_CryptPwd '" . $Define["Account"] . "','" . $Password . "'");
         }
         # Define Register VI_CURR_INFO
         if (VI_CURR_INFO == TRUE) {
             $this->Query("INSERT INTO " . MuAcc_DB . ".dbo.VI_CURR_INFO (ends_days,chek_code,used_time,memb___id,memb_name,memb_guid,sno__numb,Bill_Section,Bill_value,Bill_Hour,Surplus_Point,Surplus_Minute,Increase_Days) VALUES ('2005','1',1234,'" . $Account . "','{$Name}',1,'7','6','3','6','6','2003-11-23 10:36:00','0')");
         }
         # Define VIP Table
         if (VIP_Table != "MEMB_INFO") {
             $this->Query("INSERT INTO " . VIP_DB . ".dbo." . VIP_Table . " (" . VIP_Login . "," . VIP_Column . "," . VIP_Begin . "," . VIP_Time . "," . VIP_Credits . ") VALUES ('" . $Define["Account"] . "',0,0,0,0)");
         }
         # Define Cash Table
         if (GL_Table != "MEMB_INFO") {
             $this->Query("INSERT INTO " . GL_DB . ".dbo." . GL_Table . " (" . GL_Column_1 . "," . GL_Login . ") VALUES (0,'" . $Define["Account"] . "')");
         }
         # Define Bonus Register
         if (constant("Register[VIP][Enable]") === TRUE) {
             switch (constant("Register[VIP][Type]")) {
                 case 1:
                     $VIP_Type = constant("VIP_1");
                     break;
                 case 2:
                     $VIP_Type = constant("VIP_2");
                     break;
                 case 3:
                     $VIP_Type = constant("VIP_3");
                     break;
                 case 4:
                     $VIP_Type = constant("VIP_4");
                     break;
                 case 5:
                     $VIP_Type = constant("VIP_5");
                     break;
             }
             $VIP_Begin = strtotime("now");
             $VIP_Time = strtotime("+ " . constant("Register[VIP][Time]") . " days");
             $this->Query("UPDATE " . VIP_DB . ".dbo." . VIP_Table . " SET " . VIP_Column . "=" . constant("Register[VIP][Type]") . "," . VIP_Begin . "=" . $VIP_Begin . "," . VIP_Time . "=" . $VIP_Time . "," . VIP_Credits . "=" . constant("Register[VIP][Time]") . " WHERE " . VIP_Login . "='" . $Define["Account"] . "'");
             $Bonus .= "&raquo; " . constant("Register[VIP][Time]") . " dias de " . $VIP_Type . ".<br />";
         }
         if (constant("Register[Cash][Enable]") === TRUE) {
             $this->Query("UPDATE " . GL_DB . ".dbo." . GL_Table . " SET " . constant("GL_Column_" . constant("Register[Cash][Coin]")) . "=" . constant("GL_Column_" . constant("Register[Cash][Coin]")) . "+" . constant("Register[Cash][Number]") . " WHERE " . GL_Login . "='" . $Define["Account"] . "'");
             $Bonus .= "&raquo; " . constant("Register[Cash][Number]") . " " . constant("Coin_" . constant("Register[Cash][Coin]")) . "";
         }
         if ($Bonus == TRUE) {
             $Echo_Bonus = "<br /><br />Voc&ecirc; foi premiado com: <br />{$Bonus}";
         }
         # Define Message
         if (constant("Register[Confirm_Mail]") === TRUE) {
             $Exit = "Cadastro Realizado com Sucesso!<br />Foi enviado 1 e-mail para <strong>{$Mail}</strong> contendo informa&ccedil;&otilde;es para confirmar o seu cadastro.<br />Entre em seu E-Mail e siga as instru&ccedil;&otilde;es para confirmar o seu cadastro.<br /><strong style=\"color: red;\">Caso seu E-Mail seja na hotmail, verifique sua caixa de Spam.</strong><br />A Equipe " . Server_Name . " agradece.";
         } else {
             $Exit = "Cadastro Realizado com Sucesso!<br /><br />&raquo; Nome: <b>{$Name}</b><br />&raquo; E-Mail: <b>{$Mail}</b><br />&raquo; Login: <b>{$Account}</b><br />&raquo; Senha: <b>{$Password}</b>{$Echo_Bonus}<br /><br />Seja Bem Vindo ao " . Server_Name . ". Baixe o Client em nossa &aacute;rea de Downloads e Divirta-se.<br />A Equipe " . Server_Name . " agradece.";
         }
         # Define Send Mail
         if (constant("Register[Confirm_Mail]") === TRUE) {
             $Link .= "http://";
             $Link .= $_SERVER["HTTP_HOST"];
             $Link .= $_SERVER["PHP_SELF"];
             $Link .= "?do=register&run=true";
             $Code_Link = "&code=" . $HashCode;
             $Message .= "Ol&aacute; <strong>" . $Name . "</strong>!<br /><br />";
             $Message .= "Obrigado por cadastrar em nosso servidor,,";
             $Message .= "<br />Segue abaixo alguns dados referentes a sua conta:<br /><br />";
             $Message .= "<strong>Login:</strong> " . $Account . "<br />";
             $Message .= "<strong>E-Mail:</strong> " . $Mail . "<br />";
             $Message .= "<strong>Senha:</strong> " . $Password . "<br />";
             $Message .= "<strong>Pergunta Secreta:</strong> " . $Question . "<br />";
             $Message .= "<strong>Resposta Secreta:</strong> " . $Answer . "<br /><br />";
             $Message .= "Para completar este processo, clique no link abaixo para confirmar o seu cadastro:<br />";
             $Message .= "<strong>Link:</strong> <a target=\"_blank\" href=\"" . $Link . $Code_Link . "\">" . $Link . $Code_Link;
             $Message .= "</a><br /><br />";
             $Message .= "<h3><strong>N&atilde;o funciona?</strong></h3>";
             $Message .= "Ent&atilde;o clique no link abaixo de digite o seguinte codigo:<br />";
             $Message .= "Codigo: <strong>" . $HashCode . "</strong><br />";
             $Message .= "<strong>Link:</strong> <a target=\"_black\" href=\"" . $Link . "\">" . $Link . "</a><br />";
             $Message .= "{$Echo_Bonus}";
             $Message .= "<br /><br />Caso tenha mais problemas, por favor contate o Suporte.<br /><br />";
             $CTM_Mailer = new CTM_Mailer();
             $CTM_Mailer->SMTP_Server = $_Mailer["SMTP"]["Server"];
             $CTM_Mailer->SMTP_Port = $_Mailer["SMTP"]["Port"];
             $CTM_Mailer->SMTP_User = $_Mailer["SMTP"]["User"];
             $CTM_Mailer->SMTP_Pass = $_Mailer["SMTP"]["Pass"];
             $CTM_Mailer->Mail_From = $_Mailer["SMTP"]["Mail"];
             $CTM_Mailer->SMTP_Debug = $_Mailer["SMTP"]["Debug"];
             $CTM_Mailer->Mail_To = $Mail;
             $CTM_Mailer->Mail_Sender = "Suporte " . constant("Server_Name");
             $CTM_Mailer->Mail_Recipient = $Find_Account[1];
             $CTM_Mailer->Mail_Subject = utf8_decode("Confirmação de Cadastro - " . constant("Server_Name"));
             $CTM_Mailer->Mail_Message = $Message;
             if ($CTM_Mailer->Send_Mail() == FALSE) {
                 exit("<div class=\"error-box\"> Erro ao enviar o E-Mail!</div>");
             } else {
                 unset($Link);
                 unset($Message);
             }
         }
         # Define New Final Reference
         if (!empty($_COOKIE['NewFinal_Reference'])) {
             $reference = $_COOKIE['NewFinal_Reference'];
             $IP = $_SERVER['REMOTE_ADDR'];
             $query = $this->Query("SELECT Account FROM dbo.CTM_WebReference WHERE Id = '{$reference}'");
             $check = $this->NumRow($query);
             $fetch = $this->Fetch($query);
             if ($check > 0) {
                 $query = $this->Query("SELECT Account FROM dbo.CTM_WebReferenceData WHERE Reference = '{$reference}' AND (Account = '{$Account}' OR IPAddress = '{$IP}')");
                 $check = $this->NumRow($query);
                 if ($check < 1) {
                     $this->Query("UPDATE dbo.CTM_WebReference SET RegisterCount = RegisterCount + 1, Points = Points + " . NEWFINAL_REF_REGPOINTS . " WHERE Id = {$reference}");
                     $this->Query("INSERT INTO dbo.CTM_WebReferenceData (Reference,RefLogin,Account,IPAddress) VALUES ({$reference},'{$fetch[0]}','{$Account}','{$IP}')");
                 }
             }
         }
         $_SESSION['CTM_Captcha'] = md5(sha1(mt_rand(0, 9999)));
         exit("<div class=\"success-box\">" . $Exit . "</div>");
     }
 }
Exemplo n.º 5
0
 private function Ban_Char()
 {
     global $CTM, $_PanelAdmin, $_Mailer;
     if ($_GET["cmd"] == TRUE) {
         $Character = $_POST["Character"];
         $Time = $_POST["Time"];
         $Reason = base64_encode($_POST["Reason"]);
         $Check[0] = $this->NumQuery("SELECT * FROM " . MuGen_DB . ".dbo.Character WHERE Name='{$Character}'");
         $Check[1] = $this->FetchQuery("SELECT CtlCode,AccountID FROM " . MuGen_DB . ".dbo.Character WHERE Name='{$Character}'");
         $Find_Account = $this->FetchQuery("SELECT memb_name,mail_addr FROM " . MuAcc_DB . ".dbo.MEMB_INFO WHERE memb___id='" . $Check[1][1] . "'");
         if (empty($Character) || empty($Time) || empty($Reason)) {
             exit("<div class=\"warning-box\"> Preencha todos os Campos.</div>");
         } elseif ($Check[0] < 1) {
             exit("<div class=\"error-box\"> Este Char n&atilde;o existe.</div>");
         } elseif ($Check[1][0] == 1) {
             exit("<div class=\"error-box\"> Este char se encontra banido.</div>");
         } else {
             $Str_Time = strtotime("+ {$Time} days");
             $Date = date("d/m/Y", $Str_Time);
             $Hour = date("H:i", $Str_Time);
             /****************************** Send Mail *******************************/
             if ($_PanelAdmin["Characters"]["Ban"]["Send_Mail"] === TRUE) {
                 $Message .= "Ol&aacute; <strong>" . $Find_Account[0] . "</strong>!<br /><br />";
                 $Message .= "Voc&ecirc; cometeu um ato foras das regras do servidor,";
                 $Message .= "<br />Devido a este motivo seu personagem esta banido, informa&ccedil;&otilde;es:<br /><br />";
                 $Message .= "<strong>Login:</strong> " . $Check[1][1] . "<br />";
                 $Message .= "<strong>Personagem:</strong> " . $Character . "<br />";
                 $Message .= "<strong>Motivo:</strong> " . utf8_decode(base64_decode($Reason)) . "<br />";
                 $Message .= "<strong>Tempo:</strong> " . $Time . " Dias<br />";
                 $Message .= "<strong>Expira&ccedil;&atilde;o:</strong> " . $Date . " as " . $Hour . "<br />";
                 $Message .= "<br />";
                 $Message .= "N&atilde;o cometa o mesmo erro novamente.<br />";
                 $Message .= "Caso tenha sido banido injustamente entre em contato.<br /><br />";
                 $CTM_Mailer = new CTM_Mailer();
                 $CTM_Mailer->SMTP_Server = $_Mailer["SMTP"]["Server"];
                 $CTM_Mailer->SMTP_Port = $_Mailer["SMTP"]["Port"];
                 $CTM_Mailer->SMTP_User = $_Mailer["SMTP"]["User"];
                 $CTM_Mailer->SMTP_Pass = $_Mailer["SMTP"]["Pass"];
                 $CTM_Mailer->Mail_From = $_Mailer["SMTP"]["Mail"];
                 $CTM_Mailer->SMTP_Debug = $_Mailer["SMTP"]["Debug"];
                 $CTM_Mailer->Mail_To = $Find_Account[1];
                 $CTM_Mailer->Mail_Sender = "Suporte " . constant("Server_Name");
                 $CTM_Mailer->Mail_Recipient = $Find_Account[0];
                 $CTM_Mailer->Mail_Subject = utf8_decode("Seu personagem foi banido - " . constant("Server_Name"));
                 $CTM_Mailer->Mail_Message = $Message;
                 if ($CTM_Mailer->Send_Mail() == FALSE) {
                     exit("<div class=\"error-box\"> Erro ao enviar o E-Mail!</div>");
                 } else {
                     $Character_S = $this->FetchQuery("SELECT name FROM dbo.{$CTM[0]} WHERE account='" . $this->Login . "'");
                     $this->Query("INSERT INTO dbo.{$CTM[8]} (Character,Responsible,[Time],Reason) VALUES ('{$Character}','{$Character_S[0]}'," . strtotime("+ {$Time} days") . ",'{$Reason}')");
                     $this->Query("UPDATE " . MuGen_DB . ".dbo.Character SET CtlCode=1 WHERE Name='{$Character}'");
                     unset($Message);
                     exit("<div class=\"success-box\"> Char <b>{$Character}</b> banido por <b>{$Time} dias</b> com Sucesso!</div>");
                 }
             } else {
                 $Character_S = $this->FetchQuery("SELECT name FROM dbo.{$CTM[0]} WHERE account='" . $this->Login . "'");
                 $this->Query("INSERT INTO dbo.{$CTM[8]} (Character,Responsible,[Time],Reason) VALUES ('{$Character}','{$Character_S[0]}'," . strtotime("+ {$Time} days") . ",'{$Reason}')");
                 $this->Query("UPDATE " . MuGen_DB . ".dbo.Character SET CtlCode=1 WHERE Name='{$Character}'");
                 exit("<div class=\"success-box\"> Char <b>{$Character}</b> banido por <b>{$Time} dias</b> com Sucesso!</div>");
             }
         }
     }
 }