use dba;
require_once 'boot.php';
+require_once 'include/dba.php';
require_once 'include/text.php';
/**
}
$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
*
- * @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)
+ public static function getIdsByContactId($cid)
{
- $condition = ['uid' => $uid, 'contact-id' => $cid];
+ $condition = ['contact-id' => $cid];
$stmt = dba::select('group_member', ['gid'], $condition);
$return = [];
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()
);
/**
* @brief Mark a group as deleted
*
- * @param type $gid
+ * @param int $gid
* @return boolean
*/
public static function remove($gid) {
return false;
}
+ $group = dba::select('group', ['uid'], ['gid' => $gid], ['limit' => 1]);
+ 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::select('user', ['def_gid', 'allow_gid', 'deny_gid'], ['uid' => $group['uid']], ['limit' => 1]);
if (DBM::is_result($user)) {
$change = false;
}
if ($change) {
- dba::update('user', $user, ['uid' => $uid]);
+ dba::update('user', $user, ['uid' => $group['uid']]);
}
}
*
* @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;
$member_of = array();
if ($cid) {
- $member_of = self::getByContactIdForUserId(local_user(), $cid);
+ $member_of = self::getIdsByContactId($cid);
}
while ($group = dba::fetch($stmt)) {