acym_translation('ACYM_NO_GROUP')];
foreach ($allGroups as $group) {
$groups[$group->id] = $group->text;
}
$operatorIn = new OperatorInType();
$filters['acy_group'] = new stdClass();
$filters['acy_group']->name = acym_translation('ACYM_GROUP');
$filters['acy_group']->option = '
';
$filters['acy_group']->option .= $operatorIn->display('acym_action[filters][__numor__][__numand__][acy_group][in]');
$filters['acy_group']->option .= '
';
$filters['acy_group']->option .= '';
$filters['acy_group']->option .= acym_select(
$groups,
'acym_action[filters][__numor__][__numand__][acy_group][group]',
null,
['class' => 'acym__select']
);
$filters['acy_group']->option .= '
';
if (ACYM_CMS == 'joomla') {
$filters['acy_group']->option .= '';
$filters['acy_group']->option .= acym_switch('acym_action[filters][__numor__][__numand__][acy_group][subgroup]', 1, acym_translation('ACYM_INCLUDE_SUB_GROUPS'));
$filters['acy_group']->option .= '
';
}
$cmsFields = [];
foreach (acym_getColumns('users', false) as $key => $column) {
$cmsFields[$column] = $column;
}
if (ACYM_CMS == 'joomla' && ACYM_J37) {
$query = 'SELECT id, title
FROM #__fields
WHERE context = "com_users.user"
AND state = 1
AND type IN ("calendar", "checkboxes", "color", "integer", "list", "radio", "sql", "text", "url")
ORDER BY title ASC';
$customFields = acym_loadObjectList($query);
foreach ($customFields as $oneCF) {
$cmsFields['cf_'.$oneCF->id] = $oneCF->title;
}
}
$excluded = ['password', 'params', 'activation', 'lastResetTime', 'resetCount', 'optKey', 'otep', 'requireReset', 'user_pass', 'user_activation_key'];
foreach ($excluded as $oneExcluded) {
unset($cmsFields[$oneExcluded]);
}
$operator = new OperatorType();
$filters['acy_cmsfield'] = new stdClass();
$filters['acy_cmsfield']->name = acym_translation('ACYM_ACCOUNT_USER_FIELD');
$filters['acy_cmsfield']->option = '';
$filters['acy_cmsfield']->option .= acym_select(
$cmsFields,
'acym_action[filters][__numor__][__numand__][acy_cmsfield][field]',
null,
['class' => 'acym__select']
);
$filters['acy_cmsfield']->option .= '
';
$filters['acy_cmsfield']->option .= '';
$filters['acy_cmsfield']->option .= $operator->display('acym_action[filters][__numor__][__numand__][acy_cmsfield][operator]');
$filters['acy_cmsfield']->option .= '
';
$filters['acy_cmsfield']->option .= '';
}
public function onAcymProcessFilter_acy_group(&$query, $options, $num)
{
$this->_processAcyGroup($query, $options, $num);
}
public function onAcymProcessFilterCount_acy_group(&$query, $options, $num)
{
$this->onAcymProcessFilter_acy_group($query, $options, $num);
return acym_translationSprintf('ACYM_SELECTED_USERS', $query->count());
}
public function onAcymProcessFilter_acy_cmsfield(&$query, $options, $num)
{
$this->_processAcyCMSField($query, $options, $num);
}
public function onAcymProcessFilterCount_acy_cmsfield(&$query, $options, $num)
{
$this->onAcymProcessFilter_acy_cmsfield($query, $options, $num);
return acym_translationSprintf('ACYM_SELECTED_USERS', $query->count());
}
public function onAcymDeclareSummary_filters(&$automation)
{
$this->_summaryGroup($automation);
if (!empty($automation['acy_cmsfield'])) {
$automation = acym_translationSprintf(
'ACYM_FILTER_ACY_CMS_FIELD_SUMMARY',
$automation['acy_cmsfield']['field'],
$automation['acy_cmsfield']['operator'],
$automation['acy_cmsfield']['value']
);
}
}
public function onAcymProcessFilter_birthday(&$query, $options, $num = null)
{
if ($options['plugin'] !== get_class($this) || ACYM_CMS !== 'joomla' || !ACYM_J37) return;
$dateToCheck = $this->processDateToCheck($options);
$query->join['j_fields'.$num] = '#__fields_values AS jf'.$num.' ON jf'.$num.'.item_id = user.cms_id AND jf'.$num.'.field_id = '.intval($options['field']);
$query->where[] = 'user.cms_id != 0 ';
$query->where[] = 'jf'.$num.'.value LIKE '.acym_escapeDB('%'.date_format($dateToCheck, '-m-d').'%');
}
}