X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FGroup.php;h=410f78b1564216ffb2dbd1ecd599ffccb3970492;hb=916236ce2fe2c0e9e48d000c6d665f96fecf00a9;hp=4431bdc88aad2a1f535aa23aa7580fb4ca1ecb1d;hpb=d90c39f54c1b65608407fae549a0cd0d6c02f48e;p=friendica.git diff --git a/src/Model/Group.php b/src/Model/Group.php index 4431bdc88a..410f78b156 100644 --- a/src/Model/Group.php +++ b/src/Model/Group.php @@ -11,6 +11,7 @@ use Friendica\Database\DBM; use dba; require_once 'boot.php'; +require_once 'include/dba.php'; require_once 'include/text.php'; /** @@ -47,6 +48,9 @@ class Group extends BaseObject } $return = dba::insert('group', ['uid' => $uid, 'name' => $name]); + if ($return) { + $return = dba::lastInsertId(); + } } return $return; } @@ -54,29 +58,18 @@ class Group extends BaseObject /** * @brief Get a list of group ids a contact belongs to * - * @todo Get rid of $uid, the contact id already bears the information - * - * @param int $uid * @param int $cid * @return array */ - private static function getByContactIdForUserId($uid, $cid) + private 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; @@ -101,13 +94,11 @@ class Group extends BaseObject 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() ); @@ -140,7 +131,7 @@ class Group extends BaseObject /** * @brief Mark a group as deleted * - * @param type $gid + * @param int $gid * @return boolean */ public static function remove($gid) { @@ -185,9 +176,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; @@ -375,7 +366,7 @@ class Group extends BaseObject $member_of = array(); if ($cid) { - $member_of = self::getByContactIdForUserId(local_user(), $cid); + $member_of = self::getIdsByContactId($cid); } while ($group = dba::fetch($stmt)) {