Ejemplo n.º 1
0
 public function contact()
 {
     $form = new G2_TwigView('forms/contact');
     $form = new G2_FormMagic($form->get_render());
     if ($form->is_posted() && $form->validate()) {
     }
     return $form->parse();
 }
Ejemplo n.º 2
0
 public function job_application()
 {
     $form = new G2_TwigView('forms/job-application');
     $form = new G2_FormMagic($form->get_render());
     if ($form->is_posted() && $form->validate()) {
         $result = Package_Submissions::getInstance()->add('Job Application', $form->data());
         return $form->thank_you('Thank you for your enquiry. We will get back to you shortly');
     }
     return $form->parse();
 }
Ejemplo n.º 3
0
 function form(RedBeanPHP\OODBBean $page)
 {
     //Check if object is loaded
     //Load areas connected to this page
     $areas = $page->ownArea;
     //Load form html
     $view = new G2_TwigView('forms/page/page');
     //Create processors
     $areasP = [];
     $data = [];
     foreach ($areas as $area) {
         $areaP = new Theme_Area_Processor($area);
         $areasP[$area->id] = $areaP;
         $data[$area->id] = $areaP->render();
     }
     $view->areas = $areasP;
     $view->page = $page;
     $form = new G2_FormMagic($view->get_render());
     if (!$form->is_posted()) {
         $form->set_data($data);
     }
     if ($form->is_posted()) {
         //Field Validate the content
         $data = $form->data();
         foreach ($data as $area_id => $value) {
             $areasP[$area_id]->set_value($value);
             $message = $areasP[$area_id]->validate();
             if ($message !== true) {
                 $form->invalidate($area_id, $message);
             }
         }
         foreach ($form->get_uploaded_files() as $key => $file) {
             $areasP[$key]->set_value($file);
             $message = $areasP[$key]->validate();
             if ($message !== true) {
                 $form->invalidate($area_id, $message);
             }
         }
     }
     if ($form->is_posted() && $form->validate()) {
         $data = $form->data();
         foreach ($data as $area_id => $value) {
             $areasP[$area_id]->set_value($value);
             $areasP[$area_id]->save();
         }
         foreach ($form->get_uploaded_files() as $key => $file) {
             $areasP[$key]->set_value($file);
             $areasP[$key]->save();
         }
         return true;
     }
     echo $form->parse();
 }
Ejemplo n.º 4
0
 function render()
 {
     $form = new G2_FormMagic($this->area->html);
     if ($form->is_posted() && $form->validate()) {
         $handlers = $this->get_handlers($this->area->page->slug, $this->area->area_name);
         $replace = '';
         foreach ($handlers as $handler) {
             $replace_out = $handler($form->data());
             if ($replace_out) {
                 $replace .= $replace_out;
             }
         }
     }
     if (isset($replace) && !empty($replace)) {
         return $replace;
     } else {
         return $form->parse();
     }
 }
Ejemplo n.º 5
0
 function changes($args)
 {
     $id = array_shift($args);
     if (!is_numeric($id) || !($audit = R::load('audit', $id))) {
         $this->redirect(PACKAGE_URL);
     }
     $update_form = new G2_TwigView('forms/audit');
     $update_form = new G2_FormMagic($update_form->get_render());
     if ($update_form->is_posted() && $update_form->validate()) {
         foreach ($update_form->data() as $field => $data) {
             $audit->{$field} = $data;
         }
         R::store($audit);
     }
     $update_form->set_data($audit->export());
     $view = new G2_TwigView('pages/changes');
     $view->audit = current(Audit::deserialize([$audit]));
     $view->update_form = $update_form->parse();
     $view->render();
 }
Ejemplo n.º 6
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();
 }
Ejemplo n.º 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();
 }