} // OK - let's add tags $tags_arr = array(); $tagsort = param_alpha('ts', null) != 'freq' ? 'alpha' : 'freq'; foreach (get_my_tags(null, false, $tagsort) as $tag) { $tags_arr[] = array("id" => $tag->tag, "tag" => $tag->tag); } if (count($tags_arr) > 0) { $json['tags'] = $tags_arr; } // OK - let's add journals (and journal posts) $blogs_arr = array(); $blogs = (object) array('offset' => param_integer('offset', 0), 'limit' => param_integer('limit', 10)); $blogposts_arr = array(); $blogposts = array(); list($blogs->count, $blogs->data) = ArtefactTypeBlog::get_blog_list($blogs->limit, $blogs->offset); foreach ($blogs->data as $blog) { if (!$blog->locked) { $blogs_arr[] = array("id" => $blog->id, "blog" => $blog->title); $blogposts = ArtefactTypeBlogpost::get_posts($blog->id, $blogs->limit, $blogs->offset, null); foreach ($blogposts['data'] as $blogpost) { if (!$blogpost->locked) { $blogposts_arr[] = array("id" => $blogpost->id, "blogpost" => $blogpost->title); } } } } if (count($blogs_arr) > 0) { $json['blogs'] = $blogs_arr; } if (count($blogposts_arr) > 0) {
if (!$USER->get('admin')) { throw new AccessDeniedException(); } $institutiontitle = get_string('siteblogs', 'artefact.blog'); } else { $s = institution_selector_for_page($institution, get_config('wwwroot') . 'artefact/blog/index.php'); $institutionname = $s['institution']; if (!($USER->get('admin') || $USER->is_institutional_admin())) { throw new AccessDeniedException(); } $institutiontitle = get_string('institutionblogs', 'artefact.blog'); } $blogs->institution = $institutionname; } PluginArtefactBlog::set_blog_nav($institution, $institutionname); list($blogs->count, $blogs->data) = ArtefactTypeBlog::get_blog_list($blogs->limit, $blogs->offset, $blogs->institution); if (!empty($blogs->institution)) { require_once get_config('libroot') . 'institution.php'; $institution = new Institution($blogs->institution); } else { if (!$USER->get_account_preference('multipleblogs')) { $extra = !empty($institution) ? '?institution=' . $institution : ''; redirect(get_config('wwwroot') . 'artefact/blog/view/index.php' . $extra); } } ArtefactTypeBlog::build_blog_list_html($blogs); $smarty = smarty(array('paginator')); $smarty->assign_by_ref('blogs', $blogs); $smarty->assign('institutionname', $institutionname); $smarty->assign('PAGEHEADING', TITLE); $js = '';
* * @package mahara * @subpackage artefact-blog * @author Catalyst IT Ltd * @license http://www.gnu.org/copyleft/gpl.html GNU GPL * @copyright (C) 2006-2008 Catalyst IT Ltd http://catalyst.net.nz * */ define('INTERNAL', 1); define('JSON', 1); require dirname(dirname(dirname(__FILE__))) . '/init.php'; safe_require('artefact', 'blog'); $action = param_variable('action', 'list'); $id = param_variable('id', null); json_headers(); if ($action == 'list') { $limit = param_integer('limit', ArtefactTypeBlog::pagination); $offset = param_integer('offset', 0); list($count, $data) = ArtefactTypeBlog::get_blog_list($USER, $limit, $offset); echo json_encode(array('count' => $count, 'limit' => $limit, 'offset' => $offset, 'data' => $data)); } else { if ($action == 'delete') { $blog = artefact_instance_from_id($id); if ($blog instanceof ArtefactTypeBlog) { $blog->check_permission(); $blog->delete(); json_reply(false, get_string('blogdeleted', 'artefact.blog')); } throw new ArtefactNotFoundException(get_string('blogdoesnotexist', 'artefact.blog')); } }