id"] = t("Comments on %title", array("title" => SafeString::purify($item->title))); } return $feeds; } static function feed($feed_id, $offset, $limit, $id) { if ($feed_id != "newest" && $feed_id != "item") { return; } $comments = ORM::factory("comment") ->where("state", "published") ->orderby("created", "DESC"); $all_comments = ORM::factory("comment") ->where("state", "published") ->orderby("created", "DESC"); if ($feed_id == "item") { $comments->where("item_id", $id); $all_comments->where("item_id", $id); } if (!empty($comments)) { $feed->view = "comment.mrss"; $comments = $comments->find_all($limit, $offset); $feed->children = array(); foreach ($comments as $comment) { $item = $comment->item(); $feed->children[] = new ArrayObject( array("pub_date" => date("D, d M Y H:i:s T", $comment->created), "text" => nl2br(SafeString::purify($comment->text)), "thumb_url" => $item->thumb_url(), "thumb_height" => $item->thumb_height, "thumb_width" => $item->thumb_width, "item_uri" => url::abs_site("{$item->type}s/$item->id"), "title" => SafeString::purify($item->title), "author" => SafeString::of($comment->author_name())), ArrayObject::ARRAY_AS_PROPS); } $feed->max_pages = ceil($all_comments->find_all()->count() / $limit); $feed->title = htmlspecialchars(t("Recent Comments")); $feed->uri = url::abs_site("albums/" . (empty($id) ? "1" : $id)); $feed->description = t("Recent Comments"); return $feed; } } }