public function post() { // Set variables to be used APIHelper::setSessionUser(); // Include dependencies jimport('joomla.database.table'); $language = JFactory::getLanguage(); $language->load('joomla', JPATH_ADMINISTRATOR); $language->load('com_categories', JPATH_ADMINISTRATOR); require_once JPATH_ADMINISTRATOR . '/components/com_categories/models/category.php'; // Fake parameters $_POST['task'] = 'apply'; $_REQUEST['task'] = 'apply'; $_REQUEST[JUtility::getToken()] = 1; $_POST[JUtility::getToken()] = 1; $data = JRequest::getVar('jform', array(), 'post', 'array'); $context = 'category'; // Clear userstate just in case $model = APIodel::getInstance('Category', 'CategoriesModel'); $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_CATEGORIES_SAVE_SUCCESS')); // Get the ID of the category that was modified or inserted $response->id = $model->get('state')->get($context . '.id'); // Checkin category $model->checkin($response->id); } $this->plugin->setResponse($response); }
/** * This is not the best example to follow * Please see the category plugin for a better example */ public function post() { // Set variables to be used APIHelper::setSessionUser(); // Include dependencies jimport('joomla.database.table'); $language = JFactory::getLanguage(); $language->load('joomla', JPATH_ADMINISTRATOR); $language->load('com_k2', JPATH_ADMINISTRATOR); require_once JPATH_ADMINISTRATOR . '/components/com_k2/models/item.php'; JTable::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_k2/tables'); // Fake parameters $_REQUEST[JUtility::getToken()] = 1; $_POST[JUtility::getToken()] = 1; // Clear userstate just in case $row = $this->save(); if ($this->getError()) { $response = $this->getErrorResponse(400, $this->getError()); } elseif (!$row->id) { $response = $this->getErrorResponse(400, JText::_('COM_API_ERROR_OCURRED')); } else { $response = $this->getSuccessResponse(201, JText::_('COM_API_SUCCESS')); // Get the ID of the category that was modified or inserted $response->id = $row->id; } $this->plugin->setResponse($response); }
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() { APIHelper::setSessionUser(); $sites = self::getSites(); if (JRequest::getVar('default', false)) { $sites = array_merge(array((object) array('value' => '', 'text' => JText::_('JOPTION_USE_DEFAULT'))), $sites); } $this->plugin->setResponse($sites); }
public function get() { APIHelper::setSessionUser(); $options = array(); if (JRequest::getVar('default', false)) { $options = array((object) array('value' => '', 'text' => JText::_('JOPTION_USE_DEFAULT'))); } $sites = APIHelper::getField('timezone', array('name' => JRequest::getVar('field_name', ''), 'id' => JRequest::getVar('field_id', ''), '_options' => $options)); $this->plugin->setResponse(array('html' => $sites->input)); }
public function get() { jimport('joomla.application.helper'); // Set variables to be used APIHelper::setSessionUser(); $user = JFactory::getUser(); // Response is always successfull if we gotten this far! yippy! $response = $this->getSuccessResponse(200, JText::_('COM_API_SUCCESS')); $response->user = (object) array('id' => $user->id, 'name' => $user->name, 'username' => $user->username, 'email' => $user->email); $this->plugin->setResponse($response); }
public function get() { APIHelper::setSessionUser(); require_once JPATH_ADMINISTRATOR . '/components/com_menus/models/items.php'; require_once JPATH_PLUGINS . '/api/menus/resources/helper.php'; $model = APIodel::getInstance('APIHelperModel', 'MenuItemsModel'); $model->_setCache('getstart', $model->getState('list.start')); $menuitems = $model->getItems(); if (false === $menuitems || empty($menuitems) && $model->getError()) { $response = $this->getErrorResponse(400, $model->getError()); } else { $response = $menuitems; } $this->plugin->setResponse($response); }
public function get() { $extension = JRequest::getWord('extension'); APIHelper::setSessionUser(); require_once JPATH_ADMINISTRATOR . '/components/com_categories/models/categories.php'; require_once JPATH_PLUGINS . '/api/categories/resources/helper.php'; $model = APIodel::getInstance('APIHelperModel', 'CategoriesModel'); $model->_setCache('getstart', $model->getState('list.start')); $categories = $model->getItems(); if (false === $categories) { $response = $this->getErrorResponse(400, $model->getError()); } else { $response = $categories; } $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 post() { // Set variables to be used APIHelper::setSessionUser(); $language = JFactory::getLanguage(); $language->load('joomla', JPATH_ADMINISTRATOR); $language->load('com_menus', JPATH_ADMINISTRATOR); // Include dependencies jimport('joomla.application.component.controller'); jimport('joomla.form.form'); jimport('joomla.database.table'); require_once JPATH_ADMINISTRATOR . '/components/com_menus/controllers/item.php'; require_once JPATH_ADMINISTRATOR . '/components/com_menus/models/item.php'; JForm::addFormPath(JPATH_ADMINISTRATOR . '/components/com_menus/models/forms/'); // Fake parameters $_POST['task'] = 'apply'; $_REQUEST['task'] = 'apply'; $_REQUEST[JUtility::getToken()] = 1; $_POST[JUtility::getToken()] = 1; $app = JFactory::getApplication(); $context = 'com_menus.edit.item'; // Save menuitem $controller = new MenusControllerItem(); $success = $controller->execute('apply'); if ($controller->getError()) { $response = $this->getErrorResponse(400, $controller->getError()); } elseif (false === $success) { $response = $this->getErrorResponse(400, JText::_('COM_API_ERROR_OCURRED')); } else { $response = $this->getSuccessResponse(201, $controller->get('message')); // Kind of a weird way of doing this, there has to be a better way? $values = (array) $app->getUserState($context . '.id'); $response->id = array_pop($values); $app->setUserState($context . '.id', $values); // Checkin menuitem $controller->getModel()->checkin($response->id); } // Clear userstate for future requests $app->setUserState($context . '.id', array()); $this->plugin->setResponse($response); }