function index() { // CHANGE THE THE FINDALL QUERY TO NOT RETURN THE MOST RECENT VIDEO, ORDER BY DATE?? // GET RATINGS $this->Video->recursive = 0; $videos = $this->Video->findAll('WHERE approved =1','id, title, description, embedCode, filename, created', 'Video.created DESC','0,4',null,'0'); $latest = array_slice($videos,0,1); $embedCode = $latest[0]['Video']['embedCode']; if (empty($latest[0]['Video']['filename'])){ foreach ($videos as $ytVids){ $embedCode = $videos['Video']['embedCode']; if (!empty($ytVids['Video']['embedCode'])){ $regex = '(http://www.youtube.com/v/[A-Za-z0-9]+)'; preg_match($regex,$ytVids['Video']['embedCode'],$m); // regex for extracting youtube filename(ID) from embedcode. use basename() on extracted URL. $ytFile = basename($m[0]); // GET THE YOUTUBE 'FILENAME' $videos['Video']['ytFile'] =$ytFile ; } // ARRAY NEEDS TO CONTAIN YOUTUBE FILENAMES $this->set('embedCode',$embedCode); } } else { $this->set('vidFile', $latest[0]['Video']['filename']); } pr($videos); $this->set('videos',$videos); }