%PDF- %PDF-
Direktori : /home/lightco1/www/components/com_projectmanager/controllers/ |
Current File : /home/lightco1/www/components/com_projectmanager/controllers/project.php |
<?php /** * @version CVS: 1.0.0 * @package Com_Projectmanager * @author Sandeep <> * @copyright Copyright (C) 2016. All rights reserved. * @license */ // No direct access defined('_JEXEC') or die; require_once JPATH_COMPONENT . '/controller.php'; /** * Project controller class. * * @since 1.6 */ class ProjectmanagerControllerProject extends ProjectmanagerController { /** * Method to check out an item for editing and redirect to the edit form. * * @return void * * @since 1.6 */ public function edit() { $app = JFactory::getApplication(); // Get the previous edit id (if any) and the current edit id. $previousId = (int) $app->getUserState('com_projectmanager.edit.project.id'); $editId = $app->input->getInt('id', 0); // Set the user id for the user to edit in the session. $app->setUserState('com_projectmanager.edit.project.id', $editId); // Get the model. $model = $this->getModel('Project', 'ProjectmanagerModel'); // Check out the item if ($editId) { $model->checkout($editId); } // Check in the previous user. if ($previousId && $previousId !== $editId) { $model->checkin($previousId); } // Redirect to the edit screen. $this->setRedirect(JRoute::_('index.php?option=com_projectmanager&view=projectform&layout=edit', false)); } /** * Method to save a user's profile data. * * @return void * * @throws Exception * @since 1.6 */ public function publish() { // Initialise variables. $app = JFactory::getApplication(); // Checking if the user can remove object $user = JFactory::getUser(); if ($user->authorise('core.edit', 'com_projectmanager') || $user->authorise('core.edit.state', 'com_projectmanager')) { $model = $this->getModel('Project', 'ProjectmanagerModel'); // Get the user data. $id = $app->input->getInt('id'); $state = $app->input->getInt('state'); // Attempt to save the data. $return = $model->publish($id, $state); // Check for errors. if ($return === false) { $this->setMessage(JText::sprintf('Save failed: %s', $model->getError()), 'warning'); } // Clear the profile id from the session. $app->setUserState('com_projectmanager.edit.project.id', null); // Flush the data from the session. $app->setUserState('com_projectmanager.edit.project.data', null); // Redirect to the list screen. $this->setMessage(JText::_('COM_PROJECTMANAGER_ITEM_SAVED_SUCCESSFULLY')); $menu = JFactory::getApplication()->getMenu(); $item = $menu->getActive(); if (!$item) { // If there isn't any menu item active, redirect to list view $this->setRedirect(JRoute::_('index.php?option=com_projectmanager&view=projects', false)); } else { $this->setRedirect(JRoute::_($item->link . $menuitemid, false)); } } else { throw new Exception(500); } } /** * Remove data * * @return void * * @throws Exception */ public function remove() { // Initialise variables. $app = JFactory::getApplication(); // Checking if the user can remove object $user = JFactory::getUser(); if ($user->authorise('core.delete', 'com_projectmanager')) { $model = $this->getModel('Project', 'ProjectmanagerModel'); // Get the user data. $id = $app->input->getInt('id', 0); // Attempt to save the data. $return = $model->delete($id); // Check for errors. if ($return === false) { $this->setMessage(JText::sprintf('Delete failed', $model->getError()), 'warning'); } else { // Check in the profile. if ($return) { $model->checkin($return); } // Clear the profile id from the session. $app->setUserState('com_projectmanager.edit.project.id', null); // Flush the data from the session. $app->setUserState('com_projectmanager.edit.project.data', null); $this->setMessage(JText::_('COM_PROJECTMANAGER_ITEM_DELETED_SUCCESSFULLY')); } // Redirect to the list screen. $menu = JFactory::getApplication()->getMenu(); $item = $menu->getActive(); $this->setRedirect(JRoute::_($item->link, false)); } else { throw new Exception(500); } } }