Skip to content

Commit 982500e

Browse files
authored
Merge pull request #40 from techjoomla/master
Merge `master` into `release-1.1.0`
2 parents 44ebd26 + c560215 commit 982500e

6 files changed

Lines changed: 56 additions & 12 deletions

File tree

plugins/api/tjactivity/tjactivity.xml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<extension version="3.0" type="plugin" group="api" method="upgrade">
33
<name>com_api_tjactivity</name>
4-
<version>1.0.0</version>
5-
<creationDate>16th Nov 2018</creationDate>
4+
<version>1.0.1</version>
5+
<creationDate>8th Feb 2019</creationDate>
66
<author>Techjoomla</author>
77
<authorEmail>extensions@techjoomla.com</authorEmail>
88
<authorUrl>https://techjoomla.com</authorUrl>
9-
<copyright>Copyright (C) 2016 - 2018 Techjoomla. All rights reserved.</copyright>
9+
<copyright>Copyright (C) 2016 - 2019 Techjoomla. All rights reserved.</copyright>
1010
<license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
1111
<description>PLG_API_TJACTIVITY_DESCRIPTION</description>
1212
<languages>

src/activitystream.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
<extension type="component" version="3.0" method="upgrade">
33
<name>com_activitystream</name>
44
<!-- The following elements are optional and free of formatting constraints -->
5-
<creationDate>16th Nov 2018</creationDate>
5+
<creationDate>8th Feb 2019</creationDate>
66
<author>Techjoomla</author>
77
<authorEmail>extensions@techjoomla.com</authorEmail>
88
<authorUrl>https://techjoomla.com</authorUrl>
9-
<copyright>Copyright (C) 2016 - 2018 Techjoomla. All rights reserved.</copyright>
9+
<copyright>Copyright (C) 2016 - 2019 Techjoomla. All rights reserved.</copyright>
1010
<license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
1111
<!-- The version string is recorded in the components table -->
1212
<version>1.0.1</version>

src/media/scripts/activities.jQuery.js

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
let object_id = techjoomla.jQuery(ele).attr("tj-activitystream-object-id");
3434
let target_id = techjoomla.jQuery(ele).attr("tj-activitystream-target-id");
3535
let from_date = techjoomla.jQuery(ele).attr("tj-activitystream-from-date");
36+
let filter_condition = techjoomla.jQuery(ele).attr("tj-activitystream-filter-condition");
3637
let limit = techjoomla.jQuery(ele).attr("tj-activitystream-limit");
3738
let start = techjoomla.jQuery(ele).attr("start");
3839
let url = root_url+"index.php?option=com_activitystream&task=activities.getActivities";
@@ -61,6 +62,10 @@
6162
{
6263
url += "&limit="+limit;
6364
}
65+
if (typeof filter_condition != 'undefined')
66+
{
67+
url += "&filter_condition="+filter_condition;
68+
}
6469

6570
techjoomla.jQuery.ajax({
6671
url: url+"&start="+start,

src/plugins/privacy/activitystream/activitystream.xml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22
<extension version="3.9" type="plugin" group="privacy" method="upgrade">
33
<name>plg_privacy_activitystream</name>
44
<version>1.0.1</version>
5-
<creationDate>16th Nov 2018</creationDate>
5+
<creationDate>8th Feb 2019</creationDate>
66
<author>Techjoomla</author>
77
<authorEmail>extensions@techjoomla.com</authorEmail>
88
<authorUrl>https://techjoomla.com</authorUrl>
9-
<copyright>Copyright (C) 2016 - 2018 Techjoomla. All rights reserved.</copyright>
9+
<copyright>Copyright (C) 2016 - 2019 Techjoomla. All rights reserved.</copyright>
1010
<license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
1111
<description>PLG_PRIVACY_ACTIVITYSTREAM_XML_DESCRIPTION</description>
1212
<files>

src/site/controllers/activities.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -74,6 +74,7 @@ public function getActivities()
7474
$from_date = $jinput->get('from_date', '');
7575
$start = $jinput->get('start', '0');
7676
$limit = $jinput->get('limit');
77+
$filter_condition = $jinput->get('filter_condition', '', 'STRING');
7778

7879
// Set model state
7980
$ActivityStreamModelActivities->setState("type", $type);
@@ -85,6 +86,7 @@ public function getActivities()
8586
$ActivityStreamModelActivities->setState("access", "1");
8687
$ActivityStreamModelActivities->setState("state", '1');
8788
$ActivityStreamModelActivities->setState("list.start", $start);
89+
$ActivityStreamModelActivities->setState("filter_condition", $filter_condition);
8890

8991
$result['results'] = $ActivityStreamModelActivities->getItems();
9092

src/site/models/activities.php

Lines changed: 42 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ protected function getListQuery()
8686
$from_date = $this->getState('from_date');
8787
$limit = $this->getState('list.limit');
8888
$start = $this->getState('list.start');
89+
$filter_condition = $this->getState('filter_condition');
8990

9091
$result_arr = array();
9192

@@ -99,15 +100,51 @@ protected function getListQuery()
99100
// Get all filters
100101
$filters = $this->get('filter_fields');
101102

102-
foreach ($filters as $filter)
103+
// Default filter condition AND support
104+
if ($filter_condition != 'any')
103105
{
104-
$filterValue = $this->getState($filter);
106+
foreach ($filters as $filter)
107+
{
108+
$filterValue = $this->getState($filter);
109+
110+
if (!empty($filterValue) && $filter != 'type')
111+
{
112+
$filterValue = $this->activityStreamActivitiesHelper->buildActivityFilterQuery($filterValue);
113+
$query->where($db->quoteName($filter) . ' IN (' . $filterValue . ')');
114+
}
115+
}
116+
}
117+
else
118+
{
119+
// Filter condition OR support
120+
$whereClause = array();
105121

106-
if (!empty($filterValue) && $filter != 'type')
122+
foreach ($filters as $filter)
107123
{
108-
$filterValue = $this->activityStreamActivitiesHelper->buildActivityFilterQuery($filterValue);
109-
$query->where($db->quoteName($filter) . ' IN (' . $filterValue . ')');
124+
$filterValue = $this->getState($filter);
125+
126+
if (!empty($filterValue) && $filter != 'type')
127+
{
128+
$filterValue = $this->activityStreamActivitiesHelper->buildActivityFilterQuery($filterValue);
129+
$conditionFilters = array('target_id', 'object_id', 'actor_id');
130+
131+
if (!in_array($filter, $conditionFilters))
132+
{
133+
$query->where($db->quoteName($filter) . ' IN (' . $filterValue . ')');
134+
}
135+
else
136+
{
137+
$whereClause[] = $db->quoteName($filter) . " IN (" . $filterValue . ")";
138+
}
139+
}
110140
}
141+
142+
if (!empty($whereClause))
143+
{
144+
$whereClause = '(' . implode(' OR ', $whereClause) . ')';
145+
}
146+
147+
$query->where($whereClause);
111148
}
112149

113150
// Return results from specified date

0 commit comments

Comments
 (0)