示例#1
0
 function render()
 {
     $messages = isset($_SESSION['alerts']['messages']) ? $_SESSION['alerts']['messages'] : [];
     if (empty($messages) && !empty($this->messages)) {
         $messages = $this->messages;
     }
     if (!empty($messages)) {
         $view = new G2_TwigView('parts/alert');
         $s = [];
         foreach ($messages as $message) {
             if (!isset($message['rendered'])) {
                 $s[] = $message;
             }
         }
         $view->set('messages', $s);
         $alert = $view->get_render();
         $this->messages = [];
         unset($_SESSION['alerts']);
         //			$this->messages = [];
         //			$this->rendered = true;
         return $alert;
     } else {
         return false;
     }
 }
示例#2
0
 function index()
 {
     $view = new G2_TwigView('pages/index');
     $test_a = R::findOne('audit');
     $args = [];
     if (!empty($_GET)) {
         $wheres = [];
         foreach ($_GET as $field => $value) {
             if (isset($test_a->{$field}) && trim($value)) {
                 $wheres[] = "{$field} LIKE :{$field}";
                 $args[$field] = $value;
             }
         }
         $where = implode(' AND ', $wheres);
     } else {
         $where = '';
     }
     $audits = Audit::deserialize(Mvc_Db::paginate_findAll('audit', 10, "{$where} ORDER BY id DESC", $args));
     // Sort into entities
     $sorted = [];
     foreach ($audits as $audit) {
         // Limit to 10 entries per entity
         if (count($sorted[$audit->entity]) <= 10) {
             $sorted[$audit->entity][] = $audit;
         }
     }
     $view->set('sorted', $sorted);
     $view->entities = R::getCol('SELECT DISTINCT entity FROM audit');
     $view->set_entity = $_GET['entity'];
     $view->page_count = Mvc_Db::get_last_total_pages();
     $view->current = Mvc_Db::get_current_page();
     unset($_GET['p']);
     $view->current_url = PACKAGE_URL . '?' . http_build_query($_GET);
     $view->render();
 }
示例#3
0
 function load_banners($page, $classes = '')
 {
     $page = $this->find_page($page);
     $images = $page->images;
     $view = new G2_TwigView('widgets/banner');
     foreach ($images as $im) {
         if (isset($im->content)) {
             $view->set('is_banner', 'true');
             break;
         }
     }
     //		if(isset($page->content)){
     //			$content = new G2_TwigView("banner-content/$page->content");
     //			if($content->exists()){
     //				$view->set('content',$content->get_render());
     //			}
     //		}
     $view->set('images', $images);
     $view->set('classes', $classes);
     return $view->get_render();
 }
示例#4
0
 function crud($args)
 {
     $id = array_shift($args);
     if (!empty($id) && is_numeric($id)) {
         $list = R::load(Package_Mail::MAIL_LIST, $id);
         if ($list->isEmpty()) {
             $this->redirect(PACKAGE_URL);
         }
     } else {
         $list = R::dispense(Package_Mail::MAIL_LIST);
     }
     $form_view = new G2_TwigView('forms/maillist');
     $form_view->set('addresses', $list->sharedMailaddress);
     $form_view->set('list', $list);
     $form = new G2_FormMagic($form_view->get_render());
     if ($form->is_posted()) {
         var_dump($_POST);
         exit;
     }
     $view = new G2_TwigView('pages/crud');
     $view->set('form', $form->parse());
     $view->render();
 }
示例#5
0
 function crud($args)
 {
     $id = array_shift($args);
     //Check if user is loaded
     if (!empty($id) && is_numeric($id)) {
         $user = R::load('user', $id);
         if ($user->isEmpty()) {
             $this->redirect(PACKAGE_URL);
         }
     } else {
         $user = R::dispense('user');
     }
     $old = clone $user;
     $form_view = new G2_TwigView('forms/user');
     $form_view->set('groups', R::findAll('group'));
     // Sets group information
     $form_view->set('user', $user);
     $form = new G2_FormMagic($form_view->get_render());
     //		var_dump($user->export());
     if (empty($_POST)) {
         $data = $user->export();
         $groups = [];
         foreach ($user->sharedGroup as $bean) {
             $groups[] = $bean->name;
         }
         $data['sharedGroup'] = $groups;
         $form->set_data($data);
         //			var_dump($data);exit;
     }
     if ($form->is_posted() && $form->validate()) {
         $data = $form->data();
         //			var_dump($data);exit;
         if ($data['password'] != $user->password) {
             //The Users password changed. Need to re encrypt
             $data['password'] = G()->hash_pass($data['password']);
         }
         foreach ($data as $field => $value) {
             if (is_array($user->{$field}) && Mvc_Functions::startsWith($field, 'shared')) {
                 $bean = strtolower(substr($field, strlen('shared')));
                 $bean_ar = [];
                 foreach ($value as $name) {
                     $bean_ar[] = G()->load_group($name);
                 }
                 $user->{"shared" . ucfirst($bean)} = $bean_ar;
             } else {
                 $user->{$field} = $value;
             }
         }
         if (empty($user->sharedGroup)) {
             $user->sharedGroup = [G()->load_group('default')];
         }
         R::store($user);
         if (empty($old->id)) {
             Audit::create($old, $user, 'New user was created');
         } else {
             Audit::create($old, $user, 'User details was updated');
         }
         $this->redirect(PACKAGE_URL . 'crud/' . $user->id);
     }
     $view = new G2_TwigView('pages/crud');
     $view->set('form', $form->parse());
     $view->render();
 }
示例#6
0
 function index()
 {
     $view = new G2_TwigView('test');
     $view->set('title', 'asasssss');
     $view->render();
 }
示例#7
0
 function login()
 {
     $this->template->set_template_file('templates/signup.twig');
     $view = new G2_TwigView('pages/login');
     $login_form = new G2_TwigView('forms/login');
     $login_form = new G2_FormMagic($login_form->get_render());
     G()->create_user_if_not_exist('admin', 'g2design123');
     if ($login_form->is_posted() && $login_form->validate()) {
         $data = $login_form->data();
         $username = $data['username'];
         $password = $data['password'];
         if ($user = G()->check_login($username, $password)) {
             G()->log_in_user($user);
             $this->redirect($this->get_package_uri() . 'index');
         } else {
             $login_form->invalidate('username', 'Login Fails. Please check your details and try again');
         }
     }
     $login_form = $login_form->parse();
     $view->set('login_form', $login_form);
     $view->render();
 }