friendica/src/Module/Update/Network.php
Philipp Holzer 8bdd90066f
Make BaseModule a real entity
- Add all dependencies, necessary to run the content (baseUrl, Arguments)
- Encapsulate all POST/GET/DELETE/PATCH/PUT methods as protected methods inside the BaseModule
- Return Module content ONLY per `BaseModule::run()` (including the Hook logic there as well)
2021-11-27 12:40:36 +01:00

62 lines
1.4 KiB
PHP

<?php
namespace Friendica\Module\Update;
use Friendica\Core\System;
use Friendica\DI;
use Friendica\Model\Post;
use Friendica\Module\Conversation\Network as NetworkModule;
class Network extends NetworkModule
{
protected function rawContent(array $request = [])
{
if (!isset($_GET['p']) || !isset($_GET['item'])) {
exit();
}
$this->parseRequest($_GET);
$profile_uid = intval($_GET['p']);
$o = '';
if (!DI::pConfig()->get($profile_uid, 'system', 'no_auto_update') || ($_GET['force'] == 1)) {
if (!empty($_GET['item'])) {
$item = Post::selectFirst(['parent'], ['id' => $_GET['item']]);
$parent = $item['parent'] ?? 0;
} else {
$parent = 0;
}
$conditionFields = [];
if (!empty($parent)) {
// Load only a single thread
$conditionFields['parent'] = $parent;
} elseif (self::$order === 'received') {
// Only load new toplevel posts
$conditionFields['unseen'] = true;
$conditionFields['gravity'] = GRAVITY_PARENT;
} else {
// Load all unseen items
$conditionFields['unseen'] = true;
}
$params = ['limit' => 100];
$table = 'network-item-view';
$items = self::getItems($table, $params, $conditionFields);
if (self::$order === 'received') {
$ordering = '`received`';
} else {
$ordering = '`commented`';
}
$o = DI::conversation()->create($items, 'network', $profile_uid, false, $ordering, local_user());
}
System::htmlUpdateExit($o);
}
}