Exemple #1
0
 /**
  * Set page state
  *
  * @return 	void
  */
 public function setStateTask($state = 1, $status = 'published')
 {
     //get request vars
     $moduleid = Request::getInt('moduleid', 0, 'get');
     // load page model
     $module = new Module($moduleid);
     // make sure its out page
     if (!$module->belongsToGroup($this->group)) {
         App::abort(403, Lang::txt('COM_GROUPS_ERROR_NOT_AUTH'));
     }
     // make sure state is a valid state
     if (!in_array($state, array(0, 1, 2))) {
         $state = 1;
     }
     // set the page state
     $module->set('state', $state);
     // save
     if (!$module->store(false)) {
         $this->setNotification($module->getError(), 'error');
         $this->displayTask();
         return;
     }
     //inform user & redirect
     $url = Route::url('index.php?option=' . $this->_option . '&cn=' . $this->group->get('cn') . '&controller=modules');
     if ($return = Request::getVar('return', '', 'get')) {
         $url = base64_decode($return);
     }
     App::redirect($url, Lang::txt('COM_GROUPS_PAGES_MODULE_STATE_CHANGE', $status), 'passed');
 }
Exemple #2
0
 /**
  * Delete Page Module
  *
  * @return void
  */
 public function deleteTask()
 {
     // get request vars
     $ids = Request::getVar('id', array());
     // delete each module
     foreach ($ids as $moduleid) {
         // load modules
         $module = new Module($moduleid);
         //set to deleted state
         $module->set('state', $module::APP_STATE_DELETED);
         // save module
         if (!$module->store(true)) {
             App::redirect(Route::url('index.php?option=' . $this->_option . '&controller=' . $this->_controller . '&gid=' . $this->gid, false), $module->getError(), 'error');
             return;
         }
     }
     // log change
     Log::log(array('gidNumber' => $this->group->get('gidNumber'), 'action' => 'group_modules_deleted', 'comments' => $ids));
     //inform user & redirect
     App::redirect(Route::url('index.php?option=' . $this->_option . '&controller=' . $this->_controller . '&gid=' . $this->gid, false), Lang::txt('COM_GROUPS_MODULES_DELETED'), 'passed');
 }
Exemple #3
0
 /**
  * Set page state
  *
  * @param   integer  $state
  * @param   string   $status
  * @return  void
  */
 public function setStateTask($state = 1, $status = 'published')
 {
     //get request vars
     $moduleid = Request::getInt('moduleid', 0, 'get');
     // load page model
     $module = new Module($moduleid);
     // make sure its out page
     if (!$module->belongsToGroup($this->group)) {
         App::abort(403, Lang::txt('COM_GROUPS_ERROR_NOT_AUTH'));
     }
     // make sure state is a valid state
     if (!in_array($state, array(0, 1, 2))) {
         $state = 1;
     }
     // set the page state
     $module->set('state', $state);
     // save
     if (!$module->store(false)) {
         $this->setNotification($module->getError(), 'error');
         $this->displayTask();
         return;
     }
     //inform user & redirect
     $url = Route::url('index.php?option=' . $this->_option . '&cn=' . $this->group->get('cn') . '&controller=modules');
     if ($return = Request::getVar('return', '', 'get')) {
         $url = base64_decode($return);
     }
     // Log activity
     $recipients = array(['group', $this->group->get('gidNumber')], ['user', User::get('id')]);
     foreach ($this->group->get('managers') as $recipient) {
         $recipients[] = ['user', $recipient];
     }
     Event::trigger('system.logActivity', ['activity' => ['action' => $state == 2 ? 'deleted' : 'updated', 'scope' => 'group.module', 'scope_id' => $module->get('id'), 'description' => Lang::txt('COM_GROUPS_ACTIVITY_MODULE_' . ($state == 2 ? 'DELETED' : ($state == 1 ? 'PUBLISHED' : 'UNPUBLISHED')), $module->get('title'), '<a href="' . $url . '">' . $this->group->get('description') . '</a>'), 'details' => array('title' => $module->get('title'), 'url' => $url, 'gidNumber' => $this->group->get('gidNumber'))], 'recipients' => $recipients]);
     App::redirect($url, Lang::txt('COM_GROUPS_PAGES_MODULE_STATE_CHANGE', $status), 'passed');
 }