Помагите откорегировать функцию

Тема в разделе "Как сделать...", создана пользователем karen12, 11 авг 2015.

  1. karen12

    karen12 Постоялец Нарушитель

    Регистр.:
    26 фев 2012
    Сообщения:
    80
    Симпатии:
    1
    Есть функция импорта медиа из YouTube, но она не рабочаяя, помагите откорегировать
    PHP:
    private function media_import(){
          
    // Get URL
          
    if(isset($_GET["url"])){
            
    $url urldecode($_GET["url"]);
            if(empty(
    $url)) return Main::redirect(Main::ahref("media/import","",FALSE),array("danger","Please enter a valid URL."));

            require(
    ROOT."/includes/Media.class.php");
            
    $import = new Media();
            
    $media $import->import($url,"100%","500");
            if(!isset(
    $media->src)) return Main::redirect(Main::ahref("media/import","",FALSE),array("danger""For some reason this video cannot be imported."));
            
    // Return Error
            
    if(isset($media->error)) return Main::redirect(Main::ahref("media/import","",FALSE),array("danger",$media->error));
            
    Main::hook("admin_import_sidebar",array("Admin","media_import_hook"));
          }
          
    Main::set("title","Import Media");
          
    $this->header(); 
          include(
    $this->t("import"));
          
    $this->footer();
        }
    и
    функция из media.class.php
    PHP:
     private function import_youtube(){
        
    // Match Youtube Link
        
    if (preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i'$this->url$match)) {
          
    $id $match[1];
        }else{
          return array(
    "error" => "Sorry this video cannot be accessed for some reason.");
        }
        
    $json = @Main::http("http://gdata.youtube.com/feeds/api/videos/$id?v=2&alt=jsonc");
        if(!
    $json) return array("error" => "Sorry this video cannot be accessed for some reason.");

        
    $json json_decode($json);
        if(
    $json->data->accessControl->embed !='allowed'){
         return array(
    "error" => "Sorry this video cannot be embedded because the author or the publisher prevented it.");
        }
        
    $this->data->title  $json->data->title;
        
    $this->data->slug   Main::slug($this->data->title);
        
    $this->data->id     $id;  
        
    $this->data->desc   Main::clean($json->data->description3TRUE);
        
    $this->data->thumb  "http://img.youtube.com/vi/$id/mqdefault.jpg";
        
    $this->data->size   $this->size($this->data->thumb);    
        
    $this->data->tag    = @implode(',',$json->data->tags);
        
    $this->data->src    "//www.youtube-nocookie.com/embed/$id?showinfo=0&rel=0&iv_load_policy=3&modestbranding=1";
        
    $this->data->import "Youtube";
      }
     
  2. world-tour

    world-tour

    Регистр.:
    25 апр 2015
    Сообщения:
    167
    Симпатии:
    114
    С виду все нормально, даже условия с preg_match
    А в логах что нибудь пишет?
     
  3. karen12

    karen12 Постоялец Нарушитель

    Регистр.:
    26 фев 2012
    Сообщения:
    80
    Симпатии:
    1
    когда пытаюсь получить видео из youtube пишет ошибку "For some reason this video cannot be imported".
     
  4. world-tour

    world-tour

    Регистр.:
    25 апр 2015
    Сообщения:
    167
    Симпатии:
    114
    В логах то что нибудь есть? =)
     
  5. karen12

    karen12 Постоялец Нарушитель

    Регистр.:
    26 фев 2012
    Сообщения:
    80
    Симпатии:
    1
    Нету нечего там, я уже замучался
     
    Последнее редактирование: 11 авг 2015
  6. karen12

    karen12 Постоялец Нарушитель

    Регистр.:
    26 фев 2012
    Сообщения:
    80
    Симпатии:
    1
    Вот проверил нашел это

    ::1 - - [11/Aug/2015:21:25:48 +0400] "GET /video/admin/media/import?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dv3r-HWQ0-vk HTTP/1.1" 302 20 "http://localhost/video/admin/media/import" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36"
    ::1 - - [11/Aug/2015:21:25:49 +0400] "GET /video/admin/media/import HTTP/1.1" 200 3086 "http://localhost/video/admin/media/import" "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/44.0.2403.130 Safari/537.36"