Esempio n. 1
0
 protected function checkPermissions($action, $params)
 {
     try {
         $permissions = array();
         if (!empty($this->permissions)) {
             foreach ($this->permissions as $key => $value) {
                 if ($action === $key) {
                     $permissions = array_merge($permissions, (array) $value);
                 } elseif (substr($key, 0, 1) === '^' && $action !== substr($key, 1)) {
                     $permissions = array_merge($permissions, (array) $value);
                 } elseif (is_numeric($key)) {
                     $permissions = array_merge($permissions, (array) $value);
                 }
             }
         }
         if (!empty($permissions)) {
             Account::validate($permissions);
         }
         parent::beforeAction($action, $params);
     } catch (LoginRequiredException $e) {
         $loginUrl = array('route://admin_login', array('redirect' => \Simplify::request()->base() . \Simplify::request()->uri()));
         \Simplify::response()->redirect($loginUrl);
     } catch (SecurityException $e) {
         \Simplify::session()->warnings($e->getMessage());
         \Simplify::response()->redirect('route://admin');
     }
 }
Esempio n. 2
0
 /**
  * (non-PHPdoc)
  * @see Simplify_ViewInterface::render()
  */
 public function render(\Simplify\RenderableInterface $object = null)
 {
     if (empty($object)) {
         $object = $this->object;
     }
     $template = $object->getTemplate();
     if ($template === false) {
         return '';
     }
     \Simplify::response()->header('Content-Type: text/html; charset=UTF-8');
     $output = $this->internalRender($object, $template);
     $layout = $object->getLayout();
     if ($layout !== false) {
         if (empty($layout)) {
             $layout = $this->getLayout();
         }
         $view = new self();
         $view->copyAll($object);
         $view->copyAll($this);
         $view->set('layout_content', $output);
         $view->setTemplate($layout);
         $view->setTemplatesPath($object->getLayoutsPath());
         $view->setLayout(false);
         $output = $view->render();
     }
     return $output;
 }
Esempio n. 3
0
 /**
  * 
  * @return \Simplify\Response
  */
 public static function response()
 {
     if (!self::$response) {
         self::$response = new Simplify\Response();
     }
     return self::$response;
 }
Esempio n. 4
0
 /**
  * (non-PHPdoc)
  *
  * @see \Simplify\Application::pageNotFound()
  */
 protected function pageNotFound()
 {
     \Simplify::response()->set404();
     $view = \Simplify\View::factory();
     $view->setTemplate('page_not_found');
     $view->setLayout('layout/default');
     return $this->outputResponse($view);
 }
Esempio n. 5
0
 protected function indexAction()
 {
     if (\Simplify::request()->get('activate')) {
         \Amplify\Modules::activateModule(\Simplify::request()->get('module'));
         \Simplify::response()->redirect(\Simplify::request()->route());
     } elseif (\Simplify::request()->get('deactivate')) {
         \Amplify\Modules::deactivateModule(\Simplify::request()->get('module'));
         \Simplify::response()->redirect(\Simplify::request()->route());
     }
     try {
         $modules = \Amplify\Modules::getAllModules();
         $this->set('modules', $modules);
     } catch (AmplifyException $e) {
         //
     }
 }
Esempio n. 6
0
 protected function indexAction()
 {
     $username = '';
     $email = '';
     $password = '';
     if (\Simplify::request()->method(\Simplify\Request::POST)) {
         try {
             $username = \Simplify::request()->post('username');
             $email = \Simplify::request()->post('email');
             $password = \Simplify::request()->post('password');
             \Amplify\Install::performInstall($username, $email, $password);
             \Simplify::session()->notices(__('Instalação realizada com sucesso.'));
             $url = \Simplify::request()->get('redirect', \Simplify::router()->make('admin'));
             \Simplify::response()->redirect($url);
         } catch (\Simplify\ValidationException $e) {
             \Simplify::session()->warnings($e->getErrors());
         }
     }
     $this->set('username', $username);
     $this->set('email', $email);
     $this->set('password', $password);
 }
Esempio n. 7
0
 /**
  * (non-PHPdoc)
  *
  * @see Simplify\Form\Action::onExecute()
  */
 public function onExecute()
 {
     parent::onExecute();
     $calendarAction = \Simplify::request()->get('calendarAction');
     switch ($calendarAction) {
         case 'data':
             $this->onLoadData();
             \Simplify::response()->output($this);
             exit;
         case 'create':
         case 'edit':
             $this->onLoadData();
             if (\Simplify::request()->method('post')) {
                 $this->onPostData();
                 $this->onValidate();
                 $this->onSave();
             }
             break;
         case 'delete':
             $this->onLoadData();
             $this->onValidate();
             $this->onDelete();
     }
 }
Esempio n. 8
0
 /**
  * 
  * @param unknown_type $output
  * @return string
  */
 protected function outputResponse($output)
 {
     return \Simplify::response()->output($output);
 }
Esempio n. 9
0
 /**
  * Render the action and return the result view
  *
  * @param string $action action name
  * @return \Simplify\Form
  */
 public function render($action = null)
 {
     if (empty($action)) {
         $action = $this->getActionName();
     }
     if ($action === 'services') {
         return $this;
     }
     $Action = $this->getAction($action);
     $result = $Action->onRender();
     $this->set('actionBody', $result);
     if (\Simplify::request()->ajax()) {
         $this->setLayout('form_ajax_body');
         \Simplify::response()->output($this);
     }
     $this->set('title', $this->getTitle());
     $this->set('menu', $this->createMenu($Action));
     $this->set('showMenu', $this->showMenu);
     \Simplify\AssetManager::load('moment/moment.min.js', 'vendor');
     \Simplify\AssetManager::load('moment/lang/pt-br.js', 'vendor');
     \Simplify\AssetManager::load('fullcalendar/fullcalendar.min.js', 'vendor');
     \Simplify\AssetManager::load('fullcalendar/fullcalendar.min.css', 'vendor');
     \Simplify\AssetManager::load('fullcalendar/lang/pt-br.js', 'vendor');
     \Simplify\AssetManager::load('eonasdan-bootstrap-datetimepicker/css/bootstrap-datetimepicker.min.css', 'vendor');
     \Simplify\AssetManager::load('eonasdan-bootstrap-datetimepicker/js/bootstrap-datetimepicker.min.js', 'vendor');
     \Simplify\AssetManager::load('ckeditor/ckeditor.js', 'vendor', 0, false);
     \Simplify\AssetManager::load('simplify-form.js', 'vender');
     return $this;
 }
Esempio n. 10
0
 public function onBeforeDelete(\Simplify\Form\Action $action, $row)
 {
     if (sy_get_param($row, Form::ID) == 1) {
         \Simplify::session()->warnings(__('Não é possível remover este usuário'));
         \Simplify::response()->redirect($this->Form->url()->extend()->set('formAction', null));
     }
 }
Esempio n. 11
0
 /**
  * (non-PHPdoc)
  *
  * @see \Simplify\Controller::indexAction()
  */
 protected function indexAction()
 {
     try {
         $result = $this->Form->execute();
         if ($result == \Simplify\Form::RESULT_SUCCESS) {
             \Simplify::session()->notices('Success');
             return \Simplify::response()->redirect($this->Form->url()->extend()->set('formAction', null));
         }
     } catch (\Simplify\ValidationException $e) {
         \Simplify::session()->warnings(__('Verifique os erros abaixo'));
         $errors = (array) $e->getErrors();
         foreach ($errors as $key => $errors) {
             if (is_int($key)) {
                 \Simplify::session()->warnings($errors);
             }
         }
     } catch (\Exception $e) {
         \Simplify::session()->warnings($e->getMessage());
     }
     $this->set('formBody', $this->Form->render());
 }
Esempio n. 12
0
 /**
  * 
  */
 protected function logoutAction()
 {
     \Amplify\Account::logout();
     $url = \Simplify::request()->get('redirect', 'route://admin');
     return \Simplify::response()->redirect($url);
 }
Esempio n. 13
0
 /**
  * Renders the template
  *
  * @param RenderableInterface $object
  * @param string $template
  * @return string
  */
 protected function internalRender(\Simplify\RenderableInterface $object, $template)
 {
     \Simplify::response()->header('Content-Type: text/html; charset=UTF-8');
     extract($object->getAll(), EXTR_REFS);
     ob_start();
     require $template;
     $output = ob_get_clean();
     return $output;
 }