/** * Edit action * * Update the site settings file * * @return void */ public function editAction() { $settings = Digitalus_Filter_Post::raw('setting'); $s = new Model_SiteSettings(); foreach ($settings as $k => $v) { $s->set($k, $v); } $s->save(); $this->_message->add("Global parameters have been updated !!"); $this->_redirect($this->_currentControllerUrl); }
/** * Login action * * if the form has not been submitted this renders the login form * if it has then it validates the data * if it is sound then it runs the Digitalus_Auth_Adapter function * to authorise the request * on success it redirect to the admin home page * * @return void */ public function loginAction() { // Neu dang nhap roi thi chuyen den trang chu if (Digitalus_Auth::getIdentity()) { $this->_redirect('admin'); } if ($this->_request->isPost()) { $uri = Digitalus_Filter_Post::get('uri'); $uri = str_replace(BASE_URL . "/", "", $uri); $username = Digitalus_Filter_Post::get('username'); $password = Digitalus_Filter_Post::raw('password'); if ($username == '') { $this->_errors->add('You must enter a username.'); } if ($password == '') { $this->_errors->add('You must enter a password.'); } if (!$this->_errors->hasErrors()) { $auth = new Digitalus_Auth($username, $password); $result = $auth->authenticate(); if ($result) { if ($uri == '' || $uri == 'admin/auth/login') { $uri = 'admin'; } $this->_redirect($uri); } else { $this->_errors->add('The username or password you entered was not correct.'); } } $this->view->uri = $uri; } else { // $this->view->uri = Digitalus_Uri::get(); $this->view->uri = $_SERVER['REQUEST_URI']; } $this->_helper->layout->setLayout('login'); $this->_cacheManager->doNotCache(true); }
/** * Edit action * * Update the site settings file * * @return void */ public function editAction() { $form = new Admin_Form_Site(); $form->setAction($this->baseUrl . '/admin/site/edit'); if ($this->_request->isPost() && $form->isValid($_POST)) { $settings = Digitalus_Filter_Post::raw('setting'); $s = new Model_SiteSettings(); foreach ($settings as $k => $v) { $s->set($k, $v); /* ***************************************************************************** * TODO: remove redirector and validate form * ****************************************************************************/ /* ***************************************************************************** * TODO: check allowed charsets for MySQL => VALIDATOR ?? if ('default_charset' == $k) { $v = str_replace('-', '', $v); $mdlConfig = new Digitalus_Installer_Config(); $mdlConfig->loadFile(); $config = $mdlConfig->get(); $config->production->database->charset = $v; $mdlConfig->save(); } * ***************************************************************************** * TODO: add Validators for all site meta data => consider using Zend_Form if ('default_timezone' == $k) { $validator = new Digitalus_Validate_Timezone(); $_SESSION['timezone0'] = Zend_Debug::dump($v); $_SESSION['timezone1'] = Zend_Debug::dump($validator->isValid($v)); } * ***************************************************************************** */ } $s->save(); $this->_redirect('admin/site'); } $this->view->form = $form; }
/** * Open action * * Open a group for editing * * @return void */ public function openAction() { $groupName = $this->_request->getParam('groupname'); $mdlGroup = new Model_Group(); $mdlPage = new Model_Page(); $form = new Admin_Form_Group(); $elmGroupName = $form->getElement('name'); $elmGroupName->addValidators(array(array('GroupnameExistsNot', true, array('exclude' => $groupName)))); $form->setModel($mdlGroup); $form->populateFromModel($groupName); $form->setAction($this->baseUrl . '/admin/group/open/groupname/' . $groupName); $aclForm = new Admin_Form_GroupAcl(); $aclForm->setGroupName($groupName); $aclForm->setAction($this->baseUrl . '/admin/group/copy-acl'); if ($this->_request->isPost() && $form->isValid($_POST) && !isset($_POST['update'])) { if ($form->update($groupName)) { //update the groups permissions $groupName = Digitalus_Filter_Post::get('name'); $resources = Digitalus_Filter_Post::raw('acl_resources'); $mdlGroup->updateAclResources($groupName, $resources); } } if (!empty($groupName) && '' != $groupName) { $row = $mdlGroup->find($groupName)->current(); $this->view->group = $row; $this->view->groupPermissions = $mdlGroup->getAclResources($row->name); $aclResources = $mdlGroup->getAclResources($row->name); if (Model_Group::GUEST_ROLE != $groupName) { $adminResources = $form->getElement('admin_resources'); $adminResources->setValue($this->view->renderAclList('admin', $mdlGroup->getAclResources($row->name))); } else { $displayGroup = $form->getDisplayGroup('adminAclGroup'); $displayGroup->addAttribs(array('style' => 'display: none;')); } $moduleResources = $form->getElement('module_resources'); $moduleResources->setValue($this->view->renderAclList('module', $mdlGroup->getAclResources($row->name))); $publicResources = $form->getElement('public_resources'); // TODO: refactor $values = array(); if (!empty($aclResources)) { foreach ($aclResources as $key => $value) { if ('1' === $value) { $values[] = $key; } } } $publicResources->setValue($this->view->renderFileChecklist($values, 0, null, 'acl_resources', 'page_white_text')); // remove current group form parents list $form->getElement('parent')->removeMultiOption($groupName); } $this->view->form = $form; $this->view->aclForm = $aclForm; $breadcrumbLabel = $this->view->getTranslation('Open Group') . ': ' . $groupName; $this->view->breadcrumbs[$breadcrumbLabel] = $this->baseUrl . '/admin/group/open/groupname/' . $groupName; $this->view->toolbarLinks = array(); $this->view->toolbarLinks['Add to my bookmarks'] = $this->baseUrl . '/admin/index/bookmark' . '/url/admin_group_open_groupname_' . $groupName . '/label/' . $this->view->getTranslation('Group') . ':' . $groupName; $this->view->toolbarLinks['Delete'] = $this->baseUrl . '/admin/group/delete/groupname/' . $groupName; }
/** * Update action * * @return void */ public function updateAction() { $mdlDesign = new Model_Design(); $this->view->designs = $mdlDesign->listDesigns(); if ($this->_request->isPost()) { // NOTE: we will turn this into a Zend_Form after were sure it will work this way $id = Digitalus_Filter_Post::int('id'); $mdlDesign->updateDesign($id, Digitalus_Filter_Post::get('name'), Digitalus_Filter_Post::get('notes'), Digitalus_Filter_Post::get('layout'), Digitalus_Filter_Post::raw('skin'), Digitalus_Filter_Post::get('inline_styles'), Digitalus_Filter_Post::int('is_default')); } else { $id = $this->_request->getParam('id'); } $mdlDesign->setDesign($id); $mdlPage = new Model_Page(); $this->view->pages = $mdlPage->getPagesByDesign($id); $this->view->breadcrumbs[$this->view->getTranslation('Open') . ': ' . $this->view->getTranslation($mdlDesign->getValue('name'))] = $this->baseUrl . '/admin/design/update/id/' . $id; $this->view->toolbarLinks = array(); $this->view->toolbarLinks['Add to my bookmarks'] = $this->baseUrl . '/admin/index/bookmark' . '/url/admin_design_update_id_' . $id . '/label/' . $this->view->getTranslation('Design') . ':' . $mdlDesign->getValue('name'); $this->view->toolbarLinks['Delete'] = $this->baseUrl . '/admin/design/delete/id/' . $id; $this->view->design = $mdlDesign; }
/** * Redirector action * * @return void */ public function redirectorAction() { $r = new Model_Redirector(); if ($this->_request->isPost()) { $request = Digitalus_Filter_Post::raw('request'); $response = Digitalus_Filter_Post::raw('response'); $responseCode = Digitalus_Filter_Post::raw('response_code'); $r->setFromArray($request, $response, $responseCode); } $this->view->redirectors = $r->fetchAll(); }
/** * Update properties action * * @return void */ public function updatePropertiesAction() { $mdlProperties = new Model_Properties(); if ($this->_request->isPost()) { $pageId = Digitalus_Filter_Post::int('page_id'); $keys = Digitalus_Filter_Post::raw('key'); $values = Digitalus_Filter_Post::raw('value'); if (is_array($keys)) { for ($i = 0; $i <= count($keys) - 1; $i++) { $k = $keys[$i]; $cleanKey = str_replace(' ', '_', $k); $data[$cleanKey] = $values[$i]; } if (is_array($data)) { $mdlProperties->set($data, $pageId); } } } $this->_redirect('admin/page/edit/id/' . $pageId); }
/** * this method assumes you have registered the post data * it loads each of the fields from the current table and sets * the data hash with the unvalidated data * */ private function _loadPost() { foreach ($this->_cols as $col) { if (Digitalus_Filter_Post::has($col)) { $this->_data[$col] = Digitalus_Filter_Post::raw($col); } } }
public function updatePermissionsAction() { if (Digitalus_Filter_Post::has('update_permissions')) { //update the users permissions $objGroups = new Model_Groups(); $resources = Digitalus_Filter_Post::raw('acl_resources'); $group_id = Digitalus_Filter_Post::int('group_id'); $rowGroup = $objGroups->find($group_id)->current(); $rowGroup->updateAclResources($resources); } $this->_redirect($this->_currentControllerUrl); }
/** * this method assumes you have registered the post data * it loads each of the fields from the current table and sets * the data hash with the unvalidated data * */ private function _loadPost() { if (isset($_POST['active'])) { $_POST['active'] = intval($_POST['active']); } if (isset($_POST['order'])) { $_POST['order'] = intval($_POST['order']); } foreach ($this->_getCols() as $col) { if (Digitalus_Filter_Post::has($col)) { $this->_data[$col] = Digitalus_Filter_Post::raw($col); } } }
public function reorderAction() { $mdlShow = new Slideshow_Show(); $mdlSlide = new Slideshow_Slide(); if ($this->_request->isPost()) { //sort the slides $ids = Digitalus_Filter_Post::raw('id'); $mdlSlide->sortSlides($ids); $show = Digitalus_Filter_Post::get('show'); $url = '/mod_slideshow/show/edit/id/' . $show; $this->_redirect($url); } else { $show = $this->_request->getParam('show'); } $this->view->slides = $mdlSlide->getSlides($show); $this->view->show = $mdlShow->find($show)->current(); }