コード例 #1
0
ファイル: category.php プロジェクト: rcorral/com_api-plugins
 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);
 }
コード例 #2
0
ファイル: item.php プロジェクト: rcorral/com_jm-plugins
 /**
  * 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);
 }
コード例 #3
0
ファイル: user.php プロジェクト: rcorral/com_api-plugins
 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);
 }
コード例 #4
0
ファイル: helpsite.php プロジェクト: rcorral/com_api-plugins
 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);
 }
コード例 #5
0
ファイル: timezone.php プロジェクト: rcorral/com_api-plugins
 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));
 }
コード例 #6
0
ファイル: user.php プロジェクト: rcorral/com_api-plugins
 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);
 }
コード例 #7
0
ファイル: menuitems.php プロジェクト: rcorral/com_api-plugins
 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);
 }
コード例 #8
0
 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);
 }
コード例 #9
0
 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));
 }
コード例 #10
0
ファイル: menuitem.php プロジェクト: rcorral/com_api-plugins
 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);
 }