diff --git a/application/config/config.php.sample b/application/config/config.php.sample index 32762d7..5773598 100644 --- a/application/config/config.php.sample +++ b/application/config/config.php.sample @@ -12,7 +12,7 @@ baseurl page_title That's your website title. Example: "My WOW Private server!" language - Website language (english) + Website language (english/persian) =====================================================================*/ $config['baseurl'] = "http://localhost"; $config['page_title'] = "Simple Register"; diff --git a/application/include/functions.php b/application/include/functions.php index fb355eb..4da2274 100644 --- a/application/include/functions.php +++ b/application/include/functions.php @@ -234,7 +234,7 @@ function captcha_validation() { if (empty(get_config('captcha_type')) && !empty($_POST['captcha']) && !empty($_SESSION['captcha'])) { if (strtolower($_SESSION['captcha']) != strtolower($_POST['captcha'])) { - error_msg('Captcha is not valid.'); + error_msg(lang('captcha_not_valid')); return false; } unset($_SESSION['captcha']); @@ -242,16 +242,16 @@ function captcha_validation() return true; } elseif (!empty(get_config('captcha_type')) && get_config('captcha_type') == 1 && !empty($_POST['h-captcha-response'])) { if (!validate_hcaptcha($_POST['h-captcha-response'])) { - error_msg('HCaptcha is not valid.'); + error_msg(lang('hcaptcha_not_valid')); return false; } } elseif (!empty(get_config('captcha_type')) && get_config('captcha_type') == 2 && !empty($_POST['g-recaptcha-response'])) { if (!validate_recaptcha($_POST['g-recaptcha-response'])) { - error_msg('ReCaptcha is not valid.'); + error_msg(lang('recaptcha_not_valid')); return false; } } else { - error_msg('Captcha is required.'); + error_msg(lang('captcha_required')); return false; } diff --git a/application/language/english.php b/application/language/english.php index 4391eee..3089d6f 100644 --- a/application/language/english.php +++ b/application/language/english.php @@ -61,7 +61,7 @@ $language['two_factor_authentication_tip1'] = 'Install Google Authenticator.'; $language['two_factor_authentication_enable'] = 'Enable 2FA'; $language['close'] = 'Close'; $language['vote'] = 'Vote'; -$language['old_password'] = 'old_password'; +$language['old_password'] = 'Old Password'; $language['online_players'] = 'Online Players'; $language['online_players_msg1'] = 'Limited to show 49 player - Online players:'; $language['online_players_msg2'] = 'No players are currently online'; @@ -84,8 +84,10 @@ $language['frequently_questions'] = 'Frequently Asked Questions'; $language['question'] = 'Question'; $language['answer'] = 'Answer'; $language['location'] = 'Location'; -$language['call'] = 'call'; +$language['call'] = 'Call'; $language['restore_account_password'] = 'Restore Account Password'; +$language['about_server'] = 'About the server'; +$language['game_version'] = 'Game version'; $language['use_valid_email'] = 'Use valid characters for email.'; $language['use_valid_username'] = 'Use valid characters for username.'; @@ -105,6 +107,7 @@ $language['check_your_email'] = 'Check your email, (Check SPAM/Junk too).'; $language['account_is_not_valid'] = 'Account is not valid.'; $language['vote_site_not_valid'] = 'Vote site is not valid!'; $language['you_already_voted'] = 'You already voted on this website.'; - - - +$language['captcha_not_valid'] = 'Captcha is not valid.'; +$language['hcaptcha_not_valid'] = 'HCaptcha is not valid.'; +$language['recaptcha_not_valid'] = 'ReCaptcha is not valid.'; +$language['captcha_required'] = 'Captcha is required.'; diff --git a/application/language/persian.php b/application/language/persian.php new file mode 100644 index 0000000..7da182c --- /dev/null +++ b/application/language/persian.php @@ -0,0 +1,113 @@ +
-

Contact

-

Edit on "/template/advance/tpl/contact.php".

+

+

"/template/advance/tpl/contact.php".

-

Location:

+

:

Tehran, Iran

-

Call:

+

:

+98 915 620 9344

diff --git a/template/advance/tpl/faq.php b/template/advance/tpl/faq.php index 54ffff4..58f87a5 100644 --- a/template/advance/tpl/faq.php +++ b/template/advance/tpl/faq.php @@ -6,42 +6,42 @@ * Date: 04/02/2020 - 6:55 PM */ ?> -
-
-
-

Frequently Asked Questions

-
- +
+
+
+

-
\ No newline at end of file +
    +
  • + +
    +

    + 1 +

    "/template/advance/tpl/faq.php".

    +

    +
    +
  • +
  • + +
    +

    + 2 +

    +
    +
  • +
  • + +
    +

    + 3 +

    +
    +
  • +
+
+
\ No newline at end of file diff --git a/template/advance/tpl/header.php b/template/advance/tpl/header.php index 9020072..bb12d34 100644 --- a/template/advance/tpl/header.php +++ b/template/advance/tpl/header.php @@ -32,6 +32,9 @@ /template/xss_clean(get_config("template")); ?>/assets/css/style.css" rel="stylesheet"> + + ' . lang('custom_css') . '' : ''); ?> + ' . lang('tpl_advance_custom_css') . '' : ''); ?>
diff --git a/template/advance/tpl/how-connect.php b/template/advance/tpl/how-connect.php index 95e49f3..45c2ad8 100644 --- a/template/advance/tpl/how-connect.php +++ b/template/advance/tpl/how-connect.php @@ -6,47 +6,43 @@ * Date: 04/02/2020 - 6:55 PM */ ?> -
-
-
-

How to connect

-

Server Address/Realmlist:

-
-
-
-
- -

Create Account

-

First of all, you must create an account. The account is used to log into both the game and - our website. Click here to open the registration page.

-
-
- -

Download the game

-

Install World of Warcraft. You can download it (legally) from here: Windows or Mac. Make sure - to upgrade to our current supported patch, which - is . Patch mirrors can be found here.

-
-
- -

Setup the game

-

Open up the "World of Warcraft" directory. The default directory is "C:\Program Files\World - of Warcraft". When you've found it, open up the directory called "data", then go into the - directory called either enUS or enGB, depending on your client language.

-
-
- -

Change server address

-

Erase all text and change it to: -

-

- Edit on "/template/advance/tpl/how-connect.php". -

-
-
-
-
+
+
+
+

+

/: +

-
\ No newline at end of file +
+
+
+ +

+

.

+
+
+ +

+

+
+
+ +

+

+
+
+ +

+

+

+

+ "/template/advance/tpl/how-connect.php". +

+
+
+
+
+
+
\ No newline at end of file diff --git a/template/advance/tpl/main.php b/template/advance/tpl/main.php index bb89566..50c6fa4 100644 --- a/template/advance/tpl/main.php +++ b/template/advance/tpl/main.php @@ -11,423 +11,432 @@ require_once 'server-info.php'; require_once 'how-connect.php'; require_once 'rules.php'; ?> -
-
-
-

REGISTER

-

Create a new game account.

-
-
-
-
/index.php#register" - method="post"> -
- -
- Email - -
- -
- Username - -
- -
- Password - -
-
- Re-Password - -
- - -
+
+
+
+

+

+
+
+
+ /index.php#register" + method="post"> +
+ +
+ +
- -
- - + +
+ + +
-
+ +
+ + + + +
+ +
+
- -
- -
- - -
- -
- - - - +
+
+
+
+
+

+

:

+
+
+
+ $onerealm) { + echo "

{$onerealm['realmname']} (" . lang('online_players_msg1') . " " . user::get_online_players_count($onerealm['realmid']) . ")


"; + $online_chars = user::get_online_players($onerealm['realmid']); + if (!is_array($online_chars)) { + echo "" . lang('online_players_msg2') . ""; + } else { + echo ''; + foreach ($online_chars as $one_char) { + echo ''; + } + echo '
' . lang('name') . '' . lang('race') . ' ' . lang('class') . '' . lang('level') . '
' . $antiXss->xss_clean($one_char['name']) . 'xss_clean(get_config("template")) . '/images/race/' . $antiXss->xss_clean($one_char["race"]) . '-' . $antiXss->xss_clean($one_char["gender"]) . '.gif\'>xss_clean(get_config("template")) . '/images/class/' . $antiXss->xss_clean($one_char["class"]) . '.gif\'>' . $antiXss->xss_clean($one_char['level']) . '
'; + } + echo "
"; + } + } ?>
-
-
-
-
-

Server Status

-

Online Players:

-
-
-
- $onerealm) { - echo "

{$onerealm['realmname']} (Limited to show 49 player - Online players : " . user::get_online_players_count($onerealm['realmid']) . ")


"; - $online_chars = user::get_online_players($onerealm['realmid']); - if (!is_array($online_chars)) { - echo "No players are currently online."; - } else { - echo ''; - foreach ($online_chars as $one_char) { - echo ''; +
+

+
+
+
+ $onerealm) { + echo "
{$onerealm['realmname']}

"; + $data2show = status::get_top_playtime($onerealm['realmid']); + echo "
+

" . lang('top_players') . " - " . lang('play_time') . "

"; + + if (!is_array($data2show)) { + echo "" . lang('online_players_msg2') . ""; + } else { + echo '
NameRace ClassLevel
' . $antiXss->xss_clean($one_char['name']) . 'xss_clean(get_config("template")) . '/images/race/' . $antiXss->xss_clean($one_char["race"]) . '-' . $antiXss->xss_clean($one_char["gender"]) . '.gif\'>xss_clean(get_config("template")) . '/images/class/' . $antiXss->xss_clean($one_char["class"]) . '.gif\'>' . $antiXss->xss_clean($one_char['level']) . '
'; + $m = 1; + foreach ($data2show as $one_char) { + if (empty($one_char['name'])) { + continue; } - echo '
' . lang('rank') . '' . lang('name') . '' . lang('race') . ' ' . lang('class') . '' . lang('level') . '' . lang('play_time') . '
'; + echo '' . $m++ . '' . $antiXss->xss_clean($one_char['name']) . 'xss_clean(get_config("template")) . '/images/race/' . $antiXss->xss_clean($one_char["race"]) . '-' . $antiXss->xss_clean($one_char["gender"]) . '.gif\'>xss_clean(get_config("template")) . '/images/class/' . $antiXss->xss_clean($one_char["class"]) . '.gif\'>' . $antiXss->xss_clean($one_char['level']) . '' . $antiXss->xss_clean(get_human_time_from_sec($one_char['totaltime'])) . ''; } - echo "
"; + echo ''; } - } ?> -
-
-
-

Top Players

-
-
-
- $onerealm) { - echo "
{$onerealm['realmname']}

"; - $data2show = status::get_top_playtime($onerealm['realmid']); - echo "
-

TOP PLAYERS - Play Time

"; + echo "
"; + $i++; - if (!is_array($data2show)) { - echo "Don't have anything for display."; - } else { - echo ''; - $m = 1; - foreach ($data2show as $one_char) { - if(empty($one_char['name'])) { - continue; - } - echo ''; + $data2show = status::get_top_killers($onerealm['realmid']); + echo "
+

" . lang('top_players') . " - " . lang('killers') . "

"; + if (!is_array($data2show)) { + echo "" . lang('online_players_msg2') . ""; + } else { + echo '
RankNameRace ClassLevelPlay Time
' . $m++ . '' . $antiXss->xss_clean($one_char['name']) . 'xss_clean(get_config("template")) . '/images/race/' . $antiXss->xss_clean($one_char["race"]) . '-' . $antiXss->xss_clean($one_char["gender"]) . '.gif\'>xss_clean(get_config("template")) . '/images/class/' . $antiXss->xss_clean($one_char["class"]) . '.gif\'>' . $antiXss->xss_clean($one_char['level']) . '' . $antiXss->xss_clean(get_human_time_from_sec($one_char['totaltime'])) . '
'; + $m = 1; + foreach ($data2show as $one_char) { + if (empty($one_char['name'])) { + continue; } - echo '
' . lang('rank') . '' . lang('name') . '' . lang('race') . ' ' . lang('class') . '' . lang('level') . '' . lang('kills') . '
'; + echo '' . $m++ . '' . $antiXss->xss_clean($one_char['name']) . 'xss_clean(get_config("template")) . '/images/race/' . $antiXss->xss_clean($one_char["race"]) . '-' . $antiXss->xss_clean($one_char["gender"]) . '.gif\'>xss_clean(get_config("template")) . '/images/class/' . $antiXss->xss_clean($one_char["class"]) . '.gif\'>' . $antiXss->xss_clean($one_char['level']) . '' . $antiXss->xss_clean($one_char['totalKills']) . ''; } - echo "
"; - $i++; + echo ''; + } + echo "
"; + $i++; - $data2show = status::get_top_killers($onerealm['realmid']); - echo "
-

TOP PLAYERS - Kills

"; - if (!is_array($data2show)) { - echo "Don't have anything for display."; - } else { - echo ''; - $m = 1; - foreach ($data2show as $one_char) { - if(empty($one_char['name'])) { - continue; - } - echo ''; + $data2show = status::get_top_honorpoints($onerealm['realmid']); + echo "
+

" . lang('top_players') . " - " . lang('honor_points') . "

"; + if (!is_array($data2show)) { + echo "" . lang('online_players_msg2') . ""; + } else { + echo '
RankNameRace ClassLevelKills
' . $m++ . '' . $antiXss->xss_clean($one_char['name']) . 'xss_clean(get_config("template")) . '/images/race/' . $antiXss->xss_clean($one_char["race"]) . '-' . $antiXss->xss_clean($one_char["gender"]) . '.gif\'>xss_clean(get_config("template")) . '/images/class/' . $antiXss->xss_clean($one_char["class"]) . '.gif\'>' . $antiXss->xss_clean($one_char['level']) . '' . $antiXss->xss_clean($one_char['totalKills']) . '
'; + + if (get_config('expansion') >= 6) { + echo ''; + } + + echo ''; + $m = 1; + foreach ($data2show as $one_char) { + if (empty($one_char['name'])) { + continue; } - echo '
' . lang('rank') . '' . lang('name') . '' . lang('race') . ' ' . lang('class') . '' . lang('rank') . '' . lang('honor_level') . '' . lang('honor_points') . '
'; - } - echo "
"; - $i++; - - $data2show = status::get_top_honorpoints($onerealm['realmid']); - echo "
-

TOP PLAYERS - Honor Point

"; - if (!is_array($data2show)) { - echo "Don't have anything for display."; - } else { - echo ''; + echo ''; if (get_config('expansion') >= 6) { - echo ''; + echo ''; + echo ''; + } else { + echo ''; } - echo ''; - $m = 1; - foreach ($data2show as $one_char) { - if(empty($one_char['name'])) { - continue; - } - echo ''; - - if (get_config('expansion') >= 6) { - echo ''; - echo ''; - } else { - echo ''; - } - - echo ''; - } - echo '
RankNameRace ClassLevel
' . $m++ . '' . $antiXss->xss_clean($one_char['name']) . 'xss_clean(get_config("template")) . '/images/race/' . $antiXss->xss_clean($one_char["race"]) . '-' . $antiXss->xss_clean($one_char["gender"]) . '.gif\'>xss_clean(get_config("template")) . '/images/class/' . $antiXss->xss_clean($one_char["class"]) . '.gif\'>' . $antiXss->xss_clean($one_char['level']) . 'Honor Level' . $antiXss->xss_clean($one_char['honorLevel']) . '' . $antiXss->xss_clean($one_char['honor']) . '' . $antiXss->xss_clean($one_char['totalHonorPoints']) . 'Honor Points
' . $m++ . '' . $antiXss->xss_clean($one_char['name']) . 'xss_clean(get_config("template")) . '/images/race/' . $antiXss->xss_clean($one_char["race"]) . '-' . $antiXss->xss_clean($one_char["gender"]) . '.gif\'>xss_clean(get_config("template")) . '/images/class/' . $antiXss->xss_clean($one_char["class"]) . '.gif\'>' . $antiXss->xss_clean($one_char['level']) . '' . $antiXss->xss_clean($one_char['honorLevel']) . '' . $antiXss->xss_clean($one_char['honor']) . '' . $antiXss->xss_clean($one_char['totalHonorPoints']) . '
'; + echo ''; } - echo "
"; - $i++; - - $data2show = status::get_top_arenapoints($onerealm['realmid']); - echo "
-

TOP PLAYERS - Arena Point:

"; - if (!is_array($data2show)) { - echo "Don't have anything for display."; - } else { - echo ''; - $m = 1; - foreach ($data2show as $one_char) { - if(empty($one_char['name'])) { - continue; - } - echo ''; - } - echo '
RankNameRace ClassLevelArena Points
' . $m++ . '' . $antiXss->xss_clean($one_char['name']) . 'xss_clean(get_config("template")) . '/images/race/' . $antiXss->xss_clean($one_char["race"]) . '-' . $antiXss->xss_clean($one_char["gender"]) . '.gif\'>xss_clean(get_config("template")) . '/images/class/' . $antiXss->xss_clean($one_char["class"]) . '.gif\'>' . $antiXss->xss_clean($one_char['level']) . '' . $antiXss->xss_clean($one_char['arenaPoints']) . '
'; - } - echo "
"; - $i++; - - $data2show = status::get_top_arenateams($onerealm['realmid']); - echo "
-

TOP PLAYERS - Arena Team

"; - if (!is_array($data2show)) { - echo "Don't have anything for display."; - } else { - echo ''; - $m = 1; - foreach ($data2show as $one_char) { - $character_data = status::get_character_by_guid($onerealm['realmid'], $one_char['captainGuid']); - - if(empty($character_data['name'])) { - continue; - } - - echo ''; - } - echo '
RankNameRatingCaptain Name
' . $m++ . '' . $antiXss->xss_clean($one_char['name']) . '' . $antiXss->xss_clean($one_char['rating']) . '' . (!empty($character_data["name"]) ? $antiXss->xss_clean($character_data['name']) : '-') . '
'; - } - echo "
"; - $i++; - echo "
"; + echo ''; } - } ?> - + echo "
"; + $i++; + + $data2show = status::get_top_arenapoints($onerealm['realmid']); + echo "
+

" . lang('top_players') . " - " . lang('arena_points') . ":

"; + if (!is_array($data2show)) { + echo "" . lang('online_players_msg2') . ""; + } else { + echo ''; + $m = 1; + foreach ($data2show as $one_char) { + if (empty($one_char['name'])) { + continue; + } + echo ''; + } + echo '
' . lang('rank') . '' . lang('name') . '' . lang('race') . ' ' . lang('class') . '' . lang('level') . '' . lang('arena_points') . '
' . $m++ . '' . $antiXss->xss_clean($one_char['name']) . 'xss_clean(get_config("template")) . '/images/race/' . $antiXss->xss_clean($one_char["race"]) . '-' . $antiXss->xss_clean($one_char["gender"]) . '.gif\'>xss_clean(get_config("template")) . '/images/class/' . $antiXss->xss_clean($one_char["class"]) . '.gif\'>' . $antiXss->xss_clean($one_char['level']) . '' . $antiXss->xss_clean($one_char['arenaPoints']) . '
'; + } + echo "
"; + $i++; + + $data2show = status::get_top_arenateams($onerealm['realmid']); + echo "
+

" . lang('top_players') . " - " . lang('arena_teams') . "

"; + if (!is_array($data2show)) { + echo "" . lang('online_players_msg2') . ""; + } else { + echo ''; + $m = 1; + foreach ($data2show as $one_char) { + $character_data = status::get_character_by_guid($onerealm['realmid'], $one_char['captainGuid']); + + if (empty($character_data['name'])) { + continue; + } + + echo ''; + } + echo '
' . lang('rank') . '' . lang('name') . '' . lang('rating') . '' . lang('captain_name') . '
' . $m++ . '' . $antiXss->xss_clean($one_char['name']) . '' . $antiXss->xss_clean($one_char['rating']) . '' . (!empty($character_data["name"]) ? $antiXss->xss_clean($character_data['name']) : '-') . '
'; + } + echo "
"; + $i++; + echo "
"; + } + } ?> -
+ + -
-
-
-
-
-

SERVER RULES, READ BEFORE REGISTER

-

- Read our rules ... -

-
-
-
    -
  • - 01 Rule - 1 -
    -

    - Rule 1 description -

    -

    - Edit on "/template/advance/tpl/rules.php". -

    -
    -
  • -
  • - -
    -

    - Rule 2 description -

    -
    -
  • -
  • - -
    -

    - Rule 3 description -

    -
    -
  • -
-
+
+
+
+
+
+

,

+

+ +

-
+
+
    +
  • + 01 + 1 +
    +

    + 1 +

    +

    + "/template/advance/tpl/rules.php". +

    +
    +
  • +
  • + +
    +

    + 2 +

    +
    +
  • +
  • + +
    +

    + 3 +

    +
    +
  • +
+
+
-
\ No newline at end of file +
+
\ No newline at end of file diff --git a/template/advance/tpl/server-info.php b/template/advance/tpl/server-info.php index 6565a9a..1bcfcf2 100644 --- a/template/advance/tpl/server-info.php +++ b/template/advance/tpl/server-info.php @@ -9,8 +9,8 @@
-

About the server

-

Game version: +

+

:

@@ -22,20 +22,20 @@
-

Server Information:

+

:

    -
  • Server type: Blizzlike
  • -
  • Server Uptime: 99.9%
  • -
  • XP Rate: x4
  • -
  • Drop Rate: x4
  • -
  • Start Level: 1
  • -
  • Start Level: 1
  • -
  • Fixed Spells: 95%
  • -
  • Fixed Dungeons: 99%
  • -
  • Fixed Instances: 99%
  • +
  • : Blizzlike
  • +
  • : 99.9%
  • +
  • : x4
  • +
  • : x4
  • +
  • : 1
  • +
  • : 80
  • +
  • : 95%
  • +
  • : 99%
  • +
  • : 99%

- Edit on "/template/advance/tpl/server-info.php". + "/template/advance/tpl/server-info.php".

diff --git a/template/languages/index.html b/template/languages/index.html new file mode 100644 index 0000000..74df734 --- /dev/null +++ b/template/languages/index.html @@ -0,0 +1 @@ +MasterkinG32.CoM \ No newline at end of file diff --git a/template/languages/persian/fonts/Vazir-Light-FD.eot b/template/languages/persian/fonts/Vazir-Light-FD.eot new file mode 100644 index 0000000..70e2317 Binary files /dev/null and b/template/languages/persian/fonts/Vazir-Light-FD.eot differ diff --git a/template/languages/persian/fonts/Vazir-Light-FD.ttf b/template/languages/persian/fonts/Vazir-Light-FD.ttf new file mode 100644 index 0000000..8f05a10 Binary files /dev/null and b/template/languages/persian/fonts/Vazir-Light-FD.ttf differ diff --git a/template/languages/persian/fonts/Vazir-Light-FD.woff b/template/languages/persian/fonts/Vazir-Light-FD.woff new file mode 100644 index 0000000..479cba8 Binary files /dev/null and b/template/languages/persian/fonts/Vazir-Light-FD.woff differ diff --git a/template/languages/persian/fonts/Vazir-Light-FD.woff2 b/template/languages/persian/fonts/Vazir-Light-FD.woff2 new file mode 100644 index 0000000..5e6ed9c Binary files /dev/null and b/template/languages/persian/fonts/Vazir-Light-FD.woff2 differ diff --git a/template/languages/persian/fonts/index.html b/template/languages/persian/fonts/index.html new file mode 100644 index 0000000..74df734 --- /dev/null +++ b/template/languages/persian/fonts/index.html @@ -0,0 +1 @@ +MasterkinG32.CoM \ No newline at end of file diff --git a/template/languages/persian/index.html b/template/languages/persian/index.html new file mode 100644 index 0000000..74df734 --- /dev/null +++ b/template/languages/persian/index.html @@ -0,0 +1 @@ +MasterkinG32.CoM \ No newline at end of file