Как даси направя индех.пхп

ludasam

Registered
Можели малко инфо как мога да си направя нещо такова ето индех.пхп Ето Демо
Код:
<?php
session_start();

define("IN_SMSADMINS", 1);

$crypted_code=md5("50b9e23596aa9bcefc28695c72b7621d");

$script_expire_on = strtotime("01.03.2030");
$warning_period = strtotime("25.02.2030");

$warn_head = '
<html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=windows-1251">
        <title>SMS Admin</title>
        <style type="text/css"> 
            body {
                background-color: #808080;
                color: white;
            }
            
            a {
                color:black;
                font-weight:bold
            }
        </style>
    </head>
    <body>
        <center> <br><br><br><br><br> <br><br><br><br><br>';

$warning_for_expire = '
            Срокът за използване на SMSAdmins изтича в края на този месец.<br>
            Ако искате да продължите да ползвате системата, моля изтеглете я на ново от <a href="http://amxmodxbg.org/forum/viewtopic.php?t=14906" title="AMX Mod X България: SMSAdmins от hateYou">http://amxmodxbg.org/forum/viewtopic.php?t=14906</a>.<br><br>
            За въпроси и контакти: <i>hateyou @ amxmodxbg.org</i>';

$warn_footer = '
        </center>
    </body>
</html>';


echo"\n\n\n\n\n\n\n\n";

if(time() < $script_expire_on && defined("IN_SMSADMINS") ) { // && md5(strtolower(IN_SMSADMINS)) == $crypted_code
    
define('SMSAdmins', 1);

include("include/config.php");
include("include/style.php");

function clean($str) { return htmlspecialchars(trim(stripslashes($str))); }

if(!clean($_GET['p']) || clean($_GET['p']) == 'logout') ob_start();

define(g_error, "Couldn't connect to database");

function dbc() {
    global $g_dbhost, $g_dbuser, $g_dbpass, $g_dbname;
    
   $result = @mysql_connect($g_dbhost, $g_dbuser, $g_dbpass); 
   if (!$result)
      return false;
   if (!@mysql_select_db($g_dbname))
      return false;
   return $result;

}

function isValid($type,$var) { 
 $valid = false; 
 switch ($type) { 

  case "num": 
   if (ereg("^[0-9]+$",$var)) { 
    $valid = true; 
   } 
   break;
      
  case "captcha": 
   if (ereg("^([a-z0-9]{5})$",$var)) { 
    $valid = true; 
   } 
   break;
 } 
 return $valid; 
}

function is_included_in_smsadmins_system() {
    if(defined('SMSAdmins')) {
        return 1;
    } else {
        return 0;
    }
}

function security_num($numofletters = 4, $encode = "0") {
  $code="";
  for($i=0;$i<$numofletters;$i++) $code.=strtolower(chr(rand(65,90)));
  if($encode == "1") {
    return md5($code);
  } else {
      return $code;
  }
}

function is_user_logged_in() {
    if (!clean($_SESSION['sa_data'])) {
        return false;
    } else {
        return true;
    }
}

function show_servers() {
    global $g_ServerName;
    echo"\n        <select name=\"server_num\" style=\"width:310px; margin-left: 5px;\">\n";
    echo "        <option value=\"0\">Изберете сървър за управление</option>";
    for( $i = 0; $i < count($g_ServerName); $i++) {
        $ni=$i+1;
        echo "\n            <option value=\"$ni\">".$g_ServerName[$i+1]."</option>";
    }
    echo"\n        </select>";
}

function add_new_sms_field($num) {
    return " <tr>
  <td>SMS Код #$num:</td> <td><input type=\"text\" name=\"smscode[]\"></td>
 </tr>\n";
}

function show_sms_fields() {
    global $g_sms_amount;
    
    $how_much_sms = clean($g_sms_amount);
    if($how_much_sms < 100)  {
        for( $i = 0; $i < $how_much_sms; $i++) {
            echo add_new_sms_field($i+1);
        }
    } else {
        echo add_new_sms_field(1);
    }
}

function msg($type, $msg) {
    switch ($type) {
        case "error": echo "\n<b>ГРЕШКА:</b> $msg"; break;
        case "notice": echo "\n<b>Съобщение:</b> $msg"; break;
    }
        
}

function show_x3() {
    global $g_x3, $g_x3_Description, $g_x3_Flags, $g_flags, $g_status, $g_server;
    
    for ($i=0; $i <= count($g_x3)-1; $i++) {
            $g_x3[$i] = clean($g_x3[$i]);     $g_x3_Description[$i] = clean($g_x3_Description[$i]);     $g_x3_Flags[$i] = clean($g_x3_Flags[$i]);
            
            if(strstr($g_flags, $g_x3_Flags[$i]) || $g_status == "1" && $i==0) {
                $disable = " disabled";
            } else {
                $disable = "";
            }
            
            if($i == 0) { $star = " <font style=\"color:red\">*</font>"; } else { $star = ""; }
        
            $title = $g_x3[$i].$star;
            $description = $g_x3_Description[$i];
            $flag = $g_x3_Flags[$i];
            
            show_all_x3($title, $description, $flag, $disable);
            echo"\n";
    }
}

function mobio_checkcode($g_servID, $code, $debug=0) {

    $res_lines = file("http://www.mobio.bg/code/checkcode.php?servID=$g_servID&code=$code&csadmin=1");

    $ret = 0;
    if($res_lines) {

        if(strstr("PAYBG=OK", $res_lines[0])) {
            $ret = 1;
        }else{
            if($debug)
                echo $line."\n";
        }
    }else{
        if($debug)
            echo "Unable to connect to mobio.bg server.\n";
        $ret = 0;
    }

    return $ret;
}

function mobio_checkcode_f($g_servID, $code, $debug=0) {

    $ret = 0;

    $mobio_socket = fsockopen("www.mobio.bg", 80);

    if(!$mobio_socket) {
        if($debug)
            echo "Unable to connect to mobio.bg server\n";
        $ret = 0;
    }else{
        $request .= "GET http://www.mobio.bg/code/checkcode.php?servID=$g_servID&code=$code&csadmin=1 HTTP/1.0\r\n\r\n";
        fwrite($mobio_socket, $request);
        $result = fread($mobio_socket, 255);
        if(strstr($result, "PAYBG=OK")) {
            $ret = 1;
        }else{
            $ret = 0;
            if($debug)
                echo strstr($result, "PAYBG");
        }
        fclose($mobio_socket);
    }

    return $ret;
}

function valid_sms_codes() {
    global $g_working_mode, $g_demo_codes, $g_wisdom_prefix, $g_servID;
    
      switch ($g_working_mode) {
          case "wisdom":
          for( $i = 0; $i < count($_POST['smscode']); $i++){ 
              if($_POST['smscode'][$i] == NULL){ echo"Не сте написали всички sms кодове"; sf(); die; }
              $smscode=clean($_POST['smscode'][$i]);
              $tmp = file_get_contents('http://wisdom.bg/smscheckcode.php?prefix='.$g_wisdom_prefix.'&code='.$smscode.'&user_ip='.$_SERVER['REMOTE_ADDR']);
            $tmp = unserialize($tmp);

            if (preg_match('/^Invalid prefix/i', $tmp['error'])) {
                echo "Не сте въвели валиден префикс !"; sf(); die;
            }
            
            if ($tmp['result'] == TRUE) {
                file_get_contents('http://wisdom.bg/smscheckcode.php?prefix='.$g_wisdom_prefix.'&code='.$smscode.'&mark_as_used=1&user_ip='.$_SERVER['REMOTE_ADDR']);
                $smscodes[]=$smscode;
                  if($i+1 == count($_POST['smscode'])) { return 1; }
            } else {
                  echo"Въвели сте не валиден/ни SMS код/ове !"; sf(); die;
            }
          }
          break;
          
          case "mobio_fopen":
          for( $i = 0; $i < count($_POST['smscode']); $i++){ 
              if($_POST['smscode'][$i] == NULL){ echo"Не сте написали всички sms кодове"; sf(); die; }
              $smscode=clean($_POST['smscode'][$i]);
              if(mobio_checkcode_f($g_servID, $smscode, 0) == 1) {
                  $smscodes[]=$smscode;
                  if($i+1 == count($_POST['smscode'])) { return 1; }
              } else {
                  echo"Въвели сте не валиден/ни SMS код/ове !"; sf(); die;
              }
          }
          break;
          
          case "mobio_fsockopen":
          for( $i = 0; $i < count($_POST['smscode']); $i++){ 
              if($_POST['smscode'][$i] == NULL){ echo"Не сте написали всички sms кодове"; sf(); die; }
              $smscode=clean($_POST['smscode'][$i]);
              if(mobio_checkcode($g_servID, $smscode, 1) == 1) {
                  $smscodes[]=$smscode;
                  if($i+1 == count($_POST['smscode'])) { return 1; }
              } else {
                  echo"Въвели сте не валиден/ни SMS код/ове !"; sf(); die;
              }
          }
          break;
          
          case "demo":
          for( $i = 0; $i < count($_POST['smscode']); $i++){ 
              if($_POST['smscode'][$i] == NULL){ echo"Не сте написали всички sms кодове"; sf(); die; }
              $smscode=clean($_POST['smscode'][$i]);
              if($smscode == $g_demo_codes[$i]) {        
                  $smscodes[]=$smscode;
                  if($i+1 == count($_POST['smscode'])) { return 1; }
              } else {
                  echo"Въвели сте не валиден/ни SMS код/ове !"; sf(); die;
              }
          }
          break;
      }
}

function refresh($sec = 1, $url = "index.php") {
    echo '<meta http-equiv="refresh" content="'.$sec.';url='.$url.'">';
}

function convert_date($expire_date) {
    $expire_date = clean($expire_date);
    $bg=array("ден","дни","седмица","седмици","месец","месеца","година","години");
    $en=array("day","days","week","weeks","month","months","year","years");
    $expire_date=str_replace($bg,$en, $expire_date);
    $expire_date=strtotime("+ $expire_date");
    
    return $expire_date;
}

function calculate_admin_expire($g_user_expire_date) {
    $now = $g_user_expire_date; 
    $then = strtotime ("now"); 
    $difference = $now - $then ; 
    $num = $difference/86400; 
    $days = intval($num); 
    $num2 = ($num - $days)*24; 
    $hours = intval($num2); 
    $num3 = ($num2 - $hours)*60; 
    $mins = intval($num3); 
    $num4 = ($num3 - $mins)*60; 
    $secs = intval($num4);
    
    return "$days дни, $hours часа, $mins минути и $secs секунди";
}

function show_date($date) {
    return date("d.m.Y - H:i:s", $date);
}

function admin_list_mark_functions() {
    global $g_user_level, $g_tbname;
    
    if($g_user_level == "1") {
        if(isset($_POST['deactivate'])) {
            for( $i = 0; $i < count($_POST['mark']); $i++){ 
                if($_POST['mark'][$i] != NULL){ 
                    $admin_id=$_POST['mark'][$i];
                    $delete=mysql_query("UPDATE `$g_tbname` set `expire_date`='0', `status` = '0' WHERE `id`='$admin_id'") or die ("Couldnt't connect to database");
                }
            }
            refresh(1, "?p=adminlist");
        } elseif(isset($_POST['delete'])) {
            for( $i = 0; $i < count($_POST['mark']); $i++){ 
                if($_POST['mark'][$i] != NULL){ 
                    $admin_id=$_POST['mark'][$i];
                    $delete=mysql_query("DELETE FROM `$g_tbname` WHERE `id`='$admin_id'") or die ("Couldnt't connect to database");
                }
            }
            refresh(1, "?p=adminlist");
        }
    }
}

function is_this_first_registration() {
    global $g_tbname;
    
    dbc();
    $checking = mysql_query("SELECT `id` FROM `$g_tbname`") or die(g_error);
    if(mysql_num_rows($checking)>0) {
        return 0;
    } else {
        return 1;
    }
}


if (!clean($_SESSION['sa_data'])) {
    $_SESSION['sa_data'] = 0;
} else {
    $g_userid = clean($_SESSION['sa_data'][0]);
    $g_nickname = clean($_SESSION['sa_data'][1]);
    $g_flags = clean($_SESSION['sa_data'][2]);
    $g_server = clean($_SESSION['sa_data'][3]);
    $g_user_expire_date = clean($_SESSION['sa_data'][4]);
    $g_status = clean($_SESSION['sa_data'][5]);
    $g_user_level = clean($_SESSION['sa_data'][6]);
}

sh();

if($g_system_is_on == 1) {
    $page = clean($_GET['p']);

    switch($page) {
        case "config":
            echo ($g_user_level == 1 && $smsadmins_view_config_remotely == "1") ? highlight_file("include/config.php") : msg("error","Не можете да видите конфигурацията поради настройките на системата !");
        break;
        
        case "adminlist":
            include("include/pages/adminlist.php");
        break;
        
        case "logout":
            session_destroy();
            msg("notice", "Вие успешно излязохте от вашия акаунт !");
            refresh();
            
        break;
    
        default:
            if(is_user_logged_in()) {
                dbc();
                
                if($g_user_level == 0) {
                    if(isValid("num", $g_userid)) {
                        $fetch_data = mysql_query("SELECT * FROM `$g_tbname` WHERE `id` = '$g_userid'") or die(g_error);
                        
                        if(mysql_num_rows($fetch_data) > 0) {
                            /*
                            while ($row = mysql_fetch_array($fetch_data)) {
                                extract($row);
                                
                                echo "Zdravei, ".$player;
                            }
                            */
                            
                            if(isset($_POST['update_rights']))
                            {
                                $new_flag = $_POST['flag'];
                                if($new_flag != null){                                
                                    
                                    //if ($new_flag != "@" && $g_status == "0") {
                                    if ($g_compulsory_flag == 1 && !strstr($new_flag, "@") && $g_status == "0") {
                                        msg("error", "Трябва първо да изберете \"".$g_x3[0]."\" за да можете да ъпдейтнете вашите права по-нататък !");
                                    } else {                            
                                        if (valid_sms_codes() == 1) {
                                            $convert_expire = convert_date($g_expire_date);
                                            
                                            if($g_status == "0") {
                                                $sql_convert_expire = ", `expire_date` = '$convert_expire'";
                                            } else {
                                                $sql_convert_expire = "";
                                            }
                                            //if($new_flag == "@") {
                                            if(strstr($new_flag, "@")) {
                                                //$new_flag = "";
                                                $new_flag = explode("@", $new_flag);
                                                $new_flag = $new_flag[1];
                                            }
                                            
                                            @include("include/pages/afterreg.php");
                                            
                                            $deadline = ($g_status == "0") ? "               $afterreg_text2" : "";
                                            
                                            $update_rights = mysql_query("UPDATE `$g_tbname` SET `flags` = '$g_flags$new_flag', `status` = '1' $sql_convert_expire WHERE `id` = '$g_userid'") or die(g_error);
                                            $_SESSION['sa_data'][5] = "1";
                                            $_SESSION['sa_data'][2] = "$g_flags$new_flag";
                                            
                                            if($update_rights) {
                                                echo $afterreg_text.$deadline;
                                                echo "<br><hr>
               <i>Всички права запазени!</i>";
                                            }
                                            
                                        } else {
                                            msg("error", "Въвели сте невалидни SMS кодове !");
                                        }
                                    }
                                } else {
                                    msg("error", "Не сте избрали никаква опция !");
                                }
                            } else {
                                include("include/pages/index.php");
                            }
                            
                        } else {
                            msg("error", "Въвели сте грешни данни за login !");
                            refresh();
                        }
                    } else {
                        msg("error", "Не валидна сесия ! <br>Моля излезте от акаунта и влезте отново !");
                    }
                } else {
                    echo "Здравейте <b>$g_nickname</b> ! <br>Това е вашият административен потребител. <br>С него единствено можете да управлявате вашите потребители !";
                }

            } else {
                if(isset($_POST['login'])) {
                    $username = clean($_POST['username']);
                    $password = clean($_POST['password']);
                    
                    $server = $_POST['server_num'];
                    
                    $generated_captcha = $_POST['captcha'];
                    $security_code = clean($_POST['security_code']);
                    
                    if ($security_code == $generated_captcha) {
                        dbc();
                        $check = mysql_query("SELECT `id`, `player`, `flags`, `server`, `expire_date`, `status`, `user_level` FROM `$g_tbname` WHERE `player` = '$username' AND `password` = '$password' AND `server` = '$server'") or die(g_error);
                        if(mysql_num_rows($check) > 0) {
                            $row = mysql_fetch_row($check);
                            
                            if($row[4] < time()) { $new_sql_query = ", `status` = '0'"; } else { $new_sql_query = ""; }
                            
                            $_SESSION['sa_data'] = $row;
                            if($row[4] < time()) { $_SESSION['sa_data'][5] = "0"; }
                        }

                        msg("notice", ".. пренасочване ..");
                        refresh();
                        
                    } else {
                        msg("error", "Въведения код за визуално потвърждение грешен !");
                        refresh(2);
                    }
                    
                } else if(isset($_POST['register'])) {
                    $username = clean($_POST['username']);
                    $password = clean($_POST['password']);
                    
                    $server = $_POST['server_num'];
                    
                    $generated_captcha = $_POST['captcha'];
                    $security_code = clean($_POST['security_code']);
                    $time = time();
                    
                    if(is_this_first_registration()) {
                        $_server_if_check_value = "1";
                        $_userlevel = "1";
                    } else {
                        $_server_if_check_value = "0";
                        $_userlevel = "0";
                    }
                    
                    if ($security_code == $generated_captcha && $server != "$_server_if_check_value") {
                        if(!in_array($username, $g_reserved_nicks)) {
                            if(strlen($username) > 3) {
                                dbc();
                                $now = time();
                                if(mysql_num_rows(mysql_query("SELECT `id` FROM `$g_tbname` WHERE `server` = '$server' AND `expire_date` > '$now'")) <= $g_max_admins_per_server) {
                                    $check_data = mysql_query("SELECT `player` FROM `$g_tbname` WHERE `player` = '$username' AND `server` = '$server'") or die(g_error);
                                    if(mysql_num_rows($check_data) == 0) {
                                        $insert_data = mysql_query("INSERT INTO `$g_tbname` (`player`, `password`, `flags`, `server`, `time_on_reg`, `expire_date`, `status`, `user_level`) VALUES('$username', '$password', '', '$server', '$time', '0', '0','$_userlevel');") or die(mysql_error());
                                        
                                        switch ($g_notify) {
                                            case "1": @mail($g_administrator_email, $g_email_subject, $g_email_message); break;
                                            case "2": @mail($g_administrator_gsm, $g_email_subject, $g_email_message); break;
                                            default:
                                        }
                                        
                                        msg("notice", "Благодарим Ви за регистрацията ! <br>
                                            Можете сега да си влезете в акаунта");
                                        refresh(2);
                                    } else {
                                        msg("error", "Този никнейм, вече е бил регистриран за в този сървър !");
                                        refresh(2);
                                    }
                                } else {
                                    msg("error", "За в момента не можем да приемеме повече регистрации за сървъра, който сте избрали !");
                                    refresh(2);
                                }
                            } else {
                                msg("error", "Вашият никнейм трябва да е по-дълъг от 3 символа !");
                            }
                        } else {
                            msg("error", "Потребителското име е запазено от администратора ! <br> Моля изберете друго.");
                            refresh(2);
                        }
                        
                    } else {
                        msg("error", "Въведения код за визуално потвърждение е грешен или не сте избрали сървър, за където да си регистрирате потребителското име !");
                        refresh(2);
                    }
                } else {
                    include("include/pages/register.php");
                }
            }
            
    }
} else {
    msg("notice", "За в момента не приемаме никакви регистрации.
      <br>Моля опитайте по-късно.");
}

sf();

  if(time() >= $warning_period && (time() <= $script_expire_on) || (time() >= $script_expire_on)) { echo $warning_for_expire; }
} else {
    if(time() >= $script_expire_on) {
        echo $warn_head.$warning_for_expire.$warn_footer;
    } else {
        echo"$warn_head \n<b>Грешка:</b> Hacking attempt <br><br><i>Не се опитвай отново!</i> \n $warn_footer";
    }
}

// echo "<center>Сайта използва SMS-Admins v1.0</center>";

echo"\n\n\n\n\n\n\n\n";

?>
 
А няма ли навит дами го направи дами го редактира или каквото трябва там ?
 

Back
Горе