Exemplo n.º 1
0
 private static function fuukaFormat(Post $post) : array
 {
     $fuukaData = ['doc_id' => $post->getDocId(), 'num' => $post->getNo(), 'subnum' => 0, 'thread_num' => $post->getThreadId(), 'op' => $post->getNo() == $post->getThreadId() ? 1 : 0, 'fourchan_date' => $post->getChanTime(), 'timestamp' => $post->getTime(), 'name' => $post->name, 'name_processed' => $post->getName(), 'email' => $post->email, 'email_processed' => $post->getEmail(), 'trip' => $post->trip, 'trip_processed' => $post->getTripcode(), 'poster_hash_processed' => $post->getID(), 'poster_hash' => $post->id, 'comment_sanitized' => Yotsuba::toBBCode($post->getComment()), 'comment' => Yotsuba::toBBCode($post->getComment()), 'comment_processed' => $post->getComment(), 'title' => $post->sub, 'title_processed' => $post->getSubject()];
     if ($post->hasImage()) {
         $fuukaData['media'] = ['op' => $post->getThreadId() == $post->getNo() ? 1 : 0, 'preview_w' => $post->getThumbWidth(), 'preview_h' => $post->getThumbHeight(), 'media_filename' => $post->getFullFilename(), 'media_filename_processed' => $post->getFullFilename(), 'media_w' => $post->getWidth(), 'media_h' => $post->getHeight(), 'media_size' => $post->getFilesize(), 'media_hash' => base64_encode($post->getMD5Bin()), 'media_orig' => $post->getTim() . $post->getExtension(), 'media' => $post->getTim() . $post->getExtension(), 'preview_reply' => $post->getTim() . "s.jpg", 'remote_media_link' => $post->getImgUrl(), 'media_link' => $post->getImgUrl(), 'thumb_link' => $post->getThumbUrl()];
     } else {
         $fuukaData['media'] = null;
     }
     return $fuukaData;
 }
Exemplo n.º 2
0
 static function renderPost(Post $post, $display = PostRenderer::DISPLAY_REPLY, bool $sticky = false, bool $closed = false) : string
 {
     if ($display == self::DISPLAY_CATALOG) {
         list($tnW, $tnH) = tn_Size($post->w, $post->h);
         return "<div id='thread-{$post->no}' class='thread'>" . "<a href='/{$post->getBoard()}/thread/{$post->getNo()}'>" . ($post->imgbanned ? Site::parseHtmlFragment("post/banned_image.html") : "<img alt='' id='thumb-{$post->no}' class='thumb' width='{$tnW}' height='{$tnH}' src='{$post->getThumbUrl()}' data-id='{$post->no}'>") . "</a>" . ($post->replies > 0 ? "<div title='(R)eplies / (I)mages' id='meta-{$post->no}' class='meta'>" . "R: <b>{$post->replies}</b>" . ($post->images > 0 ? " / I: <b>{$post->images}</b>" : '') . "</div>" : "") . '<div class="teaser">' . "<b>{$post->sub}</b>" . ($post->sub != "" ? ": " . $post->com : $post->com) . "</div></div>";
     }
     $postDiv = div('', 'post ' . $display)->set('id', 'p' . $post->no);
     if ($display == self::DISPLAY_REPLY) {
         // Replies have postInfo first, then imageblock
         $postDiv->append(self::makePostInfo($post, $sticky, $closed));
         $postDiv->append(self::makeImageBlock($post, $display));
     } else {
         if ($display == self::DISPLAY_OP) {
             // OPs have imageblock first, then post info
             $postDiv->append(self::makeImageBlock($post, $display));
             $postDiv->append(self::makePostInfo($post, $sticky, $closed));
         }
     }
     $postDiv->append(el('blockquote', self::fixHTML($post), ['class' => 'postMessage', 'id' => "m{$post->no}"]));
     return div($postDiv, "postContainer {$display}Container")->set('id', "pc{$post->no}");
 }
Exemplo n.º 3
0
 /**
  * addPost
  *
  * @param Post $post post to be added to the thread's array of posts.
  */
 function addPost($post)
 {
     $post->setBoard($this->board);
     $post->setThread($this);
     $this->posts[] = $post;
     $this->postIds[] = $post->getNo();
     $this->parseQuotes($post->com, $post->no);
 }