/**
* @file mod/network.php
*/
+
use Friendica\App;
use Friendica\Content\Feature;
use Friendica\Content\ForumManager;
use Friendica\Content\Widget;
use Friendica\Core\Addon;
use Friendica\Core\Config;
+use Friendica\Core\L10n;
use Friendica\Core\PConfig;
use Friendica\Core\System;
use Friendica\Database\DBM;
use Friendica\Model\Group;
use Friendica\Model\Profile;
use Friendica\Module\Login;
+use Friendica\Util\DateTimeFormat;
require_once 'include/conversation.php';
require_once 'include/items.php';
function network_init(App $a)
{
if (!local_user()) {
- notice(t('Permission denied.') . EOL);
+ notice(L10n::t('Permission denied.') . EOL);
return;
}
$group_id = 0;
}
- PConfig::set(local_user(), 'network.view', 'group.selected', $group_id);
-
if ($a->argc > 1) {
for ($x = 1; $x < $a->argc; $x ++) {
if (is_a_date_arg($a->argv[$x])) {
// convert query string to array. remove friendica args
$query_array = [];
- $query_string = str_replace($a->cmd . "?", "", $a->query_string);
+ $query_string = str_replace($a->cmd . '?', '', $a->query_string);
parse_str($query_string, $query_array);
array_shift($query_array);
// fetch last used network view and redirect if needed
if (!$is_a_date_query) {
+ $sel_nets = defaults($_GET, 'nets', false);
$sel_tabs = network_query_get_sel_tab($a);
- $sel_nets = network_query_get_sel_net();
$sel_groups = network_query_get_sel_group($a);
$last_sel_tabs = PConfig::get(local_user(), 'network.view', 'tab.selected');
- $last_sel_nets = PConfig::get(local_user(), 'network.view', 'net.selected');
- $last_sel_groups = PConfig::get(local_user(), 'network.view', 'group.selected');
$remember_tab = ($sel_tabs[0] === 'active' && is_array($last_sel_tabs) && $last_sel_tabs[0] !== 'active');
- $remember_net = ($sel_nets === false && $last_sel_nets && $last_sel_nets !== 'all');
- $remember_group = ($sel_groups === false && $last_sel_groups && $last_sel_groups != 0);
$net_baseurl = '/network';
$net_args = [];
- if ($remember_group) {
- $net_baseurl .= '/' . $last_sel_groups; // Note that the group number must come before the "/new" tab selection
- } elseif ($sel_groups !== false) {
+ if ($sel_groups !== false) {
$net_baseurl .= '/' . $sel_groups;
}
} else {
$remember_tab = false;
}
- } elseif ($sel_tabs[4] === 'active') {
- // The '/new' tab is selected
- $remember_group = false;
}
- if ($remember_net) {
- $net_args['nets'] = $last_sel_nets;
- } elseif ($sel_nets !== false) {
+ if ($sel_nets !== false) {
$net_args['nets'] = $sel_nets;
}
- if ($remember_tab || $remember_net || $remember_group) {
+ if ($remember_tab) {
$net_args = array_merge($query_array, $net_args);
$net_queries = build_querystring($net_args);
- $redir_url = ($net_queries ? $net_baseurl . "?" . $net_queries : $net_baseurl);
+ $redir_url = ($net_queries ? $net_baseurl . '?' . $net_queries : $net_baseurl);
goaway(System::baseUrl() . $redir_url);
}
$a = get_app();
$srchurl = '/network?f='
- . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : '')
- . ((x($_GET,'star')) ? '&star=' . $_GET['star'] : '')
- . ((x($_GET,'bmark')) ? '&bmark=' . $_GET['bmark'] : '')
- . ((x($_GET,'conv')) ? '&conv=' . $_GET['conv'] : '')
- . ((x($_GET,'nets')) ? '&nets=' . $_GET['nets'] : '')
- . ((x($_GET,'cmin')) ? '&cmin=' . $_GET['cmin'] : '')
- . ((x($_GET,'cmax')) ? '&cmax=' . $_GET['cmax'] : '')
- . ((x($_GET,'file')) ? '&file=' . $_GET['file'] : '');
+ . ((x($_GET, 'cid')) ? '&cid=' . $_GET['cid'] : '')
+ . ((x($_GET, 'star')) ? '&star=' . $_GET['star'] : '')
+ . ((x($_GET, 'bmark')) ? '&bmark=' . $_GET['bmark'] : '')
+ . ((x($_GET, 'conv')) ? '&conv=' . $_GET['conv'] : '')
+ . ((x($_GET, 'nets')) ? '&nets=' . $_GET['nets'] : '')
+ . ((x($_GET, 'cmin')) ? '&cmin=' . $_GET['cmin'] : '')
+ . ((x($_GET, 'cmax')) ? '&cmax=' . $_GET['cmax'] : '')
+ . ((x($_GET, 'file')) ? '&file=' . $_GET['file'] : '');
;
$o = '';
'id' => $rr['id'],
'term' => $rr['term'],
'encodedterm' => urlencode($rr['term']),
- 'delete' => t('Remove term'),
+ 'delete' => L10n::t('Remove term'),
'selected' => ($search == $rr['term']),
];
}
- $tpl = get_markup_template("saved_searches_aside.tpl");
+ $tpl = get_markup_template('saved_searches_aside.tpl');
$o = replace_macros($tpl, [
- '$title' => t('Saved Searches'),
- '$add' => t('add'),
+ '$title' => L10n::t('Saved Searches'),
+ '$add' => L10n::t('add'),
'$searchbox' => search($search, 'netsearch-box', $srchurl, true),
'$saved' => $saved,
]);
return [$no_active, $all_active, $postord_active, $conv_active, $new_active, $starred_active, $bookmarked_active, $spam_active];
}
-/**
- * @brief Return selected network from query
- * @return string Name of the selected network
- */
-function network_query_get_sel_net()
-{
- $network = false;
-
- if (x($_GET, 'nets')) {
- $network = $_GET['nets'];
- }
-
- return $network;
-}
-
function network_query_get_sel_group(App $a)
{
$group = false;
function networkFlatView(App $a, $update = 0)
{
// Rawmode is used for fetching new content at the end of the page
- $rawmode = (isset($_GET["mode"]) AND ( $_GET["mode"] == "raw"));
+ $rawmode = (isset($_GET['mode']) AND ( $_GET['mode'] == 'raw'));
- if (isset($_GET["last_id"])) {
- $last_id = intval($_GET["last_id"]);
+ if (isset($_GET['last_id'])) {
+ $last_id = intval($_GET['last_id']);
} else {
$last_id = 0;
}
$file = ((x($_GET, 'file')) ? $_GET['file'] : '');
- PConfig::set(local_user(), 'network.view', 'net.selected', 'all');
-
if (!$update && !$rawmode) {
$tabs = network_tabs($a);
$o .= $tabs;
function networkThreadedView(App $a, $update = 0)
{
// Rawmode is used for fetching new content at the end of the page
- $rawmode = (isset($_GET["mode"]) AND ( $_GET["mode"] == "raw"));
+ $rawmode = (isset($_GET['mode']) AND ( $_GET['mode'] == 'raw'));
- if (isset($_GET["last_received"]) && isset($_GET["last_commented"]) && isset($_GET["last_created"]) && isset($_GET["last_id"])) {
- $last_received = DBM::date($_GET["last_received"]);
- $last_commented = DBM::date($_GET["last_commented"]);
- $last_created = DBM::date($_GET["last_created"]);
- $last_id = intval($_GET["last_id"]);
+ if (isset($_GET['last_received']) && isset($_GET['last_commented']) && isset($_GET['last_created']) && isset($_GET['last_id'])) {
+ $last_received = DBM::date($_GET['last_received']);
+ $last_commented = DBM::date($_GET['last_commented']);
+ $last_created = DBM::date($_GET['last_created']);
+ $last_id = intval($_GET['last_id']);
} else {
$last_received = '';
$last_commented = '';
$o = '';
- $cid = ((x($_GET, 'cid')) ? intval($_GET['cid']) : 0);
- $star = ((x($_GET, 'star')) ? intval($_GET['star']) : 0);
- $bmark = ((x($_GET, 'bmark')) ? intval($_GET['bmark']) : 0);
- $order = ((x($_GET, 'order')) ? notags($_GET['order']) : 'comment');
- $conv = ((x($_GET, 'conv')) ? intval($_GET['conv']) : 0);
- $nets = ((x($_GET, 'nets')) ? $_GET['nets'] : '');
+ $cid = intval(defaults($_GET, 'cid' , 0));
+ $star = intval(defaults($_GET, 'star' , 0));
+ $bmark = intval(defaults($_GET, 'bmark', 0));
+ $conv = intval(defaults($_GET, 'conv' , 0));
+ $order = notags(defaults($_GET, 'order', 'comment'));
+ $nets = defaults($_GET, 'nets' , '');
if ($cid) {
$def_acl = ['allow_cid' => '<' . intval($cid) . '>'];
$def_acl = ['allow_cid' => $str];
}
}
- PConfig::set(local_user(), 'network.view', 'net.selected', ($nets ? $nets : 'all'));
if (!$update && !$rawmode) {
$tabs = network_tabs($a);
if ($gid) {
if (($t = Contact::getOStatusCountByGroupId($gid)) && !PConfig::get(local_user(), 'system', 'nowarn_insecure')) {
- notice(tt("Warning: This group contains %s member from a network that doesn't allow non public messages.",
- "Warning: This group contains %s members from a network that doesn't allow non public messages.", $t) . EOL);
- notice(t("Messages in this group won't be send to these receivers.") . EOL);
+ notice(L10n::tt("Warning: This group contains %s member from a network that doesn't allow non public messages.",
+ "Warning: This group contains %s members from a network that doesn't allow non public messages.",
+ $t) . EOL);
+ notice(L10n::t("Messages in this group won't be send to these receivers.").EOL);
}
}
Nav::setSelected('network');
- $content = "";
+ $content = '';
if ($cid) {
// If $cid belongs to a communitity forum or a privat goup,.add a mention to the status editor
$condition = ["`id` = ? AND (`forum` OR `prv`)", $cid];
$contact = dba::selectFirst('contact', ['addr', 'nick'], $condition);
if (DBM::is_result($contact)) {
- if ($contact["addr"] != '') {
- $content = "!" . $contact["addr"];
+ if ($contact['addr'] != '') {
+ $content = '!' . $contact['addr'];
} else {
- $content = "!" . $contact["nick"] . "+" . $cid;
+ $content = '!' . $contact['nick'] . '+' . $cid;
}
}
}
// that belongs to you, hence you can see all of it. We will filter by group if
// desired.
- $sql_post_table = "";
+ $sql_post_table = '';
$sql_options = (($star) ? " AND `thread`.`starred` " : '');
$sql_options .= (($bmark) ? " AND `thread`.`bookmark` " : '');
$sql_extra = $sql_options;
- $sql_extra2 = "";
- $sql_extra3 = "";
- $sql_table = "`thread`";
- $sql_parent = "`iid`";
+ $sql_extra2 = '';
+ $sql_extra3 = '';
+ $sql_table = '`thread`';
+ $sql_parent = '`iid`';
if ($update) {
- $sql_table = "`item`";
- $sql_parent = "`parent`";
+ $sql_table = '`item`';
+ $sql_parent = '`parent`';
$sql_post_table = " INNER JOIN `thread` ON `thread`.`iid` = `item`.`parent`";
}
if ($update) {
killme();
}
- notice(t('No such group') . EOL);
+ notice(L10n::t('No such group') . EOL);
goaway('network/0');
// NOTREACHED
}
$contacts = Group::expand([$gid]);
if ((is_array($contacts)) && count($contacts)) {
- $contact_str_self = "";
+ $contact_str_self = '';
$contact_str = implode(',', $contacts);
$self = dba::selectFirst('contact', ['id'], ['uid' => $_SESSION['uid'], 'self' => true]);
if (DBM::is_result($self)) {
- $contact_str_self = $self["id"];
+ $contact_str_self = $self['id'];
}
$sql_post_table .= " INNER JOIN `item` AS `temp1` ON `temp1`.`id` = " . $sql_table . "." . $sql_parent;
$sql_extra3 .= " OR (`thread`.`contact-id` = '$contact_str_self' AND `temp1`.`allow_gid` LIKE '" . protect_sprintf('%<' . intval($gid) . '>%') . "' AND `temp1`.`private`))";
} else {
$sql_extra3 .= " AND false ";
- info(t('Group is empty'));
+ info(L10n::t('Group is empty'));
}
- $o = replace_macros(get_markup_template("section_title.tpl"), [
- '$title' => t('Group: %s', $group['name'])
+ $o = replace_macros(get_markup_template('section_title.tpl'), [
+ '$title' => L10n::t('Group: %s', $group['name'])
]) . $o;
} elseif ($cid) {
$fields = ['id', 'name', 'network', 'writable', 'nurl',
'details' => $contact['location'],
];
- $entries[0]["account_type"] = Contact::getAccountType($contact);
+ $entries[0]['account_type'] = Contact::getAccountType($contact);
- $o = replace_macros(get_markup_template("viewcontact_template.tpl"), [
+ $o = replace_macros(get_markup_template('viewcontact_template.tpl'), [
'contacts' => $entries,
'id' => 'network',
]) . $o;
- if ($contact['network'] === NETWORK_OSTATUS && $contact['writable'] && !PConfig::get(local_user(), 'system',
- 'nowarn_insecure')) {
- notice(t('Private messages to this person are at risk of public disclosure.') . EOL);
+ if ($contact['network'] === NETWORK_OSTATUS && $contact['writable'] && !PConfig::get(local_user(),'system','nowarn_insecure')) {
+ notice(L10n::t('Private messages to this person are at risk of public disclosure.') . EOL);
}
} else {
- notice(t('Invalid contact.') . EOL);
+ notice(L10n::t('Invalid contact.') . EOL);
goaway('network');
// NOTREACHED
}
if ($datequery) {
$sql_extra3 .= protect_sprintf(sprintf(" AND $sql_table.created <= '%s' ",
- dbesc(datetime_convert(date_default_timezone_get(), '', $datequery))));
+ dbesc(DateTimeFormat::convert($datequery, 'UTC', date_default_timezone_get()))));
}
if ($datequery2) {
$sql_extra3 .= protect_sprintf(sprintf(" AND $sql_table.created >= '%s' ",
- dbesc(datetime_convert(date_default_timezone_get(), '', $datequery2))));
+ dbesc(DateTimeFormat::convert($datequery2, 'UTC', date_default_timezone_get()))));
}
- $sql_order = "";
- $order_mode = "received";
+ $sql_order = '';
+ $order_mode = 'received';
if ($conv) {
$sql_extra3 .= " AND $sql_table.`mention`";
// Normal conversation view
if ($order === 'post') {
- $ordering = "`created`";
- if ($sql_order == "") {
- $order_mode = "created";
+ $ordering = '`created`';
+ if ($sql_order == '') {
+ $order_mode = 'created';
}
} else {
- $ordering = "`commented`";
- if ($sql_order == "") {
- $order_mode = "commented";
+ $ordering = '`commented`';
+ if ($sql_order == '') {
+ $order_mode = 'commented';
}
}
- if ($sql_order == "") {
+ if ($sql_order == '') {
$sql_order = "$sql_table.$ordering";
}
if (x($_GET, 'offset')) {
- $sql_range = sprintf(" AND $sql_order <= '%s'", dbesc($_GET["offset"]));
+ $sql_range = sprintf(" AND $sql_order <= '%s'", dbesc($_GET['offset']));
} else {
$sql_range = '';
}
}
break;
case 'id':
- if (($last_id > 0) && ($sql_table == "`thread`")) {
+ if (($last_id > 0) && ($sql_table == '`thread`')) {
$sql_range .= sprintf(" AND $sql_table.`iid` < '%s'", dbesc($last_id));
$a->set_pager_page(1);
$pager_sql = sprintf(" LIMIT %d, %d ", intval($a->pager['start']), intval($a->pager['itemspage']));
// Fetch a page full of parent items for this page
if ($update) {
- if (Config::get("system", "like_no_comment")) {
+ if (Config::get('system', 'like_no_comment')) {
$sql_extra4 = " AND `item`.`verb` = '" . ACTIVITY_POST . "'";
} else {
- $sql_extra4 = "";
+ $sql_extra4 = '';
}
$r = q("SELECT `item`.`parent` AS `item_id`, `item`.`network` AS `item_network`, `contact`.`uid` AS `contact_uid`, $sql_order AS `order_date`
FROM $sql_table $sql_post_table INNER JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
}
// Only show it when unfiltered (no groups, no networks, ...)
- if (Config::get('system', 'comment_public') && in_array($nets, ['', NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS]) && (strlen($sql_extra . $sql_extra2 . $sql_extra3) == 0)) {
+ if (in_array($nets, ['', NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS]) && (strlen($sql_extra . $sql_extra2 . $sql_extra3) == 0)) {
if (DBM::is_result($r)) {
$top_limit = current($r)['order_date'];
$bottom_limit = end($r)['order_date'];
} else {
- $top_limit = datetime_convert();
- $bottom_limit = datetime_convert();
+ $top_limit = DateTimeFormat::utcNow();
+ $bottom_limit = DateTimeFormat::utcNow();
}
// When checking for updates we need to fetch from the newest date to the newest date before
$top_limit = $last_date;
} elseif ($a->pager['page'] == 1) {
// Highest possible top limit when we are on the first page
- $top_limit = datetime_convert();
+ $top_limit = DateTimeFormat::utcNow();
}
$items = dba::p("SELECT `item`.`id` AS `item_id`, `item`.`network` AS `item_network`, `contact`.`uid` AS `contact_uid` FROM `item`
$data = dba::inArray($items);
if (count($data) > 0) {
- logger('Tagged items: ' . count($data) . ' - ' . $bottom_limit . " - " . $top_limit . ' - ' . local_user()); //$last_date);
- $r = array_merge($r, $data);
+ logger('Tagged items: ' . count($data) . ' - ' . $bottom_limit . ' - ' . $top_limit . ' - ' . local_user()); //$last_date);
+ $r = array_merge($data, $r);
}
}
$parents_arr = [];
$parents_str = '';
- $date_offset = "";
+ $date_offset = '';
$items = [];
if (DBM::is_result($r)) {
}
}
- $parents_str = implode(", ", $parents_arr);
+ $parents_str = implode(', ', $parents_arr);
// splitted into separate queries to avoid the problem with very long threads
// so always the last X comments are loaded
// This problem can occur expecially with imported facebook posts
- $max_comments = Config::get("system", "max_comments");
+ $max_comments = Config::get('system', 'max_comments');
if ($max_comments == 0) {
$max_comments = 100;
}
}
if (x($_GET, 'offset')) {
- $date_offset = $_GET["offset"];
+ $date_offset = $_GET['offset'];
} elseif (count($items)) {
$date_offset = $items[0][$order_mode];
} else {
// tabs
$tabs = [
[
- 'label' => t('Commented Order'),
+ 'label' => L10n::t('Commented Order'),
'url' => str_replace('/new', '', $cmd) . '?f=&order=comment' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : ''),
'sel' => $all_active,
- 'title' => t('Sort by Comment Date'),
+ 'title' => L10n::t('Sort by Comment Date'),
'id' => 'commented-order-tab',
- 'accesskey' => "e",
+ 'accesskey' => 'e',
],
[
- 'label' => t('Posted Order'),
+ 'label' => L10n::t('Posted Order'),
'url' => str_replace('/new', '', $cmd) . '?f=&order=post' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : ''),
'sel' => $postord_active,
- 'title' => t('Sort by Post Date'),
+ 'title' => L10n::t('Sort by Post Date'),
'id' => 'posted-order-tab',
- 'accesskey' => "t",
+ 'accesskey' => 't',
],
];
if (Feature::isEnabled(local_user(), 'personal_tab')) {
$tabs[] = [
- 'label' => t('Personal'),
+ 'label' => L10n::t('Personal'),
'url' => str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&conv=1',
'sel' => $conv_active,
- 'title' => t('Posts that mention or involve you'),
+ 'title' => L10n::t('Posts that mention or involve you'),
'id' => 'personal-tab',
- 'accesskey' => "r",
+ 'accesskey' => 'r',
];
}
if (Feature::isEnabled(local_user(), 'new_tab')) {
$tabs[] = [
- 'label' => t('New'),
+ 'label' => L10n::t('New'),
'url' => 'network/new' . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : ''),
'sel' => $new_active,
- 'title' => t('Activity Stream - by date'),
+ 'title' => L10n::t('Activity Stream - by date'),
'id' => 'activitiy-by-date-tab',
- 'accesskey' => "w",
+ 'accesskey' => 'w',
];
}
if (Feature::isEnabled(local_user(), 'link_tab')) {
$tabs[] = [
- 'label' => t('Shared Links'),
+ 'label' => L10n::t('Shared Links'),
'url' => str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&bmark=1',
'sel' => $bookmarked_active,
- 'title' => t('Interesting Links'),
+ 'title' => L10n::t('Interesting Links'),
'id' => 'shared-links-tab',
- 'accesskey' => "b",
+ 'accesskey' => 'b',
];
}
if (Feature::isEnabled(local_user(), 'star_posts')) {
$tabs[] = [
- 'label' => t('Starred'),
+ 'label' => L10n::t('Starred'),
'url' => str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&star=1',
'sel' => $starred_active,
- 'title' => t('Favourite Posts'),
+ 'title' => L10n::t('Favourite Posts'),
'id' => 'starred-posts-tab',
- 'accesskey' => "m",
+ 'accesskey' => 'm',
];
}