本文整理汇总了PHP中Joomla\Utilities\ArrayHelper::toInteger方法的典型用法代码示例。如果您正苦于以下问题:PHP ArrayHelper::toInteger方法的具体用法?PHP ArrayHelper::toInteger怎么用?PHP ArrayHelper::toInteger使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Joomla\Utilities\ArrayHelper
的用法示例。
在下文中一共展示了ArrayHelper::toInteger方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: association
/**
* Render the list of associated items
*
* @param integer $catid Category identifier to search its associations
* @param string $extension Category Extension
*
* @return string The language HTML
*
* @since 3.2
* @throws Exception
*/
public static function association($catid, $extension = 'com_content')
{
// Defaults
$html = '';
// Get the associations
if ($associations = CategoriesHelper::getAssociations($catid, $extension)) {
$associations = ArrayHelper::toInteger($associations);
// Get the associated categories
$db = JFactory::getDbo();
$query = $db->getQuery(true)->select('c.id, c.title')->select('l.sef as lang_sef')->select('l.lang_code')->from('#__categories as c')->where('c.id IN (' . implode(',', array_values($associations)) . ')')->join('LEFT', '#__languages as l ON c.language=l.lang_code')->select('l.image')->select('l.title as language_title');
$db->setQuery($query);
try {
$items = $db->loadObjectList('id');
} catch (RuntimeException $e) {
throw new Exception($e->getMessage(), 500, $e);
}
if ($items) {
foreach ($items as &$item) {
$text = $item->lang_sef ? strtoupper($item->lang_sef) : 'XX';
$url = JRoute::_('index.php?option=com_categories&task=category.edit&id=' . (int) $item->id . '&extension=' . $extension);
$classes = 'hasPopover label label-association label-' . $item->lang_sef;
$item->link = '<a href="' . $url . '" title="' . $item->language_title . '" class="' . $classes . '" data-content="' . $item->title . '" data-placement="top">' . $text . '</a>';
}
}
JHtml::_('bootstrap.popover');
$html = JLayoutHelper::render('joomla.content.associations', $items);
}
return $html;
}
示例2: populateState
/**
* Method to auto-populate the model state.
*
* Note. Calling getState in this method will result in recursion.
*
* @param string $ordering An optional ordering field.
* @param string $direction An optional direction (asc|desc).
*
* @return void
*
* @since 1.6
*/
protected function populateState($ordering = 'a.name', $direction = 'asc')
{
$app = JFactory::getApplication('administrator');
// Adjust the context to support modal layouts.
if ($layout = $app->input->get('layout', 'default', 'cmd')) {
$this->context .= '.' . $layout;
}
// Load the filter state.
$this->setState('filter.search', $this->getUserStateFromRequest($this->context . '.filter.search', 'filter_search', '', 'string'));
$this->setState('filter.active', $this->getUserStateFromRequest($this->context . '.filter.active', 'filter_active', '', 'cmd'));
$this->setState('filter.state', $this->getUserStateFromRequest($this->context . '.filter.state', 'filter_state', '', 'cmd'));
$this->setState('filter.group_id', $this->getUserStateFromRequest($this->context . '.filter.group_id', 'filter_group_id', null, 'int'));
$this->setState('filter.range', $this->getUserStateFromRequest($this->context . '.filter.range', 'filter_range', '', 'cmd'));
$this->setState('filter.lastvisitrange', $this->getUserStateFromRequest($this->context . '.filter.lastvisitrange', 'filter_lastvisitrange', '', 'cmd'));
$groups = json_decode(base64_decode($app->input->get('groups', '', 'BASE64')));
if (isset($groups)) {
$groups = ArrayHelper::toInteger($groups);
}
$this->setState('filter.groups', $groups);
$excluded = json_decode(base64_decode($app->input->get('excluded', '', 'BASE64')));
if (isset($excluded)) {
$excluded = ArrayHelper::toInteger($excluded);
}
$this->setState('filter.excluded', $excluded);
// Load the parameters.
$params = JComponentHelper::getParams('com_users');
$this->setState('params', $params);
// List state information.
parent::populateState($ordering, $direction);
}
示例3: load
/**
* Load locations data by ID from database.
*
* <code>
* $options = array(
* "ids" => array(1,2,3,4,5), // Load locations by IDs.
* "search" => "London" // It is a phrase for searching.
* );
*
* $locations = new Socialcommunity\Locations(JFactory::getDbo());
* $locations->load($options);
*
* foreach($locations as $location) {
* echo $location["name"];
* echo $location["country_code"];
* }
* </code>
*
* @param array $options
*/
public function load(array $options = array())
{
$ids = ArrayHelper::getValue($options, 'ids', array(), 'array');
$search = ArrayHelper::getValue($options, 'search', '', 'string');
$countryId = ArrayHelper::getValue($options, 'country_id', 0, 'int');
ArrayHelper::toInteger($ids);
$query = $this->db->getQuery(true);
$query->select('a.id, a.name, a.latitude, a.longitude, a.country_code, a.state_code, a.timezone, a.published')->from($this->db->quoteName('#__itpsc_locations', 'a'));
if (count($ids) > 0) {
$query->where('a.id IN ( ' . implode(',', $ids) . ' )');
}
// Filter by country ID ( use subquery to get country code ).
if ($countryId > 0) {
$subQuery = $this->db->getQuery(true);
$subQuery->select('sqc.code')->from($this->db->quoteName('#__itpsc_countries', 'sqc'))->where('sqc.id = ' . (int) $countryId);
$query->where('a.country_code = ( ' . $subQuery . ' )');
}
if ($query !== null and $query !== '') {
$escaped = $this->db->escape($search, true);
$quoted = $this->db->quote('%' . $escaped . '%', false);
$query->where('a.name LIKE ' . $quoted);
}
$this->db->setQuery($query);
$this->items = (array) $this->db->loadAssocList('id');
}
示例4: delete
/**
* Remove an item.
*
* @return void
*
* @since 1.6
*/
public function delete()
{
// Check for request forgeries
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
$user = JFactory::getUser();
$app = JFactory::getApplication();
$cids = (array) $this->input->get('cid', array(), 'array');
if (count($cids) < 1) {
$app->enqueueMessage(JText::_('COM_MENUS_NO_MENUS_SELECTED'), 'notice');
} else {
// Access checks.
foreach ($cids as $i => $id) {
if (!$user->authorise('core.delete', 'com_menus.menu.' . (int) $id)) {
// Prune items that you can't change.
unset($cids[$i]);
$app->enqueueMessage(JText::_('JLIB_APPLICATION_ERROR_DELETE_NOT_PERMITTED'), 'error');
}
}
if (count($cids) > 0) {
// Get the model.
$model = $this->getModel();
// Make sure the item ids are integers
$cids = ArrayHelper::toInteger($cids);
// Remove the items.
if (!$model->delete($cids)) {
$this->setMessage($model->getError());
} else {
$this->setMessage(JText::plural('COM_MENUS_N_MENUS_DELETED', count($cids)));
}
}
}
$this->setRedirect('index.php?option=com_menus&view=menus');
}
示例5: update
/**
* Update a set of extensions.
*
* @return void
*
* @since 1.6
*/
public function update()
{
// Check for request forgeries.
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
/** @var InstallerModelUpdate $model */
$model = $this->getModel('update');
$uid = $this->input->get('cid', array(), 'array');
$uid = ArrayHelper::toInteger($uid, array());
// Get the minimum stability.
$component = JComponentHelper::getComponent('com_installer');
$params = $component->params;
$minimum_stability = $params->get('minimum_stability', JUpdater::STABILITY_STABLE, 'int');
$model->update($uid, $minimum_stability);
if ($model->getState('result', false)) {
JFactory::getCache('mod_menu')->clean();
}
$app = JFactory::getApplication();
$redirect_url = $app->getUserState('com_installer.redirect_url');
// Don't redirect to an external URL.
if (!JUri::isInternal($redirect_url)) {
$redirect_url = '';
}
if (empty($redirect_url)) {
$redirect_url = JRoute::_('index.php?option=com_installer&view=update', false);
} else {
// Wipe out the user state when we're going to redirect.
$app->setUserState('com_installer.redirect_url', '');
$app->setUserState('com_installer.message', '');
$app->setUserState('com_installer.extension_message', '');
}
$this->setRedirect($redirect_url);
}
示例6: load
/**
* Load transactions from database.
*
* <code>
* $options = array(
* "ids" => array(1,2,3),
* "txn_status" => "completed"
* );
*
* $transactions = new Crowdfunding\Transactions(\JFactory::getDbo());
* $transactions->load($options);
*
* foreach($transactions as $transaction) {
* echo $transaction->txn_id;
* echo $transaction->txn_amount;
* }
*
* </code>
*
* @param array $options
*
* @throws \UnexpectedValueException
*/
public function load($options = array())
{
$ids = !array_key_exists('ids', $options) ? array() : (array) $options['ids'];
$ids = ArrayHelper::toInteger($ids);
$results = array();
if (count($ids) > 0) {
// Load project data
$query = $this->db->getQuery(true);
$query->select('a.id, a.txn_date, a.txn_id, a.txn_amount, a.txn_currency, a.txn_status, ' . 'a.extra_data, a.status_reason, a.project_id, a.reward_id, a.investor_id, ' . 'a.receiver_id, a.service_provider, a.service_alias, a.reward_state')->from($this->db->quoteName('#__crowdf_transactions', 'a'))->where('a.id IN ( ' . implode(',', $ids) . ' )');
// Filter by status.
$status = ArrayHelper::getValue($options, 'txn_status', null, 'cmd');
if ($status !== null) {
$query->where('a.txn_status = ' . $this->db->quote($status));
}
$this->db->setQuery($query);
$results = (array) $this->db->loadAssocList();
// Convert JSON string into an array.
if (count($results) > 0) {
foreach ($results as $key => &$result) {
if (!empty($result['extra_data'])) {
$result['extra_data'] = json_decode($result['extra_data'], true);
}
}
unset($result);
}
}
$this->items = $results;
}
示例7: getListQuery
/**
* Method to get a JDatabaseQuery object for retrieving the data set from a database.
*
* @return JDatabaseQuery A JDatabaseQuery object to retrieve the data set.
*/
protected function getListQuery()
{
// Create a new query object.
$db = $this->getDbo();
$query = $db->getQuery(true);
$subQuery = $db->getQuery(true);
$includeRaw = $this->state->params->get('include_issues', null);
$excludeRaw = $this->state->params->get('exclude_issues', null);
$includeArray = explode(',', $includeRaw);
$excludeArray = explode(',', $excludeRaw);
$includeArray = ArrayHelper::toInteger($includeArray);
$excludeArray = ArrayHelper::toInteger($excludeArray);
$subQuery->select('it.issue_id AS issue_id, it.tag_id AS tag_id, t.tag AS tag')->join('LEFT', '#__code_tags AS t ON t.tag_id = it.tag_id')->from('#__code_tracker_issue_tag_map AS it')->where('it.tag_id IN (6,10,16,20,24,26,28,51,52,55,62,65,67,74,75,78,79,82,83,87,92,93,105,107,112,115)')->group('it.issue_id, it.tag_id, t.tag');
// Select required fields from the categories.
$query->select('CASE WHEN ISNULL(m.tag) THEN ' . $db->quote('None') . ' ELSE m.tag END as category');
$query->select('i.title, i.jc_issue_id, i.close_date');
$query->from('#__code_tracker_issues AS i');
$query->join('LEFT', '(' . (string) $subQuery . ') AS m ON i.jc_issue_id = m.issue_id');
$query->where('((DATE(close_date) BETWEEN ' . $db->quote(substr($this->state->params->get('start_date'), 0, 10)) . ' AND ' . $db->quote(substr($this->state->params->get('end_date'), 0, 10)) . ')' . ' OR (i.jc_issue_id IN (' . implode(',', $includeArray) . ')))');
// Join the status table to get the status name
$query->select('s.title AS status_name');
$query->join('LEFT', '#__code_tracker_status AS s ON i.status = s.jc_status_id');
// Filter on merged items from the trackers
$query->where('(s.title LIKE ' . $db->quote('%Fixed in SVN%') . ' OR s.title LIKE ' . $db->quote('%Implemented in trunk%') . ')');
// Exclude explicitly listed trackers
$query->where('i.jc_issue_id NOT IN (' . implode(',', $excludeArray) . ')');
if ($this->state->get('list.filter')) {
$query->where('i.title LIKE ' . $db->quote('%' . $this->state->get('list.filter') . '%'));
}
$query->order('CASE WHEN ISNULL(m.tag) THEN ' . $db->quote('None') . ' ELSE m.tag END ASC');
$query->order('i.jc_issue_id ASC');
return $query;
}
示例8: array
/**
* Get the lists that contain events
*
* @return array
*/
public function &getEventLists()
{
if (is_null($this->eventLists)) {
$this->eventLists = array();
$db = FabrikWorker::getDbo(true);
$params = $this->getParams();
$lists = (array) $params->get('calendar_table');
$lists = ArrayHelper::toInteger($lists);
$dateFields = (array) $params->get('calendar_startdate_element');
$dateFields2 = (array) $params->get('calendar_enddate_element');
$labels = (array) $params->get('calendar_label_element');
$stati = (array) $params->get('status_element');
$colours = (array) $params->get('colour');
$query = $db->getQuery(true);
$query->select('id AS value, label AS text')->from('#__{package}_lists')->where('id IN (' . implode(',', $lists) . ')');
$db->setQuery($query);
$rows = $db->loadObjectList();
for ($i = 0; $i < count($rows); $i++) {
if (!isset($colours[$i])) {
$colours[$i] = '';
}
if (!isset($stati[$i])) {
$stati[$i] = '';
}
$rows[$i]->startdate_element = $dateFields[$i];
$rows[$i]->enddate_element = FArrayHelper::getValue($dateFields2, $i);
$rows[$i]->label_element = $labels[$i];
$rows[$i]->status = FArrayHelper::getValue($stati, $i, '');
$rows[$i]->colour = $colours[$i];
}
$this->eventLists = $rows;
}
return $this->eventLists;
}
示例9: load
/**
* Load transactions from database.
*
* <code>
* $options = array(
* "ids" => array(1,2,3),
* "txn_status" => "completed"
* );
*
* $transactions = new Crowdfunding\Transactions(\JFactory::getDbo());
* $transactions->load($options);
*
* foreach($transactions as $transaction) {
* echo $transaction->txn_id;
* echo $transaction->txn_amount;
* }
*
* </code>
*
* @param array $options
*
* @throws \UnexpectedValueException
*/
public function load($options = array())
{
$ids = !isset($options["ids"]) ? null : (array) $options["ids"];
if (!is_array($ids) or !$ids) {
return;
}
ArrayHelper::toInteger($ids);
// Load project data
$query = $this->db->getQuery(true);
$query->select("a.id, a.txn_date, a.txn_id, a.txn_amount, a.txn_currency, a.txn_status, " . "a.extra_data, a.status_reason, a.project_id, a.reward_id, a.investor_id, " . "a.receiver_id, a.service_provider, a.reward_state")->from($this->db->quoteName("#__crowdf_transactions", "a"))->where("a.id IN ( " . implode(",", $ids) . " )");
// Filter by status.
$status = ArrayHelper::getValue($options, "txn_status", null, "cmd");
if (!empty($status)) {
$query->where("a.txn_status = " . $this->db->quote($status));
}
$this->db->setQuery($query);
$results = $this->db->loadObjectList();
// Convert JSON string into an array.
if (!empty($results)) {
foreach ($results as $key => $result) {
if (!empty($result->extra_data)) {
$result->extra_data = json_decode($result->extra_data, true);
$results[$key] = $result;
}
}
} else {
$results = array();
}
$this->items = $results;
}
示例10: setFieldSets
/**
* Set which fieldsets should be used
*
* @since 3.0.7
*
* @return array fieldset names
*/
private function setFieldSets()
{
$input = $this->app->input;
// From list data view in admin
$id = $input->getInt('listid', 0);
// From list of lists checkbox selection
$cid = $input->get('cid', array(0), 'array');
$cid = ArrayHelper::toInteger($cid);
if ($id === 0) {
$id = $cid[0];
}
if ($id !== 0) {
$db = FabrikWorker::getDbo();
$query = $db->getQuery(true);
$query->select('label')->from('#__{package}_lists')->where('id = ' . $id);
$db->setQuery($query);
$this->listName = $db->loadResult();
}
$fieldsets = array('details');
if ($this->model->canEmpty()) {
$fieldsets[] = 'drop';
}
$fieldsets[] = $id === 0 ? 'creation' : 'append';
$fieldsets[] = 'format';
return $fieldsets;
}
示例11: publish
/**
* Method to set the publishing state for a row or list of rows in the database
* table. The method respects checked out rows by other users and will attempt
* to checkin rows that it can after adjustments are made.
*
* @param mixed $pks An array of primary key values to update. If not
* set the instance property value is used. [optional]
* @param integer $state The publishing state. eg. [0 = unpublished, 1 = published] [optional]
* @param integer $userId The user id of the user performing the operation. [optional]
*
* @return boolean True on success.
*
* @since 2.5
*/
public function publish($pks = null, $state = 1, $userId = 0)
{
$k = $this->_tbl_key;
// Sanitize input.
$pks = ArrayHelper::toInteger($pks);
$state = (int) $state;
// If there are no primary keys set check to see if the instance key is set.
if (empty($pks)) {
if ($this->{$k}) {
$pks = array($this->{$k});
} else {
$this->setError(JText::_('JLIB_DATABASE_ERROR_NO_ROWS_SELECTED'));
return false;
}
}
// Build the WHERE clause for the primary keys.
$where = $k . '=' . implode(' OR ' . $k . '=', $pks);
// Update the publishing state for rows with the given primary keys.
$query = $this->_db->getQuery(true)->update($this->_db->quoteName($this->_tbl))->set($this->_db->quoteName('state') . ' = ' . (int) $state)->where($where);
$this->_db->setQuery($query);
try {
$this->_db->execute();
} catch (RuntimeException $e) {
$this->setError($e->getMessage());
return false;
}
// If the JTable instance value is in the list of primary keys that were set, set the instance.
if (in_array($this->{$k}, $pks)) {
$this->state = $state;
}
$this->setError('');
return true;
}
示例12: read
public function read()
{
// Check for request forgeries
JSession::checkToken() or jexit(JText::_('JINVALID_TOKEN'));
// Get items to publish from the request.
$cid = $this->input->get('cid', array(), 'array');
$data = array('read' => 1, 'notread' => 0);
$task = $this->getTask();
$value = ArrayHelper::getValue($data, $task, 0, 'int');
$redirectOptions = array("view" => "notifications");
// Make sure the item ids are integers
ArrayHelper::toInteger($cid);
if (empty($cid)) {
$this->displayNotice(JText::_($this->text_prefix . '_NO_ITEM_SELECTED'), $redirectOptions);
return;
}
try {
$model = $this->getModel();
$model->read($cid, $value);
} catch (RuntimeException $e) {
$this->displayWarning($e->getMessage(), $redirectOptions);
return;
} catch (Exception $e) {
JLog::add($e->getMessage());
throw new Exception(JText::_('COM_GAMIFICATION_ERROR_SYSTEM'));
}
if ($value == 1) {
$msg = $this->text_prefix . '_N_ITEMS_READ';
} else {
$msg = $this->text_prefix . '_N_ITEMS_NOT_READ';
}
$this->displayMessage(JText::plural($msg, count($cid)), $redirectOptions);
}
示例13: association
/**
* Render the list of associated items
*
* @param integer $catid Category identifier to search its associations
* @param string $extension Category Extension
*
* @return string The language HTML
*
* @since 3.2
* @throws Exception
*/
public static function association($catid, $extension = 'com_content')
{
// Defaults
$html = '';
// Get the associations
if ($associations = CategoriesHelper::getAssociations($catid, $extension)) {
$associations = ArrayHelper::toInteger($associations);
// Get the associated categories
$db = JFactory::getDbo();
$query = $db->getQuery(true)->select('c.id, c.title')->select('l.sef as lang_sef')->from('#__categories as c')->where('c.id IN (' . implode(',', array_values($associations)) . ')')->join('LEFT', '#__languages as l ON c.language=l.lang_code')->select('l.image')->select('l.title as language_title');
$db->setQuery($query);
try {
$items = $db->loadObjectList('id');
} catch (RuntimeException $e) {
throw new Exception($e->getMessage(), 500, $e);
}
if ($items) {
foreach ($items as &$item) {
$text = strtoupper($item->lang_sef);
$url = JRoute::_('index.php?option=com_categories&task=category.edit&id=' . (int) $item->id . '&extension=' . $extension);
$tooltipParts = array(JHtml::_('image', 'mod_languages/' . $item->image . '.gif', $item->language_title, array('title' => $item->language_title), true), $item->title);
$item->link = JHtml::_('tooltip', implode(' ', $tooltipParts), null, null, $text, $url, null, 'hasTooltip label label-association label-' . $item->lang_sef);
}
}
$html = JLayoutHelper::render('joomla.content.associations', $items);
}
return $html;
}
示例14: getItemTags
/**
* Method to get a list of tags for an item, optionally with the tag data.
*
* <code>
* $keys = array(1,2,3,4);
*
* $options = array(
* 'content_type' => 'com_userideas.item',
* 'access_groups' => \JFactory::getUser()->getAuthorisedViewLevels(),
* 'language' => 'en_GB',
* 'get_tag_data' => true
* );
*
* $tagHelper = new TagHelper($keys, $options);
* </code>
*
* @param int|array $keys
* @param array $options
*
* @return array Array of tag objects
*/
public function getItemTags($keys, array $options = array())
{
$contentType = JArrayHelper::getValue($options, 'content_type');
if (!$contentType) {
throw new \InvalidArgumentException(\JText::_('LIB_PRISM_ERROR_INVALID_CONTENT_TYPE'));
}
if (is_array($keys)) {
$keys = JArrayHelper::toInteger($keys);
$keys = array_filter(array_unique($keys));
$hash = md5(implode(',', $keys) . '_' . $contentType);
} else {
$keys = (int) $keys;
$hash = md5($keys . '_' . $contentType);
}
if (!$keys) {
throw new \InvalidArgumentException(\JText::_('LIB_PRISM_ERROR_INVALID_KEYS'));
}
if (!array_key_exists($hash, $this->itemTags)) {
$this->itemTags[$hash] = array();
$groups = JArrayHelper::getValue($options, 'access_groups', array(), 'array');
if (!$groups) {
throw new \InvalidArgumentException(\JText::_('LIB_PRISM_ERROR_INVALID_ACCESS_GROUPS'));
}
// Initialize some variables.
$db = \JFactory::getDbo();
$query = $db->getQuery(true);
$query->select('m.tag_id, m.content_item_id')->from($db->quoteName('#__contentitem_tag_map', 'm'))->where($db->quoteName('m.type_alias') . ' = ' . $db->quote($contentType));
if (is_array($keys)) {
$query->where($db->quoteName('m.content_item_id') . ' IN (' . implode(',', $keys) . ')');
} else {
$query->where($db->quoteName('m.content_item_id') . ' = ' . (int) $keys);
}
$query->where($db->quoteName('t.published') . ' = ' . Constants::PUBLISHED);
$query->where('t.access IN (' . implode(',', $groups) . ')');
// Optionally filter on language
$language = JArrayHelper::getValue($options, 'language', 'all', 'string');
if ($language !== 'all') {
if ($language === 'current_language') {
$language = $this->getCurrentLanguage();
}
$query->where($db->quoteName('language') . ' IN (' . $db->quote($language) . ', ' . $db->quote('*') . ')');
}
$getTagData = JArrayHelper::getValue($options, 'get_tag_data', true, 'bool');
if ($getTagData) {
$query->select($db->quoteName('t') . '.*');
}
$query->join('INNER', $db->quoteName('#__tags', 't') . ' ON ' . $db->quoteName('m.tag_id') . ' = ' . $db->quoteName('t.id'));
$db->setQuery($query);
$tags = $db->loadObjectList();
foreach ($tags as $value) {
$this->itemTags[$hash][$value->content_item_id][] = $value;
}
}
return $this->itemTags[$hash];
}
示例15: load
/**
* Load users data from database.
*
* <code>
* $options = array(
* "ids" => array(1,2,3,4,5)
* );
*
* $users = new Crowdfunding\Users(\JFactory::getDbo());
* $users->load($options);
*
* foreach($users as $user) {
* echo $user["id"];
* echo $user["name"];
* }
* </code>
*
* @param array $options
*/
public function load($options = array())
{
// Filter by users IDs.
$ids = ArrayHelper::getValue($options, "ids", array(), "array");
ArrayHelper::toInteger($ids);
if (!empty($ids)) {
$query = $this->db->getQuery(true);
$query->select("a.id, a.name, a.email")->from($this->db->quoteName("#__users", "a"));
$query->where("a.id IN (" . implode(",", $ids) . ")");
$this->db->setQuery($query);
$this->items = (array) $this->db->loadAssocList();
}
}