mirror of
https://github.com/friendica/friendica
synced 2024-12-23 11:20:15 +00:00
d3a2ed85fe
* Use "LEFT JOIN" to always fetch the item. Needed for update routines. * New conversion routine that now covers every item * Post update is now activated * We now use a hash based upon RIPEMD-320 for content and activity * The hash doesn't contain the plink anymore * Legacy item fields are now "null"able * New hash function for a server unique item hash * Introduction of the legacy mode (usage of old item fields) * Code simplification * We don't need the "uri" fields anymore in item-activity and item-content * Use the "created" and not the "received" date for the hash * Avoiding several notices * Some more warnings removed * Improved uri-hash / Likes on Diaspora are now getting a creation date * Corrected the post update version * Ensure an unique uri-hash * Don't delete orhaned item data at the moment * Partly reworked, due to strange behaviour * Some more parts reworked * Using the uri currently seems to be more reliable * Using the uri here as well * Use the hash values again * Grouped item fields in different categories * Notices again * use the gravity (we always should) * Added hint for disabled post updates * Notices ... * Issue #5337: Personal notes are displayed again * Use the gravity again
91 lines
2 KiB
PHP
91 lines
2 KiB
PHP
<?php
|
|
/**
|
|
* @file mod/notes.php
|
|
*/
|
|
use Friendica\App;
|
|
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)
|
|
{
|
|
if (! local_user()) {
|
|
return;
|
|
}
|
|
|
|
$profile = 0;
|
|
|
|
$which = $a->user['nickname'];
|
|
|
|
Nav::setSelected('home');
|
|
|
|
//Profile::load($a, $which, $profile);
|
|
}
|
|
|
|
|
|
function notes_content(App $a, $update = false)
|
|
{
|
|
if (!local_user()) {
|
|
notice(L10n::t('Permission denied.') . EOL);
|
|
return;
|
|
}
|
|
|
|
require_once 'include/security.php';
|
|
require_once 'include/conversation.php';
|
|
|
|
$o = Profile::getTabs($a, true);
|
|
|
|
if (!$update) {
|
|
$o .= '<h3>' . L10n::t('Personal Notes') . '</h3>';
|
|
|
|
$x = [
|
|
'is_owner' => true,
|
|
'allow_location' => (($a->user['allow_location']) ? true : false),
|
|
'default_location' => $a->user['default-location'],
|
|
'nickname' => $a->user['nickname'],
|
|
'lockstate' => 'lock',
|
|
'acl' => '',
|
|
'bang' => '',
|
|
'visitor' => 'block',
|
|
'profile_uid' => local_user(),
|
|
'button' => L10n::t('Save'),
|
|
'acl_data' => '',
|
|
];
|
|
|
|
$o .= status_editor($a, $x, $a->contact['id']);
|
|
}
|
|
|
|
$condition = ["`uid` = ? AND `type` = 'note' AND `gravity` = ? AND NOT `wall`
|
|
AND `allow_cid` = ? AND `contact-id` = ?",
|
|
local_user(), GRAVITY_PARENT, '<' . $a->contact['id'] . '>', $a->contact['id']];
|
|
|
|
$notes = dba::count('item', $condition);
|
|
|
|
$a->set_pager_total($notes);
|
|
$a->set_pager_itemspage(40);
|
|
|
|
$params = ['order' => ['created' => true],
|
|
'limit' => [$a->pager['start'], $a->pager['itemspage']]];
|
|
$r = Item::selectForUser(local_user(), ['id'], $condition, $params);
|
|
|
|
if (DBM::is_result($r)) {
|
|
$parents_arr = [];
|
|
|
|
while ($rr = Item::fetch($r)) {
|
|
$parents_arr[] = $rr['id'];
|
|
}
|
|
dba::close($r);
|
|
|
|
$condition = ['uid' => local_user(), 'parent' => $parents_arr];
|
|
$result = Item::selectForUser(local_user(), [], $condition);
|
|
if (DBM::is_result($result)) {
|
|
$items = conv_sort(Item::inArray($result), 'commented');
|
|
$o .= conversation($a, $items, 'notes', $update);
|
|
}
|
|
}
|
|
|
|
$o .= paginate($a);
|
|
return $o;
|
|
}
|