KirKMS Опубликовано 3 февраля, 2022 Жалоба Поделиться Опубликовано 3 февраля, 2022 В силу того что старый метод добавления видео уже не актуален. Решил выложить новый. Зайти в файл profile.js Найти там //VIDEOS var videos = { Заменить код который ниже на новый load: function(){ video_lnk = $('#video_lnk').val(); good_video_lnk = $('#good_video_lnk').val(); if(videos.serviece(video_lnk)){ if(video_lnk != 0){ if(video_lnk != good_video_lnk){ $('#box_loading').show(); $.post('/index.php?go=videos&act=load', {video_lnk: video_lnk}, function(data){ if(data == 'no_serviece'){ $('#no_serviece').show(); } else { row = data.split(':|:'); $('#result_load').show(); $('#photo').html('<img src="'+row[0]+'" alt="" id="res_photo_ok" />'); $('#title').val(row[1]); $('#descr').val(row[2]); $('#good_video_lnk').val(video_lnk); $('#no_serviece').hide(); } $('#box_but').show(); $('#box_loading').hide(); }); } else $('#no_serviece').hide(); } else $('#result_load').hide(); } else $('#no_serviece').show(); }, serviece: function(request){ var pattern = new RegExp(/http(?:s)?:\/\/www.youtube.com|http(?:s)?:\/\/youtube.com|http(?:s)?:\/\/rutube.ru|http(?:s)?:\/\/www.rutube.ru|http(?:s)?:\/\/www.vimeo.com|http(?:s)?:\/\/vimeo.com|http(?:s)?:\/\/smotri.com|http(?:s)?:\/\/www.smotri.com/i); return pattern.test(request); }, Зайти в файл videos.php Найти там //################### Добавление видео в БД ###################// Заменить код полностью case "send": NoAjaxQuery(); if($config['video_mod_add'] == 'yes'){ $good_video_lnk = ajax_utf8(textFilter($_POST['good_video_lnk'])); $title = ajax_utf8(textFilter($_POST['title'], false, true)); $descr = ajax_utf8(textFilter($_POST['descr'], 3000)); $privacy = intval($_POST['privacy']); if($privacy <= 0 OR $privacy > 3) $privacy = 1; //Если youtube то добавляем префикс src=" и составляем ответ для скрипта, для вставки в БД if(preg_match("/src=\"https:\/\/www.youtube.com|src=\"https:\/\/youtube.com/i", 'src="'.$good_video_lnk)){ $good_video_lnk = str_replace(array('#', '!'), '', $good_video_lnk); $exp_y = explode('v=', $good_video_lnk); $exp_x = explode('&', $exp_y[1]); $result_video_lnk = '<iframe width="770" height="420" src="https://www.youtube.com/embed/'.$exp_x[0].'" frameborder="0" allowfullscreen></iframe>'; } //Если rutube, То добавляем префикс value=" if(preg_match("/value=\"https:\/\/www.rutube.ru|value=\"https:\/\/rutube.ru/i", 'value="'.$good_video_lnk)){ $exp_frutube = explode('?v=', $good_video_lnk); $result_video_lnk = '<OBJECT width="770" height="420"><PARAM name="movie" value="https://video.rutube.ru/'.$exp_frutube[1].'"></PARAM><PARAM name="wmode" value="window"></PARAM><PARAM name="allowFullScreen" value="true"></PARAM><EMBED src="https://video.rutube.ru/'.$exp_frutube[1].'" type="application/x-shockwave-flash" wmode="window" width="770" height="420" allowFullScreen="true" ></EMBED></OBJECT>'; } //Если vimeo, То добавляем префикс src=" if(preg_match("/src=\"https:\/\/www.vimeo.com|src=\"https:\/\/vimeo.com/i", 'src="'.$good_video_lnk)){ $exp_frutube = explode('com/', $good_video_lnk); $result_video_lnk = '<iframe src="https://player.vimeo.com/video/'.$exp_frutube[1].'" width="770" height="420" frameborder="0"></iframe>'; } //Если smotri, То добавляем префикс src=" if(preg_match("/src=\"https:\/\/www.smotri.com|src=\"https:\/\/smotri.com/i", 'src="'.$good_video_lnk)){ $exp = explode('id=', str_replace('#', '', $good_video_lnk)); $result_video_lnk = '<object id="smotriComVideoPlayer'.$exp[1].'_1314557535.5897_7726" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="770" height="420"><param name="movie" value="https://pics.smotri.com/player.swf?file='.$exp[1].'&bufferTime=3&autoStart=false&str_lang=rus&xmlsource=http%3A%2F%2Fpics.smotri.com%2Fcskins%2Fblue%2Fskin_color.xml&xmldatasource=http%3A%2F%2Fpics.smotri.com%2Fskin_ng.xml" /><param name="allowScriptAccess" value="always" /><param name="allowFullScreen" value="true" /><param name="bgcolor" value="#ffffff" /><embed src="http://pics.smotri.com/player.swf?file='.$exp[1].'&bufferTime=3&autoStart=false&str_lang=rus&xmlsource=http%3A%2F%2Fpics.smotri.com%2Fcskins%2Fblue%2Fskin_color.xml&xmldatasource=http%3A%2F%2Fpics.smotri.com%2Fskin_ng.xml" quality="high" allowscriptaccess="always" allowfullscreen="true" wmode="opaque" width="770" height="420" type="application/x-shockwave-flash"></embed></object>'; } //Формируем данные о фото $photo = $db->safesql(ajax_utf8(htmlspecialchars(trim($_POST['photo'])))); $photo = str_replace("\\", "/", $photo); $img_name_arr = explode(".", $photo); $img_format = totranslit(end($img_name_arr)); $image_name = substr(md5(time().md5($good_video_lnk)), 0, 15); //Разришенные форматы $allowed_files = array('jpg', 'jpeg', 'jpe', 'png', 'gif'); //Загружаем картинку на сайт if(in_array(strtolower($img_format), $allowed_files) && preg_match("/https:\/\//i", $photo) && $result_video_lnk){ //Директория загрузки фото $upload_dir = ROOT_DIR.'/uploads/videos/'.$user_id; //Если нет папки юзера, то создаём её if(!is_dir($upload_dir)){ @mkdir($upload_dir, 0777); @chmod($upload_dir, 0777); } //Подключаем класс для фотографий include ENGINE_DIR.'/classes/images.php'; @copy($photo, $upload_dir.'/'.$image_name.'.'.$img_format); $tmb = new thumbnail($upload_dir.'/'.$image_name.'.'.$img_format); $tmb->size_auto('175x131'); $tmb->jpeg_quality(100); $tmb->save($upload_dir.'/'.$image_name.'.'.$img_format); } if($result_video_lnk AND $title){ $photo = $config['home_url'].'uploads/videos/'.$user_id.'/'.$image_name.'.'.$img_format; $db->query("INSERT INTO `".PREFIX."_videos` SET owner_user_id = '{$user_id}', video = '{$result_video_lnk}', photo = '{$photo}', title = '{$title}', descr = '{$descr}', add_date = NOW(), privacy = '{$privacy}'"); $dbid = $db->insert_id(); $db->query("UPDATE `".PREFIX."_users` SET user_videos_num = user_videos_num+1 WHERE user_id = '{$user_id}'"); $photo = str_replace($config['home_url'], '/', $photo); //Добавляем действия в ленту новостей $generateLastTime = $server_time-10800; $row = $db->super_query("SELECT ac_id, action_text FROM `".PREFIX."_news` WHERE action_time > '{$generateLastTime}' AND action_type = 2 AND ac_user_id = '{$user_id}'"); if($row) $db->query("UPDATE `".PREFIX."_news` SET action_text = '{$dbid}|{$photo}||{$row['action_text']}', action_time = '{$server_time}' WHERE ac_id = '{$row['ac_id']}'"); else $db->query("INSERT INTO `".PREFIX."_news` SET ac_user_id = '{$user_id}', action_type = 2, action_text = '{$dbid}|{$photo}', action_time = '{$server_time}'"); //Чистим кеш mozg_mass_clear_cache_file("user_{$user_id}/page_videos_user|user_{$user_id}/page_videos_user_friends|user_{$user_id}/page_videos_user_all|user_{$user_id}/profile_{$user_id}|user_{$user_id}/videos_num_all|user_{$user_id}/videos_num_friends"); if($_POST['notes'] == 1) echo "{$photo}|{$user_id}|{$dbid}"; } } else echo 'error'; die(); break; Чуть ниже найти //################### Парсер . Загрузка данных о видео ###################// Заменить код полностью case "load": NoAjaxQuery(); $video_lnk = $_POST['video_lnk']; if(preg_match("/https:\/\/www.youtube.com|https:\/\/youtube.com|https:\/\/rutube.ru|https:\/\/www.rutube.ru|https:\/\/www.vimeo.com|https:\/\/vimeo.com|https:\/\/smotri.com|https:\/\/www.smotri.com/i", $video_lnk)){ //Открываем ссылку //Если ссылка youtube, то формируем xml ссылку для получения данных if(preg_match("/https:\/\/www.youtube.com|https:\/\/youtube.com/i", $video_lnk)){ $exp_y = explode('v=', $video_lnk); $exp_x = explode('&', $exp_y[1]); $sock = fopen('https://www.youtube.com/oembed?url=https://www.youtube.com/watch?v='.$exp_x[0].'&format=xml', 'r'); } elseif(preg_match("/https:\/\/www.vimeo.com|https:\/\/vimeo.com/i", $video_lnk)){ $sock = fopen('https://vimeo.com/api/oembed.xml?url='.$video_lnk, 'r'); } else { $sock = fopen($video_lnk, 'r'); } if(!$sock){ echo 'no_serviece'; } else { $html = ''; //Если сервис youtube, rutube, smotri то просто выводи if(preg_match("/https:\/\/www.youtube.com|https:\/\/youtube.com|https:\/\/rutube.ru|https:\/\/www.rutube.ru|https:\/\/smotri.com|https:\/\/www.smotri.com/i", $video_lnk)){ while(!feof($sock)){ $html .= fgets($sock); } } //Если сервис Vimeo, то сразу применяем кодировку utf-8, win-1251 if(preg_match("/https:\/\/www.vimeo.com|https:\/\/vimeo.com/i", $video_lnk)){ while(!feof($sock)){ $html .= ajax_utf8(fgets($sock)); } } fclose($sock); //Если сервис Vimeo, то выводим без кодировки $data = str_replace(array('[', ']'), array('&iqu;', '&iqu2;'), $html); //Если сервис youtube применяем кодировку utf-8, win-1251 $data_all = ajax_utf8(str_replace(array('[', ']'), array('&iqu;', '&iqu2;'), $html)); //Если видеосервис youtube if(preg_match("/https:\/\/www.youtube.com|https:\/\/youtube.com/i", $video_lnk)){ preg_match_all('`(<title>[^\[]+\</title>)`si', $data_all, $parse); $res_title = rn_replace(str_replace(array('<title>', '</title>'), '', $parse[1][0])); //Делаем фотку для youtube $parse_start = explode('v=', $video_lnk); $parse_end = explode('&', $parse_start[1]); $res_img = "https://img.youtube.com/vi/{$parse_end[0]}/0.jpg"; } //Если видеосервис rutube if(preg_match("/https:\/\/rutube.ru|https:\/\/www.rutube.ru/i", $video_lnk)){ $data_rutube = iconv('koi8-u', 'windows-1251', str_replace(array('[', ']'), array('&iqu;', '&iqu2;'), $html)); preg_match_all('`(<meta property="og:title" content="[^\[]+\<meta property="og:description")`si', $data_rutube, $parse_rutube); $res_title = rn_replace(str_replace(array('<meta property="og:title" content="', '<meta property="og:description"', '" />'), '', $parse_rutube[1][0])); preg_match_all('`(<meta property="og:description" content="[^\[]+\<meta property="og:image")`si', $data_rutube, $parse_rutube_descr); $res_descr = rn_replace(str_replace(array('<meta property="og:description" content="', '<meta property="og:image"', '" />'), '', $parse_rutube_descr[1][0])); $exp_rutube_img = explode('v=', $video_lnk); $exp_img_dir = substr($exp_rutube_img[1], 0, 2); $exp_img_dir_2 = substr($exp_rutube_img[1], 2, 2); $res_img = "https://tub.rutube.ru/thumbs/{$exp_img_dir}/{$exp_img_dir_2}/{$exp_rutube_img[1]}-1.jpg"; } //Если видеосервис vimeo if(preg_match("/https:\/\/www.vimeo.com|https:\/\/vimeo.com/i", $video_lnk)){ preg_match_all('`(<title>[^\[]+\</title>)`si', $data, $parse); $res_title = str_replace(array('<title>', '</title>'), '', $parse[1][0]); preg_match_all('`(<thumbnail_url>[^\[]+\</thumbnail_url>)`si', $data, $parse_img); $res_img = str_replace(array('<thumbnail_url>', '</thumbnail_url>'), '', $parse_img[1][0]); preg_match_all('`(<description>[^\[]+\</description>)`si', $data, $parse_descr); $res_descr = myBrRn(rn_replace($parse_descr[1][0])); } //Если видеосервис smotri if(preg_match("/https:\/\/smotri.com|https:\/\/www.smotri.com/i", $video_lnk)){ $html = iconv('utf-8', 'windows-1251', $html); preg_match_all('`(<meta property="og:title" content="[^\[]+\<meta property="og:image")`si', $html, $parse_title); $res_title = rn_replace(str_replace(array('<meta property="og:title" content="', '<meta property="og:image"', '" />'), '', $parse_title[1][0])); preg_match_all('`(<link rel="image_src" href="[^\[]+\<!-- Open Graf Protocol. Facebook/Yandex -->)`si', $html, $parse_img); $res_img = rn_replace(str_replace(array('<link rel="image_src" href="', '<!-- Open Graf Protocol. Facebook/Yandex -->', '" />'), '', $parse_img[1][0])); } $result_img = $res_img; $result_title = trim(strip_tags(strtr($res_title, array(''' => "'", '"' => '"', '&iqu;' => '[', '&iqu2;' => ']')))); $result_descr = trim(strip_tags($res_descr)); if($result_img && $result_title) echo "{$result_img}:|:{$result_title}:|:{$result_descr}"; else echo 'no_serviece'; } } else echo 'no_serviece'; die(); break; Вот и всё. От плюса в репу не откажусь. 5 Ссылка на комментарий Поделиться на другие сайты Поделиться
OKLIX Опубликовано 6 февраля, 2022 Жалоба Поделиться Опубликовано 6 февраля, 2022 спасибо большое) Ссылка на комментарий Поделиться на другие сайты Поделиться
RUS67 Опубликовано Вторник в 10:24 Жалоба Поделиться Опубликовано Вторник в 10:24 Доброго времени суток! Есть проблема с добавлением видео с https:// RuTube.Ru отвечает Цитата Видеосервис не поддерживается либо ссылка является неправильной Остальное видео с https:// YouTube.Com, Vimeo.Com добавляются без проблем. Кто то сможет помочь исправить эту проблему? Ссылка на комментарий Поделиться на другие сайты Поделиться
kphp Опубликовано 11 часов назад Жалоба Поделиться Опубликовано 11 часов назад есть вот такая реализация кода case "load": NoAjaxQuery(); $video_lnk = $_POST['video_lnk']; if(preg_match("/http:\/\/www.youtube.com|http:\/\/youtube.com|http:\/\/rutube.ru|http:\/\/www.rutube.ru|http:\/\/www.vk.com|http:\/\/vk.com|http:\/\/smotri.com|http:\/\/www.smotri.com/i", $video_lnk)){ //Открываем ссылку //Если ссылка youtube, то формируем xml ссылку для получения данных if(preg_match("/http:\/\/www.youtube.com|http:\/\/youtube.com/i", $video_lnk)){ $exp_y = explode('v=', $video_lnk); $exp_x = explode('&', $exp_y[1]); $sock = fopen('http://www.youtube.com/oembed?url=http://www.youtube.com/watch?v='.$exp_x[0].'&format=xml', 'r'); } elseif(preg_match("/http:\/\/www.rutube.ru|http:\/\/rutube.ru/i", $video_lnk)){ $exp_y = explode('rutube.ru/', $video_lnk); $xmlfile = 'http://rutube.ru/api/'.$exp_y[1]; $sock = fopen('http://www.rutube.ru/api/'.$exp_y[1], 'r'); } elseif(preg_match("/http:\/\/vk.com|http:\/\/www.vk.com/i", $video_lnk)){ //------------------Проверям на готовый код---------------- $inet = preg_match("/video_ext.php/", $video_lnk); if ($inet == 1){//парсер на прямую $inet = 'ur1'; }else{ $inet = preg_match("/vk.com\/video/", $video_lnk); if ($inet == 1){//парсер с моих видео $inet = 'ur2'; }else{echo 'no_serviece';} } //==================Конец Проверки на готовый код========== //----------------------(1)----------------------- if ($inet == 'ur1'){ //ID юзера $a1 = explode('oid=', $video_lnk); $a2 = explode('&', $a1[1]); //ID видео $z1 = explode('&id=', $video_lnk); $a3 = explode('&', $z1[1]); //hash видео $urlhash1 = explode('hash=', $video_lnk); $urlhash2 = explode('&', $urlhash1[1]); //Данные $oid = $a2[0]; $idn = $a3[0]; $hash = $urlhash2[0]; } //=====================Конец====================== //----------------------(2)----------------------- if ($inet == 'ur2'){ //hash видео $urlhash = file_get_contents($video_lnk); $urlhash1 = explode('"hash2\":\"', $urlhash); $urlhash2 = explode('\",\"is_vk\":', $urlhash1[1]); //ID юзера $a1 = explode('vk.com/video', $video_lnk); $a2 = explode('_', $a1[1]); //ID видео $a3 = explode('_', $a1[1]); //Данные $oid = $a2[0]; $idn = $a3[1]; $hash = $urlhash2[0]; } //=====================Конец====================== //парсим //vk xml видео $vkxml = file_get_contents('http://vk.com/video_ext.php?oid='.$oid.'&id='.$idn.'&hash='.$hash); //хост $b1 = explode("video_host = '", $vkxml); $b2 = explode("';", $b1[1]); //ip видео $b3 = explode("video_uid = '", $vkxml); $b4 = explode("';", $b3[1]); //номер видео $b5 = explode("video_vtag = '", $vkxml); $b6 = explode("';", $b5[1]); //формат видео $b7 = explode("video_no_flv = ", $vkxml); $b8 = explode(";", $b7[1]); if ($b8[0] == 1){ $format = '.mp4'; }else{ $format = '.flv'; } //Проверка на качество видео $fileg = fopen($b2[0].'u'.$b4[0].'/videos/'.$b6[0].'.720'.$format, 'r'); if (!$fileg){ $fileg = fopen($b2[0].'u'.$b4[0].'/videos/'.$b6[0].'.480'.$format, 'r'); if (!$fileg){ $fileg = fopen($b2[0].'u'.$b4[0].'/videos/'.$b6[0].'.360'.$format, 'r'); if (!$fileg){ $fileg = fopen($b2[0].'u'.$b4[0].'/videos/'.$b6[0].'.240'.$format, 'r'); if (!$fileg){}else{ $urlfile = $b2[0].'u'.$b4[0].'/videos/'.$b6[0].'.240'.$format; } }else{ $urlfile = $b2[0].'u'.$b4[0].'/videos/'.$b6[0].'.360'.$format; } }else{ $urlfile = $b2[0].'u'.$b4[0].'/videos/'.$b6[0].'.480'.$format; } }else{ $urlfile = $b2[0].'u'.$b4[0].'/videos/'.$b6[0].'.720'.$format; } $urlvkyes = 'http://vk.com/video_ext.php?oid='.$oid.'&id='.$idn.'&hash='.$hash; $sock = fopen($urlfile, 'r'); } else { $sock = fopen($video_lnk, 'r'); } if(!$sock){ echo 'no_serviece'; } else { $html = ''; //Если сервис youtube, rutube, smotri, video.bigmir.net то просто выводи if(preg_match("/http:\/\/www.youtube.com|http:\/\/youtube.com|http:\/\/rutube.ru|http:\/\/www.rutube.ru|http:\/\/smotri.com|http:\/\/www.smotri.com/i", $video_lnk)){ while(!feof($sock)){$html .= fgets($sock);}} fclose($sock); //Если сервис youtube применяем кодировку utf-8, win-1251 $data_all = str_replace(array('[', ']'), array('&iqu;', '&iqu2;'), $html); //Если видеосервис youtube if(preg_match("/http:\/\/www.youtube.com|http:\/\/youtube.com/i", $video_lnk)){ preg_match_all('`(<title>[^\[]+\</title>)`si', $data_all, $parse); $res_title = rn_replace(str_replace(array('<title>', '</title>'), '', $parse[1][0])); //Делаем фотку для youtube $parse_start = explode('v=', $video_lnk); $parse_end = explode('&', $parse_start[1]); $res_img = "http://img.youtube.com/vi/{$parse_end[0]}/0.jpg"; $n_servis = "1"; } //RUTUBE if(preg_match("/http:\/\/rutube.ru|http:\/\/www.rutube.ru/i", $video_lnk)){ $video_lnk = file_get_contents($xmlfile); //Картинка $img1 = explode('"thumbnail_url": "', $video_lnk); $img2 = explode('"', $img1[1]); $res_img = $img2[0]; //Заголовок $title1 = explode('"title": "', $video_lnk); $title2 = explode('"', $title1[1]); //Описание $text1 = explode('"description": "', $video_lnk); $text2 = explode('"', $text1[1]); //id $id1 = explode('"embed_url": "http://rutube.ru/video/embed/', $video_lnk); $id2 = explode('"', $id1[1]); $id_url = $id2[0]; $n_servis = "2"; } //VK if(preg_match("/http:\/\/www.vk.com|http:\/\/vk.com/i", $video_lnk)){ //Картинка $img1 = explode('<img id="player_thumb" src="', $vkxml); $img2 = explode('"/>', $img1[1]); $img3 = str_replace ('v6','v4',$img2[0]); $res_img = $img3; //Заголовок $title1 = explode("var video_title = '", $vkxml); $title2 = explode("';", $title1[1]); $res_title = urldecode($title2[0]); $id_url = $urlvkyes; $n_servis = "3"; } //ДЕКОДЕР if ($n_servis == 2){ function Escape_win ($path) { $path = strtoupper ($path); return strtr($path, array("\U0430"=>"а", "\U0431"=>"б", "\U0432"=>"в", "\U0433"=>"г", "\U0434"=>"д", "\U0435"=>"е", "\U0451"=>"ё", "\U0436"=>"ж", "\U0437"=>"з", "\U0438"=>"и", "\U0439"=>"й", "\U043A"=>"к", "\U043B"=>"л", "\U043C"=>"м", "\U043D"=>"н", "\U043E"=>"о", "\U043F"=>"п", "\U0440"=>"р", "\U0441"=>"с", "\U0442"=>"т", "\U0443"=>"у", "\U0444"=>"ф", "\U0445"=>"х", "\U0446"=>"ц", "\U0447"=>"ч", "\U0448"=>"ш", "\U0449"=>"щ", "\U044A"=>"ъ", "\U044B"=>"ы", "\U044C"=>"ь", "\U044D"=>"э", "\U044E"=>"ю", "\U044F"=>"я", "\U0410"=>"А", "\U0411"=>"Б", "\U0412"=>"В", "\U0413"=>"Г", "\U0414"=>"Д", "\U0415"=>"Е", "\U0401"=>"Ё", "\U0416"=>"Ж", "\U0417"=>"З", "\U0418"=>"И", "\U0419"=>"Й", "\U041A"=>"К", "\U041B"=>"Л", "\U041C"=>"М", "\U041D"=>"Н", "\U041E"=>"О", "\U041F"=>"П", "\U0420"=>"Р", "\U0421"=>"С", "\U0422"=>"Т", "\U0423"=>"У", "\U0424"=>"Ф", "\U0425"=>"Х", "\U0426"=>"Ц", "\U0427"=>"Ч", "\U0428"=>"Ш", "\U0429"=>"Щ", "\U042A"=>"Ъ", "\U042B"=>"Ы", "\U042C"=>"Ь", "\U042D"=>"Э", "\U042E"=>"Ю", "\U042F"=>"Я", "\U00AB"=>"«", "\U00BB"=>"»", "\U2014"=>"-", "\U00A0"=>" "));} $res_title = Escape_win ($title2[0]); $res_descr = Escape_win ($text2[0]); } $result_img = $res_img; $result_title = trim(strip_tags(strtr($res_title, array(''' => "'", '"' => '"', '&iqu;' => '[', '&iqu2;' => ']')))); $result_descr = trim(strip_tags($res_descr)); if($result_img && $result_title) echo "{$result_img}:|:{$result_title}:|:{$result_descr}:|:{$n_servis}:|:{$id_url}"; else echo 'no_serviece'; } } else echo 'no_serviece'; die(); break; Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения