Jump to content
View in the app

A better way to browse. Learn more.

IPBMafia.ru - поддержка Invision Community, релизы, темы, плагины и приложения

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Posted

Добрый день. Столкнулся с проблемой.

 

именно , что не могу сделать отоброжение строчки как надо : есть файл 

<?php
if (!defined('SELL_SCRIPT')) {header("Location: ./"); die();}

$cipher = "rijndael-256"; 
$mode = MCRYPT_MODE_CBC;


    function test_db_config()
    {
        global $cfgDbHost, $cfgDbUsername, $cfgDbPassword,$cfgDbTableAccounts,$cfgDbName,$fields;
        $database = @mysql_connect ( $cfgDbHost, $cfgDbUsername, $cfgDbPassword );
        //$database = @mysql_connect ( $cfgDbHost, "root", "" );
        if ($database)
        {   
            // соединились, врубаем кодировку utf8
            if (function_exists('mysql_set_charset'))
            {
                mysql_set_charset("utf8");
            }
            else
            {
                mysql_query("SET NAMES utf8");
            }            
            
            // пробуем выбрать базу
            $result = mysql_select_db ( $cfgDbName, $database );
            if (!$result)
            {
                showerror ("Не могу открыть базу с данными для работы!<br />".mysql_error());
                die();
            }
            else
            {// таблица найдена. проверяем наличие таблицы
                $r = mysql_query("SELECT 1 FROM `".$cfgDbTableAccounts."` WHERE 0");
                if (!$r) {
                    // Таблица не существует
                    showerror ("Таблица с аккаунтами отсутствует!");
                    die();
                }
                else
                {// тестим поля
                    if (is_array($fields))
                    {
                        foreach ($fields as $field=>$data)
                        {
                            // проверяем существование полей в таблице:
                            $r = mysql_query("SELECT `".$field."` FROM `".$cfgDbTableAccounts."` WHERE 0");
                            if (!$r) 
                            {
                                showerror ("В таблице данных отсутствует поле ".$field."!");
                                die();
                            }
                        }
                    }
                    else
                    {
                        showerror ("В конфигурации не задан список полей таблицы!");
                        die();
                    }
                }
            }
        }
        else
        {
            showerror ("Ошибка соедиения с сервером базы данных!<br />".mysql_error());
            die();
        }
    }

    function showerror ($msg)
    {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "__www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <title>Критическая ошибка!</title>
        <style type="text/css">
            .rounded-corner {
                css-border-radius: 5px;
                -webkit-border-radius: 5px;
                -moz-border-radius: 5px;
            }
            .title-text {
                vertical-align: top;
            }
            #main-content {
                font-family:Arial,sans-serif;
                margin-top: 150px;
                margin-left: auto;
                margin-right: auto;
                position: relative;
                width: 650px;
            }
            #error-message {
                text-align: center;
                font-size: 12px;
                font-weight: bold;
                color: #666;
                background-color: #FFC;
                margin-top: 50px;
                padding: 12px 0;
                border: 1px solid #FFCC05;
            }
            #logo {
                float: left;
                padding: 0 20px;
                border-right: 1px solid #CCC;
            }
            #links {
                text-align: center;
                margin-top: 10px;
                font-size:11px;
                line-height:13px;
                border:1px;
            }
            #copynotice {
                margin: 20px 0;
                text-align: center;
                font-size: 11px;
            }
        </style>
    </head>
    <body>
        <div id="main-content">
            <div id="error-message" class="rounded-corner">
                <div id="logo">
                    <a href="/"><img src="./img/logo.png" border=0/></a>
                </div>
                <?php echo $msg;?>
            <div style="clear:both;"></div>
            </div>
            <div id="links">
                <a href="./index.php">Главная</a>
            </div>
            <div id="copynotice">
                &copy; 2011 Amx-Admin
            </div>
        </div>
    </body>
</html>
<?php
    }

    function test_ssh_function()
    {
        if (!extension_loaded('ssh2')) {
            showerror ("Библиотека php для работы с SSH отсутствует!");
            die();
        }
    }


    function error_msg_format($msg) 
    {
        return '<div id="error-message" class="rounded-corner">'.$msg.'</div>';
    }

    function info_msg_format($msg) 
    {
        return '<div id="info-message" class="rounded-corner">'.$msg.'</div>';
    }

    function upload_config ($server,$config_text)
    {
        global $gameservers,$info_msg,$error_msg;
        // Имена файлов
        // создаем временный файл
        $local_tmp_configfile = tempnam("tmp", "");
        if ($local_tmp_configfile===false)
        {
            $error_msg = "Внутренняя ошибка генерации конфигурации (возможно недоступен временный каталог)";
            return;
        }
        $handle = fopen($local_tmp_configfile, "w");
        if (!$handle)
        {
            $error_msg = "Внутренняя ошибка генерации конфигурации (возможно он недоступен для записи)";
            return;
        }
        fwrite($handle, $config_text);
        fclose($handle);

        $remote_file = 'users.ini';
        // Открытие соединения 
        $conn_id = ftp_connect($gameservers[$server][0]);
        if ($conn_id){
            // Авторизация
            $login_result = ftp_login($conn_id, $gameservers[$server][1], $gameservers[$server][2]);
            
            if ($login_result)
            {   
                // переходим в папку
                $chdir = ftp_chdir($conn_id, $gameservers[$server][3]);
                if ($chdir)
                {
                    // Загрузка файла $server_file и сохранение его как $local_file
                    if ($res = ftp_put($conn_id, $remote_file, $local_tmp_configfile, FTP_BINARY)) {
                        $info_msg .= "Файл конфигурации успешно загружен на ".$server."<br />";
                        
                        
                        // проверяем что есть необходимость обновления юзеров
                        if (isset($gameservers[$server][6],$gameservers[$server][7],$gameservers[$server][8]) && !( empty($gameservers[$server][6]) || empty($gameservers[$server][7]) || empty($gameservers[$server][8]) ))
                        {
                            list($addr,$port) = explode(":",$gameservers[$server][6],2);
                            if (isset($addr,$port) && !empty($addr) && !empty($port))
                            {
                                //error_reporting(E_ERROR | E_WARNING | E_PARSE);
                                error_reporting(E_ERROR);
                                //connect to current server
                                $rcon_server = new Rcon();
                                
                                //build connection to Gameserver
                                $pass=$gameservers[$server][7];
                                $rcon_server->Connect($addr, $port, $pass);
                                $command = "amx_reloadadmins";
                                $result = $rcon_server->RconCommand($command);
                                //close connection
                                $rcon_server->Disconnect();
                                // 
                                if ($result)
                                {
                                    preg_match("/[AMXX] Loaded (d+)+ admins? from file/u",$result,$admins);
                                    if (isset($admins[1]) && !(empty($admins[1]) && $admins[1]!=="0"))
                                    {
                                        $info_msg .= "Произведена мгновенная перезагрузка списка админов на сервере. всего админов: ".$admins[1]."<br />";
                                    }
                                    else
                                    {
                                        $error_msg .= "<br /> Ошибка мгновенной перезагрузки списка юзеров в игре:<br>".$result;
                                    }
                                }
                                else
                                {
                                    $error_msg .= "<br /> Ошибка! Не могу соединиться через Rconn с $server для мгновенного обновления списка админов в игре. <br>Вход на сервер будет возможен после смены локации в игре";
                                }
                            }
                            else
                            {
                                $error_msg .= "<br />Ошибка в адресе сервера при подаче rconn! Сервер: ".$server.".";
                            }
                        }
                    }
                    else
                    {
                        $error_msg = "Ошибка загрузки файла конфигурации! Сервер: ".$server.".";
                    }
                }
                else
                {
                    $error_msg = "Не могу перейти в каталог настроек! Сервер: ".$server.".";
                }
            }
            else
            {
                $error_msg = "Ошибка авторизации на FTP во время обновления конфигурации! Сервер: ".$server.".";
            }
            
            ftp_close($conn_id);
            
        }
        else
        {
            $error_msg = "Не могу подключиться к серверу для обновления конфигурации! Сервер: ".$gameservers[$server][3].".";
        }
        // удаляем временный локальный файл конфига
        unlink($local_tmp_configfile);

    }
    
    function format_serverlist($servers,$current,$check_post_ok)
    {
        if (!is_array($servers) || count($servers)<1)
        {
            return "<b>Серверов пока нет</b>";
        }
        $list = "";
        if (empty($current) || !$check_post_ok)
        {
            foreach ($servers as $name=>$serv)
            {
                $sel = "";
                if ($current==$name)
                {
                    $sel = ' selected="selected"';
                }
                $list .= "  <option".$sel.">".$name."</option>rn";
            }
        }
        else
        {
            $list = "  <option>".$current."</option>rn";
        }

        return "<select name='selected_server'>rn".$list."</select>rn";
    }

    function format_price_list($prices,$current)
    {
        if (!is_array($prices[$current]) || count($prices[$current])<1)
        {
            return " <b>Тарифов на этом сервере пока нет</b>";
        }
        $list = "";
        foreach ($prices[$current] as $price)
        {
            $list .= "  <option>".$price[2]."</option>rn";
        }

        return "<select name='selected_price'>rn".$list."</select>rn";
    }


    function format_config_options()
    {
        global $admin_options, $admin_options_disabled, $admin_login_acc_config, $admin_login_options_disabled;
        // получаем настройки для админа
        $admin_acc_config = "";
        foreach ($admin_options as $key=>$descr)
        {
            if (isset($_POST["adm_opt_".$key]) && !empty($_POST["adm_opt_".$key]) && !in_array($key,$admin_options_disabled))
            {
                $admin_acc_config .= $key;
            }
        }
        // получаем настройки для логина
        $admin_login_acc_config = "";
        foreach ($admin_login_options as $key=>$descr)
        {
            if (isset($_POST["adm_opt_".$key]) && !empty($_POST["adm_opt_".$key]) && !in_array($key, $admin_login_options_disabled))
            {
                $admin_login_acc_config .= $key;
            }
        }
        return array($admin_acc_config,$admin_login_acc_config);
    }

    function generate_config($server)
    {
        global $gameservers,$cfgDbTableAccounts;

        // считываем из базы действующие акки для этого сервера
        $sql = "SELECT `date_pay`, `login`, `pass`, `options`, `access_flags`, `days_count` FROM ".$cfgDbTableAccounts." WHERE `server`='".$server."' AND `activated`=1";
        //var_dump($sql);
        $select = mysql_query($sql);
        if (mysql_num_rows($select) > 0)
        {
            $config = "";
            while ($row = mysql_fetch_assoc($select))
            {
                if (($row[date_pay]+$row[days_count]*3600*24)>time() || $row[days_count]==0)
                {
                    $config .= '"'.$row[login].'" "'.$row[pass].'" "'.$row[options].'" "'.$row[access_flags].'"'."rn";
                }
            }
        }
        return $config;
    }

    function show_tariffs()
    {
        global $gameservers,$prices;
        $tarifs = "";
        foreach($gameservers as $server=>$conf)
        {
            if (is_array($prices) && is_array($prices[$server]) && count($prices[$server])>0)
            {
                $temp_tarifs = "";
                foreach ($prices[$server] as $curr_tarif)
                {
                    $temp_tarifs .= '&nbsp;&nbsp;&nbsp;'.$curr_tarif[2].',';
                }
                $tarifs .= "<a class='plugins' href='./mon.php?serv=".$conf[6]."'><b><u>".$server."</u></b></a>&nbsp;&nbsp;".(!empty($conf[6])?('('.$conf[6].')'):'')."&nbsp;-".$temp_tarifs."<br />rn";
            }
            else
            {
                $tarifs .= "<b>".$server."</b>&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;тарифов пока нет<br />rn";
            }
        }
        return $tarifs;
    }
    
    class XMLParser {
        var $path;
        var $result;

        function cleanString($string) {
            return trim(str_replace("'", "&#39;", $string));
        }
       
        function XMLParser($encoding, $data) {
            $this->path = "$this->result";
            $this->index = 0;
           
            $xml_parser = xml_parser_create($encoding);
            xml_set_object($xml_parser, &$this);
            xml_set_element_handler($xml_parser, 'startElement', 'endElement');
            xml_set_character_data_handler($xml_parser, 'characterData');

            xml_parse($xml_parser, $data, true);
            xml_parser_free($xml_parser);
        }
       
        function startElement($parser, $tag, $attributeList) {
            $this->path .= "->".$tag;
            eval("$data = ".$this->path.";");
            if (is_array($data)) {
                $index = sizeof($data);
                $this->path .= "[".$index."]";
            } else if (is_object($data)) {
                eval($this->path." = array(".$this->path.");");
                $this->path .= "[1]";
            }

            foreach($attributeList as $name => $value)
                eval($this->path."->".$name. " = '".XMLParser::cleanString($value)."';");
        }
       
        function endElement($parser, $tag) {
            $this->path = substr($this->path, 0, strrpos($this->path, "->"));
        }
       
        function characterData($parser, $data) {
            if (strlen($data = XMLParser::cleanString($data)))
                eval($this->path." = '$data';");
        }
    }

    // Шифрование данных 
    function encrypt($data,  $key,  $cipher,  $mode)   
    {
        return  (string)base64_encode (
                            mcrypt_encrypt (
                                $cipher,
                                substr (md5 ($key) , 0,mcrypt_get_key_size ($cipher,  $mode) ) ,
                                $data,
                                $mode,
                                substr (md5 ($key), 0, mcrypt_get_block_size ($cipher,  $mode))
                            )
                        );
    }
    // Дешифрование данных 
    function decrypt($data,  $key,  $cipher, $mode)   
    {
        return (string) mcrypt_decrypt (
                                    $cipher,
                                    substr(md5($key),0,mcrypt_get_key_size($cipher,  $mode)), 
                                    base64_decode($data),
                                    $mode,
                                    substr(md5($key),0,mcrypt_get_block_size($cipher,  $mode))
                                    );
    }
    
    function acc_list()
    {
        global $cfgDbTableAccounts;
        $accounts = array();
        $sql = "SELECT `login` FROM `".$cfgDbTableAccounts."`";
        $select = mysql_query($sql);
        if (mysql_num_rows($select) > 0)
        {
            while ($row = mysql_fetch_assoc($select))
            {
                $accounts[] = $row['login'];
            }
        }
        return $accounts;
    }
    
    function get_logintype ($access_flags,$type=0)
    {
            if (stripos($access_flags,"a")!==false)
        {
            $login_type = "login_pass";
            $login_type_txt = "паролю";
        }
        elseif (stripos($access_flags,"d")!==false && stripos($access_flags,"e")!==false)
        {
            $login_type = "IP";
            $login_type_txt = "IP";
        }
        elseif (stripos($access_flags,"c")!==false && stripos($access_flags,"e")!==false)
        {
            $login_type = "steamid";
            $login_type_txt = "SteamID";
        }
        else
        {
            $login_type = "login_pass";
            $login_type_txt = "паролю";
        }
        
        if ($type==0)
        {
            return $login_type;
        }
        else
        {
            return $login_type_txt;
        }
    }

    function format_acc_edit_form($user_info)
    {
        $login_type = get_logintype($user_info["access_flags"]);
        global $gameservers;
        return
    '<form method="post" action="">
    <input type="hidden" name="account_edit_num2" value="'.$user_info[userid].'">
                <table cellpadding="4" width="1000px" cellspacing="0" style="padding:2px; border:2px dashed #cccccc;">
                    <tr align="center">
                        <td width="15%"><b>Логин / IP-адрес / SteamID:</b></td>
                        <td width="15%"><b>Пароль:</b></td>
                        <td width="12%"align="left"><b>Тип авторизации:</b></td>
                        <td width="10%"><b>Права аккаунта:</b></td>
                        <td width="10%"><b>Cервер:</b></td>
                        <td width="10%"><b>Эл. почта:</b></td>
                    </tr>
                    <tr valign="top">
                        <td ><input type="text" name="admin_login" value="'.$user_info[login].'" size="25"></td>
                        <td ><input type="text" name="admin_pass" value="'.$user_info[pass].'" size="20"></td>
                        <td rowspan="2">
                            <input type="radio" name="logintype" value="loginpass" '.($login_type == "login_pass"?'checked="checked"':'').' /> логин и пароль<br />
                            <input type="radio" name="logintype" value="byIP" '.($login_type == "IP"?'checked="checked"':'').' /> по IP-адресу<br />
                            <input type="radio" name="logintype" value="SteamID" '.($login_type == "steamid"?'checked="checked"':'').' /> по SteamID
                        </td>
                        <td ><input type="text" name="admin_rights" value="'.$user_info[options].'" size="20"></td>
                        <td>'.format_serverlist($gameservers,$user_info[server],false).'
                        </td>
                        <td ><input type="text" name="email" value="'.$user_info.'" size="20"></td>
                    </tr>
                    <tr align="center">
                        <td><b>Акк на <input type="text" name="days" value="'.$user_info[days_count].'" size="5"> дней</b></td>
                        <td><b>Цена:</b> <input type="text" name="price" value="'.$user_info[account_price].'" size="5"></td>
                        <td colspan="2" align="left"><input type="checkbox" name="activate" '.($user_info[activated]=="1"?'disabled="disabled" checked="checked"><b> аккаунт активирован</b>':"><b> активировать аккаунт</b>").'
                        <br /><input type="checkbox" name="paydate_update"><b> обновить дату оплаты (акк оплачен сейчас):</b></td>
                        <td align="center" >
                            <input type="submit" name="save" value="Обновить акк" class="button" style="border:7px groove #0000ff;">
                        </td>
                    </tr>
                    <tr>
                        <td colspan="6">Допполнительные контакты для связи (ICQ, Skype, другое), пожелания админу, примечания:<br /><input class="form_off" type="text" onFocus="this.className='form_on'" onBlur="this.className='form_off'" name="comment" value="'.$user_info[comment].'" style="width: 100%;"></td>
                    </tr>
                    <tr>
                        <td colspan="6" align="center" >
                            <input  onclick = "return confirm('Точно удалить этот акк?')" type="submit" name="delete" value=" Удалить акк " class="button" style="border:7px groove #ff0000;">
                        </td>
                    </tr>
                </table></form>';
    }

    function format_acc_line($acc,$i=0)
    {
        global $inv_id;
        $login_type_txt = get_logintype($acc["access_flags"],1);
        $end_acc = $acc ["date_pay"]+3600*24*$acc ["days_count"];
        $color = (($i % 2)==0)?"#FFFFFF":"#E8EEF7";
        if (isset($inv_id) && $inv_id == $acc["userid"])
        {
            $color = "#AAE8AA";
        }
        return '<tr align="center" bgcolor="'.$color.'" onclick="edit(''.$acc['userid'].'')">'."rn".
        "  <td>&nbsp;".date('d.m.Y',$acc ["date_create"])."</td>rn".
        ($acc ["date_pay"]!=0?("  <td>&nbsp;".date('d.m.Y&nbsp;&nbsp;H:i',$acc ["date_pay"])."</td>rn"):"  <td>не оплачен</td>").
        ($acc ["days_count"]!=0 ? 
            ($end_acc>time() ? 
                ($acc[activated]=="1" ?
                    "  <td bgcolor='#44E844'>".date('d.m.Y',$end_acc)."</td>rn"
                    :
                    "  <td bgcolor='#999999'>не активен</td>rn"
                )
                : 
                ($acc ["date_pay"]!=0 ? 
                    "  <td bgcolor='#FF6666'>&nbsp;просрочен</td>rn" 
                    : 
                    "  <td bgcolor='#66FFFF'>&nbsp;не&nbsp;оплачен</td>rn"
                )
            )
            : 
            ($acc[activated]=="1" ?
                "  <td bgcolor='#FFFF66'><b>&#8734;</b> никогда</td>"
                :
                "  <td bgcolor='#999999'>не активен</td>rn"
            )
        ).
        //($acc ["date_pay"]!=0?($end_acc>time()?("  <td>&nbsp;".date('d.m.Y',$end_acc)."</td>rn"):("  <td>&nbsp;просрочен</td>rn"))$acc ["date_pay"]==0?"  <td>не оплачен</td>":"  <td>закончился</td>")).
		"  <td>&nbsp;".$acc ["server"]."</td>rn".
		"  <td>&nbsp;".$acc ["login"]."</td>rn".
        "  <td>&nbsp;".$acc ["account_price"]."</td>rn".
        "  <td>&nbsp;".$acc ["days_count"]."</td>rn".
        
        "  <td class='b-fade' title='".$acc ["email"]."'>&nbsp;".$acc ["email"]."<i class='fade'></i></td>rn".
        "  <td>&nbsp;".$login_type_txt."</td>rn".
        "  <td>&nbsp;".$acc ["login"]."</td>rn".
        "  <td>&nbsp;".$acc ["pass"]."</td>rn".
        "  <td>&nbsp;".$acc ["options"]."</td>rn".
        "  <td class='b-fade' title='".$acc ["comment"]."' >".$acc ["comment"]."<i
		 class='fade'></i></td>rn".
		"  <td class='b-fade' title='".$acc ["imya"]."' >".$acc ["imya"]."<i
		 class='fade'></i></td>rn".
        "</tr>rn";
    }

    function format_accounts_table($data)
    {
        $curr_date = date('H:i:s,&nbsp;&nbsp;d.m.Yг.',time());    
        return
	
    '<center><h4>Текущие время и дата (МСК): '.$curr_date.'<br />Состояние аккаунтов на серверах:</h4>
    <form method="post">
    <input  onclick = "return confirm('Точно надо создать новый акк?')" type="submit" name="create" value=" Создать новый аккаунт " class="button" style="border:7px groove #00ff00;">
    </form>
                        
                        <caption>щелкните на строке аккаунта, чтобы изменить или удалить его</caption>
                          <tbody>
                            <dv class="modal fade" id="modal1">
							<table class="table table-bordered table-hover">
							<thead>
							
			<th><i class="icon-hand-right"></i> Ник Админа</th>
            <th><i class="icon-user"></i> Сервер</th>
            <th><i class="icon-fire"></i> Оплачен</th>
			<th><center><i class="icon-calendar"></i> Истекает</center></th> 
			<th><center><i class="icon-comment"></i> Подробно</center></th>
        </thead></div>
		<tr style="background-color: #f5f5f5;" rel="popover" dera-trigger="hover">
		<td><b>'.$userinfo[date_pay].'</b></td>
		<td><b>ntrer</b></td>
		<td><b>erngr</b></td>
		<td><b>dfgrtg</b></td>
		<td><center><a data-toggle="modal" href="#modal'.$i.'" class="btn btn-mini btn-info" href="#"><i class="icon-fullscreen icon-white"></i></a></center></td>
                            </tr>
							<div class="modal fade" id="modal'.$i.'">
			<div class="modal-header">
				<button class="close" data-dismiss="modal">×</button>
				<h3><center><img alt="" src="images/country/GE.png" /> (1)Gamer</center></h3>
				<small style="color: #fff;"><b>Забанен:</b> 21.08.2013 [13:16] </small><small style="color: #fff; float:right;"><b>Разбан:</b> <span style="font-style:italic;font-weight:bold;color:red">Никогда</span></small>
			</div>	
							<div class="modal-body">
				<div style="clear:both;"></div>
				<div class="alert alert-danger">
					<div rel="tooltip" data-placement="bottom" data-original-title="Прошло 0% бана">
						<div class="progress progress-danger progress-striped active" style="margin-bottom: 0; width: 500px;">
							<div class="bar" style="width: 0%;"></div>
						</div>
					</div>
				</div>
		
				<div class="well well-large" class="th">
					<b>Ник:</b> killer <br />
					<b>IP Адрес:</b> 151.0.44.203<br />
					<b>Причина:</b> aim bleatb<br />
					<b>Добавлен:</b> 21.08.2013 [13:23]<br />
					<b>Истекает:</b> <span style="font-style:italic;font-weight:bold;color:red">Никогда</span><br />
					<b>Забанен админом:</b> Nafan9<br />
					<b>Последний ник:</b> killer<br />
					<b>Последний IP Адрес:</b> 151.0.44.203<br />
					<b>Последний визит:</b> 21.08.2013 [13:23]<br />
					<b>Местонахождения :</b> Italy
				</div>
				
				<div class="alert alert-info" style="padding: 8px 15px 8px 14px;">
				<a href="admin.php?do=bans&edit=49" class="btn btn-primary"><i class="icon-pencil"></i> Редактировать</a>
				<a href="admin.php?do=bans&delete=49" style="float: right;" class="btn btn-danger"><i class="icon-trash"></i> Удалить</a>
			</div>	
			'.
                            $data
                          .'
			</div>
			<div class="modal-footer">
				<a href="__pfcs.ru/gounban" class="btn btn-danger"  style="float: left;">Заявка на Unban</a>
				<a href="#" class="btn btn-inverse" data-dismiss="modal">Закрыть</a>
			</div>
		</div>
                          </tbody>
                        </table>
    </center>';

    }

	?>

 

и стандартный который я еще не менял

 


<?php
if (!defined('SELL_SCRIPT')) {header("Location: ./"); die();}

$cipher = "rijndael-256"; 
$mode = MCRYPT_MODE_CBC;


    function test_db_config()
    {
        global $cfgDbHost, $cfgDbUsername, $cfgDbPassword,$cfgDbTableAccounts,$cfgDbName,$fields;
        $database = @mysql_connect ( $cfgDbHost, $cfgDbUsername, $cfgDbPassword );
        //$database = @mysql_connect ( $cfgDbHost, "root", "" );
        if ($database)
        {   
            // соединились, врубаем кодировку utf8
            if (function_exists('mysql_set_charset'))
            {
                mysql_set_charset("utf8");
            }
            else
            {
                mysql_query("SET NAMES utf8");
            }            
            
            // пробуем выбрать базу
            $result = mysql_select_db ( $cfgDbName, $database );
            if (!$result)
            {
                showerror ("Не могу открыть базу с данными для работы!<br />".mysql_error());
                die();
            }
            else
            {// таблица найдена. проверяем наличие таблицы
                $r = mysql_query("SELECT 1 FROM `".$cfgDbTableAccounts."` WHERE 0");
                if (!$r) {
                    // Таблица не существует
                    showerror ("Таблица с аккаунтами отсутствует!");
                    die();
                }
                else
                {// тестим поля
                    if (is_array($fields))
                    {
                        foreach ($fields as $field=>$data)
                        {
                            // проверяем существование полей в таблице:
                            $r = mysql_query("SELECT `".$field."` FROM `".$cfgDbTableAccounts."` WHERE 0");
                            if (!$r) 
                            {
                                showerror ("В таблице данных отсутствует поле ".$field."!");
                                die();
                            }
                        }
                    }
                    else
                    {
                        showerror ("В конфигурации не задан список полей таблицы!");
                        die();
                    }
                }
            }
        }
        else
        {
            showerror ("Ошибка соедиения с сервером базы данных!<br />".mysql_error());
            die();
        }
    }

    function showerror ($msg)
    {
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "__www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
        <title>Критическая ошибка!</title>
        <style type="text/css">
            .rounded-corner {
                css-border-radius: 5px;
                -webkit-border-radius: 5px;
                -moz-border-radius: 5px;
            }
            .title-text {
                vertical-align: top;
            }
            #main-content {
                font-family:Arial,sans-serif;
                margin-top: 150px;
                margin-left: auto;
                margin-right: auto;
                position: relative;
                width: 650px;
            }
            #error-message {
                text-align: center;
                font-size: 12px;
                font-weight: bold;
                color: #666;
                background-color: #FFC;
                margin-top: 50px;
                padding: 12px 0;
                border: 1px solid #FFCC05;
            }
            #logo {
                float: left;
                padding: 0 20px;
                border-right: 1px solid #CCC;
            }
            #links {
                text-align: center;
                margin-top: 10px;
                font-size:11px;
                line-height:13px;
                border:1px;
            }
            #copynotice {
                margin: 20px 0;
                text-align: center;
                font-size: 11px;
            }
        </style>
    </head>
    <body>
        <div id="main-content">
            <div id="error-message" class="rounded-corner">
                <div id="logo">
                    <a href="/"><img src="./img/logo.png" border=0/></a>
                </div>
                <?php echo $msg;?>
            <div style="clear:both;"></div>
            </div>
            <div id="links">
                <a href="./index.php">Главная</a>
            </div>
            <div id="copynotice">
                &copy; 2011 Amx-Admin
            </div>
        </div>
    </body>
</html>
<?php
    }

    function test_ssh_function()
    {
        if (!extension_loaded('ssh2')) {
            showerror ("Библиотека php для работы с SSH отсутствует!");
            die();
        }
    }


    function error_msg_format($msg) 
    {
        return '<div id="error-message" class="rounded-corner">'.$msg.'</div>';
    }

    function info_msg_format($msg) 
    {
        return '<div id="info-message" class="rounded-corner">'.$msg.'</div>';
    }

    function upload_config ($server,$config_text)
    {
        global $gameservers,$info_msg,$error_msg;
        // Имена файлов
        // создаем временный файл
        $local_tmp_configfile = tempnam("tmp", "");
        if ($local_tmp_configfile===false)
        {
            $error_msg = "Внутренняя ошибка генерации конфигурации (возможно недоступен временный каталог)";
            return;
        }
        $handle = fopen($local_tmp_configfile, "w");
        if (!$handle)
        {
            $error_msg = "Внутренняя ошибка генерации конфигурации (возможно он недоступен для записи)";
            return;
        }
        fwrite($handle, $config_text);
        fclose($handle);

        $remote_file = 'users.ini';
        // Открытие соединения 
        $conn_id = ftp_connect($gameservers[$server][0]);
        if ($conn_id){
            // Авторизация
            $login_result = ftp_login($conn_id, $gameservers[$server][1], $gameservers[$server][2]);
            
            if ($login_result)
            {   
                // переходим в папку
                $chdir = ftp_chdir($conn_id, $gameservers[$server][3]);
                if ($chdir)
                {
                    // Загрузка файла $server_file и сохранение его как $local_file
                    if ($res = ftp_put($conn_id, $remote_file, $local_tmp_configfile, FTP_BINARY)) {
                        $info_msg .= "Файл конфигурации успешно загружен на ".$server."<br />";
                        
                        
                        // проверяем что есть необходимость обновления юзеров
                        if (isset($gameservers[$server][6],$gameservers[$server][7],$gameservers[$server][8]) && !( empty($gameservers[$server][6]) || empty($gameservers[$server][7]) || empty($gameservers[$server][8]) ))
                        {
                            list($addr,$port) = explode(":",$gameservers[$server][6],2);
                            if (isset($addr,$port) && !empty($addr) && !empty($port))
                            {
                                //error_reporting(E_ERROR | E_WARNING | E_PARSE);
                                error_reporting(E_ERROR);
                                //connect to current server
                                $rcon_server = new Rcon();
                                
                                //build connection to Gameserver
                                $pass=$gameservers[$server][7];
                                $rcon_server->Connect($addr, $port, $pass);
                                $command = "amx_reloadadmins";
                                $result = $rcon_server->RconCommand($command);
                                //close connection
                                $rcon_server->Disconnect();
                                // 
                                if ($result)
                                {
                                    preg_match("/[AMXX] Loaded (d+)+ admins? from file/u",$result,$admins);
                                    if (isset($admins[1]) && !(empty($admins[1]) && $admins[1]!=="0"))
                                    {
                                        $info_msg .= "Произведена мгновенная перезагрузка списка админов на сервере. всего админов: ".$admins[1]."<br />";
                                    }
                                    else
                                    {
                                        $error_msg .= "<br /> Ошибка мгновенной перезагрузки списка юзеров в игре:<br>".$result;
                                    }
                                }
                                else
                                {
                                    $error_msg .= "<br /> Ошибка! Не могу соединиться через Rconn с $server для мгновенного обновления списка админов в игре. <br>Вход на сервер будет возможен после смены локации в игре";
                                }
                            }
                            else
                            {
                                $error_msg .= "<br />Ошибка в адресе сервера при подаче rconn! Сервер: ".$server.".";
                            }
                        }
                    }
                    else
                    {
                        $error_msg = "Ошибка загрузки файла конфигурации! Сервер: ".$server.".";
                    }
                }
                else
                {
                    $error_msg = "Не могу перейти в каталог настроек! Сервер: ".$server.".";
                }
            }
            else
            {
                $error_msg = "Ошибка авторизации на FTP во время обновления конфигурации! Сервер: ".$server.".";
            }
            
            ftp_close($conn_id);
            
        }
        else
        {
            $error_msg = "Не могу подключиться к серверу для обновления конфигурации! Сервер: ".$gameservers[$server][3].".";
        }
        // удаляем временный локальный файл конфига
        unlink($local_tmp_configfile);

    }
    
    function format_serverlist($servers,$current,$check_post_ok)
    {
        if (!is_array($servers) || count($servers)<1)
        {
            return "<b>Серверов пока нет</b>";
        }
        $list = "";
        if (empty($current) || !$check_post_ok)
        {
            foreach ($servers as $name=>$serv)
            {
                $sel = "";
                if ($current==$name)
                {
                    $sel = ' selected="selected"';
                }
                $list .= "  <option".$sel.">".$name."</option>rn";
            }
        }
        else
        {
            $list = "  <option>".$current."</option>rn";
        }

        return "<select name='selected_server'>rn".$list."</select>rn";
    }

    function format_price_list($prices,$current)
    {
        if (!is_array($prices[$current]) || count($prices[$current])<1)
        {
            return " <b>Тарифов на этом сервере пока нет</b>";
        }
        $list = "";
        foreach ($prices[$current] as $price)
        {
            $list .= "  <option>".$price[2]."</option>rn";
        }

        return "<select name='selected_price'>rn".$list."</select>rn";
    }


    function format_config_options()
    {
        global $admin_options, $admin_options_disabled, $admin_login_acc_config, $admin_login_options_disabled;
        // получаем настройки для админа
        $admin_acc_config = "";
        foreach ($admin_options as $key=>$descr)
        {
            if (isset($_POST["adm_opt_".$key]) && !empty($_POST["adm_opt_".$key]) && !in_array($key,$admin_options_disabled))
            {
                $admin_acc_config .= $key;
            }
        }
        // получаем настройки для логина
        $admin_login_acc_config = "";
        foreach ($admin_login_options as $key=>$descr)
        {
            if (isset($_POST["adm_opt_".$key]) && !empty($_POST["adm_opt_".$key]) && !in_array($key, $admin_login_options_disabled))
            {
                $admin_login_acc_config .= $key;
            }
        }
        return array($admin_acc_config,$admin_login_acc_config);
    }

    function generate_config($server)
    {
        global $gameservers,$cfgDbTableAccounts;

        // считываем из базы действующие акки для этого сервера
        $sql = "SELECT `date_pay`, `login`, `pass`, `options`, `access_flags`, `days_count` FROM ".$cfgDbTableAccounts." WHERE `server`='".$server."' AND `activated`=1";
        //var_dump($sql);
        $select = mysql_query($sql);
        if (mysql_num_rows($select) > 0)
        {
            $config = "";
            while ($row = mysql_fetch_assoc($select))
            {
                if (($row[date_pay]+$row[days_count]*3600*24)>time() || $row[days_count]==0)
                {
                    $config .= '"'.$row[login].'" "'.$row[pass].'" "'.$row[options].'" "'.$row[access_flags].'"'."rn";
                }
            }
        }
        return $config;
    }

    function show_tariffs()
    {
        global $gameservers,$prices;
        $tarifs = "";
        foreach($gameservers as $server=>$conf)
        {
            if (is_array($prices) && is_array($prices[$server]) && count($prices[$server])>0)
            {
                $temp_tarifs = "";
                foreach ($prices[$server] as $curr_tarif)
                {
                    $temp_tarifs .= '&nbsp;&nbsp;&nbsp;'.$curr_tarif[2].',';
                }
                $tarifs .= "<a class='plugins' href='./mon.php?serv=".$conf[6]."'><b><u>".$server."</u></b></a>&nbsp;&nbsp;".(!empty($conf[6])?('('.$conf[6].')'):'')."&nbsp;-".$temp_tarifs."<br />rn";
            }
            else
            {
                $tarifs .= "<b>".$server."</b>&nbsp;&nbsp;&nbsp;-&nbsp;&nbsp;&nbsp;тарифов пока нет<br />rn";
            }
        }
        return $tarifs;
    }
    
    class XMLParser {
        var $path;
        var $result;

        function cleanString($string) {
            return trim(str_replace("'", "&#39;", $string));
        }
       
        function XMLParser($encoding, $data) {
            $this->path = "$this->result";
            $this->index = 0;
           
            $xml_parser = xml_parser_create($encoding);
            xml_set_object($xml_parser, &$this);
            xml_set_element_handler($xml_parser, 'startElement', 'endElement');
            xml_set_character_data_handler($xml_parser, 'characterData');

            xml_parse($xml_parser, $data, true);
            xml_parser_free($xml_parser);
        }
       
        function startElement($parser, $tag, $attributeList) {
            $this->path .= "->".$tag;
            eval("$data = ".$this->path.";");
            if (is_array($data)) {
                $index = sizeof($data);
                $this->path .= "[".$index."]";
            } else if (is_object($data)) {
                eval($this->path." = array(".$this->path.");");
                $this->path .= "[1]";
            }

            foreach($attributeList as $name => $value)
                eval($this->path."->".$name. " = '".XMLParser::cleanString($value)."';");
        }
       
        function endElement($parser, $tag) {
            $this->path = substr($this->path, 0, strrpos($this->path, "->"));
        }
       
        function characterData($parser, $data) {
            if (strlen($data = XMLParser::cleanString($data)))
                eval($this->path." = '$data';");
        }
    }

    // Шифрование данных 
    function encrypt($data,  $key,  $cipher,  $mode)   
    {
        return  (string)base64_encode (
                            mcrypt_encrypt (
                                $cipher,
                                substr (md5 ($key) , 0,mcrypt_get_key_size ($cipher,  $mode) ) ,
                                $data,
                                $mode,
                                substr (md5 ($key), 0, mcrypt_get_block_size ($cipher,  $mode))
                            )
                        );
    }
    // Дешифрование данных 
    function decrypt($data,  $key,  $cipher, $mode)   
    {
        return (string) mcrypt_decrypt (
                                    $cipher,
                                    substr(md5($key),0,mcrypt_get_key_size($cipher,  $mode)), 
                                    base64_decode($data),
                                    $mode,
                                    substr(md5($key),0,mcrypt_get_block_size($cipher,  $mode))
                                    );
    }
    
    function acc_list()
    {
        global $cfgDbTableAccounts;
        $accounts = array();
        $sql = "SELECT `login` FROM `".$cfgDbTableAccounts."`";
        $select = mysql_query($sql);
        if (mysql_num_rows($select) > 0)
        {
            while ($row = mysql_fetch_assoc($select))
            {
                $accounts[] = $row['login'];
            }
        }
        return $accounts;
    }
    
    function get_logintype ($access_flags,$type=0)
    {
            if (stripos($access_flags,"a")!==false)
        {
            $login_type = "login_pass";
            $login_type_txt = "паролю";
        }
        elseif (stripos($access_flags,"d")!==false && stripos($access_flags,"e")!==false)
        {
            $login_type = "IP";
            $login_type_txt = "IP";
        }
        elseif (stripos($access_flags,"c")!==false && stripos($access_flags,"e")!==false)
        {
            $login_type = "steamid";
            $login_type_txt = "SteamID";
        }
        else
        {
            $login_type = "login_pass";
            $login_type_txt = "паролю";
        }
        
        if ($type==0)
        {
            return $login_type;
        }
        else
        {
            return $login_type_txt;
        }
    }

    function format_acc_edit_form($user_info)
    {
        $login_type = get_logintype($user_info["access_flags"]);
        global $gameservers;
        return
    '<form method="post" action="">
    <input type="hidden" name="account_edit_num2" value="'.$user_info[userid].'">
                <table cellpadding="4" width="1000px" cellspacing="0" style="padding:2px; border:2px dashed #cccccc;">
                    <tr align="center">
                        <td width="15%"><b>Логин / IP-адрес / SteamID:</b></td>
                        <td width="15%"><b>Пароль:</b></td>
                        <td width="12%"align="left"><b>Тип авторизации:</b></td>
                        <td width="10%"><b>Права аккаунта:</b></td>
                        <td width="10%"><b>Cервер:</b></td>
                        <td width="10%"><b>Эл. почта:</b></td>
                    </tr>
                    <tr valign="top">
                        <td ><input type="text" name="admin_login" value="'.$user_info[login].'" size="25"></td>
                        <td ><input type="text" name="admin_pass" value="'.$user_info[pass].'" size="20"></td>
                        <td rowspan="2">
                            <input type="radio" name="logintype" value="loginpass" '.($login_type == "login_pass"?'checked="checked"':'').' /> логин и пароль<br />
                            <input type="radio" name="logintype" value="byIP" '.($login_type == "IP"?'checked="checked"':'').' /> по IP-адресу<br />
                            <input type="radio" name="logintype" value="SteamID" '.($login_type == "steamid"?'checked="checked"':'').' /> по SteamID
                        </td>
                        <td ><input type="text" name="admin_rights" value="'.$user_info[options].'" size="20"></td>
                        <td>'.format_serverlist($gameservers,$user_info[server],false).'
                        </td>
                        <td ><input type="text" name="email" value="'.$user_info.'" size="20"></td>
                    </tr>
                    <tr align="center">
                        <td><b>Акк на <input type="text" name="days" value="'.$user_info[days_count].'" size="5"> дней</b></td>
                        <td><b>Цена:</b> <input type="text" name="price" value="'.$user_info[account_price].'" size="5"></td>
                        <td colspan="2" align="left"><input type="checkbox" name="activate" '.($user_info[activated]=="1"?'disabled="disabled" checked="checked"><b> аккаунт активирован</b>':"><b> активировать аккаунт</b>").'
                        <br /><input type="checkbox" name="paydate_update"><b> обновить дату оплаты (акк оплачен сейчас):</b></td>
                        <td align="center" >
                            <input type="submit" name="save" value="Обновить акк" class="button" style="border:7px groove #0000ff;">
                        </td>
                    </tr>
                    <tr>
                        <td colspan="6">Допполнительные контакты для связи (ICQ, Skype, другое), пожелания админу, примечания:<br /><input class="form_off" type="text" onFocus="this.className='form_on'" onBlur="this.className='form_off'" name="comment" value="'.$user_info[comment].'" style="width: 100%;"></td>
                    </tr>
                    <tr>
                        <td colspan="6" align="center" >
                            <input  onclick = "return confirm('Точно удалить этот акк?')" type="submit" name="delete" value=" Удалить акк " class="button" style="border:7px groove #ff0000;">
                        </td>
                    </tr>
                </table></form>';
    }

    function format_acc_line($acc,$i=0)
    {
        global $inv_id;
        $login_type_txt = get_logintype($acc["access_flags"],1);
        $end_acc = $acc ["date_pay"]+3600*24*$acc ["days_count"];
        $color = (($i % 2)==0)?"#FFFFFF":"#E8EEF7";
        if (isset($inv_id) && $inv_id == $acc["userid"])
        {
            $color = "#AAE8AA";
        }
        return '<tr align="center" bgcolor="'.$color.'" onclick="edit(''.$acc['userid'].'')">'."rn".
        "  <td>&nbsp;".date('d.m.Y',$acc ["date_create"])."</td>rn".
        ($acc ["date_pay"]!=0?("  <td>&nbsp;".date('d.m.Y&nbsp;&nbsp;H:i',$acc ["date_pay"])."</td>rn"):"  <td>не оплачен</td>").
        ($acc ["days_count"]!=0 ? 
            ($end_acc>time() ? 
                ($acc[activated]=="1" ?
                    "  <td bgcolor='#44E844'>".date('d.m.Y',$end_acc)."</td>rn"
                    :
                    "  <td bgcolor='#999999'>не активен</td>rn"
                )
                : 
                ($acc ["date_pay"]!=0 ? 
                    "  <td bgcolor='#FF6666'>&nbsp;просрочен</td>rn" 
                    : 
                    "  <td bgcolor='#66FFFF'>&nbsp;не&nbsp;оплачен</td>rn"
                )
            )
            : 
            ($acc[activated]=="1" ?
                "  <td bgcolor='#FFFF66'><b>&#8734;</b> никогда</td>"
                :
                "  <td bgcolor='#999999'>не активен</td>rn"
            )
        ).
        //($acc ["date_pay"]!=0?($end_acc>time()?("  <td>&nbsp;".date('d.m.Y',$end_acc)."</td>rn"):("  <td>&nbsp;просрочен</td>rn"))$acc ["date_pay"]==0?"  <td>не оплачен</td>":"  <td>закончился</td>")).
        "  <td>&nbsp;".$acc ["account_price"]."</td>rn".
        "  <td>&nbsp;".$acc ["days_count"]."</td>rn".
        "  <td>&nbsp;".$acc ["server"]."</td>rn".
        "  <td class='b-fade' title='".$acc ["email"]."'>&nbsp;".$acc ["email"]."<i class='fade'></i></td>rn".
        "  <td>&nbsp;".$login_type_txt."</td>rn".
        "  <td>&nbsp;".$acc ["login"]."</td>rn".
        "  <td>&nbsp;".$acc ["pass"]."</td>rn".
        "  <td>&nbsp;".$acc ["options"]."</td>rn".
        "  <td class='b-fade' title='".$acc ["comment"]."' >".$acc ["comment"]."<i class='fade'></i></td>rn".
        "</tr>rn";
    }

    function format_accounts_table($data)
    {
        $curr_date = date('H:i:s,&nbsp;&nbsp;d.m.Yг.',time());    
        return
    '<center><h4>Текущие время и дата (МСК): '.$curr_date.'<br />Состояние аккаунтов на серверах:</h4>
    <form method="post">
    <input  onclick = "return confirm('Точно надо создать новый акк?')" type="submit" name="create" value=" Создать новый аккаунт " class="button" style="border:7px groove #00ff00;">
    </form>
                        <table width="1000px" cellspacing="0" cellpadding="2" border="0" bgcolor="#E8EEF7" class="th">
                        <caption>щелкните на строке аккаунта, чтобы изменить или удалить его</caption>
                          <tbody>
                            <tr align="center" bgcolor="#C3D9FF">
                              <td width="7%">заказан</td>
                              <td width="11%">оплачен</td>
                              <td width="7%">кончается</td>
                              <td width="3%">цена</td>
                              <td width="3%">срок</td>
                              <td width="14%">сервер</td>
                              <td width="12%">email</td>
                              <td width="5%">вход по</td>
                              <td width="11%">логин</td>
                              <td width="9%">пароль</td>
                              <td width="14%">опции админа</td>
                              <td width="4%">инф.</td>
                            </tr>'.
                            $data
                          .'</tbody>
                        </table>
    </center>';

    }

?>

 

в первом файле я изменил таблицу на блок.

Но не чего не отображается , там я решил вставить тег '.$data.' и тогда отображается но все равно в таблице.

надо бы мне найти сам код дата чтобы узнать от туда теги при помощи которых он её создает, вытащить от туда их и вставить в первый файл 

а именно вот сюда


<div class="well well-large" class="th">
					<b>Ник:</b>  <br />
					<b>IP Адрес:</b> <br />
					<b>Причина:</b> <br />
					<b>Добавлен:</b> <br />
					<b>Истекает:</b> <br />
					<b>Забанен админом:</b>  />
					<b>Последний ник:</b> <br />
					<b>Последний IP Адрес:</b> <br />
					<b>Последний визит:</b> <br />
					<b>Местонахождения :</b> 
				</div>

помогите пожалуйста!

Edited by MontiQ

Guest
This topic is now closed to further replies.

Последние посетители 0

  • No registered users viewing this page.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.