private function _get_popular_categories($page_slug) { $category_array = array(); try { $sql = "SELECT `tags`\n FROM `" . DB_NAME . "`.`" . DB_PREFIX . "entries`\n WHERE `page_id`=(\n SELECT `page_id`\n FROM `" . DB_NAME . "`.`" . DB_PREFIX . "pages`\n WHERE `page_slug`=:page_slug\n LIMIT 0, 1\n )"; $stmt = DB_Connect::create()->db->prepare($sql); $stmt->bindParam(':page_slug', $page_slug, PDO::PARAM_STR); $stmt->execute(); $categories_array = $stmt->fetchAll(PDO::FETCH_OBJ); foreach ($categories_array as $categories) { $temp_array = explode(',', strtolower($categories->tags)); foreach ($temp_array as $category) { if (empty($category)) { continue; } $c = str_replace(' ', '-', trim($category)); if (array_key_exists($c, $category_array)) { $category_array[$c] += 1; } else { $category_array[$c] = 1; } } } $stmt->closeCursor(); } catch (Exception $e) { ECMS_Error::log_exception($e); } arsort($category_array); return $category_array; }
static function display_recent_comments($num = 4, $page = 'blog') { // Load comments and titles for the entries $sql = "SELECT\n `name`,\n `comment`,\n `" . DB_PREFIX . "comments`.`created`,\n `title`,\n `slug`\n\t\t\t\tFROM `" . DB_PREFIX . "comments`\n\t\t\t\tLEFT JOIN `" . DB_PREFIX . "entries`\n\t\t\t\t\tUSING( `entry_id` )\n\t\t\t\tORDER BY `" . DB_PREFIX . "comments`.`created` DESC\n\t\t\t\tLIMIT {$num}"; try { $stmt = DB_Connect::create()->db->query($sql); FB::log($sql); $list = NULL; foreach ($stmt->fetchAll(PDO::FETCH_OBJ) as $entry) { $text = Utilities::text_preview(stripslashes($entry->title), 5, FALSE); $url = $entry->slug; $comment = Utilities::text_preview($entry->comment, 10, FALSE); $link = "/{$page}/{$entry->slug}"; $list .= "\n <li>{$entry->name} posted on <a href=\"{$link}\">{$text}</a>: {$comment}</li>"; } $stmt->closeCursor(); return "\n <ul id=\"recent-comments\">{$list}\n </ul>"; } catch (Exception $e) { FB::log($e); throw new Exception("Couldn't load popular entries."); } }