]> git.mxchange.org Git - friendica.git/commitdiff
group drop
authorMike Macgirvin <mike@macgirvin.com>
Wed, 11 Aug 2010 08:48:43 +0000 (01:48 -0700)
committerMike Macgirvin <mike@macgirvin.com>
Wed, 11 Aug 2010 08:48:43 +0000 (01:48 -0700)
database.sql
include/group.php
mod/group.php
mod/network.php
view/acl_selectors.php
view/group_drop.tpl [new file with mode: 0644]
view/group_edit.tpl
view/style.css

index eeba76f7ee16de1b4baec5ddbb747052d499fa2f..f0cb98c7a186125786392515af1cceb93c54fd2f 100644 (file)
@@ -82,6 +82,7 @@ CREATE TABLE IF NOT EXISTS `contact` (
 CREATE TABLE IF NOT EXISTS `group` (
   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
   `uid` int(10) unsigned NOT NULL,
+  `deleted` tinyint(1) NOT NULL DEFAULT '0',
   `name` char(255) NOT NULL,
   PRIMARY KEY (`id`)
 ) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
index 848db43bd3485c5add4bd70c6cd7eee64d1801bf..dfec4afa03a48f1db90c4a6e4dfed84b2ffba56a 100644 (file)
@@ -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 `id` = %d 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;
 }
@@ -144,7 +143,7 @@ $o .= <<< EOT
 
 EOT;
 
-       $r = q("SELECT * FROM `group` WHERE `uid` = %d",
+       $r = q("SELECT * FROM `group` WHERE `deleted` = 0 AND `uid` = %d",
                intval($_SESSION['uid'])
        );
        if(count($r)) {
index 099ae7dd3682e42cef34b6506c78e1e66fa91e0e..a3bd750f90ca2ddb1dc15e9466c53fd9a3e0a104 100644 (file)
@@ -15,7 +15,7 @@ function group_init(&$a) {
 function group_post(&$a) {
 
        if(! local_user()) {
-               notice("Access denied." . EOL);
+               notice( t('Permission denied.') . EOL);
                return;
        }
 
@@ -23,13 +23,13 @@ function group_post(&$a) {
                $name = notags(trim($_POST['groupname']));
                $r = group_add($_SESSION['uid'],$name);
                if($r) {
-                       notice("Group created." . EOL );
+                       notice( t('Group created.') . EOL );
                        $r = group_byname($_SESSION['uid'],$name);
                        if($r)
                                goaway($a->get_baseurl() . '/group/' . $r);
                }
                else
-                       notice("Could not create group." . EOL );       
+                       notice( t('Could not create group.') . EOL );   
                goaway($a->get_baseurl() . '/group');
                return; // NOTREACHED
        }
@@ -39,7 +39,7 @@ function group_post(&$a) {
                        intval($_SESSION['uid'])
                );
                if(! count($r)) {
-                       notice("Group not found." . EOL );
+                       notice( t('Group not found.') . EOL );
                        goaway($a->get_baseurl() . '/contacts');
                }
                $group = $r[0];
@@ -51,7 +51,7 @@ function group_post(&$a) {
                                intval($group['id'])
                        );
                        if($r)
-                               notice("Group name changed." . EOL );
+                               notice( t('Group name changed.') . EOL );
                }
                $members = $_POST['group_members_select'];
                array_walk($members,'validate_members');
@@ -73,7 +73,7 @@ function group_post(&$a) {
                        }
                }
                if($result)
-                       notice("Membership list updated." . EOL);
+                       notice( t('Membership list updated.') . EOL);
        $a->page['aside'] = group_side();
        }
        
@@ -82,7 +82,7 @@ function group_post(&$a) {
 function group_content(&$a) {
 
        if(! local_user()) {
-               notice("Access denied." . EOL);
+               notice( t('Permission denied') . EOL);
                return;
        }
 
@@ -94,7 +94,22 @@ function group_content(&$a) {
 
        }
                
-
+       if(($a->argc == 3) && ($a->argv[1] == 'drop')) {
+               if(intval($argv[2])) {
+                       $r = q("SELECT `name` FROM `group` WHERE `id` = %d AND `uid` = %d LIMIT 1",
+                               intval($argv[2]),
+                               intval($_SESSION['uid'])
+                       );
+                       if(count($r)) 
+                               $result = group_rmv($_SESSION['uid'],$r[0]['name']);
+                       if($result)
+                               notice( t('Group removed.') . EOL);
+                       else
+                               notice( t('Unable to remove group.') . EOL);
+               }
+               goaway($a->get_baseurl() . '/group');
+               return; // NOTREACHED
+       }
 
 
        if(($a->argc == 2) && (intval($a->argv[1]))) {
@@ -104,7 +119,7 @@ function group_content(&$a) {
                        intval($_SESSION['uid'])
                );
                if(! count($r)) {
-                       notice("Group not found." . EOL );
+                       notice( t("Group not found.") . EOL );
                        goaway($a->get_baseurl() . '/contacts');
                }
                $group = $r[0];
@@ -115,10 +130,17 @@ function group_content(&$a) {
                                $preselected[] = $p['id'];
                }
 
+               $drop_tpl = file_get_contents('view/group_drop.tpl');
+               $drop_txt = replace_macros($drop_tpl, array(
+                       '$id' => $group['id'],
+                       '$delete' => t('Delete')
+               ));
+
                $tpl = file_get_contents('view/group_edit.tpl');
                $o .= replace_macros($tpl, array(
                        '$gid' => $group['id'],
                        '$name' => $group['name'],
+                       '$drop' => $drop_txt,
                        '$selector' => contact_select('group_members_select','group_members_select',$preselected,25)
                ));
 
index 17a670b93c14707071fcfeb07aeef11761a718c8..59f826fd93d8e9f8f53aaa7245f05234ee9b7193 100644 (file)
@@ -73,7 +73,7 @@ function network_content(&$a, $update = false) {
        $sql_extra = ''; 
 
        if($group) {
-               $r = q("SELECT `id` FROM `group` WHERE `id` = %d AND `uid` = %d LIMIT 1",
+               $r = q("SELECT `name`, `id` FROM `group` WHERE `id` = %d AND `uid` = %d LIMIT 1",
                        intval($group),
                        intval($_SESSION['uid'])
                );
@@ -87,6 +87,7 @@ function network_content(&$a, $update = false) {
                $contacts[] = $_SESSION['cid'];
                $contact_str = implode(',',$contacts);
                $sql_extra = dbesc(" AND `contact`.`id` IN ( $contact_str ) ");
+                $o = '<h4>' . t('Group: ') . $r[0]['name'] . '</h4>' . $o;
 
        }
 
index c0d3ddcd445e086f796444fc480e314ac84dcc49..ac34fab3a1348ab77fdba3dc9203b0d1e1634ec9 100644 (file)
@@ -7,7 +7,7 @@ function group_select($selname,$selclass,$preselected = false,$size = 4) {
 
        $o .= "<select name=\"{$selname}[]\" class=\"$selclass\" multiple=\"multiple\" size=\"$size\" />\r\n";
 
-       $r = q("SELECT * FROM `group` WHERE `uid` = %d ORDER BY `name` ASC",
+       $r = q("SELECT * FROM `group` WHERE `deleted` = 0 AND `uid` = %d ORDER BY `name` ASC",
                $_SESSION['uid']
        );
 
diff --git a/view/group_drop.tpl b/view/group_drop.tpl
new file mode 100644 (file)
index 0000000..c87ea45
--- /dev/null
@@ -0,0 +1 @@
+<div class="group-delete-wrapper" id="group-delete-wrapper-$id" ><a href="group/drop/$id" onclick="return confirmDelete();" ><img src="images/b_drophide.gif" alt="$delete" title="$delete" id="group-delete-icon-$id" class="group-delete-icon" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a></div><div class="group-delete-end"></div>
index 7cfd0fe3e0b55cc1ded29a5d13f08ca1233954ab..e6c7afb49059badf9cb660e785ebae3c6c6c397c 100644 (file)
@@ -13,6 +13,7 @@
 $selector
 
 </div>
+$drop
 <div id="group_members_select_end"></div>
 <div id="group-edit-submit-wrapper" >
 <input type="submit" name="submit" value="Submit" >
index 8b52693fa484f76c172c4f9add54948996f5f749..70f6f45f97650447ebf17d18fa0bf5adb9b931f7 100644 (file)
@@ -1404,3 +1404,7 @@ input#dfrn-url {
        margin-left: 200px;
 }
 
+.group-delete-wrapper {
+       float: right;
+       margin-right: 50px;
+}
\ No newline at end of file