X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FGroup.php;h=b41866c6ef8007f7fee7cdc308062a1c68036bbe;hb=eded252a40aa48eed8ccc83aa78cc4ed422443af;hp=7d2e8f4898f07f1aea58752f7793af5e660586e5;hpb=c714ee519fc1c7c030172cbe87c852f2878966f3;p=friendica.git diff --git a/src/Model/Group.php b/src/Model/Group.php index 7d2e8f4898..b41866c6ef 100644 --- a/src/Model/Group.php +++ b/src/Model/Group.php @@ -1,16 +1,16 @@ $gid], ['limit' => 1]); + $group = DBA::selectFirst('group', ['deleted'], ['id' => $gid]); if (DBM::is_result($group) && $group['deleted']) { - dba::update('group', ['deleted' => 0], ['gid' => $gid]); - 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); + DBA::update('group', ['deleted' => 0], ['id' => $gid]); + notice(L10n::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; } - $return = dba::insert('group', ['uid' => $uid, 'name' => $name]); + $return = DBA::insert('group', ['uid' => $uid, 'name' => $name]); + if ($return) { + $return = DBA::lastInsertId(); + } } return $return; } /** - * @brief Get a list of group ids a contact belongs to + * Update group information. * - * @todo Get rid of $uid, the contact id already bears the information + * @param int $id Group ID + * @param string $name Group name + * + * @return bool Was the update successful? + */ + public static function update($id, $name) + { + return DBA::update('group', ['name' => $name], ['id' => $id]); + } + + /** + * @brief Get a list of group ids a contact belongs to * - * @param int $uid * @param int $cid * @return array */ - private static function getByContactIdForUserId($uid, $cid) + public static function getIdsByContactId($cid) { - $stmt = dba::p('SELECT `id` - FROM `group` - INNER JOIN `group_member` - ON `group_member`.`gid` = `group`.`id` - WHERE `group`.`uid` = ? - AND `group_member`.`contact-id` = ?', - $uid, - $cid - ); + $condition = ['contact-id' => $cid]; + $stmt = DBA::select('group_member', ['gid'], $condition); $return = []; - if (DBM::is_result($stmt)) { - while($group = dba::fetch($stmt)) { - $return[] = $group['id']; - } + + while ($group = DBA::fetch($stmt)) { + $return[] = $group['gid']; } return $return; @@ -94,24 +99,22 @@ class Group extends BaseObject */ public static function countUnseen() { - $stmt = dba::p("SELECT `group`.`id`, `group`.`name`, + $stmt = DBA::p("SELECT `group`.`id`, `group`.`name`, (SELECT COUNT(*) FROM `item` FORCE INDEX (`uid_unseen_contactid`) WHERE `uid` = ? AND `unseen` AND `contact-id` IN (SELECT `contact-id` FROM `group_member` - WHERE `group_member`.`gid` = `group`.`id` - AND `group_member`.`uid` = ?) + WHERE `group_member`.`gid` = `group`.`id`) ) AS `count` FROM `group` WHERE `group`.`uid` = ?;", local_user(), - local_user(), local_user() ); - return dba::inArray($stmt); + return DBA::inArray($stmt); } /** @@ -129,7 +132,7 @@ class Group extends BaseObject return false; } - $group = dba::select('group', ['id'], ['uid' => $uid, 'name' => $name], ['limit' => 1]); + $group = DBA::selectFirst('group', ['id'], ['uid' => $uid, 'name' => $name]); if (DBM::is_result($group)) { return $group['id']; } @@ -140,7 +143,7 @@ class Group extends BaseObject /** * @brief Mark a group as deleted * - * @param type $gid + * @param int $gid * @return boolean */ public static function remove($gid) { @@ -148,8 +151,13 @@ class Group extends BaseObject return false; } + $group = DBA::selectFirst('group', ['uid'], ['id' => $gid]); + if (!DBM::is_result($group)) { + return false; + } + // remove group from default posting lists - $user = dba::select('user', ['def_gid', 'allow_gid', 'deny_gid'], ['uid' => $uid], ['limit' => 1]); + $user = DBA::selectFirst('user', ['def_gid', 'allow_gid', 'deny_gid'], ['uid' => $group['uid']]); if (DBM::is_result($user)) { $change = false; @@ -167,15 +175,15 @@ class Group extends BaseObject } if ($change) { - dba::update('user', $user, ['uid' => $uid]); + DBA::update('user', $user, ['uid' => $group['uid']]); } } // remove all members - dba::delete('group_member', ['gid' => $gid]); + DBA::delete('group_member', ['gid' => $gid]); // remove group - $return = dba::update('group', ['deleted' => 1], ['id' => $gid]); + $return = DBA::update('group', ['deleted' => 1], ['id' => $gid]); return $return; } @@ -185,9 +193,9 @@ class Group extends BaseObject * * @deprecated Use Group::remove instead * - * @param type $uid - * @param type $name - * @return type + * @param int $uid + * @param string $name + * @return bool */ public static function removeByName($uid, $name) { $return = false; @@ -213,12 +221,12 @@ class Group extends BaseObject return false; } - $row_exists = dba::exists('group_member', ['gid' => $gid, 'contact-id' => $cid]); + $row_exists = DBA::exists('group_member', ['gid' => $gid, 'contact-id' => $cid]); if ($row_exists) { // Row already existing, nothing to do $return = true; } else { - $return = dba::insert('group_member', ['gid' => $gid, 'contact-id' => $cid]); + $return = DBA::insert('group_member', ['gid' => $gid, 'contact-id' => $cid]); } return $return; @@ -237,7 +245,7 @@ class Group extends BaseObject return false; } - $return = dba::delete('group_member', ['gid' => $gid, 'contact-id' => $cid]); + $return = DBA::delete('group_member', ['gid' => $gid, 'contact-id' => $cid]); return $return; } @@ -285,17 +293,16 @@ class Group extends BaseObject $stmt = call_user_func_array('dba::p', $param_arr); } else { $condition_array = array_merge([$condition], $group_ids); - $stmt = dba::select('group_member', ['contact-id'], $condition_array); + $stmt = DBA::select('group_member', ['contact-id'], $condition_array); } $return = []; - while($group_member = dba::fetch($stmt)) { + while($group_member = DBA::fetch($stmt)) { $return[] = $group_member['contact-id']; } if ($check_dead && !$use_gcontact) { - require_once 'include/acl_selectors.php'; - $return = prune_deadguys($return); + Contact::pruneUnavailable($return); } return $return; } @@ -312,7 +319,7 @@ class Group extends BaseObject { $o = ''; - $stmt = dba::select('group', [], ['deleted' => 0, 'uid' => $uid], ['order' => ['name' => 'ASC']]); + $stmt = DBA::select('group', [], ['deleted' => 0, 'uid' => $uid], ['order' => ['name']]); $display_groups = [ [ @@ -321,7 +328,7 @@ class Group extends BaseObject 'selected' => '' ] ]; - while ($group = dba::fetch($stmt)) { + while ($group = DBA::fetch($stmt)) { $display_groups[] = [ 'name' => $group['name'], 'id' => $group['id'], @@ -331,13 +338,13 @@ class Group extends BaseObject logger('groups: ' . print_r($display_groups, true)); if ($label == '') { - $label = t('Default privacy group for new contacts'); + $label = L10n::t('Default privacy group for new contacts'); } - $o = replace_macros(get_markup_template('group_selection.tpl'), array( + $o = replace_macros(get_markup_template('group_selection.tpl'), [ '$label' => $label, '$groups' => $display_groups - )); + ]); return $o; } @@ -354,7 +361,7 @@ class Group extends BaseObject * @param int $cid * @return string */ - public static function sidebarWidget($every = 'contacts', $each = 'group', $editmode = 'standard', $group_id = 0, $cid = 0) + public static function sidebarWidget($every = 'contacts', $each = 'group', $editmode = 'standard', $group_id = '', $cid = 0) { $o = ''; @@ -364,27 +371,27 @@ class Group extends BaseObject $display_groups = [ [ - 'text' => t('Everybody'), + 'text' => L10n::t('Everybody'), 'id' => 0, - 'selected' => (($group_id == 0) ? 'group-selected' : ''), + 'selected' => (($group_id === 'everyone') ? 'group-selected' : ''), 'href' => $every, ] ]; - $stmt = dba::select('group', [], ['deleted' => 0, 'uid' => local_user()], ['order' => ['name' => 'ASC']]); + $stmt = DBA::select('group', [], ['deleted' => 0, 'uid' => local_user()], ['order' => ['name']]); - $member_of = array(); + $member_of = []; if ($cid) { - $member_of = self::getByContactIdForUserId(local_user(), $cid); + $member_of = self::getIdsByContactId($cid); } - while ($group = dba::fetch($stmt)) { + while ($group = DBA::fetch($stmt)) { $selected = (($group_id == $group['id']) ? ' group-selected' : ''); if ($editmode == 'full') { $groupedit = [ 'href' => 'group/' . $group['id'], - 'title' => t('edit'), + 'title' => L10n::t('edit'), ]; } else { $groupedit = null; @@ -403,16 +410,17 @@ class Group extends BaseObject $tpl = get_markup_template('group_side.tpl'); $o = replace_macros($tpl, [ - '$add' => t('add'), - '$title' => t('Groups'), + '$add' => L10n::t('add'), + '$title' => L10n::t('Groups'), '$groups' => $display_groups, 'newgroup' => $editmode == 'extended' || $editmode == 'full' ? 1 : '', 'grouppage' => 'group/', - '$edittext' => t('Edit group'), - '$ungrouped' => $every === 'contacts' ? t('Contacts not in any group') : '', - '$createtext' => t('Create a new group'), - '$creategroup' => t('Group Name: '), - '$editgroupstext' => t('Edit groups'), + '$edittext' => L10n::t('Edit group'), + '$ungrouped' => $every === 'contacts' ? L10n::t('Contacts not in any group') : '', + '$ungrouped_selected' => (($group_id === 'none') ? 'group-selected' : ''), + '$createtext' => L10n::t('Create a new group'), + '$creategroup' => L10n::t('Group Name: '), + '$editgroupstext' => L10n::t('Edit groups'), '$form_security_token' => get_form_security_token('group_edit'), ]);