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 addComponent($member) { if (!$member instanceof TeamMember) { throw new Exception('The given element is not a member.'); } $list = new SimpleListComponent(); $list->setClass("member"); parent::addComponent($list); $image = $member->getImage(); if ($image->getUrl() != null) { $list->addComponent($image); } $pseudo = $member->getPseudo(); $list->addComponent("<b>" . $pseudo . "</b>"); $roles = $member->getRoles(); $description = "<b>Rôle(s) :</b> "; if (!empty($roles)) { $isFirst = true; foreach ($roles as $role) { if ($isFirst) { $description .= ucfirst($role->getName()); $isFirst = false; } else { $description .= ', ' . $role->getName(); } } } else { $description .= "Aucun"; } $list->addComponent($description); $firstName = $member->getFirstName(); if ($firstName !== null) { $list->addComponent("<b>Prénom :</b> " . $firstName); } $age = $member->getAge(); if ($age !== null) { if (is_numeric($age)) { if ($age > 1000) { $age = time() - $age; $age /= 60 * 60 * 24 * 365.25; $age = floor($age); } $age = $age . " ans"; } $list->addComponent("<b>Âge :</b> " . $age); } $location = $member->getLocation(); if ($location !== null) { $list->addComponent("<b>Lieu :</b> " . $location); } $mail = $member->getMail(); if ($mail !== null) { $wrap = new SimpleTextComponent("<b>Contact :</b> "); $wrap->addComponent(new MailLink($mail)); $list->addComponent($wrap); } $website = $member->getWebsite(); if ($website !== null) { $wrap = new SimpleTextComponent("<b>Site Web :</b> "); $wrap->addComponent($website); $list->addComponent($wrap); } }
} usort($completeList, array('Release', 'releasingSorter')); $size = 3; $sorties = array(); $sortie = null; foreach ($completeList as $release) { // no header image => no advertisement => ignored for the header if ($release->isReleased() && $release->getHeaderImage() != null) { $timestamp = $release->getReleasingTime(); $image = $release->getHeaderImage(); if ($sortie === null || $sortie->getTimestamp() != $timestamp || strcmp($sortie->getImage(), $image) !== 0) { if (count($sorties) == $size) { break; } $sortie = new Sortie($timestamp, $image); $sorties[count($sorties)] = $sortie; } $sortie->addRelease($release); } else { continue; } } $list = new SimpleListComponent(); $list->setClass("sortieList"); krsort($sorties); foreach ($sorties as $sortie) { $list->addComponent(new SortieComponent($sortie)); } $header = new HeaderComponent(); $header->addComponent($list); $header->writeNow();
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); }