$description = ''; $tags = array($tagselect); $checked = ''; $pagetitle = get_string('newblogpost', 'artefact.blog', get_field('artefact', 'title', 'id', $blog)); $focuselement = 'title'; $attachments = array(); if ($blogobj->get('group')) { $group = get_record('group', 'id', $blogobj->get('group'), 'deleted', 0); $subsectionheading = $pagetitle; define('TITLE', $group->name); } else { define('TITLE', $pagetitle); } } else { $blogpostobj = new ArtefactTypeBlogPost($blogpost); $blogpostobj->check_permission(true); if ($blogpostobj->get('locked')) { throw new AccessDeniedException(get_string('submittedforassessment', 'view')); } $blog = $blogpostobj->get('parent'); $title = $blogpostobj->get('title'); $description = $blogpostobj->get('description'); $tags = $blogpostobj->get('tags'); $checked = !$blogpostobj->get('published'); $pagetitle = get_string('editblogpost', 'artefact.blog'); $focuselement = 'description'; // Doesn't seem to work with tinyMCE. $attachments = $blogpostobj->attachment_id_list(); if ($blogpostobj->get('group')) { $group = get_record('group', 'id', $blogpostobj->get('group'), 'deleted', 0); $subsectionheading = $pagetitle;
* * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. * * @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(dirname(__FILE__)))) . '/init.php'; safe_require('artefact', 'blog'); json_headers(); $id = param_integer('id'); $blogpost = new ArtefactTypeBlogPost($id); $blogpost->check_permission(); $blogpost->delete(); json_reply(false, get_string('blogpostdeleted', 'artefact.blog'));
function delete_submit(Pieform $form, $values) { $blogpost = new ArtefactTypeBlogPost((int) $values['delete']); $blogpost->check_permission(); if ($blogpost->get('locked')) { $form->reply(PIEFORM_ERR, get_string('submittedforassessment', 'view')); } $blogpost->delete(); $form->reply(PIEFORM_OK, array('message' => get_string('blogpostdeleted', 'artefact.blog'), 'goto' => get_config('wwwroot') . 'artefact/blog/view/index.php?id=' . $blogpost->get('parent'), 'id' => $values['delete'])); }
if ($blog) { if (!($title && $description)) { jsonreply(array('fail' => 'Journal posts must have a title and entry (description).')); } if (!get_record('artefact', 'id', $blog, 'owner', $USER->get('id'))) { // Blog security is also checked closer to when blogs are added, this // check ensures that malicious users do not even see the screen for // adding a post to a blog that is not theirs throw new AccessDeniedException(get_string('youarenottheownerofthisblog', 'artefact.blog')); } // Should we create a new post or attach the new file to an existing post $postids = get_records_sql_array("\n SELECT a.id\n FROM {artefact} a\n WHERE a.title = ? AND a.description = ?\n\tAND a.owner = ? ", array($title, $description, $USER->get('id'))); if ($postids) { $blogpost = $postids[0]->id; $postobj = new ArtefactTypeBlogPost($blogpost); $postobj->check_permission(); if ($postobj->get('locked')) { throw new AccessDeniedException(get_string('submittedforassessment', 'view')); } } else { $postobj = new ArtefactTypeBlogPost($blogpost, null); $postobj->set('title', $title); $postobj->set('description', $description); $postobj->set('tags', $tags); $postobj->set('published', !$draft); $postobj->set('allowcomments', (int) $allowcomments); $postobj->set('parent', $blog); $postobj->set('owner', $USER->id); $postobj->commit(); } }