aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Zotlabs/Module/Channel.php2
-rw-r--r--Zotlabs/Module/Network.php4
-rw-r--r--Zotlabs/Widget/Activity_filter.php80
-rw-r--r--Zotlabs/Widget/Activity_order.php5
-rw-r--r--view/pdl/mod_network.pdl2
-rw-r--r--view/theme/redbasic/js/redbasic.js5
6 files changed, 72 insertions, 26 deletions
diff --git a/Zotlabs/Module/Channel.php b/Zotlabs/Module/Channel.php
index c2e464470..6969b6226 100644
--- a/Zotlabs/Module/Channel.php
+++ b/Zotlabs/Module/Channel.php
@@ -18,7 +18,7 @@ class Channel extends \Zotlabs\Web\Controller {
function init() {
- if(strpos($_GET['search'], '@') === 0 || strpos($_GET['search'], '!') === 0 || strpos($_GET['search'], '?') === 0)
+ if(in_array(substr($_GET['search'],0,1),[ '@', '!', '?']))
goaway('search' . '?f=&search=' . $_GET['search']);
$which = null;
diff --git a/Zotlabs/Module/Network.php b/Zotlabs/Module/Network.php
index 0d4deb736..8a381d678 100644
--- a/Zotlabs/Module/Network.php
+++ b/Zotlabs/Module/Network.php
@@ -16,7 +16,7 @@ class Network extends \Zotlabs\Web\Controller {
return;
}
- if(strpos($_GET['search'], '@') === 0 || strpos($_GET['search'], '!') === 0 || strpos($_GET['search'], '?') === 0)
+ if(in_array(substr($_GET['search'],0,1),[ '@', '!', '?']))
goaway('search' . '?f=&search=' . $_GET['search']);
if(count($_GET) < 2) {
@@ -389,7 +389,7 @@ class Network extends \Zotlabs\Web\Controller {
if($conv) {
$item_thread_top = '';
- $sql_extra .= sprintf(" AND parent IN (SELECT distinct(parent) from item where ( author_xchan like '%s' or item_mentionsme = 1 )) ",
+ $sql_extra .= sprintf(" AND parent IN (SELECT distinct(parent) from item where ( author_xchan = '%s' or item_mentionsme = 1 )) ",
dbesc(protect_sprintf($channel['channel_hash']))
);
}
diff --git a/Zotlabs/Widget/Activity_filter.php b/Zotlabs/Widget/Activity_filter.php
index a60144239..e56d13fc1 100644
--- a/Zotlabs/Widget/Activity_filter.php
+++ b/Zotlabs/Widget/Activity_filter.php
@@ -9,42 +9,82 @@ class Activity_filter {
if(! local_channel())
return '';
- $starred_active = '';
- $conv_active = '';
-
- if(x($_GET,'star')) {
- $starred_active = 'active';
- }
-
- if(x($_GET,'conv')) {
- $conv_active = 'active';
- }
-
$cmd = \App::$cmd;
- // tabs
$tabs = [];
if(feature_enabled(local_channel(),'personal_tab')) {
- $tabs[] = array(
+ if(x($_GET,'conv')) {
+ $conv_active = (($_GET['conv'] == 1) ? 'active' : '');
+ }
+
+ $tabs[] = [
'label' => t('Personal Posts'),
'icon' => 'user-circle',
- 'url' => z_root() . '/' . $cmd . '?f=' . ((x($_GET,'order')) ? '&order=' . $_GET['order'] : '') . '&conv=1',
+ 'url' => z_root() . '/' . $cmd . '/?f=&conv=1',
'sel' => $conv_active,
- 'title' => t('Posts that mention or involve you'),
- );
+ 'title' => t('Show posts that mention or involve me'),
+ ];
}
if(feature_enabled(local_channel(),'star_posts')) {
- $tabs[] = array(
+ if(x($_GET,'star')) {
+ $starred_active = (($_GET['star'] == 1) ? 'active' : '');
+ }
+
+ $tabs[] = [
'label' => t('Starred Posts'),
'icon' => 'star',
- 'url'=>z_root() . '/' . $cmd . '/?f=' . ((x($_GET,'order')) ? '&order=' . $_GET['order'] : '') . '&star=1',
+ 'url'=>z_root() . '/' . $cmd . '/?f=&star=1',
'sel'=>$starred_active,
- 'title' => t('Favourite Posts'),
+ 'title' => t('Show posts that i have starred'),
+ ];
+ }
+
+ if(feature_enabled(local_channel(),'groups')) {
+ $groups = q("SELECT * FROM groups WHERE deleted = 0 AND uid = %d ORDER BY gname ASC",
+ intval(local_channel())
);
+
+ if($groups) {
+ foreach($groups as $g) {
+ if(x($_GET,'gid')) {
+ $group_active = (($_GET['gid'] == $g['id']) ? 'active' : '');
+ }
+
+ $tabs[] = [
+ 'label' => $g['gname'],
+ 'icon' => 'users',
+ 'url' => z_root() . '/' . $cmd . '/?f=&gid=' . $g['id'],
+ 'sel' => $group_active,
+ 'title' => sprintf(t('Show posts related to the %s privacy group'), $g['gname']),
+ ];
+ }
+ }
}
+ if(feature_enabled(local_channel(),'filing')) {
+ $terms = q("select distinct term from term where uid = %d and ttype = %d order by term asc",
+ intval(local_channel()),
+ intval(TERM_FILE)
+ );
+
+ if($terms) {
+ foreach($terms as $t) {
+ if(x($_GET,'file')) {
+ $file_active = (($_GET['file'] == $t['term']) ? 'active' : '');
+ }
+
+ $tabs[] = [
+ 'label' => $t['term'],
+ 'icon' => 'folder',
+ 'url' => z_root() . '/' . $cmd . '/?f=&file=' . $t['term'],
+ 'sel' => $file_active,
+ 'title' => sprintf(t('Show posts that i have filed to %s'), $t['term']),
+ ];
+ }
+ }
+ }
$arr = ['tabs' => $tabs];
@@ -54,7 +94,7 @@ class Activity_filter {
if($arr['tabs']) {
return replace_macros($tpl, [
- '$title' => t('Additional Filters'),
+ '$title' => t('Activity Filters'),
'$tabs' => $arr['tabs'],
]);
}
diff --git a/Zotlabs/Widget/Activity_order.php b/Zotlabs/Widget/Activity_order.php
index edeef2c20..c973e3809 100644
--- a/Zotlabs/Widget/Activity_order.php
+++ b/Zotlabs/Widget/Activity_order.php
@@ -56,7 +56,7 @@ class Activity_order {
// override order for search results and filer results
if(x($_GET,'search') || x($_GET,'file')) {
$unthreaded_active = 'active';
- $commentord_active = $postord_active = '';
+ $commentord_active = $postord_active = 'disabled';
}
$cmd = \App::$cmd;
@@ -75,6 +75,9 @@ class Activity_order {
if(x($_GET,'conv'))
$filter .= '&conv=' . $_GET['conv'];
+ if(x($_GET,'file'))
+ $filter .= '&file=' . $_GET['file'];
+
// tabs
$tabs = [];
diff --git a/view/pdl/mod_network.pdl b/view/pdl/mod_network.pdl
index f93a6c66d..d26422093 100644
--- a/view/pdl/mod_network.pdl
+++ b/view/pdl/mod_network.pdl
@@ -1,11 +1,9 @@
[region=aside]
[widget=activity_order][/widget]
-[widget=collections][/widget]
[widget=activity_filter][/widget]
[widget=forums][/widget]
[widget=suggestions][/widget]
[widget=savedsearch][/widget]
-[widget=filer][/widget]
[widget=notes][/widget]
[/region]
diff --git a/view/theme/redbasic/js/redbasic.js b/view/theme/redbasic/js/redbasic.js
index 41f5eb7ce..c905c92cb 100644
--- a/view/theme/redbasic/js/redbasic.js
+++ b/view/theme/redbasic/js/redbasic.js
@@ -89,6 +89,11 @@ $(document).ready(function() {
tagClass: 'badge badge-pill badge-warning text-dark'
});
+ $('a.disabled').click(function(e) {
+ e.preventDefault();
+ e.stopPropagation();
+ });
+
var doctitle = document.title;
function checkNotify() {
var notifyUpdateElem = document.getElementById('notify-update');