function __construct(Menu $menu)
 {
     $this->setClass('menu');
     if ($menu->getTitle() !== null) {
         $this->addComponent(new Title($menu->getTitle()));
     }
     $entries = $menu->getEntries();
     if (!empty($entries)) {
         $list = new SimpleListComponent();
         foreach ($entries as $entry) {
             $list->addComponent($entry);
         }
         $this->addComponent($list);
     }
 }
 public function addComponent($project)
 {
     if ($project instanceof ProjectLink) {
         $project->useImage($this->useImage);
         parent::addComponent($project);
     } else {
         throw new Exception("Cannot take components other than project links.");
     }
 }
 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);
 }
Example #4
0
}
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 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);
     }
 }
 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);
 }