Ejemplo n.º 1
0
    } else {
        if ($moderator) {
            $topic->editrecord = true;
        } else {
            if (user_can_edit_post($topic->poster, $topic->ctime, $USER->get('id'), false)) {
                $SESSION->add_error_msg(get_string('postaftertimeout', 'interaction.forum', get_config_plugin('interaction', 'forum', 'postdelay')));
                redirect('/interaction/forum/topic.php?id=' . $topicid);
            } else {
                throw new AccessDeniedException(get_string('cantedittopic', 'interaction.forum'));
            }
        }
    }
}
$editform = array('name' => isset($topic) ? 'edittopic' : 'addtopic', 'method' => 'post', 'autofocus' => isset($topic) ? 'body' : 'subject', 'elements' => array('subject' => array('type' => 'text', 'title' => get_string('Subject', 'interaction.forum'), 'defaultvalue' => isset($topic) ? $topic->subject : null, 'rules' => array('required' => true, 'maxlength' => 255)), 'body' => array('type' => 'wysiwyg', 'title' => get_string('Body', 'interaction.forum'), 'rows' => 18, 'cols' => 70, 'defaultvalue' => isset($topic) ? $topic->body : null, 'rules' => array('required' => true, 'maxlength' => 65536)), 'sticky' => array('type' => 'switchbox', 'title' => get_string('Sticky', 'interaction.forum'), 'description' => get_string('stickydescription', 'interaction.forum'), 'defaultvalue' => isset($topic) && $topic->sticky == 1 ? 'checked' : null), 'closed' => array('type' => 'switchbox', 'title' => get_string('Closed', 'interaction.forum'), 'description' => get_string('closeddescription', 'interaction.forum'), 'defaultvalue' => isset($topic) ? $topic->closed : !empty($forumconfig['closetopics']->value)), 'sendnow' => array('type' => 'switchbox', 'title' => get_string('sendnow', 'interaction.forum'), 'description' => get_string('sendnowdescription', 'interaction.forum', get_config_plugin('interaction', 'forum', 'postdelay')), 'defaultvalue' => false), 'submit' => array('type' => 'submitcancel', 'value' => array(isset($topic) ? get_string('save') : get_string('Post', 'interaction.forum'), get_string('cancel')), 'goto' => get_config('wwwroot') . 'interaction/forum/' . (isset($topic) && $returnto != 'view' ? 'topic.php?id=' . $topicid : 'view.php?id=' . $forumid)), 'post' => array('type' => 'hidden', 'value' => isset($topic) ? $topic->postid : false), 'editrecord' => array('type' => 'hidden', 'value' => isset($topic) ? $topic->editrecord : false)));
if (!$moderator) {
    if (!group_sendnow($forum->groupid) && !$admintutor) {
        unset($editform['elements']['sendnow']);
    }
    unset($editform['elements']['sticky']);
    unset($editform['elements']['closed']);
}
$editform = pieform($editform);
function addtopic_validate(Pieform $form, $values)
{
    if ($baddomain = get_first_blacklisted_domain($values['body'])) {
        $form->set_error('body', get_string('blacklisteddomaininurl', 'mahara', $baddomain));
    }
    $result = probation_validate_content($values['body']);
    if ($result !== true) {
        $form->set_error('body', get_string('newuserscantpostlinksorimages'));
    }
Ejemplo n.º 2
0
            $post->editrecord = true;
        } else {
            if (user_can_edit_post($post->poster, $post->ctime, $USER->get('id'), false)) {
                $SESSION->add_error_msg(get_string('postaftertimeout', 'interaction.forum', get_config_plugin('interaction', 'forum', 'postdelay')));
                redirect('/interaction/forum/topic.php?id=' . $parent->topic);
            } else {
                throw new AccessDeniedException(get_string('canteditpost', 'interaction.forum'));
            }
        }
    }
    $action = get_string('editpost', 'interaction.forum');
    define('TITLE', $parent->topicsubject . ' - ' . $action);
}
$parent->ctime = relative_date(get_string('strftimerecentfullrelative', 'interaction.forum'), get_string('strftimerecentfull'), $parent->ctime);
$editform = array('name' => 'editpost', 'successcallback' => isset($post) ? 'editpost_submit' : 'addpost_submit', 'autofocus' => 'body', 'elements' => array('subject' => array('type' => 'text', 'title' => get_string('Subject', 'interaction.forum'), 'defaultvalue' => isset($post) ? $post->subject : null, 'rules' => array('maxlength' => 255), 'hidewhenempty' => true, 'expandtext' => get_string('clicksetsubject', 'interaction.forum')), 'body' => array('type' => 'wysiwyg', 'title' => get_string('Body', 'interaction.forum'), 'rows' => 18, 'cols' => 70, 'defaultvalue' => isset($post) ? $post->body : null, 'rules' => array('required' => true, 'maxlength' => 65536)), 'sendnow' => array('type' => 'switchbox', 'title' => get_string('sendnow', 'interaction.forum'), 'description' => get_string('sendnowdescription', 'interaction.forum', get_config_plugin('interaction', 'forum', 'postdelay')), 'defaultvalue' => false), 'submit' => array('type' => 'submitcancel', 'class' => 'btn-primary', 'value' => array(isset($post) ? get_string('save') : get_string('Post', 'interaction.forum'), get_string('cancel')), 'goto' => get_config('wwwroot') . 'interaction/forum/topic.php?id=' . $parent->topic . '&post=' . (isset($postid) ? $postid : $parentid)), 'topic' => array('type' => 'hidden', 'value' => $parent->topic), 'editrecord' => array('type' => 'hidden', 'value' => isset($post) ? $post->editrecord : false)));
if (!$moderator && !$admintutor && !group_sendnow($parent->group) || get_config_plugin('interaction', 'forum', 'postdelay') <= 0) {
    unset($editform['elements']['sendnow']);
}
$editform = pieform($editform);
function editpost_validate(Pieform $form, $values)
{
    if ($baddomain = get_first_blacklisted_domain($values['body'])) {
        $form->set_error('body', get_string('blacklisteddomaininurl', 'mahara', $baddomain));
    }
    $result = probation_validate_content($values['body']);
    if ($result !== true) {
        $form->set_error('body', get_string('newuserscantpostlinksorimages'));
    }
}
function get_groupid_from_postid($postid)
{