Ejemplo n.º 1
0
 /**
  * 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);
 }
Ejemplo n.º 2
0
 /**
  * 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);
 }
Ejemplo n.º 3
0
 /**
  * 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;
 }
Ejemplo n.º 4
0
 /**
  * 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;
 }
Ejemplo n.º 5
0
 /**
  * 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;
 }
Ejemplo n.º 6
0
 /**
  * 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();
 }
Ejemplo n.º 7
0
 /**
  * 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);
 }
Ejemplo n.º 8
0
 /**
  * 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);
         }
     }
 }
Ejemplo n.º 9
0
 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);
 }
Ejemplo n.º 10
0
 /**
  * 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);
         }
     }
 }
Ejemplo n.º 11
0
 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();
 }