X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FModel%2FGroup.php;h=71f794118940f2032bdf59fac3e1cb44c2c7043b;hb=0bc2fe66f54717a3f2e86fd9626dc565e9d00fd7;hp=542827151039e72bcf31a982c4083b52a8534259;hpb=f415ee64e75fe42755530c39ed56812ebd2d3144;p=friendica.git
diff --git a/src/Model/Group.php b/src/Model/Group.php
index 5428271510..71f7941189 100644
--- a/src/Model/Group.php
+++ b/src/Model/Group.php
@@ -1,16 +1,15 @@
$gid], ['limit' => 1]);
- 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);
+ $group = DBA::selectFirst('group', ['deleted'], ['id' => $gid]);
+ if (DBA::isResult($group) && $group['deleted']) {
+ 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 = 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)
{
- $condition = ['uid' => $uid, 'contact-id' => $cid];
- $stmt = dba::select('group_member', ['gid'], $condition);
+ $condition = ['contact-id' => $cid];
+ $stmt = DBA::select('group_member', ['gid'], $condition);
$return = [];
- while ($group = dba::fetch($stmt)) {
+ while ($group = DBA::fetch($stmt)) {
$return[] = $group['gid'];
}
@@ -89,7 +98,7 @@ 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`
@@ -101,11 +110,10 @@ class Group extends BaseObject
FROM `group`
WHERE `group`.`uid` = ?;",
local_user(),
- local_user(),
local_user()
);
- return dba::inArray($stmt);
+ return DBA::toArray($stmt);
}
/**
@@ -123,8 +131,8 @@ class Group extends BaseObject
return false;
}
- $group = dba::select('group', ['id'], ['uid' => $uid, 'name' => $name], ['limit' => 1]);
- if (DBM::is_result($group)) {
+ $group = DBA::selectFirst('group', ['id'], ['uid' => $uid, 'name' => $name]);
+ if (DBA::isResult($group)) {
return $group['id'];
}
@@ -134,7 +142,7 @@ class Group extends BaseObject
/**
* @brief Mark a group as deleted
*
- * @param type $gid
+ * @param int $gid
* @return boolean
*/
public static function remove($gid) {
@@ -142,9 +150,14 @@ class Group extends BaseObject
return false;
}
+ $group = DBA::selectFirst('group', ['uid'], ['id' => $gid]);
+ if (!DBA::isResult($group)) {
+ return false;
+ }
+
// remove group from default posting lists
- $user = dba::select('user', ['def_gid', 'allow_gid', 'deny_gid'], ['uid' => $uid], ['limit' => 1]);
- if (DBM::is_result($user)) {
+ $user = DBA::selectFirst('user', ['def_gid', 'allow_gid', 'deny_gid'], ['uid' => $group['uid']]);
+ if (DBA::isResult($user)) {
$change = false;
if ($user['def_gid'] == $gid) {
@@ -161,15 +174,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;
}
@@ -179,9 +192,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;
@@ -207,12 +220,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;
@@ -231,7 +244,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;
}
@@ -260,37 +273,25 @@ class Group extends BaseObject
*
* @param array $group_ids
* @param boolean $check_dead
- * @param boolean $use_gcontact
* @return array
*/
- public static function expand($group_ids, $check_dead = false, $use_gcontact = false)
+ public static function expand($group_ids, $check_dead = false)
{
if (!is_array($group_ids) || !count($group_ids)) {
return [];
}
- $condition = '`gid` IN (' . substr(str_repeat("?, ", count($group_ids)), 0, -2) . ')';
- if ($use_gcontact) {
- $sql = 'SELECT `gcontact`.`id` AS `contact-id` FROM `group_member`
- INNER JOIN `contact` ON `contact`.`id` = `group_member`.`contact-id`
- INNER JOIN `gcontact` ON `gcontact`.`nurl` = `contact`.`nurl`
- WHERE ' . $condition;
- $param_arr = array_merge([$sql], $group_ids);
- $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'], ['gid' => $group_ids]);
$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);
+ if ($check_dead) {
+ Contact::pruneUnavailable($return);
}
+
return $return;
}
@@ -306,7 +307,7 @@ class Group extends BaseObject
{
$o = '';
- $stmt = dba::select('group', [], ['deleted' => 0, 'uid' => $uid], ['order' => ['name']]);
+ $stmt = DBA::select('group', [], ['deleted' => 0, 'uid' => $uid], ['order' => ['name']]);
$display_groups = [
[
@@ -315,7 +316,7 @@ class Group extends BaseObject
'selected' => ''
]
];
- while ($group = dba::fetch($stmt)) {
+ while ($group = DBA::fetch($stmt)) {
$display_groups[] = [
'name' => $group['name'],
'id' => $group['id'],
@@ -325,13 +326,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;
}
@@ -348,7 +349,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 = '';
@@ -358,27 +359,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']]);
+ $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;
@@ -397,16 +398,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'),
]);