Пример #1
0
        if (Main::db_rows($query) == 1) {
            $recover_account = Main::db_result($query, 0);
            if (Account::recover_check($recover_account)) {
                $query = Main::db_query(sprintf($GLOBALS['DBQUERY_CHECK_ACCOUNT'], 'mail_check', 'user', Main::db_escape_string($recover_account, $GLOBALS['DB_LOGIN_SERVER'])), $GLOBALS['DB_LOGIN_SERVER']);
                $query2 = Main::db_query(sprintf($GLOBALS['DBQUERY_CHECK_EMAIL'], 'mail_check', 'email', Main::db_escape_string($recover_mail, $GLOBALS['DB_LOGIN_SERVER'])), $GLOBALS['DB_LOGIN_SERVER']);
                if (Main::db_rows($query) == 0 && Main::db_rows($query2) == 0) {
                    $mail = new Mail();
                    $recover_flood = new AFlood('recover');
                    if (!$recover_flood->check()) {
                        $GLOBALS['the_status'] = $GLOBALS['LANG_ERROR_RECOVER_TIME'];
                    } else {
                        $recover_id = substr(sha1(base64_encode(rand(10, 999))), 1, 15);
                        $recover_page = $GLOBALS['CONFIG_WEBSITE_URL'] . '/index.php?page=recover&uname=' . $recover_account;
                        $recover_link = $recover_page . '&rid=' . $recover_id;
                        $generated_pass = substr(sha1(base64_encode(rand(10, 999))), 1, 8);
                        Main::db_query(sprintf($GLOBALS['DBQUERY_MCHECK_CREATE'], Main::db_escape_string($recover_account, $GLOBALS['DB_LOGIN_SERVER']), Main::db_escape_string($recover_mail, $GLOBALS['DB_LOGIN_SERVER']), $generated_pass, Main::db_escape_string(USER_IP, $GLOBALS['DB_LOGIN_SERVER']), $recover_id, time(), null), $GLOBALS['DB_LOGIN_SERVER']);
                        $mail->Send($recover_mail, $GLOBALS['CONFIG_ADMIN_MAIL'], sprintf($GLOBALS['LANG_RECOVER_MAIL_SUBJECT'], $GLOBALS['CONFIG_WEBSITE_NAME']), sprintf($GLOBALS['LANG_RECOVER_MAIL'], $recover_account, $recover_link, $recover_id, $recover_page, $GLOBALS['CONFIG_WEBSITE_NAME']));
                        $GLOBALS['the_status'] = sprintf($GLOBALS['LANG_RECOVER_ACTIVATE'], $recover_mail);
                    }
                } else {
                    $GLOBALS['the_status'] = $GLOBALS['LANG_ERROR_MAIL'];
                }
            }
        } else {
            $GLOBALS['the_status'] = $GLOBALS['LANG_ERROR_MAIL'];
        }
    }
} else {
    $template_vars['val_user'] = isset($_POST['login_username']) ? $_POST['login_username'] : '';
    $template_vars['val_pass'] = isset($_POST['login_password']) ? $_POST['login_password'] : '';
    $template_vars['val_remember'] = isset($_POST['login_remember']) ? 'checked="checked" ' : '';
Пример #2
0
 $image_cache = sep_path(CMS_DIR . '/cache/account_' . $acc_name . '.png');
 if (file_exists($image_cache) && time() - filemtime($image_cache) < $GLOBALS['CONFIG_STATS_ACCOUNT_SIGNATURE_CACHE']) {
     header('Content-type: image/png');
     imagecreatefrompng($image_cache);
     imagepng(imagecreatefrompng($image_cache));
 } else {
     if ($GLOBALS['CONFIG_SERVER_TYPE'] == 1) {
         $query = Main::db_query(sprintf($GLOBALS['DBQUERY_1_1'], $GLOBALS['DBSTRUCT_L2OFF_USERACC_SIGNATURE'], $GLOBALS['DBSTRUCT_L2OFF_USERACC_TABLE'], $GLOBALS['DBSTRUCT_L2OFF_USERACC_ACCOUNT'], Main::db_escape_string($acc_name, $GLOBALS['DB_LOGIN_SERVER'])), $GLOBALS['DB_LOGIN_SERVER']);
     } else {
         $query = Main::db_query(sprintf($GLOBALS['DBQUERY_1_1'], $GLOBALS['DBSTRUCT_L2J_ACCOUNTS_SIGNATURE'], $GLOBALS['DBSTRUCT_L2J_ACCOUNTS_TABLE'], $GLOBALS['DBSTRUCT_L2J_ACCOUNTS_NAME'], Main::db_escape_string($acc_name, $GLOBALS['DB_LOGIN_SERVER'])), $GLOBALS['DB_LOGIN_SERVER']);
     }
     if (Main::db_result($query, 0) == 1 || $this->logged && strcasecmp($acc_name, $acc->account_username) == 0) {
         if ($GLOBALS['CONFIG_SERVER_TYPE'] == 1) {
             $query = Main::db_query(sprintf($GLOBALS['DBQUERY_SIGNATURE_ACC'], $GLOBALS['DBSTRUCT_L2OFF_USERDAT_ONLINE_TIME'], $GLOBALS['DBSTRUCT_L2OFF_USERDAT_PVP'], $GLOBALS['DBSTRUCT_L2OFF_USERDAT_PK'], $GLOBALS['DBSTRUCT_L2OFF_USERDAT_TABLE'], $GLOBALS['DBSTRUCT_L2OFF_USERDAT_ACC'], Main::db_escape_string($acc_name, $GLOBALS['DB_LOGIN_SERVER'])), $GLOBALS['DB_GAME_SERVER']);
         } else {
             $query = Main::db_query(sprintf($GLOBALS['DBQUERY_SIGNATURE_ACC'], $GLOBALS['DBSTRUCT_L2J_CHARS_ONLINE_TIME'], $GLOBALS['DBSTRUCT_L2J_CHARS_PVP'], $GLOBALS['DBSTRUCT_L2J_CHARS_PK'], $GLOBALS['DBSTRUCT_L2J_CHARS_TABLE'], $GLOBALS['DBSTRUCT_L2J_CHARS_ACC'], Main::db_escape_string($acc_name, $GLOBALS['DB_LOGIN_SERVER'])), $GLOBALS['DB_LOGIN_SERVER']);
         }
         $acc_data = Main::db_fetch_row($query);
         header('Content-type: image/png');
         $image_path = sep_path(CMS_DIR . '/templates/' . Template::used_template() . '/' . $GLOBALS['CONFIG_TEMPLATE_IMAGES'] . '/account_signature.png');
         $the_image = imagecreatefrompng($image_path);
         $color_1 = imagecolorallocate($the_image, 234, 234, 174);
         $color_2 = imagecolorallocate($the_image, 255, 255, 255);
         $color_3 = imagecolorallocate($the_image, 151, 162, 120);
         $shadow_color = imagecolorallocate($the_image, 0, 0, 0);
         $shading_color = imagecolorallocatealpha($the_image, 0, 0, 0, 100);
         draw_text($the_image, 17, 15, 23, $color_1, 110, $GLOBALS['CONFIG_WEBSITE_NAME']);
         draw_text($the_image, 14, 20, 50, $color_2, 120, $GLOBALS['LANG_USER']);
         draw_text($the_image, 10, 65, 65, $color_2, 120, '- ' . $acc_name);
         draw_text($the_image, 14, 20, 85, $color_2, 120, $GLOBALS['LANG_ON_TIME']);
         draw_text($the_image, 10, 20, 100, $color_2, 120, '- ' . gmstrftime(bcdiv($acc_data[0], 86400) . ' ' . $GLOBALS['LANG_DAYS'] . ' %H ' . $GLOBALS['LANG_HOURS'] . ' %M ' . $GLOBALS['LANG_MINS'], $acc_data[0]));
Пример #3
0
    if (isset($_GET['uname']) && isset($_GET['rid'])) {
        $rec_user = htmlspecialchars(trim($_GET['uname']));
        $rec_rid = htmlspecialchars(trim($_GET['rid']));
        if ($acc->validate_user($rec_user) && $acc->validate_code($rec_rid)) {
            if (Account::recover_check($rec_user)) {
                $query = Main::db_query(sprintf($GLOBALS['DBQUERY_MCHECK_CHECK'], Main::db_escape_string($rec_user, $GLOBALS['DB_LOGIN_SERVER']), Main::db_escape_string($rec_rid, $GLOBALS['DB_LOGIN_SERVER']), Main::db_escape_string(USER_IP, $GLOBALS['DB_LOGIN_SERVER'])), $GLOBALS['DB_LOGIN_SERVER']);
                if (Main::db_rows($query) == 1) {
                    $query = Main::db_query(sprintf($GLOBALS['DBQUERY_MCHECK_DATA'], Main::db_escape_string($rec_user, $GLOBALS['DB_LOGIN_SERVER']), Main::db_escape_string($rec_rid, $GLOBALS['DB_LOGIN_SERVER']), Main::db_escape_string(USER_IP, $GLOBALS['DB_LOGIN_SERVER'])), $GLOBALS['DB_LOGIN_SERVER']);
                    $data = Main::db_fetch_row($query);
                    $new_pass = @Main::encrypt($data[2]);
                    if ($GLOBALS['CONFIG_SERVER_TYPE'] == 1) {
                        Main::db_query(sprintf($GLOBALS['DBQUERY_CHANGE_PASSWORD'], $GLOBALS['DBSTRUCT_L2OFF_USERAUT_TABLE'], $GLOBALS['DBSTRUCT_L2OFF_USERAUT_PASS'], 'CONVERT(binary, ' . $new_pass . ')', $GLOBALS['DBSTRUCT_L2OFF_USERAUT_ACCOUNT'], Main::db_escape_string($rec_user, $GLOBALS['DB_LOGIN_SERVER'])), $GLOBALS['DB_LOGIN_SERVER']);
                    } else {
                        Main::db_query(sprintf($GLOBALS['DBQUERY_CHANGE_PASSWORD'], $GLOBALS['DBSTRUCT_L2J_ACCOUNTS_TABLE'], $GLOBALS['DBSTRUCT_L2J_ACCOUNTS_PASS'], '\'' . $new_pass . '\'', $GLOBALS['DBSTRUCT_L2J_ACCOUNTS_NAME'], Main::db_escape_string($rec_user, $GLOBALS['DB_LOGIN_SERVER'])), $GLOBALS['DB_LOGIN_SERVER']);
                    }
                    Main::db_query(sprintf($GLOBALS['DBQUERY_MCHECK_DELETE'], Main::db_escape_string($rec_user, $GLOBALS['DB_LOGIN_SERVER'])), $GLOBALS['DB_LOGIN_SERVER']);
                    $mail = new Mail();
                    $mail->Send($data[1], $GLOBALS['CONFIG_ADMIN_MAIL'], sprintf($GLOBALS['LANG_RECOVER_PASS_MAIL_SUBJECT'], $GLOBALS['CONFIG_WEBSITE_NAME']), sprintf($GLOBALS['LANG_RECOVER_PASS_MAIL'], $data[0], $data[2], $GLOBALS['CONFIG_WEBSITE_NAME']));
                    $GLOBALS['the_status'] = $GLOBALS['LANG_RECOVER_SUCCEDED'];
                } else {
                    $GLOBALS['the_status'] = $GLOBALS['LANG_ERROR_ACT_SESSION'];
                }
            } else {
                $GLOBALS['the_status'] = $GLOBALS['LANG_ERROR_ACT_EXPIRED'];
            }
        }
    }
    $template_vars['status'] = $GLOBALS['the_status'];
} else {
    $template_vars['the_error'] = $GLOBALS['LANG_PAGE_RESTRICTED'];
    $template_location[] = 'errors.html';
Пример #4
0
 $skills_list = array();
 $cache_file = sep_path(CMS_DIR . '/cache/skills_' . $player_name . '.txt');
 if ($GLOBALS['CONFIG_STATS_SKILLS_CACHE'] && file_exists($cache_file) && time() - filemtime($cache_file) < $GLOBALS['CONFIG_STATS_SKILLS_CACHE']) {
     $skills_list = unserialize(file_get_contents($cache_file));
 } else {
     if ($GLOBALS['CONFIG_SERVER_TYPE'] == 1) {
         $cinfo = Main::db_query(sprintf($GLOBALS['DBQUERY_2_1'], $GLOBALS['DBSTRUCT_L2OFF_USERDAT_ID'], $GLOBALS['DBSTRUCT_L2OFF_USERDAT_SUBJOB'], $GLOBALS['DBSTRUCT_L2OFF_USERDAT_TABLE'], $GLOBALS['DBSTRUCT_L2OFF_USERDAT_NAME'], Main::db_escape_string($player_name, $GLOBALS['DB_GAGME_SERVER'])), $GLOBALS['DB_GAME_SERVER']);
     } else {
         $cinfo = Main::db_query(sprintf($GLOBALS['DBQUERY_2_1'], $GLOBALS['DBSTRUCT_L2J_CHARS_ID'], $GLOBALS['DBSTRUCT_L2J_CHARS_CLASS'], $GLOBALS['DBSTRUCT_L2J_CHARS_TABLE'], $GLOBALS['DBSTRUCT_L2J_CHARS_NAME'], Main::db_escape_string($player_name, $GLOBALS['DB_GAME_SERVER'])), $GLOBALS['DB_GAME_SERVER']);
     }
     $char_id = Main::db_result($cinfo, 0);
     $subjob = Main::db_result($cinfo, 1);
     if ($GLOBALS['CONFIG_SERVER_TYPE'] == 1) {
         $skills = Main::db_query(sprintf($GLOBALS['DBQUERY_SKILLS_DATA'], $GLOBALS['DBSTRUCT_L2OFF_SKILLS_ID'], $GLOBALS['DBSTRUCT_L2OFF_SKILLS_LEVEL'], $GLOBALS['DBSTRUCT_L2OFF_SKILLS_TABLE'], $GLOBALS['DBSTRUCT_L2OFF_SKILLS_CID'], Main::db_escape_string($char_id, $GLOBALS['DB_GAME_SERVER']), $GLOBALS['DBSTRUCT_L2OFF_SKILLS_SUBJOB'], Main::db_escape_string($subjob, $GLOBALS['DB_GAME_SERVER'])), $GLOBALS['DB_GAME_SERVER']);
     } else {
         $skills = Main::db_query(sprintf($GLOBALS['DBQUERY_SKILLS_DATA'], $GLOBALS['DBSTRUCT_L2J_SKILLS_ID'], $GLOBALS['DBSTRUCT_L2J_SKILLS_LEVEL'], $GLOBALS['DBSTRUCT_L2J_SKILLS_TABLE'], $GLOBALS['DBSTRUCT_L2J_SKILLS_CID'], Main::db_escape_string($char_id, $GLOBALS['DB_GAME_SERVER']), $GLOBALS['DBSTRUCT_L2J_SKILLS_CLASS'], Main::db_escape_string($subjob, $GLOBALS['DB_GAME_SERVER'])), $GLOBALS['DB_GAME_SERVER']);
     }
     $stat_page_vars['active_skills'] = '';
     $stat_page_vars['passive_skills'] = '';
     while ($row = Main::db_fetch_row($skills)) {
         if (!in_array($row[0], $passive_skills)) {
             if ($GLOBALS['CONFIG_STATS_SKILLS_ACTIVE']) {
                 $skills_list[0][$row[0]] = $row[1];
             }
         } elseif ($GLOBALS['CONFIG_STATS_SKILLS_PASSIVE']) {
             $skills_list[1][$row[0] == '239' ? 238 + $row[1] : $row[0]] = $row[1];
         }
     }
     if ($GLOBALS['CONFIG_STATS_SKILLS_CACHE']) {
         file_put_contents($cache_file, serialize($skills_list));
     }