X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fnotes.php;h=69b544472f6bba4013659fc3087ce6be29f9e75e;hb=4b0cf8d60f05c44f72b39bae1caae63284aacf44;hp=3b46df07da000ba02c2b4c1c35d1547fcc8981c1;hpb=c845415a99ebc348103815a7b2c55b15c75cdd24;p=friendica.git diff --git a/mod/notes.php b/mod/notes.php index 3b46df07da..69b544472f 100644 --- a/mod/notes.php +++ b/mod/notes.php @@ -7,6 +7,7 @@ use Friendica\Content\Nav; use Friendica\Core\L10n; use Friendica\Database\DBM; use Friendica\Model\Profile; +use Friendica\Model\Item; function notes_init(App $a) { @@ -26,37 +27,21 @@ function notes_init(App $a) function notes_content(App $a, $update = false) { - if (! local_user()) { + if (!local_user()) { notice(L10n::t('Permission denied.') . EOL); return; } require_once 'include/security.php'; require_once 'include/conversation.php'; - require_once 'include/acl_selectors.php'; - $groups = []; - - - $o = ''; - - $remote_contact = false; - - $contact_id = $_SESSION['cid']; - $contact = $a->contact; - - $is_owner = true; - $o =""; - $o .= Profile::getTabs($a, true); + $o = Profile::getTabs($a, true); if (!$update) { $o .= '

' . L10n::t('Personal Notes') . '

'; - $commpage = false; - $commvisitor = false; - $x = [ - 'is_owner' => $is_owner, + 'is_owner' => true, 'allow_location' => (($a->user['allow_location']) ? true : false), 'default_location' => $a->user['default-location'], 'nickname' => $a->user['nickname'], @@ -72,63 +57,31 @@ function notes_content(App $a, $update = false) $o .= status_editor($a, $x, $a->contact['id']); } - // Construct permissions + $condition = ["`uid` = ? AND `type` = 'note' AND `id` = `parent` AND NOT `wall` + AND `allow_cid` = ? AND `contact-id` = ?", + local_user(), '<' . $a->contact['id'] . '>', $a->contact['id']]; - // default permissions - anonymous user + $notes = dba::count('item', $condition); - $sql_extra = " AND `item`.`allow_cid` = '<" . $a->contact['id'] . ">' "; + $a->set_pager_total($notes); + $a->set_pager_itemspage(40); - $r = q("SELECT COUNT(*) AS `total` - FROM `item` %s - WHERE %s AND `item`.`uid` = %d AND `item`.`type` = 'note' - AND `contact`.`self` AND `item`.`id` = `item`.`parent` AND NOT `item`.`wall` - $sql_extra ", - item_joins(), - item_condition(), - intval(local_user()) - ); + $params = ['order' => ['created' => true], + 'limit' => [$a->pager['start'], $a->pager['itemspage']]]; + $r = Item::selectForUser(local_user(), ['item_id'], $condition, $params); if (DBM::is_result($r)) { - $a->set_pager_total($r[0]['total']); - $a->set_pager_itemspage(40); - } - - $r = q("SELECT `item`.`id` AS `item_id` FROM `item` %s - WHERE %s AND `item`.`uid` = %d AND `item`.`type` = 'note' - AND `item`.`id` = `item`.`parent` AND NOT `item`.`wall` - $sql_extra - ORDER BY `item`.`created` DESC LIMIT %d ,%d ", - item_joins(), - item_condition(), - intval(local_user()), - intval($a->pager['start']), - intval($a->pager['itemspage']) + $parents_arr = []; - ); - - $parents_arr = []; - $parents_str = ''; - - if (DBM::is_result($r)) { - foreach ($r as $rr) { + while ($rr = dba::fetch($r)) { $parents_arr[] = $rr['item_id']; } - $parents_str = implode(', ', $parents_arr); - - $r = q("SELECT %s FROM `item` %s - WHERE %s AND `item`.`uid` = %d AND `item`.`parent` IN (%s) - $sql_extra - ORDER BY `parent` DESC, `gravity` ASC, `item`.`id` ASC ", - item_fieldlists(), - item_joins(), - item_condition(), - intval(local_user()), - dbesc($parents_str) - ); - - if (DBM::is_result($r)) { - $items = conv_sort($r, "`commented`"); + dba::close($r); + $condition = ['uid' => local_user(), 'parent' => $parents_arr]; + $result = Item::selectForUser(local_user(), [], $condition); + if (DBM::is_result($result)) { + $items = conv_sort(dba::inArray($result), 'commented'); $o .= conversation($a, $items, 'notes', $update); } }