/** * Approve a group page * * @return void */ public function approveTask() { // make sure we are approvers if (!Helpers\Pages::isPageApprover()) { App::redirect(Route::url('index.php?option=' . $this->_option . '&controller=' . $this->_controller . '&gid=' . $this->gid, false), Lang::txt('COM_GROUPS_PAGES_MUST_BE_AUTHORIZED'), 'error'); return; } // get request vars $id = Request::getInt('id', 0); // load page $page = new Page($id); // load current version $currentVersion = $page->version(); // make sure version is unapproved if ($currentVersion->get('approved') == 1) { //inform user & redirect App::redirect(Route::url('index.php?option=' . $this->_option . '&controller=' . $this->_controller . '&gid=' . $this->gid, false), Lang::txt('COM_GROUPS_PAGES_ALREADY_APPROVED'), 'warning'); return; } // set approved and approved date and approver $currentVersion->set('approved', 1); $currentVersion->set('approved_on', Date::toSql()); $currentVersion->set('approved_by', User::get('id')); // save version with approved status if (!$currentVersion->store(false, $this->group->isSuperGroup())) { App::redirect(Route::url('index.php?option=' . $this->_option . '&controller=' . $this->_controller . '&gid=' . $this->gid, false), $currentVersion->getError(), 'error'); return; } // send approved notifcation Helpers\Pages::sendApprovedNotification('page', $page); // log approval Log::log(array('gidNumber' => $this->group->get('gidNumber'), 'action' => 'group_page_approved', 'comments' => array($page->get('id')))); // inform user and redirect App::redirect(Route::url('index.php?option=' . $this->_option . '&controller=' . $this->_controller . '&gid=' . $this->gid, false), Lang::txt('COM_GROUPS_PAGES_APPROVED'), 'passed'); }
/** * Approve a group page * * @return void */ public function approveTask() { // make sure we are approvers if (!Helpers\Pages::isPageApprover()) { App::redirect(Route::url('index.php?option=' . $this->_option . '&controller=' . $this->_controller . '&gid=' . $this->gid, false), Lang::txt('COM_GROUPS_MODULES_AUTHORIZED_APPROVERS_ONLY'), 'error'); return; } // get request vars $id = Request::getInt('id', 0); // load page $module = new Module($id); // make sure version is unapproved if ($module->get('approved') == 1) { //inform user & redirect App::redirect(Route::url('index.php?option=' . $this->_option . '&controller=' . $this->_controller . '&gid=' . $this->gid, false), Lang::txt('COM_GROUPS_MODULES_ALREADY_APPROVED'), 'warning'); return; } // set approved and approved date and approver $module->set('approved', 1); $module->set('approved_on', Date::toSql()); $module->set('approved_by', User::get('id')); if (!is_object($this->group->params)) { $this->group->params = new \Hubzero\Config\Registry($this->group->params); } $module->set('page_trusted', $this->group->params->get('page_trusted', 0)); // DONT RUN CHECK ON STORE METHOD (pass false as first arg to store() method) $module->store(false, $this->group->isSuperGroup()); // send approved notifcation Helpers\Pages::sendApprovedNotification('module', $module); // log change Log::log(array('gidNumber' => $this->group->get('gidNumber'), 'action' => 'group_modules_approved', 'comments' => array($module->get('id')))); // inform user and redirect App::redirect(Route::url('index.php?option=' . $this->_option . '&controller=' . $this->_controller . '&gid=' . $this->gid, false), Lang::txt('COM_GROUPS_MODULES_APPROVED'), 'passed'); }