X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=mod%2Fnetwork.php;h=8e7a2b8e1ea1174b9bd0069924d5fcd1881be0e8;hb=5126b3938c5d180c9acdbdd1c0b7bebfca8353f8;hp=639d868fa2a720bdb2ee35c3af307504bf50c48f;hpb=4dd2a748b9625e134b62d71ef2e2772b75d51a96;p=friendica.git diff --git a/mod/network.php b/mod/network.php index 639d868fa2..8e7a2b8e1e 100644 --- a/mod/network.php +++ b/mod/network.php @@ -6,6 +6,8 @@ function network_init(&$a) { } $is_a_date_query = false; + if(x($_GET['cid']) && intval($_GET['cid']) != 0) + $cid = $_GET['cid']; if($a->argc > 1) { for($x = 1; $x < $a->argc; $x ++) { @@ -112,6 +114,7 @@ function network_init(&$a) { require_once('include/group.php'); require_once('include/contact_widgets.php'); require_once('include/items.php'); + require_once('include/forums.php'); if(! x($a->page,'aside')) $a->page['aside'] = ''; @@ -144,7 +147,8 @@ function network_init(&$a) { )); } - $a->page['aside'] .= (feature_enabled(local_user(),'groups') ? group_side('network/0','network',true,$group_id) : ''); + $a->page['aside'] .= (feature_enabled(local_user(),'groups') ? group_side('network/0','network','standard',$group_id) : ''); + $a->page['aside'] .= (feature_enabled(local_user(),'forumlist_widget') ? widget_forumlist(local_user(),$cid) : ''); $a->page['aside'] .= posted_date_widget($a->get_baseurl() . '/network',local_user(),false); $a->page['aside'] .= networks_widget($a->get_baseurl(true) . '/network',(x($_GET, 'nets') ? $_GET['nets'] : '')); $a->page['aside'] .= saved_searches($search); @@ -481,7 +485,8 @@ function network_content(&$a, $update = 0) { $content = ""; if ($cid) { - $contact = q("SELECT `nick` FROM `contact` WHERE `id` = %d AND `uid` = %d AND `forum`", + // If $cid belongs to a communitity forum or a privat goup,.add a mention to the status editor + $contact = q("SELECT `nick` FROM `contact` WHERE `id` = %d AND `uid` = %d AND (`forum` OR `prv`) ", intval($cid), intval(local_user()) ); @@ -561,9 +566,9 @@ function network_content(&$a, $update = 0) { //$sql_post_table = " INNER JOIN (SELECT DISTINCT(`parent`) FROM `item` WHERE (`contact-id` IN ($contact_str) OR `allow_gid` like '".protect_sprintf('%<'.intval($group).'>%')."') and deleted = 0 ORDER BY `created` DESC) AS `temp1` ON $sql_table.$sql_parent = `temp1`.`parent` "; $sql_extra3 .= " AND `contact-id` IN ($contact_str$contact_str_self) "; - $sql_extra3 .= " AND EXISTS (SELECT id FROM `item` WHERE (`contact-id` IN ($contact_str) - OR `allow_gid` like '".protect_sprintf('%<'.intval($group).'>%')."') and deleted = 0 - AND parent = $sql_table.$sql_parent) "; + $sql_extra3 .= " AND EXISTS (SELECT `id` FROM `item` WHERE (`contact-id` IN ($contact_str) + OR `allow_gid` LIKE '".protect_sprintf('%<'.intval($group).'>%')."') AND `deleted` = 0 + AND `parent` = $sql_table.$sql_parent) "; $o = replace_macros(get_markup_template("section_title.tpl"),array( '$title' => sprintf( t('Group: %s'), $r[0]['name']) @@ -572,7 +577,7 @@ function network_content(&$a, $update = 0) { } elseif($cid) { - $r = q("SELECT `id`,`name`,`network`,`writable`,`nurl` FROM `contact` WHERE `id` = %d + $r = q("SELECT `id`,`name`,`network`,`writable`,`nurl`, `forum`, `prv`, `addr`, `thumb`, `location` FROM `contact` WHERE `id` = %d AND `blocked` = 0 AND `pending` = 0 LIMIT 1", intval($cid) ); @@ -583,8 +588,18 @@ function network_content(&$a, $update = 0) { ON $sql_table.$sql_parent = `temp1`.`parent` "; $sql_extra = ""; - $o = replace_macros(get_markup_template("section_title.tpl"),array( - '$title' => sprintf( t('Contact: %s'), htmlentities($r[0]['name'])) + $entries[0] = array( + 'id' => 'network', + 'name' => htmlentities($r[0]['name']), + 'itemurl' => (($r[0]['addr']) ? ($r[0]['addr']) : ($r[0]['nurl'])), + 'thumb' => proxy_url($r[0]['thumb'], false, PROXY_SIZE_THUMB), + 'account_type' => (($r[0]['forum']) || ($r[0]['prv']) ? t('Forum') : ''), + 'details' => $r[0]['location'], + ); + + $o = replace_macros(get_markup_template("viewcontact_template.tpl"),array( + 'contacts' => $entries, + 'id' => 'network', )) . $o; if($r[0]['network'] === NETWORK_OSTATUS && $r[0]['writable'] && (! get_pconfig(local_user(),'system','nowarn_insecure'))) { @@ -663,29 +678,30 @@ function network_content(&$a, $update = 0) { } else { if(get_config('system', 'old_pager')) { - $r = q("SELECT COUNT(*) AS `total` - FROM $sql_table $sql_post_table INNER JOIN `contact` ON `contact`.`id` = $sql_table.`contact-id` - AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 - WHERE $sql_table.`uid` = %d AND $sql_table.`visible` = 1 AND $sql_table.`deleted` = 0 - $sql_extra2 $sql_extra3 - $sql_extra $sql_nets ", - intval($_SESSION['uid']) - ); - - if(count($r)) { - $a->set_pager_total($r[0]['total']); - } + $r = q("SELECT COUNT(*) AS `total` + FROM $sql_table $sql_post_table INNER JOIN `contact` ON `contact`.`id` = $sql_table.`contact-id` + AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 + WHERE $sql_table.`uid` = %d AND $sql_table.`visible` = 1 AND $sql_table.`deleted` = 0 + $sql_extra2 $sql_extra3 + $sql_extra $sql_nets ", + intval($_SESSION['uid']) + ); + + if(count($r)) { + $a->set_pager_total($r[0]['total']); + } } // check if we serve a mobile device and get the user settings // accordingly if ($a->is_mobile) { - $itemspage_network = get_pconfig(local_user(),'system','itemspage_mobile_network'); - $itemspage_network = ((intval($itemspage_network)) ? $itemspage_network : 20); + $itemspage_network = get_pconfig(local_user(),'system','itemspage_mobile_network'); + $itemspage_network = ((intval($itemspage_network)) ? $itemspage_network : 20); } else { - $itemspage_network = get_pconfig(local_user(),'system','itemspage_network'); - $itemspage_network = ((intval($itemspage_network)) ? $itemspage_network : 40); + $itemspage_network = get_pconfig(local_user(),'system','itemspage_network'); + $itemspage_network = ((intval($itemspage_network)) ? $itemspage_network : 40); } + // now that we have the user settings, see if the theme forces // a maximum item number which is lower then the user choice if(($a->force_max_items > 0) && ($a->force_max_items < $itemspage_network)) @@ -696,7 +712,7 @@ function network_content(&$a, $update = 0) { } if($nouveau) { - $simple_update = (($update) ? " and `item`.`unseen` = 1 " : ''); + $simple_update = (($update) ? " AND `item`.`unseen` = 1 " : ''); if ($sql_order == "") $sql_order = "`item`.`received`"; @@ -709,7 +725,7 @@ function network_content(&$a, $update = 0) { FROM $sql_table $sql_post_table INNER JOIN `contact` ON `contact`.`id` = `item`.`contact-id` AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0 WHERE `item`.`uid` = %d AND `item`.`visible` = 1 - AND `item`.`deleted` = 0 and `item`.`moderated` = 0 + AND `item`.`deleted` = 0 AND `item`.`moderated` = 0 $simple_update $sql_extra $sql_nets ORDER BY $sql_order DESC $pager_sql ",