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')); }
/** * 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); } }
* * @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'));
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'));
/** * 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); } }