Exemplo n.º 1
0
function delete_interaction_submit(Pieform $form, $values)
{
    require_once get_config('docroot') . 'interaction/lib.php';
    $instance = interaction_instance_from_id($values['id']);
    $instance->delete();
    global $SESSION;
    $SESSION->add_ok_msg(get_string('interactiondeleted', 'group', get_string('name', 'interaction.' . $instance->get('plugin'))));
    redirect('/interaction/' . $instance->get('plugin') . '/index.php?group=' . $instance->get('group'));
}
Exemplo n.º 2
0
/**
 * Removes a user from a group.
 *
 * @param int $groupid ID of group
 * @param int $userid  ID of user to remove
 */
function group_remove_user($groupid, $userid = null, $force = false)
{
    // group_user_can_leave checks the validity of groupid and userid
    if (!$force && !group_user_can_leave($groupid, $userid)) {
        throw new AccessDeniedException(get_string('usercantleavegroup', 'group'));
    }
    delete_records('group_member', 'group', $groupid, 'member', $userid);
    global $USER;
    $USER->reset_grouproles();
    require_once get_config('docroot') . 'interaction/lib.php';
    $interactions = get_column('interaction_instance', 'id', 'group', $groupid);
    foreach ($interactions as $interaction) {
        interaction_instance_from_id($interaction)->interaction_remove_user($userid);
    }
}
Exemplo n.º 3
0
 *
 * @package    mahara
 * @subpackage interaction
 * @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('MENUITEM', 'groups');
require dirname(dirname(__FILE__)) . '/init.php';
require_once get_config('docroot') . 'interaction/lib.php';
require_once 'pieforms/pieform.php';
require_once 'group.php';
$id = param_integer('id');
$instance = interaction_instance_from_id($id);
define('GROUP', $instance->get('group'));
$group = group_current_group();
$membership = group_user_access((int) $group->id);
if ($membership != 'admin') {
    throw new AccessDeniedException(get_string('notallowedtodeleteinteractions', 'group'));
}
define('TITLE', get_string('deleteinteraction', 'group', get_string('name', 'interaction.' . $instance->get('plugin')), $instance->get('title')));
// submit handler in interaction/lib.php
$returnto = param_alpha('returnto', 'view');
$form = pieform(array('name' => 'delete_interaction', 'renderer' => 'div', 'elements' => array('id' => array('type' => 'hidden', 'value' => $id), 'submit' => array('type' => 'submitcancel', 'value' => array(get_string('yes'), get_string('no')), 'goto' => get_config('wwwroot') . 'interaction/' . $instance->get('plugin') . ($returnto == 'index' ? '/index.php?group=' . $instance->get('group') : '/view.php?id=' . $instance->get('id'))))));
$smarty = smarty(array('tablerenderer'));
$smarty->assign('form', $form);
$smarty->assign('heading', $group->name);
$smarty->assign('subheading', TITLE);
$smarty->assign('message', get_string('deleteinteractionsure', 'group'));
Exemplo n.º 4
0
 if ($moderator && $type == 'unsticky') {
     set_field_select('interaction_forum_topic', 'sticky', 0, 'id IN (' . implode(',', $checked) . ')', array());
     $SESSION->add_ok_msg(get_string('topicunstickysuccess', 'interaction.forum'));
 } else {
     if ($moderator && $type == 'closed') {
         set_field_select('interaction_forum_topic', 'closed', 1, 'id IN (' . implode(',', $checked) . ')', array());
         $SESSION->add_ok_msg(get_string('topicclosedsuccess', 'interaction.forum'));
     } else {
         if ($moderator && $type == 'open') {
             set_field_select('interaction_forum_topic', 'closed', 0, 'id IN (' . implode(',', $checked) . ')', array());
             $SESSION->add_ok_msg(get_string('topicopenedsuccess', 'interaction.forum'));
         } else {
             if ($moderator && $type == 'moveto') {
                 $newforumid = param_integer('newforum');
                 // Check if the new forum is in the current group
                 $newforum = interaction_instance_from_id($newforumid);
                 if ($newforum && $newforum->get('group') == $forum->groupid) {
                     set_field_select('interaction_forum_topic', 'forum', $newforumid, 'id IN (' . implode(',', $checked) . ')', array());
                     PluginInteractionForum::interaction_forum_new_post($checked);
                     $SESSION->add_ok_msg(get_string('topicmovedsuccess', 'interaction.forum', count($checked)));
                 }
             } else {
                 if ($type == 'subscribe' && !$forum->subscribed) {
                     db_begin();
                     foreach ($checked as $key => $value) {
                         if (!record_exists('interaction_forum_subscription_topic', 'user', $USER->get('id'), 'topic', $value)) {
                             insert_record('interaction_forum_subscription_topic', (object) array('user' => $USER->get('id'), 'topic' => $value, 'key' => PluginInteractionForum::generate_unsubscribe_key()));
                         }
                     }
                     db_commit();
                     $SESSION->add_ok_msg(get_string('topicsubscribesuccess', 'interaction.forum'));
Exemplo n.º 5
0
/**
 * Removes a user from a group.
 *
 * Also removes view access given by the user to the group
 *
 * @param int $groupid ID of group
 * @param int $userid  ID of user to remove
 */
function group_remove_user($groupid, $userid = null, $force = false)
{
    // group_user_can_leave checks the validity of groupid and userid
    if (!$force && !group_user_can_leave($groupid, $userid)) {
        throw new AccessDeniedException(get_string('usercantleavegroup', 'group'));
    }
    db_begin();
    delete_records('group_member', 'group', $groupid, 'member', $userid);
    delete_records_sql('DELETE FROM {view_access_group}
        WHERE "group" = ?
        AND view IN (
            SELECT v.id
            FROM {view} v
            WHERE v.owner = ?
        )', array($groupid, $userid));
    db_commit();
    require_once get_config('docroot') . 'interaction/lib.php';
    $interactions = get_column('interaction_instance', 'id', 'group', $groupid);
    foreach ($interactions as $interaction) {
        interaction_instance_from_id($interaction)->interaction_remove_user($userid);
    }
}