root/devel/mod/groups/lib/groups_actions.php

Revision 1539, 3.3 kB (checked in by renato, 1 year ago)

Setting prop svn:eol-style in LOTS of files.

  • Property svn:mime-type set to text/plain
  • Property svn:eol-style set to native
Line 
1 <?php
2 global $USER;
3 // Actions to perform on the groups screen
4 $action = optional_param('action');
5
6 if (!empty($action)) {
7     switch ($action) {
8         // Create a new group
9     case "group:create":
10         $g = new StdClass;
11         $g->name = trim(optional_param('name'));
12         if (logged_on && !empty($g->name)) {
13             $g->owner = $USER->ident;
14             insert_record('groups',$g);
15             unset($_SESSION['groups_cache']);
16         }
17         break;
18         // Edit a group
19     case "group:edit":
20         $g = new StdClass;
21         $g->name = trim(optional_param('groupname'));
22         $g->owner = $USER->ident;
23         $g->ident = optional_param('groupid',0,PARAM_INT);
24         if (logged_on && !empty($g->ident) && !empty($g->name)) {
25             if (update_record('groups',$g)) {
26                 unset($_SESSION['groups_cache']);
27                 $messages[] = __gettext("Your group was updated.");
28             }
29             foreach($data['access'] as $key => $accessarray) {
30                 if ($accessarray[1] == "group" . $g->ident) {
31                     $data['access'][$key] = array(stripslashes($g->name),"group" . $g->ident);
32                 }
33             }
34         }
35         break;
36         // Delete a group
37     case "group:delete":
38         $groupid = optional_param('groupid',0,PARAM_INT);
39         if (logged_on && !empty($groupid)) {
40             $ident = $USER->ident;
41             run("groups:delete",$groupid);
42             // check before we delete the memberships, because of the owner clause.
43             if (record_exists('groups','ident',$groupid,'owner',$ident)) {
44                 delete_records('groups','ident',$groupid,'owner',$ident);
45                 delete_records('group_membership','group_id',$group_id);
46             }
47             unset($_SESSION['groups_cache']);
48         } else {
49             // var_export($_POST);
50         }
51         break;
52         // Add someone to a group
53     case "group:addmember":
54         $groupid = optional_param('groupid',0,PARAM_INT);
55         if (logged_on && !empty($groupid)) {
56             $ident = $USER->ident;
57             if (record_exists('groups','ident',$groupid,'owner',$ident)) {
58                 $friends = optional_param('friends',array(),PARAM_INT);
59                 foreach($friends as $newmember) {
60                     $newmember = $newmember;
61                     if (!record_exists('group_membership','user_id',$newmember,'group_id',$groupid)) {
62                         $gm->user_id = $newmember;
63                         $gm->group_id = $groupid;
64                         insert_record('group_membership',$gm);
65                     }
66                 }
67             }
68             unset($_SESSION['groups_cache']);
69         }
70         break;
71         // Remove someone from a group
72     case "group:removemember":
73         $groupid = optional_param('groupid',0,PARAM_INT);
74         if (logged_on && !empty($groupid)) {
75             $ident = $USER->ident;
76             if (record_exists('groups','ident',$groupid,'owner',$ident)) {
77                 $members = optional_param('members',array(),PARAM_INT);
78                 foreach($members as $newmember) {
79                     delete_records('group_membership','user_id',$newmember,'group_id',$groupid);
80                 }
81             }
82             unset($_SESSION['groups_cache']);
83         }
84         break;
85                
86     }
87
88 }
89            
90
Note: See TracBrowser for help on using the browser.