示例#1
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();
 }
示例#2
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();
 }