]> git.mxchange.org Git - friendica.git/blobdiff - include/group.php
newlines were getting stripped
[friendica.git] / include / group.php
index e92e4480bae2da99a471a10816fe34446b96abef..793e854be046bc7f43db7572b249621e2dc19e8d 100644 (file)
@@ -8,7 +8,7 @@ function group_add($uid,$name) {
                $r = group_byname($uid,$name); // check for dups
                if($r !== false) 
                        return true;
-               $r = q("INSERT INTO `group` ( `uid`', `name` )
+               $r = q("INSERT INTO `group` ( `uid`, `name` )
                        VALUES( %d, '%s' ) ",
                        intval($uid),
                        dbesc($name)
@@ -25,7 +25,7 @@ function group_rmv($uid,$name) {
                $r = q("SELECT * FROM `group` WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
                        intval($uid),
                        dbesc($name)
-               }
+               );
                if(count($r))
                        $group_id = $r[0]['id'];
                if(! $group_id)
@@ -38,7 +38,7 @@ function group_rmv($uid,$name) {
                );
 
                // remove group
-               $r = q("DELETE FROM `group` WHERE `uid` = %d AND `id` = %d LIMIT 1",
+               $r = q("UPDATE `group` SET `deleted` = 1 WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
                        intval($uid),
                        dbesc($name)
                );
@@ -46,7 +46,6 @@ function group_rmv($uid,$name) {
                $ret = $r;
 
        }
-       // TODO!! remove this group from all content ACL's !!
 
        return $ret;
 }
@@ -102,4 +101,71 @@ function group_add_member($uid,$name,$member) {
                        intval($member)
        );
        return $r;
-}
\ No newline at end of file
+}
+
+function group_get_members($gid) {
+       $ret = array();
+       if(intval($gid)) {
+               $r = q("SELECT `group_member`.`contact-id`, `contact`.* FROM `group_member` 
+                       LEFT JOIN `contact` ON `contact`.`id` = `group_member`.`contact-id` 
+                       WHERE `gid` = %d AND `group_member`.`uid` = %d",
+                       intval($gid),
+                       intval($_SESSION['uid'])
+               );
+               if(count($r))
+                       $ret = $r;
+       }
+       return $ret;
+}
+
+
+
+function group_side($every="contacts",$each="group") {
+
+       $o = '';
+
+       if(! local_user())
+               return '';
+
+       $createtext = t('Create a new group');
+       $linktext= t('Everybody');
+
+$o .= <<< EOT
+
+<div id="group-sidebar">
+<h3>Groups</h3>
+
+<div id="sidebar-new-group">
+<a href="group/new">$createtext</a>
+</div>
+
+<div id="sidebar-group-list">
+       <ul id="sidebar-group-ul">
+       <li class="sidebar-group-li" ><a href="$every" >$linktext</a></li>
+
+EOT;
+
+       $r = q("SELECT * FROM `group` WHERE `deleted` = 0 AND `uid` = %d",
+               intval($_SESSION['uid'])
+       );
+       if(count($r)) {
+               foreach($r as $rr)
+                       $o .= " <li class=\"sidebar-group-li\"><a href=\"$each/{$rr['id']}\">{$rr['name']}</a></li>\r\n";
+       }
+       $o .= " </ul>\r\n       </div>\r\n</div>";      
+
+       return $o;
+}
+
+function expand_groups($a) {
+       if(! (is_array($a) && count($a)))
+               return array();
+       $groups = implode(',', $a);
+       $groups = dbesc($groups);
+       $r = q("SELECT `contact-id` FROM `group_member` WHERE `gid` IN ( $groups )");
+       $ret = array();
+       if(count($r))
+               foreach($r as $rr)
+                       $ret[] = $rr['contact-id'];
+       return $ret;
+}