Ejemplo n.º 1
0
 public function indexAction()
 {
     $this->disableRenderView();
     $cache = Z_Cache::getInstance();
     $cache->clean('all');
     Z_FlashMessenger::addMessage('Кэш очищен');
 }
Ejemplo n.º 2
0
 public function loginAction()
 {
     $form = new Z_Admin_Form();
     $form->setElementDecorators(array('ViewHelper'));
     $form->addElement('text', 'login', array('required' => true, 'class' => 'ui-state-active ui-corner-bottom z-login-input'));
     $form->addElement('Password', 'password', array('required' => true, 'class' => 'ui-state-active ui-corner-bottom z-login-input'));
     $form->addElement('Checkbox', 'remember', array());
     $form->addElement('Submit', 'submit', array('label' => 'Войти', 'class' => 'ui-state-default ui-corner-bl submit', 'onMouseOver' => '$(this).addClass("ui-state-hover ui-state-active")', 'onMouseOut' => '$(this).removeClass("ui-state-hover ui-state-active")'));
     if ($_POST && !isset($_POST['logout'])) {
         if ($form->isValid($_POST)) {
             $data = $form->getValues();
             if (Z_Auth::getInstance()->login($data['login'], $data['password'], $data['remember'] ? true : false)) {
                 jQuery::evalScript('z_menu_show();');
                 $this->ajaxGo('/' . $this->getRequest()->getModuleName() . '/');
             } else {
                 Z_FlashMessenger::addMessage('Логин или пароль не верны');
             }
         } else {
             Z_FlashMessenger::addMessage('Введите логин и пароль');
         }
     }
     if (Z_Auth::getInstance()->getUser()->getLogin() != 'guest') {
         $this->_forward('logout');
         return;
     }
     $this->view->form = $form;
 }
Ejemplo n.º 3
0
 public function indexAction()
 {
     $this->disableRenderView();
     Z_Fs::recursive_remove_directory(APPLICATION_PATH . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'session');
     Z_Fs::create_folder(APPLICATION_PATH . DIRECTORY_SEPARATOR . 'data' . DIRECTORY_SEPARATOR . 'session');
     Z_FlashMessenger::addMessage('Сессия очищена');
 }
Ejemplo n.º 4
0
 public function denyAction()
 {
     $resources = new Z_Model_Resources();
     $privileges = new Z_Model_Privileges();
     $resource = $resources->fetchRow(array('resourceId=?' => 'admin_' . $this->_getParam('controller')));
     $privilege = $privileges->fetchRow(array('name=?' => $this->_getParam('action')));
     Z_FlashMessenger::addMessage('Доступ к действию данного модуля запрещен.');
     if (Z_Auth::getInstance()->getUser()->getRole() == 'guest') {
         $this->ajaxGo($this->view->url(array('controller' => 'z_user', 'action' => 'login')));
         $this->ajaxGo($this->view->url(array('controller' => 'z_menu', 'action' => 'index')));
         $this->ajaxGo($this->view->url(array('controller' => 'index', 'action' => 'index')));
     } else {
         if ($privilege) {
             Z_FlashMessenger::addMessage('Действие: ' . ($privilege ? $privilege->title : 'Неизвестно'));
         }
         if ($resource) {
             Z_FlashMessenger::addMessage('Модуль: ' . ($resource ? $resource->title : 'Неизвестно'));
         }
     }
     $this->disableRenderView();
 }
Ejemplo n.º 5
0
 public function rebuildAction()
 {
     $this->disableRenderView();
     $this->ajaxGo($this->view->url(array('action' => $this->z_defaultAction, 'id' => NULL)));
     $id = $this->_getParam('id');
     $tableModel = $this->z_model;
     $fieldModel = new Z_Model_Dbtablesfields();
     $tableObject = $tableModel->find($id)->current();
     $fieldObjects = $fieldModel->fetchAll(array('dbtable_id=?' => $id), 'orderid asc');
     $modelName = 'Site_Model_' . implode('_', array_map('ucfirst', explode('_', $tableObject->title)));
     $model = new $modelName();
     $columns = $model->info('metadata');
     $fieldset = array();
     foreach ($fieldObjects as $field) {
         $fieldset[] = $field->title;
         if ($field->title == 'id') {
             continue;
         }
         if (array_key_exists($field->title, $columns) && $field->type == $columns[$field->title]['DATA_TYPE']) {
             continue;
         }
         $queryStr = "";
         $queryStr = '`' . $field->title . '`';
         $queryStr .= ' ' . strtoupper($field->type);
         $queryStr .= $field->len ? '(' . $field->len . ')' : '';
         $queryStr .= $field->is_null ? ' NULL' : ' NOT NULL';
         $queryStr .= $field->default == 'asdefine' ? " DEFAULT '" . $field->default_value . "'" : '';
         if (array_key_exists($field->title, $columns)) {
             $queryStr = 'ALTER TABLE `' . $tableObject->title . '` CHANGE `' . $field->title . '` ' . $queryStr;
         } else {
             $queryStr = 'ALTER TABLE `' . $tableObject->title . '` ADD ' . $queryStr;
         }
         Z_FlashMessenger::addMessage($queryStr);
         Z_Db_Table::getDefaultAdapter()->query($queryStr);
     }
     foreach ($columns as $column => $columnPropertyes) {
         if ($column == 'id') {
             continue;
         }
         if (!in_array($column, $fieldset)) {
             $queryStr = 'ALTER TABLE `' . $tableObject->title . '` DROP `' . $column . '`';
             Z_FlashMessenger::addMessage($queryStr);
             Z_Db_Table::getDefaultAdapter()->query($queryStr);
         }
     }
 }
Ejemplo n.º 6
0
    public function deleteAction()
    {
        $this->setViewPathes();
        $this->disableRenderView();
        //отключение вывода
        //проверка на возможность удаления
        if (!$this->z_can_delete) {
            Z_FlashMessenger::addMessage('Удаление запрещено!');
            return;
        }
        //получение списка удаляемых элементов
        if (!$this->_getParam('id')) {
            $ids = $this->_getParam('ids');
        } else {
            $ids = array($this->_getParam('id'));
        }
        //если есть подтверждение на удаление или оно не требуется, то удаляем
        if ($this->z_delete_confirm && $this->_getParam('confirmed') || !$this->z_delete_confirm) {
            //получение списка полей, с файлами на удаление
            $modelForm = new Z_Model_Resourceforms();
            $formFileitems = $modelForm->fetchAll(array('resourceid=?' => $this->getResourceInfo()->id, 'is_file=?' => 1));
            $storage = new Z_File_Storage();
            $deletedItemsCount = 0;
            foreach ($ids as $id) {
                $item = $this->z_model->fetchRow(array('id=?' => $id));
                $itemArray = $item->toArray();
                if (!$this->deleteCheck($itemArray)) {
                    Z_FlashMessenger::addMessage('Удаление записи "' . $itemArray[$this->z_default_field] . '" Запрещено!');
                    continue;
                }
                //проверка на наличие подразделов в каталоге
                $haveSubcat = false;
                if ($this->z_datatype == 'catalog') {
                    $subCatCount = $this->z_model->select(true)->reset('columns')->columns('count(*)')->where('parentid=?', $item->id)->query()->fetchColumn();
                    if ($subCatCount > 0) {
                        $haveSubcat = true;
                        Z_FlashMessenger::addMessage('Раздел "' . $itemArray[$this->z_default_field] . '" имеет подразделы');
                    }
                }
                //проверка на наличие дочерних элементов
                $haveChild = false;
                if ($this->z_child_resources) {
                    foreach ($this->z_child_resources as $resource) {
                        $childModel = new $resource['model']();
                        $childItem = $childModel->fetchRow(array($resource['parent_field'] . '=?' => $item->id));
                        if ($childItem) {
                            $haveChild = true;
                            Z_FlashMessenger::addMessage('"' . $itemArray[$this->z_default_field] . '" имеет подчиненные "' . $resource['title'] . '"');
                        }
                    }
                }
                //проверка на возможность удаления элемента
                if ((!isset($itemArray['z_can_delete']) || isset($itemArray['z_can_delete']) && $itemArray['z_can_delete']) && (!$haveChild || $this->z_delete_on_have_child) && !$haveSubcat) {
                    //удаление связей многие ко многим
                    if (!empty($this->z_refers)) {
                        foreach ($this->z_refers as $referName => $refer) {
                            $referModel = new $refer['model']();
                            $referModel->delete(array($refer['field1'] . '=?' => $item->id));
                        }
                    }
                    $delData = $item->toArray();
                    $item->delete();
                    if (count($formFileitems)) {
                        foreach ($formFileitems as $formFileitem) {
                            $storage->removeFileDir($delData[$formFileitem->field]);
                        }
                    }
                    //ech('1');
                    $this->deleteSuccess($delData);
                    $this->deleteFromIndex($delData['id']);
                    $deletedItemsCount++;
                } else {
                    Z_FlashMessenger::addMessage('Удаление записи "' . $itemArray[$this->z_default_field] . '" Запрещено!');
                }
            }
            if ($deletedItemsCount > 0) {
                $this->ajaxGo($this->view->url(array('action' => $this->z_defaultAction, 'id' => NULL, 'confirmed' => NULL)));
            }
        } elseif ($this->z_delete_confirm) {
            //требуем подтверждения на удаление
            jQuery::evalScript('
	    		if (confirm("Удалить?"))
	    		{
	    			z_ajax_go("' . $this->view->url() . '",{confirmed:1,ids:[' . implode(',', $ids) . ']});
	    		}
	    	');
        }
    }
Ejemplo n.º 7
0
 public function dropError($text)
 {
     Z_FlashMessenger::addMessage($text);
     //		$this->_helper->viewRenderer->setNoRender(true);
 }