validPost($slug) ) return false; $Post = new Post($slug); if( !$Post->valid() ) return false; // Get post's database $db = $dbPosts->getDb($slug); foreach($db as $key=>$value) { if($key=='unixstamp') { // Not overwrite $Post->setField('unixstamp', $value, false); $Post->setField('date', Date::format($value, '%d %B'), false); $Post->setField('timeago', Date::timeago($value), false); } else { // Not overwrite $Post->setField($key, $value, false); } } // Parse the content $content = $Parsedown->text( $Post->content() ); $Post->setField('content', $content, true); // User / Author if( $dbUsers->validUsername( $Post->username() ) ) { $user = $dbUsers->get( $Post->username() ); $Post->setField('author', $user['first_name'].', '.$user['last_name'], false); } return $Post; } function build_posts_per_page() { global $dbPosts; global $posts; $list = $dbPosts->getPage(0, 5); foreach($list as $slug=>$db) { $Post = build_post($slug); if($Post!==false) { array_push($posts, $Post); } } } // Filter by post, then build it if( ($Url->whereAmI()==='post') && ($Url->notFound()===false) ) { $Post = build_post( $Url->slug() ); if($Post===false) { $Url->setNotFound(true); unset($Post); } elseif( !$Post->published() ) { $Url->setNotFound(true); unset($Post); } else { $posts[0] = $Post; } } // Build post per page else { build_posts_per_page(); } ?>