]> git.mxchange.org Git - friendica.git/commitdiff
bug #157 - allow deleted group to be revived, but warn of side effects
authorFriendika <info@friendika.com>
Sun, 18 Sep 2011 13:20:18 +0000 (06:20 -0700)
committerFriendika <info@friendika.com>
Sun, 18 Sep 2011 13:20:18 +0000 (06:20 -0700)
include/group.php

index d92e24e205a3875ecb427c8378d24684af35ad38..4f3d5ee919041623b9d7310de26400e6a58c33c4 100644 (file)
@@ -6,8 +6,26 @@ function group_add($uid,$name) {
        $ret = false;
        if(x($uid) && x($name)) {
                $r = group_byname($uid,$name); // check for dups
-               if($r !== false) 
+               if($r !== false) {
+
+                       // This could be a problem. 
+                       // Let's assume we've just created a group which we once deleted
+                       // all the old members are gone, but the group remains so we don't break any security
+                       // access lists. What we're doing here is reviving the dead group, but old content which
+                       // was restricted to this group may now be seen by the new group members. 
+
+                       $z = q("SELECT * FROM `group` WHERE `id` = %d LIMIT 1",
+                               intval($r)
+                       );
+                       if(count($z) && $z[0]['deleted']) {
+                               $r = q("UPDATE `group` SET `deleted` = 0 WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
+                                       intval($uid),
+                                       dbesc($name)
+                               );
+                               notice( t('A deleted group with this name was revived. Existing item permissions <strong>may</strong> apply to this group and any future members. If this is not what you intended, please create another group with a different name.') . EOL); 
+                       }
                        return true;
+               }
                $r = q("INSERT INTO `group` ( `uid`, `name` )
                        VALUES( %d, '%s' ) ",
                        intval($uid),