$context = CRM_Utils_Type::escape(CRM_Utils_Array::value('context', $_GET), 'String');
$sortMapper = array(
- 0 => 'activity_type', 1 => 'subject', 2 => 'source_contact_name',
- 3 => '', 4 => 'activity_date_time', 5 => 'status_id',
+ 0 => 'activity_type',
+ 1 => 'subject',
+ 2 => 'source_contact_name',
+ 3 => '',
+ 4 => 'activity_date_time',
+ 5 => 'status_id',
);
- $sEcho = CRM_Utils_Type::escape($_REQUEST['sEcho'], 'Integer');
- $offset = isset($_REQUEST['iDisplayStart']) ? CRM_Utils_Type::escape($_REQUEST['iDisplayStart'], 'Integer') : 0;
- $rowCount = isset($_REQUEST['iDisplayLength']) ? CRM_Utils_Type::escape($_REQUEST['iDisplayLength'], 'Integer') : 25;
- $sort = isset($_REQUEST['iSortCol_0']) ? CRM_Utils_Array::value(CRM_Utils_Type::escape($_REQUEST['iSortCol_0'], 'Integer'), $sortMapper) : NULL;
+ $sEcho = CRM_Utils_Type::escape($_REQUEST['sEcho'], 'Integer');
+ $offset = isset($_REQUEST['iDisplayStart']) ? CRM_Utils_Type::escape($_REQUEST['iDisplayStart'], 'Integer') : 0;
+ $rowCount = isset($_REQUEST['iDisplayLength']) ? CRM_Utils_Type::escape($_REQUEST['iDisplayLength'], 'Integer') : 25;
+ $sort = isset($_REQUEST['iSortCol_0']) ? CRM_Utils_Array::value(CRM_Utils_Type::escape($_REQUEST['iSortCol_0'], 'Integer'), $sortMapper) : NULL;
$sortOrder = isset($_REQUEST['sSortDir_0']) ? CRM_Utils_Type::escape($_REQUEST['sSortDir_0'], 'String') : 'asc';
$params = $_POST;
$session = CRM_Core_Session::singleton();
$userID = $session->get('userID');
if ($userID) {
- $activityFilter =
- array('activity_type_filter_id' => CRM_Utils_Array::value('activity_type_id', $params),
- 'activity_type_exclude_filter_id' => CRM_Utils_Array::value('activity_type_exclude_id', $params));
- CRM_Core_BAO_Setting::setItem($activityFilter,
- CRM_Core_BAO_Setting::PERSONAL_PREFERENCES_NAME,
- 'activity_tab_filter',
- NULL,
- $userID,
- $userID
- );
+ //flush cache before setting filter to account for global cache (memcache)
+ $domainID = CRM_Core_Config::domainID();
+ $cacheKey = CRM_Core_BAO_Setting::inCache(
+ CRM_Core_BAO_Setting::PERSONAL_PREFERENCES_NAME,
+ 'activity_tab_filter',
+ NULL,
+ $userID,
+ TRUE,
+ $domainID,
+ TRUE
+ );
+ if ( $cacheKey ) {
+ CRM_Core_BAO_Setting::flushCache($cacheKey);
+ }
+
+ $activityFilter = array(
+ 'activity_type_filter_id' =>
+ ( CRM_Utils_Array::value('activity_type_id', $params) ) ?
+ CRM_Utils_Type::escape(CRM_Utils_Array::value('activity_type_id', $params, '0'), 'Integer') : '',
+ 'activity_type_exclude_filter_id' =>
+ ( CRM_Utils_Array::value('activity_type_exclude_id', $params) ) ?
+ CRM_Utils_Type::escape(CRM_Utils_Array::value('activity_type_exclude_id', $params, '0'), 'Integer') : '',
+ );
+
+ CRM_Core_BAO_Setting::setItem(
+ $activityFilter,
+ CRM_Core_BAO_Setting::PERSONAL_PREFERENCES_NAME,
+ 'activity_tab_filter',
+ NULL,
+ $userID,
+ $userID
+ );
}
$iFilteredTotal = $iTotal = $params['total'];