Esempio n. 1
1
 public function test_remote_file_exists()
 {
     $this->assertTrue(remote_file_exists('http://mirror.yandex.ru/debian/README'));
     $this->assertFalse(remote_file_exists('http://mirror.yandex.ru/debian/README_NOT_FOUND'));
     $this->assertTrue(remote_file_exists('ftp://mirror.yandex.ru/debian/README'));
     $this->assertFalse(remote_file_exists('ftp://mirror.yandex.ru/debian/README_NOT_FOUND'));
 }
 function get($request, $debut, $limit)
 {
     $response = new Response($request);
     $response->code = Response::OK;
     $response->addHeader('content-type', 'text/plain');
     $data = array();
     ouverture();
     if ($debut == null) {
         $debut = 0;
     }
     if ($limit == null) {
         $limit = 10;
     }
     // requete pour récupérer tous les gazouillis
     $requete = "SELECT id_membre, pseudo, contenu, date_creation \n\t\t\tFROM phpl_gazouillis, phpl_membres \n\t\t\tWHERE phpl_gazouillis.id_membre=phpl_membres.id\n\t\t\tORDER BY date_creation DESC\n\t\t\tLIMIT " . $debut . "," . $limit . "";
     $resultat = mysql_query($requete);
     while ($row = mysql_fetch_array($resultat)) {
         $url_avatar = "http://" . $_SERVER['SERVER_NAME'] . "/suopronos/prono/images/avatars/" . $row["id_membre"] . ".gif";
         if (!remote_file_exists($url_avatar)) {
             $url_avatar = "http://" . $_SERVER['SERVER_NAME'] . "/suopronos/prono/images/avatars/no_avatar.png";
         }
         array_push($data, array("id_membre" => $row["id_membre"], "pseudo" => $row["pseudo"], "url_avatar" => $url_avatar, "contenu" => utf8_encode($row["contenu"]), "date" => $row["date_creation"]));
     }
     $response->body = json_encode(array("gazouillis" => $data));
     return $response;
 }
Esempio n. 3
0
/**
 * LaMSfET data import helper functions.
 * @package LIST_Helpers
 * @author Andrej Jursa
 */
function lamsfet_download_file($path, $download_to)
{
    if (@file_exists($path) || @remote_file_exists($path)) {
        $file = @fopen($path, 'r');
        if ($file === FALSE) {
            return FALSE;
        }
        ob_start();
        fpassthru($file);
        $file_content = ob_get_clean();
        fclose($file);
        $file_w = @fopen($download_to, 'w');
        if ($file_w === FALSE) {
            return FALSE;
        }
        fwrite($file_w, $file_content);
        fclose($file_w);
        return TRUE;
    }
    return FALSE;
}
Esempio n. 4
0
 echo "<td class=\"tableseparator\"><input name=\"allbox\" type=\"checkbox\" onClick=\"CheckAll();\" /></td>\n";
 echo "<td class=\"tableheader\">Image name</td><td class=\"tableheader\">ID</td>";
 echo "<td class=\"tableheader\">Category</td><td class=\"tableheader\">User Name</td><td class=\"tableheader\">Date</td><td class=\"tableheader\">Image file</td><td class=\"tableheader\">Ext.</td>" . ($thumbs ? "<td class=\"tableheader\">Thumb file</td><td class=\"tableheader\">Ext.</td>" : "") . "<td class=\"tableheader\">Action</td></tr>\n";
 $i = 1;
 foreach ($log as $key) {
     $error = explode(",", $key);
     $sql = "SELECT i.image_id, i.cat_id, i.user_id, i.image_name, i.image_media_file, i.image_thumb_file, i.image_date" . get_user_table_field(", u.", "user_name") . "\n              FROM " . IMAGES_TABLE . " i, " . USERS_TABLE . " u\n              WHERE image_id = " . $error[0] . " AND " . get_user_table_field("u.", "user_id") . " = i.user_id\n              LIMIT 1";
     $image_row = $site_db->query_firstrow($sql);
     $ok_show = ok($error[1]);
     $ok_t_show = ok($error[2]);
     $where = where($error[3]);
     $where_t = where($error[4]);
     echo "<tr align=\"center\" class=\"" . get_row_bg() . "\"><td>{$i}</td>";
     echo "<td><input type=\"checkbox\" name=\"selectimages[]\" value=\"" . $image_row['image_id'] . "\" /></td>";
     echo "<td align=\"left\">";
     $thumb = "<img src=\"" . (empty($image_row['image_thumb_file']) ? ICON_PATH . "/" . get_file_extension($image_row['image_media_file']) . ".gif" : (is_remote($image_row['image_thumb_file']) ? remote_file_exists($image_row['image_thumb_file'], 1) ? $image_row['image_thumb_file'] : ICON_PATH . "/404.gif" : (file_exists(ROOT_PATH . THUMB_DIR . "/" . $image_row['cat_id'] . "/" . $image_row['image_thumb_file']) ? ROOT_PATH . THUMB_DIR . "/" . $image_row['cat_id'] . "/" . $image_row['image_thumb_file'] : ICON_PATH . "/404.gif"))) . "\" width=\"40\" height=\"40\" border=\"1\" alt=\"\" /><b>&nbsp;&nbsp;" . $image_row['image_name'] . "</b>";
     echo "<a href=\"../images.php?action=editimage&image_id=" . $image_row['image_id'] . "\" target=\"4images_editimage\">" . $thumb . "</a>";
     echo "</td><td>" . $image_row['image_id'] . "</td>";
     echo "<td><a href=\"" . $site_sess->url(ROOT_PATH . "categories.php?" . URL_CAT_ID . "=" . $image_row['cat_id']) . "\" target=\"_blank\">" . htmlspecialchars($cat_cache[$image_row['cat_id']]['cat_name']) . "&nbsp;&nbsp;[ID: <b>" . $image_row['cat_id'] . "</b>]</a></td>\n";
     $show_user_name = htmlspecialchars($image_row[$user_table_fields['user_name']]);
     if ($image_row['user_id'] != GUEST && empty($url_show_profile)) {
         $show_user_name = "<a href=\"" . $site_sess->url(ROOT_PATH . "member.php?action=showprofile&" . URL_USER_ID . "=" . $image_row['user_id']) . "\" target=\"_blank\">{$show_user_name}</a>";
     }
     echo "<td>" . $show_user_name . "</a></td>\n";
     echo "<td>" . format_date($config['date_format'], $image_row['image_date']) . "</td>\n";
     echo "<td><font color={$where}>{$ok_show}</font></td><td>" . substr(strrchr($image_row['image_media_file'], "."), 1) . "</td>" . ($thumbs ? "<td><font color={$where_t}>{$ok_t_show}</font></td><td>" . substr(strrchr($image_row['image_thumb_file'], "."), 1) . "</td>" : "") . "<td>&nbsp;&nbsp;";
     show_text_link("View", "../../details.php?" . URL_IMAGE_ID . "=" . $image_row['image_id'], 1);
     show_text_link($lang['edit'], "../images.php?action=editimage&image_id=" . $image_row['image_id'], 1);
     show_text_link($lang['delete'], "files_check.php?action=removeimage&image_id=" . $image_row['image_id']);
     echo "</td></tr>\n";
     $i++;
Esempio n. 5
0
 /**
  * Редактирование
  * 	выделенных серверов
  * 	игровых серверов
  * 	игр
  * 	типов игр
  * 
  * @param string - тип
  * 			dedicated_servers - выделенные серверы
  * 			game_servers - игровые серверы
  * 			games - игры
  * 			type_games - типы игр
  * 
  * @param string - служит для передачи дополнительных параметров
  * @param string
  * 
  * 
  */
 public function edit($type = 'dedicated_servers', $id = false, $param_2 = false)
 {
     $local_tpl = array();
     $error_msg = false;
     switch ($type) {
         case 'dedicated_servers':
             /* --------------------------------------------	*/
             /* 				Выделенные серверы 				*/
             /* --------------------------------------------	*/
             $this->load->model('servers/dedicated_servers');
             if (!$this->dedicated_servers->get_ds_list(array('id' => $id), 1)) {
                 $this->_show_message(lang('adm_servers_server_not_found'), site_url('adm_servers/view/dedicated_servers'));
                 return false;
             }
             // Файл шаблона с формой
             $tpl_file_edit = 'adm_servers/dedicated_servers_control.html';
             $tpl_list = $this->dedicated_servers->tpl_data_ds();
             $local_tpl = $tpl_list[0];
             //if(in_array('ssh2', get_loaded_extensions()));
             $options = array('gdaemon' => 'GameAP Daemon', 'ssh' => 'SSH', 'telnet' => 'Telnet');
             if ($this->dedicated_servers->ds_list['0']['control_protocol'] == 'local') {
                 // Поле Local отображается лишь для локального сервера
                 // Однако можно вручную подменить значения в html коде,
                 // но в этом нет ничего страшного
                 $options['local'] = 'Local';
             }
             $local_tpl['control_protocol'] = form_dropdown('control_protocol', $options, $this->dedicated_servers->ds_list['0']['control_protocol']);
             // Скрипты
             $local_tpl['script_start'] = quotes_to_entities($this->dedicated_servers->ds_list['0']['script_start']);
             $local_tpl['script_stop'] = quotes_to_entities($this->dedicated_servers->ds_list['0']['script_stop']);
             $local_tpl['script_restart'] = quotes_to_entities($this->dedicated_servers->ds_list['0']['script_restart']);
             $local_tpl['script_status'] = quotes_to_entities($this->dedicated_servers->ds_list['0']['script_status']);
             $local_tpl['script_get_console'] = quotes_to_entities($this->dedicated_servers->ds_list['0']['script_get_console']);
             $local_tpl['script_send_command'] = quotes_to_entities($this->dedicated_servers->ds_list['0']['script_send_command']);
             $local_tpl['script_path'] = $this->dedicated_servers->ds_list['0']['script_path'];
             $local_tpl['steamcmd_path'] = $this->dedicated_servers->ds_list['0']['steamcmd_path'];
             $local_tpl['gdaemon_host'] = $this->dedicated_servers->ds_list['0']['gdaemon_host'];
             $local_tpl['gdaemon_key'] = $this->dedicated_servers->ds_list['0']['gdaemon_key'];
             $local_tpl['ssh_host'] = $this->dedicated_servers->ds_list['0']['ssh_host'];
             $local_tpl['ssh_login'] = $this->dedicated_servers->ds_list['0']['ssh_login'];
             $local_tpl['ssh_path'] = $this->dedicated_servers->ds_list['0']['ssh_path'];
             $local_tpl['telnet_host'] = $this->dedicated_servers->ds_list['0']['telnet_host'];
             $local_tpl['telnet_login'] = $this->dedicated_servers->ds_list['0']['telnet_login'];
             $local_tpl['telnet_path'] = $this->dedicated_servers->ds_list['0']['telnet_path'];
             $local_tpl['ftp_host'] = $this->dedicated_servers->ds_list['0']['ftp_host'];
             $local_tpl['ftp_login'] = $this->dedicated_servers->ds_list['0']['ftp_login'];
             $local_tpl['ftp_path'] = $this->dedicated_servers->ds_list['0']['ftp_path'];
             $local_tpl['disabled_checkbox'] = form_checkbox('disabled', 'accept', $this->dedicated_servers->ds_list['0']['disabled']);
             // Получаем список серверов на DS
             $gs = $this->servers->get_game_servers_list(array('ds_id' => $id));
             $local_tpl['servers_list'] = $this->servers->tpl_data();
             /* 
              * Правила для формы
              * 
              * Документация:
              * http://cidocs.ru/213/libraries/form_validation.html
              * 
              */
             $this->form_validation->set_rules('name', lang('title'), 'trim|required|max_length[64]|min_length[3]|xss_clean');
             $this->form_validation->set_rules('os', lang('operationg_system'), 'trim|required|max_length[64]|min_length[3]|xss_clean');
             $this->form_validation->set_rules('location', lang('adm_servers_location'), 'trim|required|max_length[64]|min_length[3]|xss_clean');
             $this->form_validation->set_rules('provider', 'adm_servers_provider', 'trim|max_length[64]|min_length[3]|xss_clean');
             $this->form_validation->set_rules('ip', 'IP', 'trim|required|xss_clean');
             $this->form_validation->set_rules('ram', 'RAM', 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('cpu', 'CPU', 'trim|max_length[64]|xss_clean');
             // Скрипты
             $this->form_validation->set_rules('script_start', lang('adm_servers_command_start'), 'trim|max_length[256]|xss_clean');
             $this->form_validation->set_rules('script_stop', lang('adm_servers_command_stop'), 'trim|max_length[256]|xss_clean');
             $this->form_validation->set_rules('script_restart', lang('adm_servers_command_restart'), 'trim|max_length[256]|xss_clean');
             $this->form_validation->set_rules('script_status', lang('adm_servers_command_status'), 'trim|max_length[256]|xss_clean');
             $this->form_validation->set_rules('script_get_console', lang('adm_servers_command_get_console'), 'trim|max_length[256]|xss_clean');
             $this->form_validation->set_rules('script_send_command', lang('adm_servers_send_command'), 'trim|max_length[256]|xss_clean');
             // Редактирование данных доступа к серверу (пароли ftp, ssh)
             $this->form_validation->set_rules('steamcmd_path', lang('adm_servers_steamcmd_path'), 'trim|max_length[256]|xss_clean');
             $this->form_validation->set_rules('script_path', lang('adm_servers_script_path'), 'trim|max_length[256]|xss_clean');
             $this->form_validation->set_rules('gdaemon_host', lang('adm_servers_gdaemon_host'), 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('gdaemon_key', lang('adm_servers_gdaemon_key'), 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('ssh_host', lang('adm_servers_ftp_host'), 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('ssh_login', 'SSH login', 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('ssh_password', 'SSH password', 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('ssh_path', 'Path SSH', 'trim|max_length[256]|xss_clean');
             $this->form_validation->set_rules('telnet_host', lang('adm_servers_telnet_host'), 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('telnet_login', 'Telnet login', 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('telnet_password', 'Telnet password', 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('telnet_path', 'Path Telnet', 'trim|max_length[256]|xss_clean');
             $this->form_validation->set_rules('ftp_host', lang('adm_servers_ftp_host'), 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('ftp_login', 'FTP login', 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('ftp_password', 'FTP password', 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('ftp_path', 'Path FTP', 'trim|max_length[256]|xss_clean');
             $this->form_validation->set_rules('control_protocol', lang('adm_servers_control_protocol'), 'trim|min_length[3]|max_length[16]|xss_clean');
             break;
         case 'game_servers':
             /* --------------------------------------------	*/
             /* 				Игровые серверы					*/
             /* --------------------------------------------	*/
             $this->load->model('servers/dedicated_servers');
             $this->load->model('servers/games');
             $this->load->model('servers/game_types');
             $this->load->helper('form');
             //if(!$game_servers_list = $this->servers->get_game_servers_list(array('id' => $id), 1)){
             //	$this->_show_message('Сервера с таким ID не существует', '/adm_servers/view/game_servers');
             //	return false;
             //}
             if (!$this->servers->get_server_data($id)) {
                 $this->_show_message(lang('adm_servers_server_not_found'), site_url('adm_servers/view/game_servers'));
                 return false;
             }
             // Файл шаблона с формой
             $tpl_file_edit = 'adm_servers/game_servers_control.html';
             $servers_list = $this->servers->tpl_data();
             $local_tpl = $servers_list[0];
             $local_tpl['information'] = array();
             // Для tpl
             $local_tpl['screen_name'] = $this->servers->server_data['screen_name'];
             $local_tpl['su_user'] = $this->servers->server_data['su_user'];
             $local_tpl['server_dir'] = $this->servers->server_data['dir'];
             $local_tpl['game_type_id'] = $this->servers->server_data['game_type'];
             $local_tpl['server_start_code'] = $this->servers->server_data['start_code'];
             $local_tpl['start_command'] = $this->servers->server_data['start_command'];
             // Замена фигурных скобок, чтобы в параметрах запуска шоткоды команды не считались за шоткоды шаблона
             $local_tpl['start_command'] = str_replace('{', '&#123;', $local_tpl['start_command']);
             $local_tpl['start_command'] = str_replace('}', '&#125;', $local_tpl['start_command']);
             $local_tpl['query_port'] = $this->servers->server_data['query_port'];
             $local_tpl['rcon_port'] = $this->servers->server_data['rcon_port'];
             $local_tpl['cpu_limit'] = $this->servers->server_data['cpu_limit'];
             $local_tpl['ram_limit'] = $this->servers->server_data['ram_limit'];
             $local_tpl['net_limit'] = $this->servers->server_data['net_limit'];
             /* Получаем абсолютный путь к корневой директории с сервером и к исполняемым файлам */
             $local_tpl['full_server_path'] = $this->servers->server_data['script_path'] . '/' . $this->servers->server_data['dir'];
             $local_tpl['script_path'] = $this->servers->server_data['script_path'];
             // Модификация
             $where = array('game_code' => $this->servers->server_data['game']);
             $gametypes_list = $this->game_types->get_gametypes_list($where);
             $options = array();
             $i = 0;
             foreach ($gametypes_list as $list) {
                 $options[$list['id']] = $list['name'];
                 /* Узнаем ключ в массиве модификации которой принадлежит этот сервер */
                 if ($list['id'] == $this->servers->server_data['game_type']) {
                     $gt_key = $i;
                 }
                 $i++;
             }
             $local_tpl['game_type_dropdown'] = array();
             $local_tpl['aliases_list'] = array();
             $server_aliases = $this->servers->server_data['aliases'];
             $local_tpl['game_type_dropdown'] = form_dropdown('game_type', $options, $this->servers->server_data['game_type']);
             $local_tpl['server_enabled_checkbox'] = form_checkbox('enabled', 'accept', $this->servers->server_data['enabled']);
             // Заменяем двойные кавычки на html символы
             $local_tpl['start_command'] = str_replace('"', '&quot;', $local_tpl['start_command']);
             /* Информация о DS */
             if ($this->servers->server_data['ds_id']) {
                 $local_tpl['ds_name'] = $this->dedicated_servers->ds_list[0]['name'];
                 $local_tpl['ds_id'] = $this->dedicated_servers->ds_list[0]['id'];
                 $local_tpl['ds_location'] = $this->dedicated_servers->ds_list[0]['location'];
                 $local_tpl['ds_provider'] = $this->dedicated_servers->ds_list[0]['provider'];
             } else {
                 // Сервер локальный
                 $local_tpl['ds_name'] = lang('adm_servers_local_server');
                 $local_tpl['ds_id'] = 0;
             }
             /* Получение последних действий с сервером
              *  
              * количество получаемых логов = 50
              * количество отображаемых логов = 10
              * 
              * Некоторые из получаемых логов могут не относиться к серверам, из-за этого
              * таблица может быть пустой
              * 
              */
             $where = array('server_id' => $id);
             $server_plogs = $this->panel_log->get_log($where, 100);
             // Логи сервера в админпанели
             $local_tpl['log_list'] = array();
             $log_num = 0;
             $i = 0;
             $count_i = count($server_plogs);
             while ($i < $count_i) {
                 if ($log_num == 15) {
                     break;
                 }
                 $local_tpl['log_list'][$i]['log_id'] = $server_plogs[$i]['id'];
                 $local_tpl['log_list'][$i]['log_date'] = unix_to_human($server_plogs[$i]['date'], true, 'eu');
                 $local_tpl['log_list'][$i]['log_server_id'] = $server_plogs[$i]['server_id'];
                 $local_tpl['log_list'][$i]['log_user_name'] = $server_plogs[$i]['user_name'];
                 $local_tpl['log_list'][$i]['log_command'] = $server_plogs[$i]['command'];
                 /* Код действия на понятный язык */
                 switch ($server_plogs[$i]['type']) {
                     case 'server_rcon':
                         $local_tpl['log_list'][$i]['log_type'] = lang('server_control_rcon_send');
                         $log_num++;
                         break;
                     case 'server_command':
                         $local_tpl['log_list'][$i]['log_type'] = lang('server_control_command');
                         $log_num++;
                         break;
                     case 'server_update':
                         $local_tpl['log_list'][$i]['log_type'] = lang('server_control_update');
                         $log_num++;
                         break;
                     case 'server_task':
                         $local_tpl['log_list'][$i]['log_type'] = lang('server_control_srv_task');
                         $log_num++;
                         break;
                     case 'server_settings':
                         $local_tpl['log_list'][$i]['log_type'] = lang('server_control_settings');
                         $log_num++;
                         break;
                     case 'server_files':
                         $local_tpl['log_list'][$i]['log_type'] = lang('server_control_file_operation');
                         $log_num++;
                         break;
                     default:
                         // Тип лога неизвестен, удаляем его из списка (не из базы)
                         unset($local_tpl['log_list'][$i]);
                         break;
                 }
                 $i++;
             }
             /* ------------------------------ */
             /* Различная информация о сервере */
             /* ------------------------------ */
             if ($this->servers->server_data['installed'] == '0') {
                 $local_tpl['information'][]['text'] = lang('adm_servers_serv_not_installed') . '<br />';
             } elseif ($this->servers->server_data['installed'] == '1') {
                 $local_tpl['information'][]['text'] = lang('adm_servers_serv_installed') . '<br />';
             } elseif ($this->servers->server_data['installed'] == '2') {
                 $local_tpl['information'][]['text'] = lang('adm_servers_serv_installed_proccess') . '<br />';
             }
             /* 
              * --------------------------------------------
              * Проверка, имеются ли параметры в настройках 
              * --------------------------------------------
              */
             /* Допустимые алиасы */
             $allowable_aliases = isset($this->servers->server_data['aliases_list']) ? json_decode($this->servers->server_data['aliases_list'], true) : false;
             /* Значения алиасов на сервере */
             $server_aliases = $this->servers->server_data['aliases'];
             /* Прогон по алиасам */
             $empty_alias = '';
             if ($allowable_aliases && !empty($allowable_aliases)) {
                 /* Если параметр пуст, то выводим сообщение с предупреждением */
                 $i = 0;
                 foreach ($allowable_aliases as $alias) {
                     $local_tpl['aliases_list'][$i]['alias'] = $alias['alias'];
                     $local_tpl['aliases_list'][$i]['desc'] = $alias['desc'];
                     if (!isset($server_aliases[$alias['alias']]) or empty($server_aliases[$alias['alias']])) {
                         $empty_alias .= '"' . $alias['desc'] . '", ';
                         $local_tpl['aliases_list'][$i]['alias_value'] = '<' . lang('value_not_set') . '>';
                     } else {
                         $local_tpl['aliases_list'][$i]['alias_value'] = $server_aliases[$alias['alias']];
                     }
                     $i++;
                 }
             }
             if ($empty_alias != '') {
                 $local_tpl['information'][]['text'] = lang('adm_servers_gs_empty_settings') . ': ' . $empty_alias;
             }
             /* 
              * --------------------------------------------
              * Правила для формы
              * --------------------------------------------
              */
             $this->form_validation->set_rules('name', lang('name'), 'trim|required|max_length[64]|min_length[3]|xss_clean');
             $this->form_validation->set_rules('server_ip', lang('ip'), 'trim|max_length[64]|min_length[4]|xss_clean');
             $this->form_validation->set_rules('server_port', lang('port'), 'trim|required|integer|max_length[6]|min_length[2]|xss_clean');
             $this->form_validation->set_rules('query_port', lang('adm_servers_query_port'), 'trim|integer|max_length[6]|min_length[2]|xss_clean');
             $this->form_validation->set_rules('rcon_port', lang('adm_servers_rcon_port'), 'trim|integer|max_length[6]|min_length[2]|xss_clean');
             $this->form_validation->set_rules('rcon', 'RCON password', 'trim|max_length[64]|min_length[3]|xss_clean');
             $this->form_validation->set_rules('game_type', lang('adm_servers_game_type'), 'trim|required|integer|xss_clean');
             $this->form_validation->set_rules('dir', lang('adm_servers_server_dir'), 'trim|required|max_length[64]|xss_clean');
             $this->form_validation->set_rules('screen_name', lang('adm_servers_screen_name'), 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('su_user', lang('adm_servers_user_start'), 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('start_command', lang('adm_servers_command_start'), 'trim|max_length[512]|xss_clean');
             $this->form_validation->set_rules('cpu_limit', lang('adm_servers_cpu_limit'), 'trim|integer|less_than[100]|xss_clean');
             $this->form_validation->set_rules('ram_limit', lang('adm_servers_ram_limit'), 'trim|integer|xss_clean');
             $this->form_validation->set_rules('net_limit', lang('adm_servers_net_limit'), 'trim|integer|xss_clean');
             break;
         case 'games':
             /* --------------------------------------------	*/
             /* 				Игры							*/
             /* --------------------------------------------	*/
             $this->load->model('servers/games');
             $this->load->model('servers/game_types');
             if (!$this->games->get_games_list(array('code' => $id), 1)) {
                 $this->_show_message(lang('adm_servers_game_not_found'), site_url('adm_servers/view/games'));
                 return false;
             }
             // Файл шаблона с формой
             $tpl_file_edit = 'adm_servers/games_control.html';
             $tpl_list = $this->games->tpl_data_games();
             $local_tpl = $tpl_list[0];
             // Список модификаций
             $local_tpl['gt_list'] = $this->game_types->tpl_data_game_types(array('game_code' => $id));
             /* Правила для проверки формы */
             $this->form_validation->set_rules('name', lang('name'), 'trim|required|max_length[64]|min_length[3]|xss_clean');
             $this->form_validation->set_rules('code', lang('adm_servers_game_code'), 'trim|required|max_length[32]|min_length[2]|xss_clean');
             $this->form_validation->set_rules('start_code', lang('adm_servers_game_start_code'), 'trim|required|max_length[64]|min_length[2]|xss_clean');
             $this->form_validation->set_rules('engine', lang('adm_servers_engine'), 'trim|required|max_length[64]|min_length[3]|xss_clean');
             $this->form_validation->set_rules('engine_version', lang('adm_servers_engine_version'), 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('app_id', 'app_id', 'trim|integer|max_length[32]|xss_clean');
             $this->form_validation->set_rules('app_set_config', 'app_set_config', 'trim|max_length[32]|xss_clean');
             $this->form_validation->set_rules('local_repository', lang('adm_servers_local_repository'), 'trim|xss_clean');
             $this->form_validation->set_rules('remote_repository', lang('adm_servers_remote_repository'), 'trim|xss_clean');
             break;
         case 'game_types':
             /* --------------------------------------------	*/
             /* 				Игровые модификации				*/
             /* --------------------------------------------	*/
             $this->load->model('servers/game_types');
             $this->load->model('servers/games');
             if (!($gt_list = $this->game_types->get_gametypes_list(array('id' => $id)))) {
                 $this->_show_message(lang('adm_servers_game_type_not_found'), site_url('adm_servers/view/game_types'));
                 return false;
             }
             // Файл шаблона с формой
             $tpl_file_edit = 'adm_servers/game_types_control.html';
             $tpl_list = $this->game_types->tpl_data_game_types();
             $local_tpl = $tpl_list[0];
             $local_tpl['game_code'] = $gt_list[0]['game_code'];
             /* Делаем список с играми */
             $games_list = $this->games->get_games_list();
             foreach ($games_list as $list) {
                 $options[$list['code']] = $list['name'];
             }
             $local_tpl['gt_code'] = form_dropdown('game_code', $options, $gt_list[0]['game_code']);
             $local_tpl['frcon_list'] = array();
             $local_tpl['aliases_list'] = array();
             $local_tpl['frcon_count'] = 0;
             $local_tpl['aliases_count'] = 0;
             if ($json_decode = json_decode($gt_list[0]['fast_rcon'], true)) {
                 $i = 0;
                 foreach ($json_decode as $array) {
                     $local_tpl['frcon_list'][$i]['id'] = $i;
                     $local_tpl['frcon_list'][$i]['desc'] = form_input('frcon_desc[]', $array['desc']);
                     $local_tpl['frcon_list'][$i]['rcon_command'] = form_input('frcon_command[]', $array['rcon_command']);
                     $i++;
                 }
                 $local_tpl['frcon_count'] = $i;
             }
             if ($json_decode = json_decode($gt_list[0]['aliases'], true)) {
                 $i = 0;
                 foreach ($json_decode as $array) {
                     isset($array['default_value']) or $array['default_value'] = '';
                     $local_tpl['aliases_list'][$i]['id'] = $i;
                     $local_tpl['aliases_list'][$i]['alias'] = form_input('alias_name[]', $array['alias']);
                     $local_tpl['aliases_list'][$i]['desc'] = form_input('alias_desc[]', $array['desc']);
                     $local_tpl['aliases_list'][$i]['default_value'] = form_input('default_value[]', $array['default_value']);
                     $local_tpl['aliases_list'][$i]['only_admins'] = form_checkbox('alias_only_admins[' . $i . ']', 'accept', $array['only_admins']);
                     $i++;
                 }
                 $local_tpl['aliases_count'] = $i;
             }
             /*
              * Данные для проверки формы 
              */
             $this->form_validation->set_rules('name', lang('name'), 'trim|required|max_length[64]|min_length[3]|xss_clean');
             $this->form_validation->set_rules('game_code', lang('adm_servers_game_code'), 'trim|required|max_length[32]|min_length[2]|xss_clean');
             /* Сведения о fast rcon командах */
             $this->form_validation->set_rules('frcon_desc[]', 'описание fast rcon команды', 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('frcon_command[]', 'fast rcon команда', 'trim|max_length[64]|xss_clean');
             /* Сведения об алиасах */
             $this->form_validation->set_rules('alias_name[]', 'имя алиаса', 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('alias_desc[]', 'описание алиаса', 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('alias_only_admins[]', 'только для администраторов', 'trim|xss_clean');
             /* Сведения для управления игроками */
             $this->form_validation->set_rules('kick_cmd', lang('adm_servers_kick_cmd'), 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('ban_cmd', lang('adm_servers_ban_cmd'), 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('chname_cmd', lang('adm_servers_chname_cmd'), 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('srestart_cmd', lang('adm_servers_srestart_cmd'), 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('chmap_cmd', lang('adm_servers_chmap_cmd'), 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('sendmsg_cmd', lang('adm_servers_sendmsg_cmd'), 'trim|max_length[64]|xss_clean');
             $this->form_validation->set_rules('passwd_cmd', lang('adm_servers_passwd_cmd'), 'trim|max_length[64]|xss_clean');
             /* Репозитории */
             $this->form_validation->set_rules('local_repository', lang('adm_servers_local_repository'), 'trim|xss_clean');
             $this->form_validation->set_rules('remote_repository', lang('adm_servers_remote_repository'), 'trim|xss_clean');
             break;
         default:
             redirect('');
             break;
     }
     /* 
      * Проверка заполненной формы, если все в порядке,
      * то добавляем данные в базу.
      * Если не в порядке, то отображаем форму
      */
     if ($this->form_validation->run() == false) {
         if (validation_errors()) {
             $this->_show_message(validation_errors());
             return false;
         }
         $this->tpl_data['content'] .= $this->parser->parse($tpl_file_edit, $local_tpl, true);
     } else {
         // Форма проверена, все впорядке
         switch ($type) {
             case 'dedicated_servers':
                 /* --------------------------------------------	*/
                 /* 				Выделенные серверы 				*/
                 /* --------------------------------------------	*/
                 // Форма проверена, все хорошо, добавляем сервер
                 $sql_data['name'] = $this->input->post('name');
                 $sql_data['os'] = $this->input->post('os');
                 $sql_data['location'] = $this->input->post('location');
                 $sql_data['provider'] = $this->input->post('provider');
                 $sql_data['ram'] = (int) $this->input->post('ram');
                 $sql_data['cpu'] = (int) $this->input->post('cpu');
                 $sql_data['disabled'] = (int) (bool) $this->input->post('disabled');
                 /* Обработка списка IP адресов */
                 $ip_list = explode(',', str_replace(' ', '', $this->input->post('ip')));
                 $sql_data['ip'] = json_encode($ip_list);
                 // Скрипты
                 $sql_data['script_start'] = $this->input->post('script_start');
                 $sql_data['script_stop'] = $this->input->post('script_stop');
                 $sql_data['script_restart'] = $this->input->post('script_restart');
                 $sql_data['script_status'] = $this->input->post('script_status');
                 $sql_data['script_get_console'] = $this->input->post('script_get_console');
                 $sql_data['script_send_command'] = $this->input->post('script_send_command');
                 // Редактирование данных доступа к серверу (пароли ftp, ssh)
                 $sql_data['steamcmd_path'] = $this->input->post('steamcmd_path');
                 //~ $sql_data['script_path'] 		= $this->input->post('script_path');
                 $sql_data['control_protocol'] = $this->input->post('control_protocol');
                 $sql_data['gdaemon_host'] = $this->input->post('gdaemon_host');
                 $sql_data['gdaemon_key'] = $this->input->post('gdaemon_key');
                 $sql_data['ssh_host'] = $this->input->post('ssh_host');
                 $sql_data['ssh_login'] = $this->input->post('ssh_login');
                 $sql_data['ssh_password'] = $this->input->post('ssh_password');
                 $sql_data['ssh_path'] = $this->input->post('script_path');
                 $sql_data['telnet_host'] = $this->input->post('telnet_host');
                 $sql_data['telnet_login'] = $this->input->post('telnet_login');
                 $sql_data['telnet_password'] = $this->input->post('telnet_password');
                 $sql_data['telnet_path'] = $this->input->post('script_path');
                 $sql_data['ftp_host'] = $this->input->post('ftp_host');
                 $sql_data['ftp_login'] = $this->input->post('ftp_login');
                 $sql_data['ftp_password'] = $this->input->post('ftp_password');
                 $sql_data['ftp_path'] = $this->input->post('ftp_path');
                 /* 
                  * Проверка указандых данных ssh, telnet, ftp
                  * чтобы пароль подходил
                  */
                 // GDaemon
                 if (!empty($sql_data['gdaemon_host'])) {
                     /* Ключ не задан, берем из базы */
                     if (empty($sql_data['gdaemon_key'])) {
                         $gdaemon_key = $this->dedicated_servers->ds_list['0']['gdaemon_key'];
                     } else {
                         $gdaemon_key = $sql_data['gdaemon_key'];
                     }
                     if (false == $this->_check_gdaemon($sql_data['gdaemon_host'], $gdaemon_key)) {
                         $this->_show_message(lang('adm_servers_gdaemon_data_unavailable'), 'javascript:history.back()');
                         return false;
                     }
                 }
                 // SSH
                 if (!empty($sql_data['ssh_host'])) {
                     /* Пароль не задан, берем из базы */
                     if (empty($sql_data['ssh_password'])) {
                         $ssh_password = $this->dedicated_servers->ds_list['0']['ssh_password'];
                     } else {
                         $ssh_password = $sql_data['ssh_password'];
                     }
                     if (false == $this->_check_ssh($sql_data['ssh_host'], $sql_data['ssh_login'], $ssh_password)) {
                         $this->_show_message(lang('adm_servers_ssh_data_unavailable'), 'javascript:history.back()');
                         return false;
                     }
                     $ssh_host = explode(':', $sql_data['ssh_host']);
                     $ssh_host[1] = isset($ssh_host[1]) ? (int) $ssh_host[1] : 22;
                     $sftp_config['hostname'] = $ssh_host[0];
                     $sftp_config['port'] = $ssh_host[1];
                     $sftp_config['username'] = $sql_data['ssh_login'];
                     $sftp_config['password'] = $ssh_password;
                     $sftp_config['debug'] = false;
                     if (!($sql_data['ssh_path'] = $this->_found_sftp_path($sql_data['ssh_path'], $sftp_config))) {
                         $this->_show_message(lang('adm_servers_sftp_path_not_found'), 'javascript:history.back()');
                         return false;
                     }
                 }
                 // FTP
                 if (!empty($sql_data['ftp_host'])) {
                     /* Пароль не задан, берем из базы */
                     if (empty($sql_data['ftp_password'])) {
                         $ftp_password = $this->dedicated_servers->ds_list['0']['ftp_password'];
                     } else {
                         $ftp_password = $sql_data['ftp_password'];
                     }
                     if (false == $this->_check_ftp($sql_data['ftp_host'], $sql_data['ftp_login'], $ftp_password)) {
                         $this->_show_message(lang('adm_servers_ftp_data_unavailable'), 'javascript:history.back()');
                         return false;
                     }
                     if (!($sql_data['ftp_path'] = $this->_found_ftp_path($sql_data['ftp_path']))) {
                         $this->_show_message(lang('adm_servers_ftp_path_not_found'), 'javascript:history.back()');
                         return false;
                     }
                 }
                 // TELNET
                 if (!empty($sql_data['telnet_host'])) {
                     /* Пароль не задан, берем из базы */
                     if (empty($sql_data['telnet_password'])) {
                         $telnet_password = $this->dedicated_servers->ds_list['0']['telnet_password'];
                     } else {
                         $telnet_password = $sql_data['telnet_password'];
                     }
                     if (false == $this->_check_telnet($sql_data['telnet_host'], $sql_data['telnet_login'], $telnet_password, strtolower($sql_data['os']))) {
                         $this->_show_message(lang('adm_servers_telnet_data_unavailable'), 'javascript:history.back()');
                         return false;
                     }
                 }
                 if ($this->dedicated_servers->edit_dedicated_server($id, $sql_data)) {
                     $local_tpl['message'] = lang('adm_servers_server_data_changed');
                 } else {
                     $local_tpl['message'] = lang('adm_servers_error_server_edit');
                 }
                 // Записываем логи
                 $log_data['type'] = 'adm_servers';
                 $log_data['command'] = 'edit_ds';
                 $log_data['server_id'] = 0;
                 $log_data['user_name'] = $this->users->auth_login;
                 $log_data['msg'] = $local_tpl['message'];
                 $log_data['log_data'] = 'ID: ' . $id;
                 $this->panel_log->save_log($log_data);
                 $local_tpl['link'] = site_url('adm_servers/view/dedicated_servers');
                 $local_tpl['back_link_txt'] = lang('adm_servers_back_to_servers');
                 break;
             case 'game_servers':
                 /* --------------------------------------------	*/
                 /* 				Игровые серверы					*/
                 /* --------------------------------------------	*/
                 $sql_data['name'] = $this->input->post('name');
                 $sql_data['server_ip'] = $this->input->post('server_ip');
                 $sql_data['server_port'] = $this->input->post('server_port');
                 $sql_data['query_port'] = $this->input->post('query_port');
                 $sql_data['rcon_port'] = $this->input->post('rcon_port');
                 //$sql_data['game'] = $this->input->post('code');
                 $sql_data['dir'] = $this->input->post('dir');
                 $sql_data['game_type'] = $this->input->post('game_type');
                 $sql_data['enabled'] = (int) (bool) $this->input->post('enabled');
                 //$sql_data['ds_id'] = $this->input->post('ds_id');
                 $sql_data['screen_name'] = $this->input->post('screen_name');
                 $sql_data['su_user'] = $this->input->post('su_user');
                 $sql_data['start_command'] = $this->input->post('start_command');
                 $sql_data['cpu_limit'] = $this->input->post('cpu_limit');
                 $sql_data['ram_limit'] = $this->input->post('ram_limit');
                 $sql_data['net_limit'] = $this->input->post('net_limit');
                 /* Чтобы ид модификации был правильный и подходил для выбранной игры */
                 $where = array('id' => $sql_data['game_type'], 'game_code' => $this->servers->server_data['game']);
                 if (!$this->game_types->get_gametypes_list($where, 1)) {
                     $this->_show_message(lang('adm_servers_game_type_select_wrong'));
                     return false;
                 }
                 /* RCON */
                 if ($this->input->post('rcon') != '') {
                     /* Собственно смена rcon пароля */
                     $this->servers->change_rcon($this->input->post('rcon'), null, false);
                     $sql_data['rcon'] = $this->input->post('rcon');
                 }
                 if ($this->servers->edit_game_server($id, $sql_data)) {
                     $local_tpl['message'] = lang('adm_servers_server_data_changed');
                 } else {
                     $local_tpl['message'] = lang('adm_servers_error_server_edit');
                 }
                 // Записываем логи
                 $log_data['type'] = 'adm_servers';
                 $log_data['command'] = 'edit_game_server';
                 $log_data['server_id'] = $id;
                 $log_data['user_name'] = $this->users->auth_login;
                 $log_data['msg'] = $local_tpl['message'];
                 $log_data['log_data'] = 'ID: ' . $id;
                 $this->panel_log->save_log($log_data);
                 $local_tpl['link'] = site_url('adm_servers/view/game_servers');
                 $local_tpl['back_link_txt'] = lang('adm_servers_back_to_servers');
                 break;
             case 'games':
                 /* --------------------------------------------	*/
                 /* 				Игры			 				*/
                 /* --------------------------------------------	*/
                 $sql_data['name'] = $this->input->post('name');
                 $sql_data['code'] = $this->input->post('code');
                 $sql_data['start_code'] = $this->input->post('start_code');
                 $sql_data['engine'] = $this->input->post('engine');
                 $sql_data['engine_version'] = $this->input->post('engine_version');
                 $sql_data['app_id'] = $this->input->post('app_id');
                 $sql_data['app_set_config'] = $this->input->post('app_set_config');
                 $sql_data['local_repository'] = $this->input->post('local_repository');
                 $sql_data['remote_repository'] = $this->input->post('remote_repository');
                 // Проверка наличия файла в удалённом репозитории
                 if (!remote_file_exists($sql_data['remote_repository'])) {
                     $this->_show_message('adm_servers_rep_file_not_exists');
                     return false;
                 }
                 // Проверяем наличие Query класса
                 if (!file_exists(APPPATH . 'libraries/gameq/protocols/' . strtolower($sql_data['engine']) . '.php')) {
                     $this->_show_message('adm_servers_unknown_engine');
                     return false;
                 }
                 /* Убираем кавычки из app_set_config */
                 $sql_data['app_set_config'] = str_replace('\'', '', $sql_data['app_set_config']);
                 $sql_data['app_set_config'] = str_replace('"', '', $sql_data['app_set_config']);
                 $sql_data['app_set_config'] = str_replace('	', '', $sql_data['app_set_config']);
                 if ($this->games->edit_game($id, $sql_data)) {
                     $local_tpl['message'] = lang('adm_servers_game_data_changed');
                 } else {
                     $local_tpl['message'] = lang('adm_servers_error_game_edit');
                 }
                 // Записываем логи
                 $log_data['type'] = 'adm_servers';
                 $log_data['command'] = 'edit_game';
                 $log_data['server_id'] = 0;
                 $log_data['user_name'] = $this->users->auth_login;
                 $log_data['msg'] = $local_tpl['message'];
                 $log_data['log_data'] = 'ID: ' . $id;
                 $this->panel_log->save_log($log_data);
                 $local_tpl['link'] = site_url('adm_servers/view/games');
                 $local_tpl['back_link_txt'] = lang('adm_servers_back_to_games');
                 break;
             case 'game_types':
                 /* --------------------------------------------	*/
                 /* 				Игровые модификации				*/
                 /* --------------------------------------------	*/
                 $sql_data['name'] = $this->input->post('name');
                 $sql_data['game_code'] = $this->input->post('game_code');
                 $sql_data['kick_cmd'] = $this->input->post('kick_cmd');
                 $sql_data['ban_cmd'] = $this->input->post('ban_cmd');
                 $sql_data['chname_cmd'] = $this->input->post('chname_cmd');
                 $sql_data['srestart_cmd'] = $this->input->post('srestart_cmd');
                 $sql_data['chmap_cmd'] = $this->input->post('chmap_cmd');
                 $sql_data['sendmsg_cmd'] = $this->input->post('sendmsg_cmd');
                 $sql_data['passwd_cmd'] = $this->input->post('passwd_cmd');
                 $sql_data['local_repository'] = $this->input->post('local_repository');
                 $sql_data['remote_repository'] = $this->input->post('remote_repository');
                 // Проверка наличия файла в удалённом репозитории
                 if (!remote_file_exists($sql_data['remote_repository'])) {
                     $this->_show_message('adm_servers_rep_file_not_exists');
                     return false;
                 }
                 /*
                  * ----------------------------
                  * 	Перебор frcon комманд
                  * ----------------------------
                  */
                 $frcon_list['desc'] = $this->input->post('frcon_desc');
                 $frcon_list['command'] = $this->input->post('frcon_command');
                 $frcon_list['delete'] = $this->input->post('frcon_delete');
                 if (!empty($frcon_list['command'])) {
                     $i = -1;
                     foreach ($frcon_list['command'] as $command) {
                         $i++;
                         /* Пустые значения выкидываем */
                         if ($command == '') {
                             continue;
                         }
                         /* Пустые значения выкидываем */
                         if ($frcon_list['desc'][$i] == '') {
                             continue;
                         }
                         /* Значение должно быть удалено */
                         if (isset($frcon_list['delete'][$i])) {
                             continue;
                         }
                         $fast_rcon[$i]['desc'] = $frcon_list['desc'][$i];
                         $fast_rcon[$i]['rcon_command'] = $command;
                     }
                     if (isset($fast_rcon)) {
                         $sql_data['fast_rcon'] = json_encode(array_values($fast_rcon));
                     }
                 }
                 /*
                  * ----------------------------
                  * 	Перебор алиасов
                  * ----------------------------
                  */
                 $aliases_list['alias'] = $this->input->post('alias_name');
                 $aliases_list['desc'] = $this->input->post('alias_desc');
                 $aliases_list['default_value'] = $this->input->post('default_value');
                 $aliases_list['only_admins'] = $this->input->post('alias_only_admins');
                 $aliases_list['delete'] = $this->input->post('alias_delete');
                 /* Массив с системными алиасами. Их использовать нельзя */
                 $sys_aliases = array('id', 'script_path', 'command', 'game_dir', 'dir', 'name', 'ip', 'port', 'game', 'user');
                 if (!empty($aliases_list['alias'])) {
                     $i = -1;
                     foreach ($aliases_list['alias'] as $alias) {
                         $i++;
                         /* Пустые значения выкидываем */
                         if ($alias == '') {
                             continue;
                         }
                         /* Пустые значения выкидываем */
                         if ($aliases_list['desc'][$i] == '') {
                             continue;
                         }
                         /* Пустые значения выкидываем */
                         if (empty($aliases_list['only_admins'][$i])) {
                             $aliases_list['only_admins'][$i] = false;
                         }
                         /* Значение должно быть удалено */
                         if (isset($aliases_list['delete'][$i])) {
                             continue;
                         }
                         /* Алиас не должен быть системным */
                         if (in_array($alias, $sys_aliases)) {
                             continue;
                         }
                         $aliases[$i]['alias'] = $alias;
                         $aliases[$i]['desc'] = $aliases_list['desc'][$i];
                         $aliases[$i]['default_value'] = $aliases_list['default_value'][$i];
                         $aliases[$i]['only_admins'] = (bool) $aliases_list['only_admins'][$i];
                     }
                     if (isset($aliases)) {
                         $sql_data['aliases'] = json_encode(array_values($aliases));
                     }
                 }
                 if ($this->game_types->edit_game_type($id, $sql_data)) {
                     $local_tpl['message'] = lang('adm_servers_game_type_data_changed');
                 } else {
                     $local_tpl['message'] = lang('adm_servers_error_game_type_edit');
                 }
                 // Записываем логи
                 $log_data['type'] = 'adm_servers';
                 $log_data['command'] = 'edit_game_type';
                 $log_data['server_id'] = 0;
                 $log_data['user_name'] = $this->users->auth_login;
                 $log_data['msg'] = $local_tpl['message'];
                 $log_data['log_data'] = 'ID: ' . $id;
                 $this->panel_log->save_log($log_data);
                 $local_tpl['link'] = site_url('adm_servers/edit/game_types/' . $id);
                 $local_tpl['back_link_txt'] = lang('adm_servers_back_to_game_types');
                 break;
         }
         $this->tpl_data['content'] = $this->parser->parse('info.html', $local_tpl, true);
     }
     $this->parser->parse('main.html', $this->tpl_data);
 }
Esempio n. 6
0
function get_largest_youtube_thumb($youtube_thumb_url)
{
    $youtube_thumb_url = substr($youtube_thumb_url, 0, strrpos($youtube_thumb_url, '/'));
    $url = $youtube_thumb_url . '/maxresdefault.jpg';
    if (remote_file_exists($url)) {
        return $url;
    }
    $url = $youtube_thumb_url . '/sddefault.jpg';
    if (remote_file_exists($url)) {
        return $url;
    }
    $url = $youtube_thumb_url . '/hqdefault.jpg';
    if (remote_file_exists($url)) {
        return $url;
    }
    $url = $youtube_thumb_url . '/mqdefault.jpg';
    if (remote_file_exists($url)) {
        return $url;
    }
    return $youtube_thumb_url . '/default.jpg';
}
Esempio n. 7
0
function get_file_path($file_name = "", $image_type = "media", $cat_id = 0, $in_admin = 0, $return_icon = 1, $check_remote = CHECK_REMOTE_FILES)
{
    $return_code = $return_icon ? ICON_PATH . "/404.gif" : 0;
    if (empty($file_name)) {
        return $return_code;
    }
    if (is_remote($file_name)) {
        $check_handle = "check_remote_" . $image_type;
        return $check_handle($file_name) && remote_file_exists($file_name, $check_remote) ? $in_admin && !preg_match("#\\.(gif|jpg|jpeg|png)\$#is", $file_name) ? ICON_PATH . "/" . get_file_extension($file_name) . ".gif" : $file_name : $return_code;
    } elseif (is_local_file($file_name)) {
        $check_handle = "check_local_" . $image_type;
        $file_name = $in_admin && preg_match("/^([\\.]+|[^\\/])/", $file_name) ? "../" . $file_name : $file_name;
        if (!file_exists($file_name)) {
            $file_path = preg_replace("/\\/{2,}/", "/", get_document_root() . "/" . $file_name);
            return $check_handle($file_name) && file_exists($file_path) ? $in_admin && !preg_match("#\\.(gif|jpg|jpeg|png)\$#is", $file_name) ? ICON_PATH . "/" . get_file_extension($file_name) . ".gif" : $file_name : $return_code;
        } else {
            return $file_name;
        }
    } else {
        $check_handle = "check_" . $image_type . "_type";
        $path = ($image_type == "media" ? $cat_id ? MEDIA_PATH . "/" . $cat_id : MEDIA_TEMP_PATH : ($cat_id ? THUMB_PATH . "/" . $cat_id : THUMB_TEMP_PATH)) . "/" . $file_name;
        return $check_handle($file_name) && file_exists($path) ? $in_admin && !preg_match("#\\.(gif|jpg|jpeg|png)\$#is", $file_name) ? ICON_PATH . "/" . get_file_extension($file_name) . ".gif" : $path : $return_code;
    }
}
Esempio n. 8
0
function layout($Err, $U, $R, $T, $C, $status, $RemMe)
{
    global $DbLink;
    global $ChatPath, $From, $Action, $L, $RES, $Ver;
    global $Charset, $CellAlign, $Align, $DisplayFontMsg, $FontPack, $FontName;
    global $AvailableLanguages;
    global $DefaultChatRooms, $DefaultDispChatRooms;
    global $DefaultPrivateRooms;
    if ($Err) {
        global $Error;
    }
    require "{$ChatPath}search.php";
    $show_search = !C_SEARCH_PAID;
    $show_donation = !C_SUPPORT_PAID;
    if (!isset($Ver) || $Ver == "") {
        $Ver = "H";
    }
    /*	UNDER DEVELOPMENT for scheduling chat hours - already in admin
    	// Include the schedule library
    	include("./${ChatPath}lib/schedule.lib.php");
    
    	echo($open_dly." | ".$open_sun." | ".$sched_sun." | ".$daynow." | ".$datenow." | ".$closed." | ".$timenow);
    */
    ?>
<div id="fb-root"></div>
<script>(function(d, s, id) {
  var js, fjs = d.getElementsByTagName(s)[0];
  if (d.getElementById(id)) return;
  js = d.createElement(s); js.id = id;
  js.src = "//connect.facebook.net/<?php 
    echo str_replace("sr_CS", "sr_RS", str_replace("es_AR", "es_ES", L_LANG));
    ?>
/all.js#xfbml=1&appId=49226597181";
  fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<TABLE ALIGN="center" CELLPADDING=5 CLASS="ChatBody">
<TR>
<TD CLASS="ChatBody">
<CENTER>
<FORM ACTION="<?php 
    echo "{$Action}";
    ?>
" METHOD="POST" AUTOCOMPLETE="" NAME="Params" onSubmit="defineVerField(); return isCookieEnabled();">
<SPAN CLASS="ChatTitle"><?php 
    if (C_SHOW_LOGO) {
        echo APP_LOGO;
    }
    ?>
<br /><?php 
    echo C_CHAT_NAME != "" ? C_CHAT_NAME . "<br /><SPAN CLASS=ChatP3><SPAN dir=\"LTR\">- " . APP_NAME . " (" . APP_VERSION . APP_MINOR . ") -</SPAN>" : "<SPAN dir=\"LTR\">" . APP_NAME . " (" . APP_VERSION . APP_MINOR . ")";
    ?>
</SPAN></SPAN>
<?php 
    // Msg for translations with no real iso code
    if (isset($FontPack) && $FontPack != "" && file_exists($ChatPath . "localization/{$L}/{$FontPack}")) {
        if (!isset($Error) && $DisplayFontMsg) {
            echo "<P CLASS=\"ChatError\">This translation of " . APP_NAME . " requires <A HREF=\"{$ChatPath}localization/{$L}/{$FontPack}\" CLASS=\"ChatFonts\" title=\"" . str_replace('"', '', $FontName) . "\">these font faces</A></P>";
        }
    }
    if (C_SHOW_TUT) {
        ?>
<P>
<A HREF="<?php 
        echo $ChatPath;
        ?>
tutorial_popup.php?<?php 
        echo "L={$L}&Ver={$Ver}";
        ?>
" onClick="tutorial_popup(); return false" CLASS="ChatLink" TARGET="_blank" onMouseOver="window.status='<?php 
        echo L_TUTORIAL;
        ?>
.'; return true;" title="<?php 
        echo L_TUTORIAL;
        ?>
"><?php 
        echo L_TUTORIAL;
        ?>
</A>
</P>
<?php 
    }
    ?>
<P CLASS="ChatP1">
<?php 
    if (C_MSG_DEL == "1") {
        $hours = L_HOUR;
    } else {
        $hours = L_HOURS;
    }
    if (C_USR_DEL == "1") {
        $mins = L_MIN;
    } else {
        $mins = L_MINS;
    }
    echo sprintf(L_WEL_1, C_MSG_DEL, $hours);
    if (C_CHAT_BOOT) {
        echo ",<br />" . sprintf(L_WEL_2, C_USR_DEL, $mins);
    }
    echo ".";
    ?>
</P>
<?php 
    $DefaultRoomFound = 0;
    // Ghost Control mod by Ciprian
    $Hide = "";
    if (C_HIDE_ADMINS) {
        $Hide .= " AND (u.status != 'a' OR u.username = '******') AND u.status != 't'";
    }
    if (C_HIDE_MODERS) {
        $Hide .= " AND u.status !='m'";
    }
    if (C_SPECIAL_GHOSTS != "") {
        $sghosts = str_replace("username", "u.username", C_SPECIAL_GHOSTS);
        $Hide .= " AND u.username != " . $sghosts . "";
    }
    if ($DbLink->query("SELECT DISTINCT u.username FROM " . C_USR_TBL . " u, " . C_MSG_TBL . " m WHERE u.room = m.room AND m.type = 1" . $Hide . "")) {
        $Nb = $DbLink->num_rows();
        $link = " <A HREF=\"{$ChatPath}users_popup" . $Ver1 . ".php?From={$From}&L={$L}\" CLASS=\"ChatLink\" onClick=\"users_popup(); return false\" TARGET=\"_blank\" onMouseOver=\"window.status='" . sprintf(L_CLICK, L_LINKS_11) . ".'; return true;\" title='" . sprintf(L_CLICK, L_LINKS_11) . "'>";
        echo "<P CLASS=\"ChatP1\">" . L_CUR_1 . " " . ($Nb != 1 ? L_CUR_1a . " " . $link . $Nb . " " . L_USERS . "</A>" : L_CUR_1b . " " . $link . $Nb . " " . L_USER . "</A>") . " " . L_CUR_2 . ".";
        $DbLink->clean_results();
    }
    if (C_CHAT_LURKING && (C_SHOW_LURK_USR || $status == "a" || $status == "t")) {
        /*
        	$handler = @mysql_connect(C_DB_HOST,C_DB_USER,C_DB_PASS);
        	@mysql_query("SET CHARACTER SET utf8");
        	@mysql_query("SET NAMES 'utf8'");
        	@mysql_select_db(C_DB_NAME,$handler);
        	$delete = @mysql_query("DELETE FROM ".C_LRK_TBL." WHERE time<'$closetime'",$handler);
        	$result = @mysql_query("SELECT DISTINCT ip,browser,username FROM ".C_LRK_TBL.$Hide1."",$handler);
        	$online_users = @mysql_numrows($result);
        	@mysql_close();
        */
        $timeout = "15";
        #	$closetime = time() + C_TMZ_OFFSET*60*60 - $timeout;
        $closetime = time() - $timeout;
        // Ghost Control mod by Ciprian
        $Hide1 = "";
        $online_users = 0;
        if (C_HIDE_ADMINS) {
            $Hide1 .= $Hide1 == "" ? " WHERE status != 'a' AND status != 't'" : " AND status != 'a' AND status != 't'";
        }
        if (C_HIDE_MODERS) {
            $Hide1 .= $Hide1 == "" ? " WHERE status != 'm'" : " AND status != 'm'";
        }
        if (C_SPECIAL_GHOSTS != "") {
            $Hide1 .= $Hide1 == "" ? " WHERE username != " . C_SPECIAL_GHOSTS . "" : " AND username != " . C_SPECIAL_GHOSTS . "";
        }
        $DbLink->query("DELETE FROM " . C_LRK_TBL . " WHERE time<'" . $closetime . "'");
        $DbLink->query("SELECT DISTINCT ip,browser,username FROM " . C_LRK_TBL . $Hide1);
        $online_users = $DbLink->num_rows();
        $lurklink = " <A HREF=\"lurking.php?L={$L}&D=10\" CLASS=\"ChatLink\" TARGET=\"_blank\" onMouseOver=\"window.status='" . L_LURKING_1 . ".'; return true;\" title='" . L_LURKING_1 . "'>";
        echo "<br />" . L_CUR_1 . " " . ($online_users != 1 ? L_CUR_1a . $lurklink . $online_users . " " . L_LURKERS . "</A>." : L_CUR_1b . $lurklink . $online_users . " " . L_LURKER . "</A>.");
    }
    $copy_break = 0;
    if (!strstr($search, "9362782527650497") || !isset($search)) {
        $copy_break = 1;
    }
    if ($show_donation) {
        $pptype = "big";
        require "{$ChatPath}lib/support.lib.php";
        if ((intval($ppbutton) < 3620000 || intval($ppbutton) > 3627000 && intval($ppbutton) != 7148858 && intval($ppbutton) != 7148805 && (intval($ppbutton) < 7988359 || intval($ppbutton) > 7988406)) && $ppbutton != "KYVK6TQWY4MXJ" && $ppbutton != "QN9TYKJ49BM7S" && $ppbutton != "RJK6MGRQVAJY2" && $ppbutton != "ZCXGTP265VU6S" && $ppbutton != "MGBHACRT5F4RE" && $ppbutton != "6HRWUGAN73NPS" && $ppbutton != "WDA8GUU9GGSTS" && $ppbutton != "T9MP68SK7HBKQ" && $ppbutton != "DBH7XN4YA7A2J" && $ppbutton != "BTHKH33JLGLTN" && $ppbutton != "9HQJX5TAPJ33A" && $ppbutton != "YJD5RVSDH55GA" && $ppbutton != "KLSRD9WFZH984" && $ppbutton != "2K6JTW959U66A" && $ppbutton != "6JNU4L83BSTN2" && $ppbutton != "JW4A2MMTLXYSU" && $ppbutton != "RQ3GHM7HSY95Q" && $ppbutton != "8C5WYJSNYG5BY" && $ppbutton != "DLBFN422X69WG" && $ppbutton != "T2BQZSP33V2KA") {
            $copy_break = 1;
        }
    }
    ?>
</P>
<?php 
    if (isset($Error)) {
        echo "<P CLASS=\"ChatError\">{$Error}</P>";
    }
    ?>
<INPUT TYPE="hidden" NAME="Ver" VALUE="<?php 
    echo $Ver;
    ?>
">
<INPUT TYPE="hidden" NAME="Form_Send" VALUE="1">
<INPUT TYPE="hidden" NAME="L" VALUE="<?php 
    echo $L;
    ?>
">
<INPUT TYPE="hidden" NAME="N" VALUE="<?php 
    echo C_MSG_NB;
    ?>
">
<INPUT TYPE="hidden" NAME="D" VALUE="<?php 
    echo C_MSG_REFRESH;
    ?>
">

<TABLE BORDER=0 CELLPADDING=3 CLASS="ChatTable">
<TR CLASS="ChatCell">
	<TD ALIGN="CENTER" CLASS="ChatCell">
		<TABLE BORDER=0 CLASS="ChatTable">
		<?php 
    // Display flags if necessary
    if (C_MULTI_LANG) {
        $disp_flags = "";
        $i = 0;
        while (list($key, $name) = each($AvailableLanguages)) {
            $i++;
            if ($name == "english" && C_ENGLISH_FORMAT == "US") {
                if (C_FLAGS_3D) {
                    $flag = "flag_us.gif";
                } else {
                    $flag = "flag_us0.gif";
                }
                if (L_ORIG_LANG_ENUS != "L_ORIG_LANG_ENUS") {
                    $FLAG_NAME = L_ORIG_LANG_ENUS . ($name != $L && L_LANG_ENUS != "L_LANG_ENUS" ? "/" . L_LANG_ENUS : "");
                }
            } else {
                if (C_FLAGS_3D) {
                    $flag = "flag.gif";
                } else {
                    $flag = "flag0.gif";
                }
                if ($name == "argentinian_spanish" && L_ORIG_LANG_AR != "L_ORIG_LANG_AR") {
                    $FLAG_NAME = L_ORIG_LANG_AR . ($name != $L && L_LANG_AR != "L_LANG_AR" ? "/" . L_LANG_AR : "");
                } elseif ($name == "bulgarian" && L_ORIG_LANG_BG != "L_ORIG_LANG_BG") {
                    $FLAG_NAME = L_ORIG_LANG_BG . ($name != $L && L_LANG_BG != "L_LANG_BG" ? "/" . L_LANG_BG : "");
                } elseif ($name == "brazilian_portuguese" && L_ORIG_LANG_BR != "L_ORIG_LANG_BR") {
                    $FLAG_NAME = L_ORIG_LANG_BR . ($name != $L && L_LANG_BR != "L_LANG_BR" ? "/" . L_LANG_BR : "");
                } elseif ($name == "catalan" && L_ORIG_LANG_CA != "L_ORIG_LANG_CA") {
                    $FLAG_NAME = L_ORIG_LANG_CA . ($name != $L && L_LANG_CA != "L_LANG_CA" ? "/" . L_LANG_CA : "");
                } elseif ($name == "chinese_simplified" && L_ORIG_LANG_CNS != "L_ORIG_LANG_CNS") {
                    $FLAG_NAME = L_ORIG_LANG_CNS . ($name != $L && L_LANG_CNS != "L_LANG_CNS" ? "/" . L_LANG_CNS : "");
                } elseif ($name == "chinese_traditional" && L_ORIG_LANG_CNT != "L_ORIG_LANG_CNT") {
                    $FLAG_NAME = L_ORIG_LANG_CNT . ($name != $L && L_LANG_CNT != "L_LANG_CNT" ? "/" . L_LANG_CNT : "");
                } elseif ($name == "czech" && L_ORIG_LANG_CZ != "L_ORIG_LANG_CZ") {
                    $FLAG_NAME = L_ORIG_LANG_CZ . ($name != $L && L_LANG_CZ != "L_LANG_CZ" ? "/" . L_LANG_CZ : "");
                } elseif ($name == "danish" && L_ORIG_LANG_DA != "L_ORIG_LANG_DA") {
                    $FLAG_NAME = L_ORIG_LANG_DA . ($name != $L && L_LANG_DA != "L_LANG_DA" ? "/" . L_LANG_DA : "");
                } elseif ($name == "dutch" && L_ORIG_LANG_NL != "L_ORIG_LANG_NL") {
                    $FLAG_NAME = L_ORIG_LANG_NL . ($name != $L && L_LANG_NL != "L_LANG_NL" ? "/" . L_LANG_NL : "");
                } elseif ($name == "english" && L_ORIG_LANG_ENUK != "L_ORIG_LANG_ENUK") {
                    $FLAG_NAME = L_ORIG_LANG_ENUK . ($name != $L && L_LANG_ENUK != "L_LANG_ENUK" ? "/" . L_LANG_ENUK : "");
                } elseif ($name == "french" && L_ORIG_LANG_FR != "L_ORIG_LANG_FR") {
                    $FLAG_NAME = L_ORIG_LANG_FR . ($name != $L && L_LANG_FR != "L_LANG_FR" ? "/" . L_LANG_FR : "");
                } elseif ($name == "georgian" && L_ORIG_LANG_KA != "L_ORIG_LANG_KA") {
                    $FLAG_NAME = L_ORIG_LANG_KA . ($name != $L && L_LANG_KA != "L_LANG_KA" ? "/" . L_LANG_KA : "");
                } elseif ($name == "german" && L_ORIG_LANG_DE != "L_ORIG_LANG_DE") {
                    $FLAG_NAME = L_ORIG_LANG_DE . ($name != $L && L_LANG_DE != "L_LANG_DE" ? "/" . L_LANG_DE : "");
                } elseif ($name == "greek" && L_ORIG_LANG_GR != "L_ORIG_LANG_GR") {
                    $FLAG_NAME = L_ORIG_LANG_GR . ($name != $L && L_LANG_GR != "L_LANG_GR" ? "/" . L_LANG_GR : "");
                } elseif ($name == "hebrew" && L_ORIG_LANG_HE != "L_ORIG_LANG_HE") {
                    $FLAG_NAME = L_ORIG_LANG_HE . ($name != $L && L_LANG_HE != "L_LANG_HE" ? "/" . L_LANG_HE : "");
                } elseif ($name == "hindi" && L_ORIG_LANG_HI != "L_ORIG_LANG_HI") {
                    $FLAG_NAME = L_ORIG_LANG_HI . ($name != $L && L_LANG_HI != "L_LANG_HI" ? "/" . L_LANG_HI : "");
                } elseif ($name == "hungarian" && L_ORIG_LANG_HU != "L_ORIG_LANG_HU") {
                    $FLAG_NAME = L_ORIG_LANG_HU . ($name != $L && L_LANG_HU != "L_LANG_HU" ? "/" . L_LANG_HU : "");
                } elseif ($name == "indonesian" && L_ORIG_LANG_ID != "L_ORIG_LANG_ID") {
                    $FLAG_NAME = L_ORIG_LANG_ID . ($name != $L && L_LANG_ID != "L_LANG_ID" ? "/" . L_LANG_ID : "");
                } elseif ($name == "italian" && L_ORIG_LANG_IT != "L_ORIG_LANG_IT") {
                    $FLAG_NAME = L_ORIG_LANG_IT . ($name != $L && L_LANG_IT != "L_LANG_IT" ? "/" . L_LANG_IT : "");
                } elseif ($name == "japanese" && L_ORIG_LANG_JA != "L_ORIG_LANG_JA") {
                    $FLAG_NAME = L_ORIG_LANG_JA . ($name != $L && L_LANG_JA != "L_LANG_JA" ? "/" . L_LANG_JA : "");
                } elseif ($name == "nepali" && L_ORIG_LANG_NE != "L_ORIG_LANG_NE") {
                    $FLAG_NAME = L_ORIG_LANG_NE . ($name != $L && L_LANG_NE != "L_LANG_NE" ? "/" . L_LANG_NE : "");
                } elseif ($name == "norwegian_bokmal" && L_ORIG_LANG_NB != "L_ORIG_LANG_NB") {
                    $FLAG_NAME = L_ORIG_LANG_NB . ($name != $L && L_LANG_NB != "L_LANG_NB" ? "/" . L_LANG_NB : "");
                } elseif ($name == "norwegian_nynorsk" && L_ORIG_LANG_NN != "L_ORIG_LANG_NN") {
                    $FLAG_NAME = L_ORIG_LANG_NN . ($name != $L && L_LANG_NN != "L_LANG_NN" ? "/" . L_LANG_NN : "");
                } elseif ($name == "persian" && L_ORIG_LANG_FA != "L_ORIG_LANG_FA") {
                    $FLAG_NAME = L_ORIG_LANG_FA . ($name != $L && L_LANG_FA != "L_LANG_FA" ? "/" . L_LANG_FA : "");
                } elseif ($name == "polish" && L_ORIG_LANG_PL != "L_ORIG_LANG_PL") {
                    $FLAG_NAME = L_ORIG_LANG_PL . ($name != $L && L_LANG_PL != "L_LANG_PL" ? "/" . L_LANG_PL : "");
                } elseif ($name == "portuguese" && L_ORIG_LANG_PT != "L_ORIG_LANG_PT") {
                    $FLAG_NAME = L_ORIG_LANG_PT . ($name != $L && L_LANG_PT != "L_LANG_PT" ? "/" . L_LANG_PT : "");
                } elseif ($name == "romanian" && L_ORIG_LANG_RO != "L_ORIG_LANG_RO") {
                    $FLAG_NAME = L_ORIG_LANG_RO . ($name != $L && L_LANG_RO != "L_LANG_RO" ? "/" . L_LANG_RO : "");
                } elseif ($name == "russian" && L_ORIG_LANG_RU != "L_ORIG_LANG_RU") {
                    $FLAG_NAME = L_ORIG_LANG_RU . ($name != $L && L_LANG_RU != "L_LANG_RU" ? "/" . L_LANG_RU : "");
                } elseif ($name == "serbian_latin" && L_ORIG_LANG_SRL != "L_ORIG_LANG_SRL") {
                    $FLAG_NAME = L_ORIG_LANG_SRL . ($name != $L && L_LANG_SRL != "L_LANG_SRL" ? "/" . L_LANG_SRL : "");
                } elseif ($name == "serbian_cyrillic" && L_ORIG_LANG_SRC != "L_ORIG_LANG_SRC") {
                    $FLAG_NAME = L_ORIG_LANG_SRC . ($name != $L && L_LANG_SRC != "L_LANG_SRC" ? "/" . L_LANG_SRC : "");
                } elseif ($name == "slovak" && L_ORIG_LANG_SK != "L_ORIG_LANG_SK") {
                    $FLAG_NAME = L_ORIG_LANG_SK . ($name != $L && L_LANG_SK != "L_LANG_SK" ? "/" . L_LANG_SK : "");
                } elseif ($name == "spanish" && L_ORIG_LANG_ES != "L_ORIG_LANG_ES") {
                    $FLAG_NAME = L_ORIG_LANG_ES . ($name != $L && L_LANG_ES != "L_LANG_ES" ? "/" . L_LANG_ES : "");
                } elseif ($name == "swedish" && L_ORIG_LANG_SV != "L_ORIG_LANG_SV") {
                    $FLAG_NAME = L_ORIG_LANG_SV . ($name != $L && L_LANG_SV != "L_LANG_SV" ? "/" . L_LANG_SV : "");
                } elseif ($name == "thai" && L_ORIG_LANG_TH != "L_ORIG_LANG_TH") {
                    $FLAG_NAME = L_ORIG_LANG_TH . ($name != $L && L_LANG_TH != "L_LANG_TH" ? "/" . L_LANG_TH : "");
                } elseif ($name == "turkish" && L_ORIG_LANG_TR != "L_ORIG_LANG_TR") {
                    $FLAG_NAME = L_ORIG_LANG_TR . ($name != $L && L_LANG_TR != "L_LANG_TR" ? "/" . L_LANG_TR : "");
                } elseif ($name == "ukrainian" && L_ORIG_LANG_UK != "L_ORIG_LANG_UK") {
                    $FLAG_NAME = L_ORIG_LANG_UK . ($name != $L && L_LANG_UK != "L_LANG_UK" ? "/" . L_LANG_UK : "");
                } elseif ($name == "urdu" && L_ORIG_LANG_UR != "L_ORIG_LANG_UR") {
                    $FLAG_NAME = L_ORIG_LANG_UR . ($name != $L && L_LANG_UR != "L_LANG_UR" ? "/" . L_LANG_UR : "");
                } elseif ($name == "vietnamese" && L_ORIG_LANG_VI != "L_ORIG_LANG_VI") {
                    $FLAG_NAME = L_ORIG_LANG_VI . ($name != $L && L_LANG_VI != "L_LANG_VI" ? "/" . L_LANG_VI : "");
                } elseif ($name == "yoruba" && L_ORIG_LANG_YO != "L_ORIG_LANG_YO") {
                    $FLAG_NAME = L_ORIG_LANG_YO . ($name != $L && L_LANG_YO != "L_LANG_YO" ? "/" . L_LANG_YO : "");
                } else {
                    $FLAG_NAME = str_replace("_", " ", $name);
                    $FLAG_NAME = mb_convert_case($FLAG_NAME, MB_CASE_TITLE, $Charset);
                }
            }
            if ($name == $L) {
                $FLAG_OVER = $FLAG_NAME . " (" . L_SELECTED . ")";
                $FLAG_STATUS = $FLAG_OVER;
            } else {
                $FLAG_OVER = $FLAG_NAME;
                $FLAG_STATUS = sprintf(L_SWITCH, $FLAG_NAME);
            }
            if ($name != $L) {
                $disp_flags .= "<A HREF=\"{$Action}?L={$name}\" onMouseOver=\"window.status='" . $FLAG_STATUS . ".'; return true;\" Title=\"" . $FLAG_OVER . "\">";
            }
            $disp_flags .= "<IMG SRC=\"{$ChatPath}localization/{$name}/images/" . $flag . "\" onMouseOver=\"window.status='" . $FLAG_STATUS . ".'; return true;\" BORDER=0 ALT=\"" . $FLAG_OVER . "\" Title=\"" . $FLAG_OVER . "\">";
            if ($name != $L) {
                $disp_flags .= "</A>";
            }
            if ($i % 11 == 0) {
                $disp_flags .= "<br />";
            } else {
                $disp_flags .= "&nbsp;";
            }
        }
        unset($AvailableLanguages);
        ?>
		<TR CLASS="ChatCell">
			<TD COLSPAN=2 ALIGN="CENTER" CLASS="ChatCell">
				<SPAN CLASS="ChatFlags">
				<?php 
        echo rtrim($disp_flags, '&nbsp;');
        ?>
				</SPAN>
			</TD>
		</TR>
		<?php 
    }
    // Horizontal alignement for cells topic
    $CellAlign = $Align == "right" ? "RIGHT" : "LEFT";
    ?>
		<TR CLASS="ChatCell">
			<TH COLSPAN=2 CLASS="ChatTabTitle"><?php 
    echo L_SET_1;
    ?>
</TH>
		</TR>
		<TR CLASS="ChatCell">
			<TD ALIGN="<?php 
    echo $CellAlign;
    ?>
" VALIGN="TOP" CLASS="ChatCell" NOWRAP="NOWRAP"><?php 
    echo L_SET_2;
    ?>
 :</TD>
			<TD VALIGN="TOP" CLASS="ChatCell">
				<INPUT TYPE="text" NAME="U" SIZE=11 MAXLENGTH=15 VALUE="<?php 
    echo htmlspecialchars(stripslashes($U));
    ?>
" CLASS="ChatBox">
			</TD>
		</TR>
		<TR CLASS="ChatCell">
			<TD ALIGN="<?php 
    echo $CellAlign;
    ?>
" VALIGN="TOP" CLASS="ChatCell" NOWRAP="NOWRAP"><?php 
    echo L_REG_1;
    ?>
 :</TD>
			<TD VALIGN="TOP" CLASS="ChatCell" NOWRAP="NOWRAP">
				<INPUT TYPE="password" NAME="pmc_password" SIZE=11 MAXLENGTH=16 VALUE="<?php 
    echo $RemMe ? $RemMe : "";
    ?>
" CLASS="ChatBox">
				<INPUT TYPE="checkbox" NAME="remember" alt="<?php 
    echo L_SET_19;
    ?>
" title="<?php 
    echo L_SET_19;
    ?>
"<?php 
    echo $RemMe ? " checked" : "";
    ?>
>
				<?php 
    if (!C_REQUIRE_REGISTER) {
        echo "&nbsp;(<U>" . L_REG_7 . "</U>)";
    }
    ?>
				<br /><A HREF="<?php 
    echo $ChatPath;
    ?>
pass_reset.php?L=<?php 
    echo $L;
    ?>
" CLASS="ChatReg" onClick="reg_popup('pass_reset','<?php 
    echo urlencode(stripslashes($U));
    ?>
'); return false" TARGET="_blank" onMouseOver="window.status='<?php 
    echo L_PASS_7;
    ?>
.'; return true;" title="<?php 
    echo L_PASS_7;
    ?>
"><?php 
    echo L_PASS_7;
    ?>
</A>
			</TD>
		</TR>
		<TR CLASS="ChatCell">
			<TH COLSPAN=2 CLASS="ChatTabTitle"><?php 
    echo L_REG_2;
    ?>
</TH>
		</TR>
		<TR CLASS="ChatCell">
			<TD ALIGN="center" COLSPAN=2 CLASS="ChatCell">
				<?php 
    if (C_REQUIRE_REGISTER && C_ALLOW_REGISTER) {
        ?>
				<SPAN CLASS="ChatError">
					<?php 
        echo L_REG_49;
        ?>
				</SPAN>
				<br />
				<?php 
    }
    if (C_ALLOW_REGISTER) {
        ?>
				<br />
					<A HREF="<?php 
        echo $ChatPath;
        ?>
register.php?L=<?php 
        echo $L;
        ?>
" CLASS="ChatReg" onClick="reg_popup('register','<?php 
        echo urlencode(stripslashes($U));
        ?>
'); return false" TARGET="_blank" onMouseOver="window.status='<?php 
        echo L_REG_3;
        ?>
.'; return true;" title="<?php 
        echo L_REG_3;
        ?>
"><?php 
        echo L_REG_3;
        ?>
</A>
					|
				<?php 
    } else {
        ?>
				<SPAN CLASS="ChatError">
					<?php 
        echo L_REG_50;
        ?>
				</SPAN>
				<br />
				<br />
				<?php 
    }
    ?>
				<A HREF="<?php 
    echo $ChatPath;
    ?>
edituser.php?L=<?php 
    echo $L;
    ?>
" CLASS="ChatReg" onClick="reg_popup('edituser','<?php 
    echo urlencode(stripslashes($U));
    ?>
'); return false" TARGET="_blank" onMouseOver="window.status='<?php 
    echo L_REG_4;
    ?>
.'; return true;" title="<?php 
    echo L_REG_4;
    ?>
"><?php 
    echo L_REG_4;
    ?>
</A>
				<?php 
    if (C_SHOW_DEL_PROF != 0) {
        ?>
					| <A HREF="<?php 
        echo $ChatPath;
        ?>
deluser.php?L=<?php 
        echo $L;
        ?>
" CLASS="ChatReg" onClick="reg_popup('deluser','<?php 
        echo urlencode(stripslashes($U));
        ?>
'); return false" TARGET="_blank" onMouseOver="window.status='<?php 
        echo L_REG_5;
        ?>
.'; return true;" title="<?php 
        echo L_REG_5;
        ?>
"><?php 
        echo L_REG_5;
        ?>
</A>
					<?php 
    }
    if (C_SHOW_ADMIN != 0) {
        ?>
					| <A HREF="<?php 
        echo $ChatPath;
        ?>
admin.php?L=<?php 
        echo $L;
        ?>
&Link=1" CLASS="ChatReg" onClick="reg_popup('admin','<?php 
        echo urlencode(stripslashes($U));
        ?>
'); return false" TARGET="_blank" onMouseOver="window.status='<?php 
        echo L_REG_35;
        ?>
.'; return true;" title="<?php 
        echo L_REG_35;
        ?>
"><?php 
        echo L_REG_35;
        ?>
</A>
					<?php 
    }
    ?>
			</TD>
		</TR>
		<?php 
    if (C_VERSION > 0) {
        ?>
			<TR CLASS="ChatCell">
				<TD COLSPAN=2 CLASS="ChatCell">&nbsp;</TD>
			</TR>
			<TR CLASS="ChatCell">
				<TH COLSPAN=2 CLASS="ChatTabTitle"><?php 
        echo L_SET_5;
        ?>
</TH>
			</TR>
			</TABLE>
			<TABLE BORDER=0 CLASS="ChatTable">
			<TR CLASS="ChatCell">
				<TD ALIGN="<?php 
        echo $CellAlign;
        ?>
" VALIGN="TOP" CLASS="ChatCell" NOWRAP="NOWRAP"><?php 
        echo L_SET_6;
        ?>
 :</TD>
				<TD VALIGN="TOP" CLASS="ChatCell">
					<SELECT NAME="R0" CLASS="ChatBox" onChange="reset_R0();">
						<OPTION VALUE=""><?php 
        echo L_SET_7;
        ?>
</OPTION>
						<?php 
        // Display default public rooms in the drop down list
        $PrevRoom = "";
        if ($R != "" && !(isset($RES) && $RES)) {
            $PrevRoom = urldecode($R);
        }
        $DefaultRoomsString = "";
        $disp_note = 0;
        for ($i = 0; $i < count($DefaultChatRooms); $i++) {
            $tmpRoom = stripslashes($DefaultChatRooms[$i]);
            $tmpDispRoom = $tmpRoom;
            if (is_array($DefaultDispChatRooms) && in_array($tmpRoom . " [R]", $DefaultDispChatRooms)) {
                $res_init = utf8_substr(L_RESTRICTED, 0, 1);
                $tmpDispRoom .= " [" . $res_init . "]";
                $disp_note = 1;
            }
            $DefaultRoomsString .= ($DefaultRoomsString == "" ? "" : ",") . $tmpRoom;
            echo "<OPTION VALUE=\"" . htmlspecialchars($tmpRoom) . "\"";
            if (strcasecmp(mb_convert_case($tmpRoom, MB_CASE_LOWER, $Charset), mb_convert_case($PrevRoom, MB_CASE_LOWER, $Charset)) == 0) {
                echo " SELECTED";
                $DefaultRoomFound = 1;
            }
            echo ">" . $tmpDispRoom . "</OPTION>";
        }
        ?>
					</SELECT>
				</TD>
			</TR>
			<?php 
    }
    if (C_VERSION == 2) {
        $created_rooms = "";
        // Display other public rooms in the drop down list
        $DbLink->query("SELECT DISTINCT room FROM " . C_MSG_TBL . " WHERE type = 1 AND room != 'Offline PMs' AND room != '*' AND username NOT LIKE 'SYS %' ORDER BY room");
        while (list($Room) = $DbLink->next_record()) {
            if (!room_in($Room, $DefaultRoomsString, $Charset)) {
                $created_rooms .= "<OPTION VALUE=\"" . htmlspecialchars($Room) . "\"";
                if (strcasecmp(mb_convert_case($Room, MB_CASE_LOWER, $Charset), mb_convert_case($PrevRoom, MB_CASE_LOWER, $Charset)) == 0 && !$DefaultRoomFound) {
                    $created_rooms .= " SELECTED";
                    $DefaultRoomFound = 1;
                }
                $created_rooms .= ">{$Room}</OPTION>";
            }
        }
        $DbLink->clean_results();
        if ($created_rooms != "") {
            ?>
			<TR CLASS="ChatCell">
				<TD ALIGN="<?php 
            echo $CellAlign;
            ?>
" VALIGN="TOP" CLASS="ChatCell" NOWRAP="NOWRAP"><?php 
            echo L_SET_8;
            ?>
 :</TD>
				<TD VALIGN="TOP" CLASS="ChatCell">
					<SELECT NAME="R1" CLASS="ChatBox" onChange="reset_R1();">
						<OPTION VALUE=""><?php 
            echo L_SET_7;
            ?>
</OPTION>
						<?php 
            echo $created_rooms;
            ?>
					</SELECT>
				</TD>
			</TR>
			<?php 
        }
    }
    if (C_VERSION > 0 && C_SHOW_PRIV) {
        $DefaultPrivateRoomFound = 0;
        $PrevPrivateRoom = "";
        if ($R != "" && !(isset($RES) && $RES)) {
            $PrevPrivateRoom = urldecode($R);
        }
        $DbLink->query("SELECT perms,rooms FROM " . C_REG_TBL . " WHERE username='******' LIMIT 1");
        if ($DbLink->num_rows() != 0) {
            $reguser = $DbLink->num_rows() != 0;
        } else {
            $nonreguser = 1;
        }
        if ($reguser) {
            list($perms, $rooms) = $DbLink->next_record();
        }
        $DbLink->clean_results();
        if ($DefaultPrivateRooms != NULL) {
            if ($perms == "admin" || $perms == "topmod") {
                ?>
				<TR CLASS="ChatCell">
					<TD ALIGN="<?php 
                echo $CellAlign;
                ?>
" VALIGN="TOP" CLASS="ChatCell" NOWRAP="NOWRAP"><?php 
                echo L_SET_15;
                ?>
 :</TD>
					<TD VALIGN="TOP" CLASS="ChatCell">
						<SELECT NAME="R2" CLASS="ChatBox" onChange="reset_R2();">
							<OPTION VALUE=""><?php 
                echo L_SET_7;
                ?>
</OPTION>
							<?php 
                // Display default private rooms in the drop down list
                $DefaultPrivateRoomsString = "";
                for ($i = 0; $i < count($DefaultPrivateRooms); $i++) {
                    $tmpPrivateRoom = stripslashes($DefaultPrivateRooms[$i]);
                    $DefaultPrivateRoomsString .= ($DefaultPrivateRoomsString == "" ? "" : ",") . $tmpPrivateRoom;
                    echo "<OPTION VALUE=\"" . htmlspecialchars($tmpPrivateRoom) . "\"";
                    if (strcasecmp(mb_convert_case($tmpPrivateRoom, MB_CASE_LOWER, $Charset), mb_convert_case($PrevPrivateRoom, MB_CASE_LOWER, $Charset)) == 0) {
                        echo " SELECTED";
                        $DefaultPrivateRoomFound = 1;
                    }
                    echo ">" . $tmpPrivateRoom . "</OPTION>";
                }
                ?>
						</SELECT>
					</TD>
				</TR>
				<?php 
            } elseif ($perms == "moderator" && C_SHOW_PRIV_MOD) {
                ?>
				<TR CLASS="ChatCell">
					<TD ALIGN="<?php 
                echo $CellAlign;
                ?>
" VALIGN="TOP" CLASS="ChatCell" NOWRAP="NOWRAP"><?php 
                echo L_SET_15;
                ?>
 :</TD>
					<TD VALIGN="TOP" CLASS="ChatCell">
						<SELECT NAME="R2" CLASS="ChatBox" onChange="reset_R2();">
							<OPTION VALUE=""><?php 
                echo L_SET_7;
                ?>
</OPTION>
								<?php 
                echo "<OPTION VALUE=\"" . htmlspecialchars(ROOM8) . "\"";
                if (strcasecmp(mb_convert_case(ROOM8, MB_CASE_LOWER, $Charset), mb_convert_case($PrevPrivateRoom, MB_CASE_LOWER, $Charset)) == 0) {
                    echo " SELECTED";
                    $DefaultPrivateRoomFound = 1;
                }
                echo ">" . ROOM8 . "</OPTION>";
                echo "<OPTION VALUE=\"" . htmlspecialchars(ROOM9) . "\"";
                if (strcasecmp(mb_convert_case(ROOM8, MB_CASE_LOWER, $Charset), mb_convert_case($PrevPrivateRoom, MB_CASE_LOWER, $Charset)) == 0) {
                    echo " SELECTED";
                    $DefaultPrivateRoomFound = 1;
                }
                echo ">" . ROOM9 . "</OPTION>";
                ?>
						</SELECT>
					</TD>
				</TR>
				<?php 
            } elseif (C_SHOW_PRIV_USR) {
                ?>
				<TR CLASS="ChatCell">
					<TD ALIGN="<?php 
                echo $CellAlign;
                ?>
" VALIGN="TOP" CLASS="ChatCell" NOWRAP="NOWRAP"><?php 
                echo L_SET_15;
                ?>
 :</TD>
					<TD VALIGN="TOP" CLASS="ChatCell">
						<SELECT NAME="R2" CLASS="ChatBox" onChange="reset_R2();">
							<OPTION VALUE=""><?php 
                echo L_SET_7;
                ?>
</OPTION>
							<?php 
                echo "<OPTION VALUE=\"" . htmlspecialchars(ROOM9) . "\"";
                if (strcasecmp(ROOM9, $PrevPrivateRoom) == 0) {
                    echo " SELECTED";
                    $DefaultPrivateRoomFound = 1;
                }
                echo ">" . ROOM9 . "</OPTION>";
                ?>
						</SELECT>
					</TD>
				</TR>
				<?php 
            }
        }
    }
    if ($disp_note) {
        echo "<tr class=\"ChatError\"><td align=right colspan=2><font size=-2>[" . $res_init . "] = " . L_RESTRICTED . ".</font></td></tr>";
    }
    if (C_VERSION == 2) {
        if (!$T && !$DefaultRoomFound || !$T && !$DefaultPrivateRoomFound) {
            $T = 1;
        }
        ?>
			<TR CLASS="ChatCell">
				<TD ALIGN="<?php 
        echo $CellAlign;
        ?>
" VALIGN="TOP" CLASS="ChatCell" NOWRAP="NOWRAP" COLSPAN=2>
					<?php 
        echo L_SET_9 . " ";
        ?>
					<SELECT NAME="T" CLASS="ChatBox">
						<OPTION VALUE="1" <?php 
        if ($T && !$DefaultPrivateRoomFound) {
            echo "SELECTED";
        }
        ?>
 <?php 
        if (!$T && $DefaultPrivateRoomFound) {
            echo "DISABLED";
        }
        ?>
><?php 
        echo L_SET_10;
        ?>
</OPTION>
						<OPTION VALUE="0" <?php 
        if (!$T && !$DefaultRoomFound || $T && $DefaultPrivateRoomFound) {
            echo "SELECTED";
        }
        ?>
><?php 
        echo L_SET_11;
        ?>
</OPTION>
					</SELECT>
					<?php 
        echo L_SET_12 . ":";
        ?>
					<INPUT TYPE="text" NAME="R3" SIZE=11 MAXLENGTH=14 <?php 
        if (!$DefaultRoomFound && !$DefaultPrivateRoomFound && $R != "" && !$RES) {
            echo "VALUE=\"" . htmlspecialchars(urldecode($R)) . "\"";
        }
        ?>
 CLASS="ChatBox" onChange="reset_R3();">
				</TD>
			</TR>
			<?php 
    }
    if (C_VERSION == 1) {
        ?>
		<INPUT TYPE="hidden" NAME="T" VALUE="0" <?php 
        if (!$T && !$DefaultRoomFound || $T && $DefaultPrivateRoomFound) {
            echo "SELECTED";
        }
        ?>
>
			<?php 
    }
    ?>
		</TABLE>
		<TR CLASS="ChatP2"><TD align="center">
<?php 
    if (C_REQUIRE_REGISTER) {
        ?>
		<div CLASS="ChatError"><?php 
        echo L_ERR_USR_14;
        ?>
</div>
<?php 
    }
    ?>
		<?php 
    echo L_SET_13 . " ";
    ?>
		 ... <INPUT TYPE="submit" NAME="submit" VALUE="<?php 
    echo L_SET_14;
    ?>
" CLASS="ChatBox">
		<br /><br /><FONT SIZE=-1><?php 
    echo L_SET_18;
    ?>
</FONT><br />
		</TD></TR>
	</TD>
</TR>
</TABLE>
</FORM>
<?php 
    if (C_SHOW_INFO) {
        ?>
<FONT COLOR=yellow SIZE=-1>
<?php 
        // Info on welcome page about cmds, mods and bot. Edit lib/info.lib.php to add more infos about your chat features
        if (SET_CMDS) {
            echo "<span style=\"color:orange\">" . INFO_CMDS . "</span><br />" . CMDS . ".<br />";
        }
        if (SET_MODS) {
            echo "<span style=\"color:orange\">" . INFO_MODS . "</span><br />" . MODS . ".<br />";
        }
        if (SET_BOT && C_BOT_CONTROL) {
            $DbLink->query("SELECT Count(*) FROM " . C_USR_TBL . " WHERE username='******' LIMIT 1");
            list($botinroom) = $DbLink->next_record();
            $DbLink->clean_results();
            if ($botinroom != 0) {
                echo "<span style=\"color:orange\">" . INFO_BOT . "</span> <u>" . C_BOT_NAME . "</u>.<br />";
            }
        }
        ?>
</FONT>
<?php 
    }
    echo "<P>";
    if (C_SHOW_COUNTER) {
        include_once "./{$ChatPath}acounter.php";
        $ani_counter = new acounter();
        echo $ani_counter->create_output("chat_index");
        $INSTALL_DATE = strftime(L_SHORT_DATE, strtotime(C_INSTALL_DATE));
        if (stristr(PHP_OS, 'win')) {
            $INSTALL_DATE = utf_conv(WIN_DEFAULT, $Charset, $INSTALL_DATE);
            if (strstr($L, "chinese") || strstr($L, "korean") || strstr($L, "japanese")) {
                $INSTALL_DATE = str_replace(" ", "", $INSTALL_DATE);
            }
        }
        ?>
<font face=Verdana color=yellow size=1><?php 
        echo sprintf(L_VISITOR_REPORT, $INSTALL_DATE);
        ?>
.</font>
<?php 
        echo "</P>";
    }
    ?>
<SPAN CLASS="ChatCopy" dir="LTR">
<?php 
    $sflogo = "http://sflogo.sourceforge.net/sflogo.php?group_id=19371&type=10";
    ?>
&copy; 2000-2005 <a HREF="http://sourceforge.net/projects/phpmychat/" TARGET=_blank CLASS="ChatLink" Title="<?php 
    echo sprintf(L_CLICK, L_LINKS_7);
    ?>
" onMouseOver="window.status='<?php 
    echo sprintf(L_CLICK, L_LINKS_7);
    ?>
.'; return true">The phpHeaven Team</a><br />
&copy; 2005-<?php 
    echo date('Y');
    ?>
 Plus development by <a href="mailto:ciprianmp@yahoo.com?subject=phpMychat%20Plus%20feedback" Title="<?php 
    echo sprintf(L_CLICK, L_LINKS_9);
    ?>
" CLASS="ChatLink" onMouseOver="window.status='<?php 
    echo sprintf(L_CLICKS, L_LINKS_6, L_DEVELOPER);
    ?>
.'; return true;">Ciprian M</a>.<br />
Thanks to all the contributors in the <a href="http://groups.yahoo.com/subscribe/phpmychat" CLASS="ChatLink" title="<?php 
    echo sprintf(L_CLICK, L_LINKS_8);
    ?>
" onMouseOver="window.status='<?php 
    echo sprintf(L_CLICK, L_LINKS_8);
    ?>
.'; return true;" target=_blank>phpMyChat group</a> !<br />
Download this full chat pack from <a href="http://sourceforge.net/projects/phpmychat/files/phpMyChat_Plus/" target=_blank title="<?php 
    echo APP_NAME . " " . L_SRC . " Sorceforge.net!\n" . sprintf(L_CLICK, L_LINKS_10);
    ?>
" onMouseOver="window.status='<?php 
    echo APP_NAME . " " . L_SRC . " Sorceforge.net!";
    ?>
'; return true;" CLASS="ChatLink"><img src="<?php 
    echo remote_file_exists($sflogo) === true || is_file($sflogo) || file_exists($sflogo) ? $sflogo : "./{$ChatPath}images/sflogo.gif";
    ?>
" border=0 width="80" height="15" /></a>
</SPAN>
<?php 
    if (C_SHOW_OWNER) {
        ?>
<br /><SPAN CLASS="ChatCopy" dir="LTR">
Owner of this chat server -<b>
<?php 
        include_once "admin/mail4admin.lib.php";
        #if (!eregi("Your name",C_ADMIN_NAME) && C_ADMIN_NAME != "") $Owner_name = C_ADMIN_NAME;
        if (stripos(C_ADMIN_NAME, "Your name") === false && C_ADMIN_NAME != "") {
            $Owner_name = C_ADMIN_NAME;
        } else {
            $Owner_name = L_LURKING_5;
        }
        if (strstr($Sender_email, "@") && $Sender_email != "" && $Sender_email != "*****@*****.**") {
            $Owner_email = $Sender_email;
            ?>
	<a href="mailto:<?php 
            echo $Owner_email;
            ?>
?subject=Contact%20from%20[<?php 
            echo C_CHAT_NAME != "" ? C_CHAT_NAME : APP_NAME;
            ?>
]%20Login%20Page" CLASS="ChatLink" Title="<?php 
            echo sprintf(L_CLICKS, L_LINKS_6, L_OWNER);
            ?>
" onMouseOver="window.status='<?php 
            echo sprintf(L_CLICKS, L_LINKS_6, L_OWNER);
            ?>
.'; return true"><?php 
            echo $Owner_name;
            ?>
</A>
<?php 
        } else {
            echo $Owner_name;
        }
        ?>
</b></SPAN>
<?php 
    }
    ?>
<br /><SPAN CLASS="ChatCopy" dir="LTR"><a HREF="privacy.html" onClick="privacy_popup(); return false" TARGET=_blank CLASS="ChatLink" Title="<?php 
    echo sprintf(L_CLICK, L_PRIVACY);
    ?>
" onMouseOver="window.status='<?php 
    echo sprintf(L_CLICK, L_PRIVACY);
    ?>
'; return true">Our Privacy Policy</a>
</SPAN><br />
<div class="fb-like" data-href="https://www.facebook.com/pages/phpMyChat-Plus/112950852062055" data-send="true" data-layout="button_count" data-show-faces="false" data-font="tahoma"></div>
<?php 
    if ($show_donation) {
        ?>
		<form action="https://www.paypal.com/cgi-bin/webscr" method="post" name="support" target="_blank" onSubmit="return confirm('<?php 
        echo L_SUPP_WARN;
        ?>
');">
		<input type="hidden" name="cmd" value="_s-xclick">
		<input type="hidden" name="hosted_button_id" value="<?php 
        echo $ppbutton;
        ?>
">
		<input type="image" style="background-color: transparent;" src="<?php 
        echo $donate;
        ?>
" border="0" name="donate" alt="<?php 
        echo $ppalt . "&#10;" . L_SUPP_ALT;
        ?>
" title="<?php 
        echo $ppalt . "&#10;" . L_SUPP_ALT;
        ?>
" onMouseOver="window.status='<?php 
        echo $ppalt;
        ?>
'; return true;">
		</form>
	<?php 
    }
    ?>
</TD>
</TR>
</TABLE>
<?php 
    if ($show_search) {
        echo $search;
    }
    if ($copy_break) {
        ?>
		<SCRIPT TYPE="text/javascript" LANGUAGE="javascript">
		<!--
			alert('This phpMyChat-Plus server (<?php 
        echo $_SERVER['SERVER_ADDR'];
        ?>
) has been hacked by the owner (<?php 
        echo C_ADMIN_NAME . " - " . C_ADMIN_EMAIL;
        ?>
).\n\nAll the Chat functions and features have been disabled due to Copyright Infringement!\n\nThis work is licensed under the\n"Creative Commons Attribution-Noncommercial-No Derivative Works 3.0 Unported License".\n\nPlease contact the developer at "ciprianmp at yahoo dot com" in order to make it legal!');
			window.location.replace("http://creativecommons.org/licenses/by-nc-nd/3.0/");
		// -->
		</SCRIPT>
	<?php 
    }
}
header('Content-Type: text/html; charset=ISO-8859-15');
require_once "fonctions.php";
require_once "../config.php";
ouverture();
$debut = 0;
if (isset($_GET['debut'])) {
    $debut = $_GET['debut'];
}
// requete pour récupérer tous les gazouillis
$requete = "SELECT id_membre, pseudo, contenu, date_creation \n\t\tFROM phpl_gazouillis, phpl_membres \n\t\tWHERE phpl_gazouillis.id_membre=phpl_membres.id\n\t\tORDER BY date_creation DESC\n\t\tLIMIT " . $debut . ",10";
$resultat = mysql_query($requete);
$first = true;
while ($row = mysql_fetch_array($resultat)) {
    $url_avatar = "./images/avatars/" . $row["id_membre"] . ".gif";
    if (!remote_file_exists($url_avatar)) {
        $url_avatar = "./images/avatars/no_avatar.png";
    }
    if ($first) {
        $gazouilliClass = "premier_gazouilli";
        $first = false;
    } else {
        $gazouilliClass = "gazouilli";
    }
    ?>
<div class="<?php 
    echo $gazouilliClass;
    ?>
">
	<div class="gazouilleur_avatar"><img src="<?php 
    echo $url_avatar;
 function ImageEditor($filename = 0, $path = 0, $col = NULL, $settings = '', $is_remote = true)
 {
     if ($settings == '') {
         $settings = get_option('post_thumbnail_settings');
     }
     $this->unsharp = $settings['unsharp'] == 'true';
     // Load options
     if ($settings['unsharp_amount'] == 0) {
         $this->unsharp_amount = 80;
     } else {
         $this->unsharp_amount = $settings['unsharp_amount'];
     }
     if ($settings['unsharp_radius'] == 0) {
         $this->unsharp_radius = 0.5;
     } else {
         $this->unsharp_radius = $settings['unsharp_radius'];
     }
     if ($settings['unsharp_threshold'] == 0) {
         $this->unsharp_threshold = 3;
     } else {
         $this->unsharp_threshold = $settings['unsharp_threshold'];
     }
     if ($settings['corner_ratio'] == 0) {
         $this->corner_ratio = 0.15;
     } else {
         $this->corner_ratio = $settings['corner_ratio'];
     }
     unset($settings);
     $this->font = false;
     $this->error = false;
     $this->size = 15;
     // If no image specified create blank image
     if (is_numeric($filename) && is_numeric($path)) {
         $this->x = $filename;
         $this->y = $path;
         $this->type = "jpg";
         $this->img = imagecreatetruecolor($this->x, $this->y);
         // Set background colour of image
         if (is_array($col)) {
             $colour = ImageColorAllocate($this->img, $col[0], $col[1], $col[2]);
             ImageFill($this->img, 0, 0, $colour);
         }
     } else {
         // First see if we can find image
         if (remote_file_exists($path . $filename)) {
             $file = $path . $filename;
         } else {
             if (remote_file_exists($path . "/" . $filename)) {
                 $file = $path . "/" . $filename;
             } else {
                 $this->errorImage("File Could Not Be Loaded");
             }
         }
         if (!$this->error) {
             // Load our image with correct function
             $this->type = end(explode('.', $filename));
             if ($this->type == '' || !in_array($this->type, $this->exttype)) {
                 $this->type = 'jpg';
             }
             if (is_cURL() && $is_remote) {
                 if ($tmpimg = ImageCreateFromcURL($file)) {
                     $this->img_error = false;
                 } else {
                     $this->img_error = true;
                 }
             } elseif ($this->type == 'jpg' || $this->type == 'jpeg') {
                 if (setMemoryForImage($file)) {
                     if ($tmpimg = @imagecreatefromjpeg($file)) {
                         $this->img_error = false;
                     } else {
                         $this->img_error = true;
                     }
                 } else {
                     $this->img_error = true;
                 }
             } elseif ($this->type == 'png') {
                 if (setMemoryForImage($file)) {
                     if ($tmpimg = @imagecreatefrompng($file)) {
                         $this->img_error = false;
                     } else {
                         $this->img_error = true;
                     }
                 } else {
                     $this->img_error = true;
                 }
             } elseif ($this->type == 'gif') {
                 if (setMemoryForImage($file)) {
                     if ($tmpimg = @imagecreatefromgif($file)) {
                         $this->img_error = false;
                     } else {
                         $this->img_error = true;
                     }
                 } else {
                     $this->img_error = true;
                 }
             } else {
                 if (setMemoryForImage($file)) {
                     $tmpimg = ImageCreateFromgetContents($file);
                     if ($tmpimg === false) {
                         $this->img_error = false;
                     } else {
                         $this->img_error = true;
                     }
                 } else {
                     $this->img_error = true;
                 }
             }
             // Set our image variables
             if (!$this->img_error) {
                 if ($this->unsharp) {
                     $this->img = UnsharpMask($tmpimg, $this->unsharp_amount, $this->unsharp_radius, $this->unsharp_threshold);
                 } else {
                     $this->img = $tmpimg;
                 }
                 $this->x = imageSX($this->img);
                 $this->y = imageSY($this->img);
             }
         }
     }
 }
function copy___($filename)
{
    $md5_first = substr(md5($filename), 0, 2);
    // return name to simvol
    if (!is_dir('c:/xampp/htdocs/parcer/amages_brain/' . $md5_first . '/')) {
        mkdir('c:/xampp/htdocs/parcer/amages_brain/' . $md5_first . '/');
    }
    $new_name = 'c:/xampp/htdocs/parcer/amages_brain/' . $md5_first . '/' . md5($filename) . '.' . getExtension($filename);
    if (file_exists($new_name)) {
        // file now resurs
    } else {
        if (remote_file_exists($filename) == 1) {
            copy($filename, $new_name);
        } else {
            return 'amages_brain/no_image.jpg';
        }
    }
    return substr($new_name, 23);
}
Esempio n. 12
0
    $request_str = "GET " . $path . " HTTP/1.1\r\n";
    $request_str .= "Host: " . $host . "\r\n";
    $request_str .= "Connection: Close\r\n\r\n";
    fwrite($fp, $request_str);
    $first_header = fgets($fp, 1024);
    fclose($fp);
    if (trim($first_header) == "") {
        return false;
    }
    if (!preg_match("/200/", $first_header)) {
        return false;
    }
    return true;
}
$str_url = 'http://www.wssys.net/version.txt';
$exits = remote_file_exists($str_url);
if ($exits) {
    $fp = fopen($str_url, "r");
    $lastversion = "";
    while (!feof($fp)) {
        $lastversion .= fread($fp, 4096);
    }
    fclose($fp);
} else {
    $lastversion = "-1";
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Esempio n. 13
0
				
                <?php 
$name = $_GET["songName"];
$url = "http://api.musixmatch.com/ws/1.1/track.search?apikey=76bda465128468ccea51f3ad58f3fcdd&q={$name}&format=xml";
$xml = simplexml_load_file($url);
$i = 0;
$countOf = $xml->body->track_list->track->count();
function remote_file_exists($url)
{
    return (bool) preg_match('~HTTP/1\\.\\d\\s+200\\s+OK~', @current(get_headers($url)));
}
while ($i <= $countOf - 1) {
    $trackid = (string) $xml->body->track_list->track[$i]->track_id;
    $trackname = (string) $xml->body->track_list->track[$i]->track_name;
    $trackimage = (string) $xml->body->track_list->track[$i]->album_coverart_350x350;
    if (remote_file_exists($trackimage)) {
        echo '<li><a href="final.php?trackid=';
        echo $trackid;
        echo '"><img src="';
        echo $trackimage;
        echo '" onerror="this.src=images/No.png" "/><div><h3>';
        echo $trackname;
        echo '</h3></div></a></li>';
    }
    $i++;
}
?>
                
                
                
			</ul>
Esempio n. 14
0
File: install.php Progetto: cwcw/cms
 $reg_sso_succ = param::get_cookie('reg_sso_succ');
 if ($install_phpsso === 2 && empty($reg_sso_succ)) {
     $sso_url = $_POST[sso]['sso_url'];
     $sso_info['username'] = $_POST[sso]['username'];
     $sso_info['password'] = $_POST[sso]['password'];
     $sso_info['authkey'] = $phpsso_auth_key = random(32, '1294567890abcdefghigklmnopqrstuvwxyzABCDEFGHIGKLMNOPQRSTUVWXYZ');
     $sso_info['name'] = 'phpcms v9';
     $sso_info['url'] = urlencode($siteurl);
     $sso_info['apifilename'] = 'api.php?op=phpsso';
     $sso_info['charset'] = strtolower(CHARSET);
     $sso_info['type'] = 'phpcms_v9';
     $data = http_build_query($sso_info);
     $needmod = 'admin';
     $remote_url = $sso_url . 'api.php?op=install&' . $data;
     $remote_var = $sso_url . 'api.php';
     if (remote_file_exists($remote_var)) {
         $returnid = @file_get_contents($remote_url);
     }
     if ($returnid == '-1') {
         $reg_sso_status = 'PHPSSO缺少传递参数';
     } elseif ($returnid == '-2') {
         $reg_sso_status = 'PHPSSO用户名不存在或者密码错误,请检查';
     } elseif ($returnid > 0) {
         $reg_sso = array('phpsso' => '1', 'phpsso_appid' => $returnid, 'phpsso_api_url' => $sso_url, 'phpsso_auth_key' => $sso_info['authkey']);
         set_config($reg_sso, 'system');
         param::set_cookie('reg_sso_succ', $returnid);
     } elseif ($returnid == '-4') {
         $reg_sso_status = '请删除phpsso_server/caches/phpsso_install.lock';
     } else {
         $reg_sso_status = 'PHPSSO 的 URL 地址可能填写错误,请检查!';
     }
Esempio n. 15
0
}
// REF_PARRAIN: Identifiant du partenaire
$ref_parrain = "";
if (file_exists($install_config_name)) {
    require_once $install_config_name;
}
@file($distant_install_stat . "install_states.php?iui=" . $iui . "&etape=" . $etape . "&ref_parrain=" . $ref_parrain);
// *********************************************************************************************************
// ******************************************  DEBUT DU SCRIPT  ********************************************
// *********************************************************************************************************
switch ($etape) {
    // ***************************************************************************** Vérification de la version de l'installeur
    case "0":
        $version_actuelle = $VERSION_INSTALLEUR_LMB;
        // Verification de la version d'installation
        if (remote_file_exists($distant_install_url . $version_file)) {
            $fp = @fopen($distant_install_url . $version_file, "r");
            if (!$fp) {
                erreur("Vérification de version impossible");
            }
            $version_actuelle = file_get_contents($distant_install_url . $version_file);
        } else {
            erreur("Le système d'installation ne peut se connecter au serveur Lundi \r\n\t\tMatin afin de vérifier la version du programme d'installation.\r\n\t\t<br>Soit votre serveur ne dispose pas d'un accès à Internet (Auquel cas \r\n\t\tvous ne pourrez pas obtenir les fichiers du programme ainsi que les \r\n\t\tmises à jour,<br>\r\n\t\tSoit la fonction fopen() est désactivée sur votre serveur. (Auquel cas \r\n\t\til vous faut l'activer ou demander à votre administrateur de le \r\n\t\tfaire.)<br><br>\r\n\t\t\r\n\t\tPour plus d'information, veuillez vous rendre sur le forum assistance \r\n\t\t<a href=\"http://www.lundimatin.fr/site/forum\" target=\"_blank\" >www.lundimatin.fr/site/forum</a>\r\n\t\t\r\n\t\t<br><br>\r\n\t\tSi vous souhaitez outrepasser cette alerte et continuer l'installation \r\n\t\t(résultat incertain), <a href=\"install_lmb.php?etape=1&iui=" . $iui . "\">cliquez ici</a>");
        }
        if ($version_actuelle == $VERSION_INSTALLEUR_LMB) {
            header("Location: install_lmb.php?etape=1&iui=" . $iui);
            exit;
        }
        download_lmb_installeur();
        // Redirection vers le nouvel installeur
        header("Location: " . $install_file_name . "?etape=1&iui=" . $iui);
Esempio n. 16
0
// Username
$p1 = $arr['password'];
// Password
$bg = secureForDB($_POST['backgroundUrl']);
if (isset($_POST['saveBackgroundUrl']) && $bg == "") {
    $sets = getUserData($user, "settings");
    if (!$sets == "") {
        $sets = str_replace("BG:" . getUserSetting($user, "BG"), "");
    }
    mysql_query("UPDATE users SET settings = '{$sets}' WHERE username = '******'");
} elseif (isset($_POST['saveBackgroundUrl']) && !$bg == "") {
    $sets = getUserData($user, "settings");
    $sets = str_replace("BG:" . getUserSetting($user, "BG"), "BG:" . $bg . ";", $sets);
    mysql_query("UPDATE users SET settings = '{$sets}' WHERE username = '******'");
}
if (remote_file_exists($bg) && strstr($bg, "http://")) {
    $sets = getUserData($user, "settings");
    if ($sets == "") {
        mysql_query("UPDATE users SET settings = 'BG~{$bg};' WHERE username = '******'");
    } else {
        mysql_query("UPDATE users SET settings = '{$sets};BG~{$bg};' WHERE username = '******'");
    }
}
$confirmpass = secureString($_POST['currpass']);
$pass = md5(secureForDB($_POST['pass']));
$email = secureForDB($_POST['email']);
if (isset($_POST['cnfrm'])) {
    if (isset($confirmpass)) {
        if (md5($confirmpass) == $p1) {
            if ($pass != "") {
                // Change password
                $path = "";
            }
            $fp = @fsockopen($host, 80, $errno, $errstr, 20);
            if (!$fp) {
                return 2;
            } else {
                $parse = parse_url($url);
                $host = $parse['host'];
                @fputs($fp, "HEAD " . $url . " HTTP/1.1\r\n");
                @fputs($fp, "HOST: " . $host . "\r\n");
                @fputs($fp, "Connection: close\r\n\r\n");
                $headers = "";
                while (!feof($fp)) {
                    $headers .= @fgets($fp, 128);
                }
            }
            @fclose($fp);
            $arr_headers = explode("\n", $headers);
            $return = false;
            if (isset($arr_headers[0])) {
                $return = strpos($arr_headers[0], "404") === false;
            }
            return $return;
        }
    }
    if (remote_file_exists($ppimage) === true || is_file($ppimage) || file_exists($ppimage)) {
    } else {
        $ppexists = 0;
    }
}
$donate = $ppexists ? $ppimage : (file_exists($pmcimage) ? $pmcimage : $defpmcimage);
Esempio n. 18
0
function get_pic2($userCode)
{
    $url = "http://219.141.223.105/unismsHC/photos/" . "{$userCode}" . "_000.jpg";
    $url2 = "http://219.141.223.105/ydsmsHC/photos/" . "{$userCode}" . "_000.jpg";
    $exits = remote_file_exists($url);
    if ($exits) {
        return $url;
    } elseif (remote_file_exists($url2)) {
        return $url2;
    } else {
        return '图片暂时不存在';
    }
}
 function Get_DefaultCategory()
 {
     if (get_bloginfo('version') >= '2.1') {
         $myposts = wp_get_post_categories($this->post->ID);
     } else {
         $myposts = wp_get_post_cats('1', $this->post->ID);
     }
     $array_def = pt_pathinfo($this->def_url);
     $filename = $array_def['filename'];
     foreach ($myposts as $mypost) {
         $new_def = $array_def['dirname'] . '/' . $filename . 'cat-' . $mypost . '.' . $array_def['extension'];
         if (remote_file_exists($new_def)) {
             $this->def_url = $new_def;
             break;
         }
     }
 }