' . $article['title'] . '

Written by ' . $author['username'] . '

Published on ' . $article['published_at'] . '

'; $html .= $parsedown->text($markdown); $html .= ''; return $html; } /* * Generates cards for a given article. */ function article_card($article_id) { $article_query = 'SELECT * FROM article WHERE article_id = ' . $article_id . ';'; $article = query_one_result($article_query); $article_tags_query = 'SELECT tag FROM article_tags INNER JOIN tags ON article_tags.tag_id = tags.tag_id WHERE article_id = ' . $article_id . ';'; $tags_results = query_one_or_more_results($article_tags_query); $tags_html = ''; if ($tags_results != null) { $tags_html .= '
'; while ($row = mysqli_fetch_array($tags_results)) $tags_html .= '#' . $row['tag'] . ''; $tags_html .= '
'; } $author_query = 'SELECT user_id, username, profile_picture FROM user WHERE user_id = ' . $article['author_id'] . ';'; $author = query_one_result($author_query); $card = '

' . $article['title'] . '

Written by: ' . $author['username'] . ' Published: ' . $article['published_at'] . '

' . $article['excerpt'] . '

Read More
' . $tags_html . '
'; return $card; } function create_article($author_id, $title, $excerpt, $tags, $markdown_file_contents) { $stmt = 'INSERT INTO article (author_id, title, excerpt, published_at) VALUES (' . $author_id . ', "' . $title . '", "' . $excerpt . '", CURRENT_TIMESTAMP);'; $id = exec_statement($stmt, 0); $path = $_ENV['ARTICLES_FQ_PATH'] . $id . '/'; mkdir($path); echo '

created ' . $path . '

'; $fs = fopen($path . 'article.md', 'a'); fwrite($fs, $markdown_file_contents); fclose($fs); $stmt = 'INSERT INTO article_tags (article_id, tag_id) VALUES '; for ($i = 0; $i < count($tags); $i++) { $stmt .= '(' . $id . ', ' . $tags[$i] . ')'; if ($i < count($tags) - 1) $stmt .= ', '; if ($i == count($tags) - 1) $stmt .= ';'; } if (count($tags) > 0) exec_statement($stmt, 0); return $id; } function delete_article($article_id) { $stmt = 'DELETE FROM article_tags WHERE article_id = ' . $article_id . ';'; exec_statement($stmt, 1); $stmt = 'DELETE FROM article WHERE article_id = ' . $article_id . ';'; exec_statement($stmt, 1); delete_dir($_ENV['ARTICLES_FQ_PATH'] . $article_id . '/'); } function delete_articles_by_author($author_id) { $stmt = 'DELETE FROM article WHERE author_id = "' . $author_id . '";'; return exec_statement($stmt, 1); } function increment_read_counter($article_id) { $stmt = 'UPDATE article SET read_count = read_count + 1 WHERE article_id = ' . $article_id . ';'; return exec_statement($stmt, 1); }