private function _fetchClassification(X_Page_ItemList_PItem $items) { $lets = 'ultimi-episodi,0-9,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z'; $lets = explode(',', $lets); foreach ($lets as $l) { $item = new X_Page_Item_PItem($this->getId() . "-{$l}", strtoupper($l)); if ($l == "ultimi-episodi") { // translate ultimi-episodi... special case $item->setLabel(X_Env::_('p_jigoku_lastupdates')); } $item->setIcon('/images/icons/folder_32.png')->setType(X_Page_Item_PItem::TYPE_CONTAINER)->setCustom(__CLASS__ . ':location', "{$l}")->setLink(array('l' => X_Env::encode("{$l}")), 'default', false); $items->append($item); } }
private function _fillPlaylist(X_Page_ItemList_PItem $items, $decoded, $lStack) { X_Debug::i("Decoded: " . print_r($decoded, true)); // The format of $decoded (only notable parts): // { // ok: true|false // msg: $msg ; Setted only if ok = false // folderId: $thisFolder // folders: [ // { // id: $folderID // name: $folderName // }, ... // ] // objects: [ // { // id: $objectID // name: $objectName // link: http://...?...&video=urlencoded(URL)&... // }, // { // id: $objectID // name: $objectName // link: http://...?...&host=megavideo&video=urlencoded(MEGAVIDEOURL)&... // }, // ] // ... // } foreach ($decoded->folders as $folder) { $_stack = $lStack; $_stack[] = $folder->id; $item = new X_Page_Item_PItem("opfitalia-folder-{$folder->id}", urldecode($folder->name)); $item->setType(X_Page_Item_PItem::TYPE_CONTAINER)->setGenerator(__CLASS__)->setCustom(__CLASS__ . ':location', implode(':', $_stack))->setLink(array('l' => X_Env::encode(implode(':', $_stack))), 'default', false); $items->append($item); } foreach ($decoded->objects as $object) { $item = new X_Page_Item_PItem("opfitalia-video-{$object->id}", urldecode($object->name)); $item->setType(X_Page_Item_PItem::TYPE_ELEMENT)->setGenerator(__CLASS__); // time to decode the link arg // file: index.php?page=show_streaming&video=http:\/\/www.dbforever.net\/strm\/onepiece\/one_piece_459.mp4&width=704&height=430 // megavideo: index.php?page=show_streaming&host=megavideo&video=http:\/\/www.megavideo.com\/v\/GIV2R76V038221ac298ceb332a9cad75288c318b&width=640&height=480 $link = explode('&', $object->link); $type = 'file'; $href = ''; foreach ($link as $sublink) { list($arg, $value) = @explode('=', $sublink, 2); if ($arg == 'host') { if ($value == 'megavideo') { $type = 'megavideo'; } } if ($arg == 'video') { $href = str_replace('\\/', '/', urldecode($value)); } } if ($type == 'megavideo') { // i gave to split the /v/ param only $splitted = explode('/v/', $href, 2); if (count($splitted) == 2) { $href = $splitted[1]; } else { // try to decode it // as ?v= preg_match('#\\?v=(.+?)$#', $href, $id); if (count($id) >= 2) { $href = $id[1]; } else { // if even this fail // i have to skip thi entry continue; } } $item->setLabel($item->getLabel() . " [Megavideo]"); } $item->setCustom(__CLASS__ . ':location', implode(':', $lStack) . "/{$type}/{$href}")->setLink(array('action' => 'mode', 'l' => X_Env::encode(implode(':', $lStack) . "/{$type}/{$href}")), 'default', false); $items->append($item); } }