Jump to content
Sign in to follow this  
viiprogrammer

[FIX] Добавление видео с https

Recommended Posts

Как мы все знаем в вии видео можно добавить тк с началом на http, после установки эта проблема решится!

 

 

 

В videos.php найти:

         case "send":
            NoAjaxQuery();

           
И ниже найти:

 

                //Если youtube то добавляем префикс src=" и составляем ответ для скрипта, для вставки в БД
                if(preg_match("/src=\"http:\/\/www.youtube.com|src=\"http:\/\/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="http://www.youtube.com/embed/'.$exp_x[0].'" frameborder="0" allowfullscreen></iframe>';
                }
                
                //Если rutube, То добавляем префикс value="
                if(preg_match("/value=\"http:\/\/www.rutube.ru|value=\"http:\/\/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="http://video.rutube.ru/'.$exp_frutube[1].'"></PARAM><PARAM name="wmode" value="window"></PARAM><PARAM name="allowFullScreen" value="true"></PARAM><EMBED src="http://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=\"http:\/\/www.vimeo.com|src=\"http:\/\/vimeo.com/i", 'src="'.$good_video_lnk)){
                    $exp_frutube = explode('com/', $good_video_lnk);
                    $result_video_lnk = '<iframe src="http://player.vimeo.com/video/'.$exp_frutube[1].'" width="770" height="420" frameborder="0"></iframe>';
                }
                
                //Если smotri, То добавляем префикс src="
                if(preg_match("/src=\"http:\/\/www.smotri.com|src=\"http:\/\/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="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" /><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>';
                }

 

 

 

 

И заменить на:


 

                //Если youtube то добавляем префикс src=" и составляем ответ для скрипта, для вставки в БД
                if(preg_match("/src=\"http(?:s)?:\/\/www.youtube.com|src=\"http:\/\/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="http://www.youtube.com/embed/'.$exp_x[0].'" frameborder="0" allowfullscreen></iframe>';
                }
                
                //Если rutube, То добавляем префикс value="
                if(preg_match("/value=\"http(?:s)?:\/\/www.rutube.ru|value=\"http:\/\/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="http://video.rutube.ru/'.$exp_frutube[1].'"></PARAM><PARAM name="wmode" value="window"></PARAM><PARAM name="allowFullScreen" value="true"></PARAM><EMBED src="http://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=\"http(?:s)?:\/\/www.vimeo.com|src=\"http:\/\/vimeo.com/i", 'src="'.$good_video_lnk)){
                    $exp_frutube = explode('com/', $good_video_lnk);
                    $result_video_lnk = '<iframe src="http://player.vimeo.com/video/'.$exp_frutube[1].'" width="770" height="420" frameborder="0"></iframe>';
                }
                
                //Если smotri, То добавляем префикс src="
                if(preg_match("/src=\"http(?:s)?:\/\/www.smotri.com|src=\"http:\/\/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="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" /><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>';
                }

               

 

 

Найти:

 

        //################### Парсер . Загрузка данных о видео ###################//
        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.vimeo.com|http:\/\/vimeo.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.vimeo.com|http:\/\/vimeo.com/i", $video_lnk)){
                    $sock = fopen('http://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("/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);
                        }
                    }
                    
                    //Если сервис Vimeo, то сразу применяем кодировку utf-8, win-1251
                    if(preg_match("/http:\/\/www.vimeo.com|http:\/\/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("/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";
                    }
                    
                    //Если видеосервис rutube
                    if(preg_match("/http:\/\/rutube.ru|http:\/\/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 = "http://tub.rutube.ru/thumbs/{$exp_img_dir}/{$exp_img_dir_2}/{$exp_rutube_img[1]}-1.jpg";
                    }
                    
                    //Если видеосервис vimeo
                    if(preg_match("/http:\/\/www.vimeo.com|http:\/\/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("/http:\/\/smotri.com|http:\/\/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;

 

 

 

И заменить на:

 

        //################### Парсер . Загрузка данных о видео ###################//
        case "load":
            NoAjaxQuery();
            
            $video_lnk = $_POST['video_lnk'];
            
            if(preg_match("/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", $video_lnk)){
            
                //Открываем ссылку
                
                //Если ссылка youtube, то формируем xml ссылку для получения данных
                if(preg_match("/http(?:s)?:\/\/www.youtube.com|http(?:s)?:\/\/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(?:s)?:\/\/www.vimeo.com|http(?:s)?:\/\/vimeo.com/i", $video_lnk)){
                    $sock = fopen('http://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("/http(?:s)?:\/\/www.youtube.com|http(?:s)?:\/\/youtube.com|http(?:s)?:\/\/rutube.ru|http(?:s)?:\/\/www.rutube.ru|http(?:s)?:\/\/smotri.com|http(?:s)?:\/\/www.smotri.com/i", $video_lnk)){
                        while(!feof($sock)){
                            $html .= fgets($sock);
                        }
                    }
                    
                    //Если сервис Vimeo, то сразу применяем кодировку utf-8, win-1251
                    if(preg_match("/http(?:s)?:\/\/www.vimeo.com|http(?:s)?:\/\/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("/http(?:s)?:\/\/www.youtube.com|http(?:s)?:\/\/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";
                    }
                    
                    //Если видеосервис rutube
                    if(preg_match("/http(?:s)?:\/\/rutube.ru|http(?:s)?:\/\/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 = "http://tub.rutube.ru/thumbs/{$exp_img_dir}/{$exp_img_dir_2}/{$exp_rutube_img[1]}-1.jpg";
                    }
                    
                    //Если видеосервис vimeo
                    if(preg_match("/http:\/\/www.vimeo.com|http:\/\/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("/http:\/\/smotri.com|http:\/\/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;
        

 

 

 

В profile.js найти
 

var pattern = new RegExp(/http:\/\/www.youtube.com|http:\/\/youtube.com|http:\/\/rutube.ru|http:\/\/www.rutube.ru|http:\/\/www.vimeo.com|http:\/\/vimeo.com|http:\/\/smotri.com|http:\/\/www.smotri.com/i);

И заменить на:

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);

Все! Кликни post-6-0-86410200-1453829540.png!

  • Upvote 8

Share this post


Link to post
Share on other sites

все равно почему то пишет что неправильная ссылка, может там еще что то нужно менять...

Share this post


Link to post
Share on other sites

все равно почему то пишет что неправильная ссылка, может там еще что то нужно менять...

 

Хмм пробовал ctrl+f5 может в кеше засело?

Share this post


Link to post
Share on other sites

Хмм пробовал ctrl+f5 может в кеше засело?

Да пробовал, все равно почему то не добавляет зараза  :angry:  вот к примеру пытаюсь добавить это https://youtu.be/XEOZOZH_kgM

Share this post


Link to post
Share on other sites

Ребят, подскажите, почему вий берет ссылки выборочно, не пойму механизм правильной вставки. Фикс установлен. Например, что не нравится вию в этой ссылке? https://www.youtube.com/watch?v=y3RRKjm8ORs

Edited by Aleina- show

Share this post


Link to post
Share on other sites

Ребят, подскажите, почему вий берет ссылки выборочно, не пойму механизм правильной вставки. Фикс установлен. Например, что не нравится вию в этой ссылке? https://www.youtube.com/watch?v=y3RRKjm8ORs

Возможно не получается с видео выдрать превью или еще че

  • Upvote 1

Share this post


Link to post
Share on other sites

Ребят, подскажите, почему вий берет ссылки выборочно, не пойму механизм правильной вставки. Фикс установлен. Например, что не нравится вию в этой ссылке? https://www.youtube.com/watch?v=y3RRKjm8ORs

Это vii. И этим всё сказано) :lol:

  • Upvote 1

Share this post


Link to post
Share on other sites

Да, странно. На то и похоже, что превьюшка не берется. Ну ладно, значит придется смириться, спасибо за консультацию, ребят.

Share this post


Link to post
Share on other sites

на стену не добавляет видос

а в видео сохраняет

сборка Андрея

Насколько помню то при прикреплении вроде адреса не чекает так что похоже дело не в этой фиче

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×