function execute(&$controller, &$request, &$user) { $account = $request->getParameter('account'); $request->setAttribute('account', $account); $count = $request->hasParameter('count') ? $request->getParameter('count') : 16; $callback = $request->hasParameter('callback') ? $request->getParameter('callback') : false; $request->setAttribute('callback', $callback); $raw = $request->hasParameter('raw') ? true : false; $request->setAttribute('raw', $raw); $member = DB_DataObject::factory('member'); $member->get('account', $account); $site = DB_DataObject::factory('site'); $site->get('member_id', $member->id); $feed = array(); $feed['uri'] = SCRIPT_PATH . "{$member->account}/"; $feed['title'] = $site->title; $feed['description'] = $site->description; $feed['author'] = $member->account; $entries = EntryUtils::get_entries_by_account($account, $count); foreach ($entries as $key => $entry) { $entry['tags'] = TagUtils::get_tags_by_entry_id($entry['id']); $entries[$key] = $entry; } $feed = $feed + $entries; $request->setAttribute('feed', $feed); $request->setAttribute('entries', $entries); return VIEW_SUCCESS; }
function execute(&$controller, &$request, &$user) { $account = $request->getParameter('account'); $request->setAttribute('account', $account); $archives = EntryUtils::get_archives_by_account($account); $request->setAttribute('archives', $archives); return VIEW_SUCCESS; }
function execute(&$controller, &$request, &$user) { $member = DB_DataObject::factory('member'); $member->get('account', $request->getParameter('account')); $request->setAttribute('member', $member); $account = $request->getParameter('account'); $entry_id = $request->getParameter('entry_id'); $entry = EntryUtils::get_by_account_and_id($account, $entry_id); $entry['tags'] = TagUtils::get_tags_by_entry_id($entry_id); $request->setAttribute('entry', $entry); return VIEW_SUCCESS; }
function execute(&$controller, &$request, &$user) { $member = DB_DataObject::factory('member'); $member->find(); $sitemaps = array(); while ($member->fetch()) { $last_update = EntryUtils::get_last_update_by_account($member->account); $last_update = $last_update > 0 ? $last_update : time(); $sitemaps[] = array('loc' => SCRIPT_PATH . $member->account . '/sitemap', 'lastmod' => $last_update); } $request->setAttribute('sitemaps', $sitemaps); return VIEW_SUCCESS; }
function execute(&$controller, &$request, &$user) { $this->attrs['title'] = 'Plnet > ' . msg('tags'); $tag = $request->hasParameter('tag') ? $request->getParameter('tag') : null; if ($tag) { $entries = EntryUtils::get_entries_by_tagname($tag); foreach ($entries as $key => $entry) { $entry['tags'] = TagUtils::get_tags_by_entry_id($entry['id']); } $request->setAttribute('pager', ActionUtils::pager($entries)); $request->setAttribute('tag', $tag); } return VIEW_INDEX; }
function execute(&$controller, &$request, &$user) { $account = $request->getParameter('account'); $urls = array(); $last_update = EntryUtils::get_last_update($account); $last_update = $last_update > 0 ? $last_update : time(); // top $urls[] = array('loc' => SCRIPT_PATH . $account . '/', 'lastmod' => $last_update, 'changefreq' => PLNET_SITEMAP_TOP_FREQ, 'priority' => PLNET_SITEMAP_TOP_PRIORITY); // archive $archives = EntryUtils::get_archives_by_account($account); foreach ($archives as $archive) { $last_update = EntryUtils::get_last_update_by_account_and_year_month($account, $archive['y'], $archive['m']); $last_update = $last_update > 0 ? $last_update : time(); $urls[] = array('loc' => SCRIPT_PATH . "{$account}/{$archive['y']}/{$archive['m']}/", 'lastmod' => $last_update, 'changefreq' => PLNET_SITEMAP_ARCHIVE_FREQ, 'priority' => PLNET_SITEMAP_ARCHIVE_PRIORITY); } /* // tag $tags = TagUtils::get_tags_by_account($account); foreach ($tags as $tag) { $last_update = EntryUtils::get_last_update_by_account_and_tagname($account, $tag['id']); $last_update = $last_update > 0 ? $last_update : time(); $urls[] = array( 'loc' => SCRIPT_PATH . "{$account}/tag/{$tag['name']}/", 'lastmod' => $last_update, 'changefreq' => PLNET_SITEMAP_TAG_FREQ, 'priority' => PLNET_SITEMAP_TAG_PRIORITY ); } */ // source $sources = FeedUtils::get_feeds_by_account($account); foreach ($sources as $source) { $last_update = EntryUtils::get_last_update_by_account_feed_id($account, $source['id']); $last_update = $last_update > 0 ? $last_update : time(); $urls[] = array('loc' => SCRIPT_PATH . $account . '/source/' . $source['id'], 'lastmod' => $last_update, 'changefreq' => PLNET_SITEMAP_SOURCE_FREQ, 'priority' => PLNET_SITEMAP_SOURCE_PRIORITY); } // individual $entries = EntryUtils::get_entries_by_account($account); foreach ($entries as $entry) { $last_update = $entry['lastupdatedtime']; $last_update = $last_update > 0 ? $last_update : time(); $urls[] = array('loc' => SCRIPT_PATH . "{$account}/{$entry['id']}", 'lastmod' => $last_update, 'changefreq' => PLNET_SITEMAP_INDIVIDUAL_FREQ, 'priority' => PLNET_SITEMAP_INDIVIDUAL_PRIORITY); } $request->setAttribute('urls', $urls); return VIEW_SUCCESS; }
function execute(&$controller, &$request, &$user) { $account = $request->getParameter('account'); $site = SiteUtils::get_by_account($account); $site['link'] = SCRIPT_PATH . "{$account}/"; $site['uri'] = $site['link'] . 'rss'; $site['rss_icon'] = SCRIPT_PATH . 'images/feed_icon.gif'; $request->setAttribute('site', $site); $entries = EntryUtils::get_entries_by_account($account, 5); foreach ($entries as $key => $value) { $entries[$key]['title'] = $this->mb_truncate($value['title']); $entries[$key]['link'] = SCRIPT_PATH . "{$account}/{$value['id']}"; $entries[$key]['favicon'] = SCRIPT_PATH . "icon.php?url={$value['favicon']}"; } $request->setAttribute('entries', $entries); return VIEW_SUCCESS; }
function execute(&$controller, &$request, &$user) { $account = $request->getParameter('account'); $request->setAttribute('account', $account); $format = $request->hasParameter('format') ? $request->getParameter('format') : 'rss2'; $request->setAttribute('format', $format); $raw = $request->hasParameter('raw') ? true : false; $request->setAttribute('raw', $raw); $count = $request->hasParameter('count') ? $request->getParameter('count') : '16'; $request->setAttribute('count', $count); $callback = $request->hasParameter('callback') ? $request->getParameter('callback') : false; $request->setAttribute('callback', $callback); $tag = $request->getParameter('tag'); $request->setAttribute('tag', $tag); $site = SiteUtils::get_by_account($account); $request->setAttribute('site', $site); $entries = EntryUtils::get_entries_by_account_and_tagname($account, $tag, $count); $request->setAttribute('entries', $entries); return VIEW_SUCCESS; }
function execute(&$controller, &$request, &$user) { $account = $request->getParameter('account'); $request->setAttribute('account', $account); $count = $request->hasParameter('count') ? $request->getParameter('count') : 16; $callback = $request->hasParameter('callback') ? $request->getParameter('callback') : false; $request->setAttribute('callback', $callback); $raw = $request->hasParameter('raw') ? true : false; $request->setAttribute('raw', $raw); $entries = EntryUtils::get_entries_by_account($account, $count); foreach ($entries as $key => $entry) { $entry['tags'] = TagUtils::get_tags_by_entry_id($entry['id']); $entry['src'] = $entry['uri']; $entry['uri'] = SCRIPT_PATH . "{$account}/{$entry['id']}"; $entries[$key] = $entry; } $haj =& new HTML_AJAX_JSON(); $request->setAttribute('entries', $haj->encode($entries)); return VIEW_SUCCESS; }
function execute(&$controller, &$request, &$user) { $account = $request->getParameter('account'); $request->setAttribute('account', $account); $feed_id = $request->getParameter('source_id'); $request->setAttribute('feed_id', $feed_id); $callback = $request->hasParameter('callback') ? $request->getParameter('callback') : false; $request->setAttribute('callback', $callback); $raw = $request->hasParameter('raw') ? true : false; $request->setAttribute('raw', $raw); $format = $request->hasParameter('format') ? $request->getParameter('format') : false; $request->setAttribute('format', $format); $feed = FeedUtils::get_feed_by_id($feed_id); $site = array('title' => $feed['title'], 'description' => $feed['description']); $request->setAttribute('feed', $feed); $entries = EntryUtils::get_entries_by_account_and_feed_id($account, $feed_id); foreach ($entries as $key => $entry) { $entry['src'] = $feed['uri']; $entry['uri'] = SCRIPT_PATH . "{$account}/source/{$entry['id']}"; $entries[$key] = $entry; } $request->setAttribute('entries', $entries); return VIEW_SUCCESS; }
function execute(&$controller, &$request, &$user) { $account = $request->getParameter('account'); $year = $request->hasParameter('year') ? $request->getParameter('year') : null; $month = $request->hasParameter('month') ? $request->getParameter('month') : null; $q = $request->hasParameter('q') ? $request->getParameter('q') : null; $tag = $request->hasParameter('tag') ? $request->getParameter('tag') : null; $source_id = $request->hasParameter('source_id') ? $request->getParameter('source_id') : null; $category_id = $request->hasParameter('category_id') ? $request->getParameter('category_id') : null; $format = $request->hasParameter('format') ? $request->getParameter('format') : 'html'; $page = $request->hasParameter('page') ? $request->getParameter('page') : 1; $per_page = $format == 'html' ? PLNET_ENTRIES_PER_PAGE : PLNET_FEED_NUMBER; $start = ($page - 1) * PLNET_ENTRIES_PER_PAGE; $channel = array(); $site = SiteUtils::get_by_account($account); $member = MemberUtils::get_by_account($account); switch (true) { case $year && $month: $t = "Archive: {$year}年{$month}月"; $channel['title'] = $site['title'] . " {$t}"; $channel['link'] = SCRIPT_PATH . "{$account}/{$year}/{$month}/"; $channel['description'] = $site['description']; $rss1 = "{$channel['link']}rss"; $request->setAttribute('entries_title', "{$t} <a href=\"{$rss1}\"><img class=\"favicon\" src=\"images/feed_icon.gif\" /></a>"); $entries = EntryUtils::get_entries_by_account_and_year_month($account, $year, $month, $per_page, $start); $entries_count = EntryUtils::get_entries_count_by_account_and_year_month($account, $year, $month); $path = "/{$account}/{$year}/{$month}/"; break; case $q: $t = "Search: {$q}"; $channel['title'] = $site['title'] . " {$t}"; $channel['link'] = SCRIPT_PATH . "{$account}/search/{$q}"; $channel['description'] = $site['description']; $rss1 = "{$channel['link']}rss"; $request->setAttribute('entries_title', $t . " <a href=\"{$rss1}\"><img class=\"favicon\" " . "src=\"images/feed_icon.gif\" /></a>"); $entries = EntryUtils::get_entries_by_account_and_query($account, $q, $per_page, $start); $entries_count = EntryUtils::get_entries_count_by_account_and_query($account, $q); $path = "/{$account}/search/{$q}"; break; case $tag: $t = "Tag: {$tag}"; $channel['title'] = $site['title'] . " {$t}"; $channel['link'] = SCRIPT_PATH . "{$account}/tag/{$tag}"; $channel['description'] = $site['description']; $rss1 = "{$channel['link']}rss"; $request->setAttribute('entries_title', "Tag: {$tag} <a href=\"{$SCRIPT_PATH}tag/{$tag}\" " . "title=\"Plnet Tag: {$tag}\">[all]</a> <a href=\"{$rss1}\">" . "<img class=\"favicon\" src=\"images/feed_icon.gif\" /></a> "); $entries = EntryUtils::get_entries_by_account_and_tagname($account, $tag, $per_page, $start); $entries_count = EntryUtils::get_entries_count_by_account_and_tagname($account, $tag); $path = "/{$account}/tag/{$tag}"; break; case $source_id: $feed = FeedUtils::get_feed_by_id($source_id); $t = "Source: {$feed['title']}"; $channel['title'] = $site['title'] . " {$t}"; $request->setAttribute('feed_title', $feed['title']); $channel['link'] = SCRIPT_PATH . "{$account}/source/{$source_id}/"; $channel['description'] = $site['description']; $rss1 = "{$channel['link']}rss"; $entries_title = "Source: <a href=\"{$feed['link']} \">" . "{$feed['title']}</a> <a href=\"{$rss1}\"><img class=\"favicon\" " . "src=\"images/feed_icon.gif\" /></a>"; $request->setAttribute('entries_title', $entries_title); $entries = EntryUtils::get_entries_by_account_feed_id($account, $source_id, $per_page, $start); $entries_count = EntryUtils::get_entries_count_by_account_feed_id($account, $source_id); $path = "/{$account}/source/{$source_id}"; break; case $category_id: $content_category = ContentCategoryUtils::get($category_id); $entries_title = msg('category') . ": " . msg($content_category['name']); $request->setAttribute('entries_title', $entries_title); $entries = EntryUtils::find_by_member_id_and_category_id($member['id'], $category_id, $per_page, $start); $entries_count = EntryUtils::find_count_by_member_id_and_category_id($member['id'], $category_id); $path = "/{$account}/category/{$category_id}"; break; default: $channel['title'] = $site['title']; $channel['link'] = SCRIPT_PATH . "{$account}/"; $channel['description'] = $site['description']; $entries = EntryUtils::get_entries_by_account($account, $per_page, $start); $entries_count = EntryUtils::get_entries_count_by_account($account); $path = "/{$account}/"; break; } // tags foreach ($entries as $key => $entry) { $entries[$key]['link'] = SCRIPT_PATH . "{$account}/{$entry['id']}"; $entries[$key]['formated_date'] = date(msg('entry date format'), $entry['date']); $tags = TagUtils::get_tags_by_entry_id($entry['id']); if (count($tags) > 0) { foreach ($tags as $tag) { $entries[$key]['tags'][] = $tag['name']; } } } switch ($format) { case 'rss10': $channel['uri'] = $channel['link'] . 'rss'; $writer =& new FeedWriter(); $writer->setChannel($channel); $writer->setItems($entries); $writer->display($format); return VIEW_NONE; case 'rss20': $channel['uri'] = $channel['link'] . 'rss2'; $writer =& new FeedWriter(); $writer->setChannel($channel); $writer->setItems($entries); $writer->display($format); return VIEW_NONE; case 'html': default: $request->setAttribute('entries', $entries); $request->setAttribute('pager', Utils::pager($page, $entries_count, $path)); return VIEW_SUCCESS; } }