public function post() { // Set variables to be used APIHelper::setSessionUser(); JFactory::getLanguage()->load('com_users', JPATH_ADMINISTRATOR); // Include dependencies jimport('joomla.application.component.controller'); jimport('joomla.form.form'); jimport('joomla.database.table'); APIodel::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_users/models'); JForm::addFormPath(JPATH_ADMINISTRATOR . '/components/com_users/models/forms'); JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_users/tables'); // Get user data $data = JRequest::getVar('jform', array(), 'post', 'array'); if (!isset($data['groups'])) { $data['groups'] = array(); } // Save user $model = APIodel::getInstance('User', 'UsersModel'); $model->getState('user.id'); // This is only here to trigger populateState() $success = $model->save($data); if ($model->getError()) { $response = $this->getErrorResponse(400, $model->getError()); } elseif (!$success) { $response = $this->getErrorResponse(400, JText::_('COM_API_ERROR_OCURRED')); } else { $response = $this->getSuccessResponse(201, JText::_('COM_API_SUCCESS')); $response->id = $model->getState('user.id'); } $this->plugin->setResponse($response); }
public function get() { // Set variables to be used APIHelper::setSessionUser(); APIodel::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_users/models'); $model = APIodel::getInstance('User', 'UsersModel'); $grouplist = $model->getGroups(); $groups = $model->getAssignedGroups(JRequest::getInt('user_id')); if (!$grouplist) { $html = ''; } else { JHtml::addIncludePath(JPATH_ROOT . '/components/com_users/helpers/html'); $html = JHtml::_('access.usergroups', 'jform[groups]', $groups, true); } $this->plugin->setResponse(array('html' => $html)); }
public function delete($id = null) { // Include dependencies jimport('joomla.database.table'); APIodel::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_users/models'); JFactory::getLanguage()->load('com_users', JPATH_ADMINISTRATOR); $model = APIodel::getInstance('User', 'UsersModel'); try { $success = $model->delete(JRequest::getVar('cid', array(), 'post', 'array')); } catch (JException $e) { $success = false; $model->setError($e->getMessage()); } if ($model->getError()) { $response = $this->getErrorResponse(400, $model->getError()); } elseif (false === $success) { $response = $this->getErrorResponse(400, JText::_('COM_API_ERROR_OCURRED')); } else { $response = $this->getSuccessResponse(200, JText::_('COM_API_SUCCESS')); } $this->plugin->setResponse($response); }