group drop
This commit is contained in:
parent
eb6b2677cb
commit
f4e634ad52
|
@ -82,6 +82,7 @@ CREATE TABLE IF NOT EXISTS `contact` (
|
||||||
CREATE TABLE IF NOT EXISTS `group` (
|
CREATE TABLE IF NOT EXISTS `group` (
|
||||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||||
`uid` int(10) unsigned NOT NULL,
|
`uid` int(10) unsigned NOT NULL,
|
||||||
|
`deleted` tinyint(1) NOT NULL DEFAULT '0',
|
||||||
`name` char(255) NOT NULL,
|
`name` char(255) NOT NULL,
|
||||||
PRIMARY KEY (`id`)
|
PRIMARY KEY (`id`)
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||||
|
|
|
@ -38,7 +38,7 @@ function group_rmv($uid,$name) {
|
||||||
);
|
);
|
||||||
|
|
||||||
// remove group
|
// 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),
|
intval($uid),
|
||||||
dbesc($name)
|
dbesc($name)
|
||||||
);
|
);
|
||||||
|
@ -46,7 +46,6 @@ function group_rmv($uid,$name) {
|
||||||
$ret = $r;
|
$ret = $r;
|
||||||
|
|
||||||
}
|
}
|
||||||
// TODO!! remove this group from all content ACL's !!
|
|
||||||
|
|
||||||
return $ret;
|
return $ret;
|
||||||
}
|
}
|
||||||
|
@ -144,7 +143,7 @@ $o .= <<< EOT
|
||||||
|
|
||||||
EOT;
|
EOT;
|
||||||
|
|
||||||
$r = q("SELECT * FROM `group` WHERE `uid` = %d",
|
$r = q("SELECT * FROM `group` WHERE `deleted` = 0 AND `uid` = %d",
|
||||||
intval($_SESSION['uid'])
|
intval($_SESSION['uid'])
|
||||||
);
|
);
|
||||||
if(count($r)) {
|
if(count($r)) {
|
||||||
|
|
|
@ -15,7 +15,7 @@ function group_init(&$a) {
|
||||||
function group_post(&$a) {
|
function group_post(&$a) {
|
||||||
|
|
||||||
if(! local_user()) {
|
if(! local_user()) {
|
||||||
notice("Access denied." . EOL);
|
notice( t('Permission denied.') . EOL);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -23,13 +23,13 @@ function group_post(&$a) {
|
||||||
$name = notags(trim($_POST['groupname']));
|
$name = notags(trim($_POST['groupname']));
|
||||||
$r = group_add($_SESSION['uid'],$name);
|
$r = group_add($_SESSION['uid'],$name);
|
||||||
if($r) {
|
if($r) {
|
||||||
notice("Group created." . EOL );
|
notice( t('Group created.') . EOL );
|
||||||
$r = group_byname($_SESSION['uid'],$name);
|
$r = group_byname($_SESSION['uid'],$name);
|
||||||
if($r)
|
if($r)
|
||||||
goaway($a->get_baseurl() . '/group/' . $r);
|
goaway($a->get_baseurl() . '/group/' . $r);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
notice("Could not create group." . EOL );
|
notice( t('Could not create group.') . EOL );
|
||||||
goaway($a->get_baseurl() . '/group');
|
goaway($a->get_baseurl() . '/group');
|
||||||
return; // NOTREACHED
|
return; // NOTREACHED
|
||||||
}
|
}
|
||||||
|
@ -39,7 +39,7 @@ function group_post(&$a) {
|
||||||
intval($_SESSION['uid'])
|
intval($_SESSION['uid'])
|
||||||
);
|
);
|
||||||
if(! count($r)) {
|
if(! count($r)) {
|
||||||
notice("Group not found." . EOL );
|
notice( t('Group not found.') . EOL );
|
||||||
goaway($a->get_baseurl() . '/contacts');
|
goaway($a->get_baseurl() . '/contacts');
|
||||||
}
|
}
|
||||||
$group = $r[0];
|
$group = $r[0];
|
||||||
|
@ -51,7 +51,7 @@ function group_post(&$a) {
|
||||||
intval($group['id'])
|
intval($group['id'])
|
||||||
);
|
);
|
||||||
if($r)
|
if($r)
|
||||||
notice("Group name changed." . EOL );
|
notice( t('Group name changed.') . EOL );
|
||||||
}
|
}
|
||||||
$members = $_POST['group_members_select'];
|
$members = $_POST['group_members_select'];
|
||||||
array_walk($members,'validate_members');
|
array_walk($members,'validate_members');
|
||||||
|
@ -73,7 +73,7 @@ function group_post(&$a) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if($result)
|
if($result)
|
||||||
notice("Membership list updated." . EOL);
|
notice( t('Membership list updated.') . EOL);
|
||||||
$a->page['aside'] = group_side();
|
$a->page['aside'] = group_side();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -82,7 +82,7 @@ function group_post(&$a) {
|
||||||
function group_content(&$a) {
|
function group_content(&$a) {
|
||||||
|
|
||||||
if(! local_user()) {
|
if(! local_user()) {
|
||||||
notice("Access denied." . EOL);
|
notice( t('Permission denied') . EOL);
|
||||||
return;
|
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]))) {
|
if(($a->argc == 2) && (intval($a->argv[1]))) {
|
||||||
|
@ -104,7 +119,7 @@ function group_content(&$a) {
|
||||||
intval($_SESSION['uid'])
|
intval($_SESSION['uid'])
|
||||||
);
|
);
|
||||||
if(! count($r)) {
|
if(! count($r)) {
|
||||||
notice("Group not found." . EOL );
|
notice( t("Group not found.") . EOL );
|
||||||
goaway($a->get_baseurl() . '/contacts');
|
goaway($a->get_baseurl() . '/contacts');
|
||||||
}
|
}
|
||||||
$group = $r[0];
|
$group = $r[0];
|
||||||
|
@ -115,10 +130,17 @@ function group_content(&$a) {
|
||||||
$preselected[] = $p['id'];
|
$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');
|
$tpl = file_get_contents('view/group_edit.tpl');
|
||||||
$o .= replace_macros($tpl, array(
|
$o .= replace_macros($tpl, array(
|
||||||
'$gid' => $group['id'],
|
'$gid' => $group['id'],
|
||||||
'$name' => $group['name'],
|
'$name' => $group['name'],
|
||||||
|
'$drop' => $drop_txt,
|
||||||
'$selector' => contact_select('group_members_select','group_members_select',$preselected,25)
|
'$selector' => contact_select('group_members_select','group_members_select',$preselected,25)
|
||||||
));
|
));
|
||||||
|
|
||||||
|
|
|
@ -73,7 +73,7 @@ function network_content(&$a, $update = false) {
|
||||||
$sql_extra = '';
|
$sql_extra = '';
|
||||||
|
|
||||||
if($group) {
|
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($group),
|
||||||
intval($_SESSION['uid'])
|
intval($_SESSION['uid'])
|
||||||
);
|
);
|
||||||
|
@ -87,6 +87,7 @@ function network_content(&$a, $update = false) {
|
||||||
$contacts[] = $_SESSION['cid'];
|
$contacts[] = $_SESSION['cid'];
|
||||||
$contact_str = implode(',',$contacts);
|
$contact_str = implode(',',$contacts);
|
||||||
$sql_extra = dbesc(" AND `contact`.`id` IN ( $contact_str ) ");
|
$sql_extra = dbesc(" AND `contact`.`id` IN ( $contact_str ) ");
|
||||||
|
$o = '<h4>' . t('Group: ') . $r[0]['name'] . '</h4>' . $o;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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";
|
$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']
|
$_SESSION['uid']
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
1
view/group_drop.tpl
Normal file
1
view/group_drop.tpl
Normal file
|
@ -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>
|
|
@ -13,6 +13,7 @@
|
||||||
$selector
|
$selector
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
$drop
|
||||||
<div id="group_members_select_end"></div>
|
<div id="group_members_select_end"></div>
|
||||||
<div id="group-edit-submit-wrapper" >
|
<div id="group-edit-submit-wrapper" >
|
||||||
<input type="submit" name="submit" value="Submit" >
|
<input type="submit" name="submit" value="Submit" >
|
||||||
|
|
|
@ -1404,3 +1404,7 @@ input#dfrn-url {
|
||||||
margin-left: 200px;
|
margin-left: 200px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.group-delete-wrapper {
|
||||||
|
float: right;
|
||||||
|
margin-right: 50px;
|
||||||
|
}
|
Loading…
Reference in a new issue