private function fillWithDownloadData($releaseContent, $release) { $fileList = new SimpleListComponent(); $fileList->setClass("fileList"); $ddlLinks = new GroupedLinks(new Image("images/icones/ddl.png")); $ddlLinks->setClass("ddlLinks"); $megauploadLinks = new GroupedLinks(new Image("images/icones/megaup.jpg")); $megauploadLinks->setClass("megauploadLinks"); $freeLinks = new GroupedLinks(new Image("images/icones/free.jpg")); $freeLinks->setClass("freeLinks"); $rapidShareLinks = new GroupedLinks(new Image("images/icones/rapidshare.jpg")); $rapidShareLinks->setClass("rapidShareLinks"); $mediaFireLinks = new GroupedLinks(new Image("images/icones/mediafire.jpg", "Mediafire")); $mediaFireLinks->setClass("mediaFireLinks"); $torrentLinks = new GroupedLinks(new Link($release->getTorrentUrl(), new Image("images/icones/torrent.png"))); $torrentLinks->setClass("torrentLink"); $fileDescriptors = $release->getFileDescriptors(); $index = 1; foreach ($fileDescriptors as $descriptor) { $description = new SimpleTextComponent(); $path = $descriptor->getFilePath(); $name = basename($path); if (empty($name)) { $name = Debug::createWarningTag("aucun fichier renseigné"); } $description->addLine($name); $url = "ddl/" . $path; $size = "Taille : "; try { $size .= Format::formatSize(filesize($url)); } catch (Exception $e) { $size .= Debug::createWarningTag("inconnue"); } $size .= " "; $description->addComponent($size); if ($descriptor->getCRC() !== null) { $description->addComponent("CRC : " . $descriptor->getCRC() . " "); } $id = null; if ($release->getProject()->isDoujin()) { $pages = ""; if ($descriptor->getPageNumber() != null) { $n = $descriptor->getPageNumber(); $pages = $n . " page" . ($n > 1 ? "s" : null) . " "; } $description->addComponent($pages); } else { $array = array(); if ($descriptor->getVideoCodec() !== null) { $array[] = $descriptor->getVideoCodec()->getName(); if ($id == null) { $id = $descriptor->getVideoCodec()->getName(); } } if ($descriptor->getSoundCodec() !== null) { $array[] = $descriptor->getSoundCodec()->getName(); if ($id == null) { $id = $descriptor->getSoundCodec()->getName(); } } if ($descriptor->getContainerCodec() !== null) { $array[] = $descriptor->getContainerCodec()->getName(); if ($id == null) { $id = $descriptor->getContainerCodec()->getName(); } } $codecs = ""; if (!empty($array)) { $codecs = "Codecs : " . implode(" ", $array) . " "; } $description->addComponent($codecs); } if ($descriptor->getReleaseSource() !== null) { $description->addComponent("Source : " . $descriptor->getReleaseSource() . " "); } if ($descriptor->getID() != null) { $id = $descriptor->getID(); } else { if ($id == null) { $id = $index; } } $index++; if ($descriptor->getComment() !== null) { $description->addLine(); $comment = new SimpleBlockComponent(); $comment->setClass("comment"); $comment->setContent($descriptor->getComment()); $description->addComponent($comment); } $description->addLine(); $description->addLine(); $fileList->addcomponent($description); $linkName = count($fileDescriptors) == 1 ? "Télécharger" : $id; $ddlLinks->addLink(new Link($url, $linkName)); if ($descriptor->getMegauploadUrl() !== null) { $megauploadLinks->addLink(new Link($descriptor->getMegauploadUrl(), $linkName)); } if ($descriptor->getFreeUrl() !== null) { $freeLinks->addLink(new Link($descriptor->getFreeUrl(), $linkName)); } if ($descriptor->getRapidShareUrl() !== null) { $rapidShareLinks->addLink(new Link($descriptor->getRapidShareUrl(), $linkName)); } if ($descriptor->getMediaFireUrl() !== null) { $mediaFireLinks->addLink(new Link($descriptor->getMediaFireUrl(), $linkName)); } if ($descriptor->getTorrentUrl() !== null) { $torrentLinks->addLink(new Link($descriptor->getTorrentUrl(), $linkName)); } } $releaseContent->addComponent(new title("Fichiers")); $releaseContent->addComponent($fileList); $releaseContent->addComponent(new title("Téléchargements")); $list = new SimpleListComponent(); $list->setClass("linkList"); $list->addcomponent($ddlLinks); if (!$megauploadLinks->isEmpty()) { // MU links removed because MU down //$list->addComponent($megauploadLinks); } if (!$freeLinks->isEmpty()) { $list->addComponent($freeLinks); } if (!$rapidShareLinks->isEmpty()) { $list->addComponent($rapidShareLinks); } if (!$mediaFireLinks->isEmpty()) { $list->addComponent($mediaFireLinks); } $list->addComponent($torrentLinks); $list->addComponent(new XdccLink()); $streamingsLinks = new GroupedLinks(new Image("images/icones/streaming.png")); $streamingsLinks->setClass("streamingsLinks"); foreach ($release->getStreamings() as $link) { $streamingsLinks->addLink($link); } if (!$streamingsLinks->isEmpty()) { $list->addComponent($streamingsLinks); } $bonusLinks = new GroupedLinks(new Image("images/icones/bonus.png")); $bonusLinks->setClass("bonusLinks"); foreach ($release->getBonuses() as $link) { $bonusLinks->addLink($link); } if (!$bonusLinks->isEmpty()) { $list->addComponent($bonusLinks); } $releaseContent->addComponent($list); }
public function __construct(Project $project, $forceDisplay = false) { $image = new Image('images/series/' . $project->getID() . '.jpg'); $image->setClass('projectPicture'); $this->addComponent($image); $this->addComponent(new Title("Informations générales", 2)); if ($project->hasExternalSource()) { $subtitle = new Title("Source : ", 4); $subtitle->addComponent($project->getExternalSource()); $this->addComponent($subtitle); } $array = array(array("Titre Original", $project->getOriginalName()), array("Site officiel", $project->getOfficialWebsite()), array("Année de production", $project->getAiringYear()), array("Studio", $project->getStudio()), array("Auteur", $project->getAuthor()), array("Genre", $project->getGenre()), array("Synopsis", $project->getSynopsis()), array("Coproduction", $project->getCoproduction()), array("Vosta", $project->getVosta())); $infos = new SimpleTextComponent(); $infos->setClass('projectInfos'); foreach ($array as $data) { if ($data[1] !== null) { $text = new SimpleTextComponent("<b>" . $data[0] . "</b> "); $text->addComponent($data[1]); $infos->addLine($text); } } $this->addComponent($infos); if ($project->getComment() !== null) { $this->addComponent("<p></p>"); $this->addComponent(new Title("Commentaire", 2)); $this->addComponent(Format::convertTextToHtml($project->getComment())); } $this->addComponent("<p></p>"); $link = Link::newWindowLink("http://zero.xooit.fr/t471-Liens-morts.htm", "Signaler un lien mort"); $link->setClass('deadLinks'); $this->addComponent($link); $this->addComponent("<p></p>"); $this->addComponent(new Title($project->isDoujin() ? "Chapitres" : "Épisodes", 2)); $releases = Release::getAllReleasesForProject($project->getID()); usort($releases, array('Release', 'idSorter')); $list = new SimpleListComponent(); $list->setClass("releaseList"); foreach ($releases as $release) { $list->addComponent(new ReleaseComponent($release, $forceDisplay)); } $this->addComponent($list); $linkedProjects = Project::getProjectsLinkedTo($project); if (!empty($linkedProjects)) { $this->addComponent("<p></p>"); $this->addComponent(new Title("Voir aussi", 2)); $list = new ProjectList(); foreach ($linkedProjects as $link) { $list->addProject($link); } $list->sortByNames(); $list = new ProjectListComponent($list); $list->useImage(true); $this->addComponent($list); } foreach ($project->getBonuses() as $bonus) { $this->addComponent("<p></p>"); $this->addComponent(new Title("Bonus : " . $bonus->getTitle(), 2)); $this->addComponent($bonus->getContent()); } $groups = ProjectGroup::getGroupsForProject($project); foreach ($groups as $group) { foreach ($group->getBonuses() as $bonus) { $this->addComponent("<p></p>"); $this->addComponent(new Title("Bonus : " . $bonus->getTitle(), 2)); $this->addComponent($bonus->getContent()); } } $this->addComponent("<p></p>"); $url = $project->getDiscussionUrl(); if ($url == null) { $url = new Url("http://zero.xooit.fr/posting.php?mode=reply&t=120"); } $link = Link::newWindowLink($url, new Image("images/interface/avis.png", "Donne ton avis sur le forum !")); $link->setClass('discussionLink'); $this->addComponent($link); }