X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fgroup.php;h=ce8bc217cd7a9e9419544fe1fee40de08f112386;hb=1ff217cc1373099b0e52ba8de5ab4a1335b0f184;hp=2b872f16a7ce95234bdae038d3546df1f1242147;hpb=88018b6e733f7d039476a54375854897294c3999;p=friendica.git diff --git a/include/group.php b/include/group.php index 2b872f16a7..ce8bc217cd 100644 --- a/include/group.php +++ b/include/group.php @@ -1,12 +1,13 @@ may apply to this group and any future members. If this is not what you intended, please create another group with a different name.') . EOL); + notice( t('A deleted group with this name was revived. Existing item permissions may 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), - dbesc($name) - ); + $r = dba::insert('group', array('uid' => $uid, 'name' => $name)); $ret = $r; } return $ret; @@ -39,38 +36,38 @@ function group_add($uid,$name) { function group_rmv($uid,$name) { $ret = false; - if(x($uid) && x($name)) { + if (x($uid) && x($name)) { $r = q("SELECT id FROM `group` WHERE `uid` = %d AND `name` = '%s' LIMIT 1", intval($uid), dbesc($name) ); - if(count($r)) + if (dbm::is_result($r)) $group_id = $r[0]['id']; - if(! $group_id) + if (! $group_id) return false; // remove group from default posting lists $r = q("SELECT def_gid, allow_gid, deny_gid FROM user WHERE uid = %d LIMIT 1", intval($uid) ); - if($r) { + if ($r) { $user_info = $r[0]; $change = false; - if($user_info['def_gid'] == $group_id) { + if ($user_info['def_gid'] == $group_id) { $user_info['def_gid'] = 0; $change = true; } - if(strpos($user_info['allow_gid'], '<' . $group_id . '>') !== false) { + if (strpos($user_info['allow_gid'], '<' . $group_id . '>') !== false) { $user_info['allow_gid'] = str_replace('<' . $group_id . '>', '', $user_info['allow_gid']); $change = true; } - if(strpos($user_info['deny_gid'], '<' . $group_id . '>') !== false) { + if (strpos($user_info['deny_gid'], '<' . $group_id . '>') !== false) { $user_info['deny_gid'] = str_replace('<' . $group_id . '>', '', $user_info['deny_gid']); $change = true; } - if($change) { + if ($change) { q("UPDATE user SET def_gid = %d, allow_gid = '%s', deny_gid = '%s' WHERE uid = %d", intval($user_info['def_gid']), dbesc($user_info['allow_gid']), @@ -100,22 +97,22 @@ function group_rmv($uid,$name) { } function group_byname($uid,$name) { - if((! $uid) || (! strlen($name))) + if ((! $uid) || (! strlen($name))) return false; $r = q("SELECT * FROM `group` WHERE `uid` = %d AND `name` = '%s' LIMIT 1", intval($uid), dbesc($name) ); - if(count($r)) + if (dbm::is_result($r)) return $r[0]['id']; return false; } function group_rmv_member($uid,$name,$member) { $gid = group_byname($uid,$name); - if(! $gid) + if (! $gid) return false; - if(! ( $uid && $gid && $member)) + if (! ( $uid && $gid && $member)) return false; $r = q("DELETE FROM `group_member` WHERE `uid` = %d AND `gid` = %d AND `contact-id` = %d", intval($uid), @@ -129,9 +126,9 @@ function group_rmv_member($uid,$name,$member) { function group_add_member($uid,$name,$member,$gid = 0) { - if(! $gid) + if (! $gid) $gid = group_byname($uid,$name); - if((! $gid) || (! $uid) || (! $member)) + if ((! $gid) || (! $uid) || (! $member)) return false; $r = q("SELECT * FROM `group_member` WHERE `uid` = %d AND `gid` = %d AND `contact-id` = %d LIMIT 1", @@ -139,23 +136,19 @@ function group_add_member($uid,$name,$member,$gid = 0) { intval($gid), intval($member) ); - if(count($r)) + if (dbm::is_result($r)) return true; // You might question this, but // we indicate success because the group member was in fact created // -- It was just created at another time - if(! count($r)) - $r = q("INSERT INTO `group_member` (`uid`, `gid`, `contact-id`) - VALUES( %d, %d, %d ) ", - intval($uid), - intval($gid), - intval($member) - ); + if (! dbm::is_result($r)) { + $r = dba::insert('group_member', array('uid' => $uid, 'gid' => $gid, 'contact-id' => $member)); + } return $r; } function group_get_members($gid) { $ret = array(); - if(intval($gid)) { + if (intval($gid)) { $r = q("SELECT `group_member`.`contact-id`, `contact`.* FROM `group_member` INNER JOIN `contact` ON `contact`.`id` = `group_member`.`contact-id` WHERE `gid` = %d AND `group_member`.`uid` = %d AND @@ -164,7 +157,7 @@ function group_get_members($gid) { intval($gid), intval(local_user()) ); - if(count($r)) + if (dbm::is_result($r)) $ret = $r; } return $ret; @@ -172,7 +165,7 @@ function group_get_members($gid) { function group_public_members($gid) { $ret = 0; - if(intval($gid)) { + if (intval($gid)) { $r = q("SELECT `contact`.`id` AS `contact-id` FROM `group_member` INNER JOIN `contact` ON `contact`.`id` = `group_member`.`contact-id` WHERE `gid` = %d AND `group_member`.`uid` = %d @@ -181,14 +174,14 @@ function group_public_members($gid) { intval(local_user()), dbesc(NETWORK_OSTATUS) ); - if(count($r)) + if (dbm::is_result($r)) $ret = count($r); } return $ret; } -function mini_group_select($uid,$gid = 0) { +function mini_group_select($uid,$gid = 0, $label = "") { $grps = array(); $o = ''; @@ -197,16 +190,19 @@ function mini_group_select($uid,$gid = 0) { intval($uid) ); $grps[] = array('name' => '', 'id' => '0', 'selected' => ''); - if(count($r)) { - foreach($r as $rr) { + if (dbm::is_result($r)) { + foreach ($r as $rr) { $grps[] = array('name' => $rr['name'], 'id' => $rr['id'], 'selected' => (($gid == $rr['id']) ? 'true' : '')); } } logger('groups: ' . print_r($grps,true)); + if ($label == "") + $label = t('Default privacy group for new contacts'); + $o = replace_macros(get_markup_template('group_selection.tpl'), array( - '$label' => t('Default privacy group for new contacts'), + '$label' => $label, '$groups' => $grps )); return $o; @@ -230,7 +226,7 @@ function group_side($every="contacts",$each="group",$editmode = "standard", $gro $o = ''; - if(! local_user()) + if (! local_user()) return ''; $groups = array(); @@ -248,12 +244,12 @@ function group_side($every="contacts",$each="group",$editmode = "standard", $gro intval($_SESSION['uid']) ); $member_of = array(); - if($cid) { + if ($cid) { $member_of = groups_containing(local_user(),$cid); } - if(count($r)) { - foreach($r as $rr) { + if (dbm::is_result($r)) { + foreach ($r as $rr) { $selected = (($group_id == $rr['id']) ? ' group-selected' : ''); if ($editmode == "full") { @@ -298,7 +294,7 @@ function group_side($every="contacts",$each="group",$editmode = "standard", $gro } function expand_groups($a,$check_dead = false, $use_gcontact = false) { - if(! (is_array($a) && count($a))) + if (! (is_array($a) && count($a))) return array(); $groups = implode(',', $a); $groups = dbesc($groups); @@ -313,10 +309,10 @@ function expand_groups($a,$check_dead = false, $use_gcontact = false) { $ret = array(); - if(count($r)) - foreach($r as $rr) + if (dbm::is_result($r)) + foreach ($r as $rr) $ret[] = $rr['contact-id']; - if($check_dead AND !$use_gcontact) { + if ($check_dead && !$use_gcontact) { require_once('include/acl_selectors.php'); $ret = prune_deadguys($ret); } @@ -342,9 +338,10 @@ function groups_containing($uid,$c) { ); $ret = array(); - if(count($r)) { - foreach($r as $rr) + if (dbm::is_result($r)) { + foreach ($r as $rr) { $ret[] = $rr['gid']; + } } return $ret; @@ -363,7 +360,7 @@ function groups_containing($uid,$c) { function groups_count_unseen() { $r = q("SELECT `group`.`id`, `group`.`name`, - (SELECT COUNT(*) FROM `item` + (SELECT COUNT(*) FROM `item` FORCE INDEX (`uid_unseen_contactid`) WHERE `uid` = %d AND `unseen` AND `contact-id` IN (SELECT `contact-id` FROM `group_member` WHERE `group_member`.`gid` = `group`.`id` AND `group_member`.`uid` = %d)) AS `count` @@ -375,3 +372,28 @@ function groups_count_unseen() { return $r; } + +/** + * @brief Returns the default group for a given user and network + * + * @param int $uid User id + * @param string $network network name + * + * @return int group id + */ +function get_default_group($uid, $network = "") { + + $default_group = 0; + + if ($network == NETWORK_OSTATUS) + $default_group = PConfig::get($uid, "ostatus", "default_group"); + + if ($default_group != 0) + return $default_group; + + $g = q("SELECT `def_gid` FROM `user` WHERE `uid` = %d LIMIT 1", intval($uid)); + if ($g && intval($g[0]["def_gid"])) + $default_group = $g[0]["def_gid"]; + + return $default_group; +}