function process_login()
 {
     $username = addslashes($_POST["admin_email"]);
     $password = addslashes($_POST["admin_password"]);
     $rememberme = isset($_POST["rememberme"]) ? 1 : 0;
     if ($password == "") {
         $password = "******";
     }
     $row = array("admin_email" => $username, "admin_password" => $password, "rememberme" => $rememberme);
     /*if ($this->ldapLogin($username, $password)) {
     			$row["admin_ldap"] = 1;
     		}*/
     //login pakai row credential
     Auth::login($row);
     //kalau sukses
     if (Auth::isLogged()) {
         //load school setting
         // $ss = new Schoolsetting();
         // $ss->loadToSession();
         //redirect
         //Account::setRedirection ();
         Hook::processHook($this->login_hook);
         Redirect::firstPage();
     } else {
         Redirect::loginFailed();
     }
 }
 public function save($onDuplicateKey = 0)
 {
     $var = parent::save($onDuplicateKey);
     //pr($this);
     if ($var) {
         $acc = new Account();
         $load = isset($this->load) ? addslashes($this->load) : 0;
         if (!$load) {
             $acc->getByID($var);
         } else {
             $mainValue = $this->admin_id;
             $acc = $this;
         }
         $role2Acc = new Role2Account();
         $arr = $role2Acc->getWhere("role_admin_id = '{$acc->admin_id}'");
         //pr($arr);
         if (count($arr) > 0) {
             //sudah ada role2acc nya
             $role2Acc = $arr[0];
             $role2Acc->load = 1;
             //$role2Acc->role_admin_id = $var;
             $role2Acc->role_id = $acc->admin_role;
             //$role2Acc->account_username = $acc->admin_username;
         } else {
             //belum ada role2acc nya
             //$role2Acc = $arr[0];
             //$role2Acc->load = 1;
             $role2Acc->role_admin_id = $var;
             $role2Acc->role_id = $acc->admin_role;
             //$role2Acc->account_username = $acc->admin_username;
         }
         //process Hook just in case
         Hook::processHook($this->save_hook);
         return $role2Acc->save();
     }
     return 0;
 }
 public function process_login_fb()
 {
     $email = $_SESSION['sementara']['admin_email'];
     $fbid = $_SESSION['sementara']['admin_fb_id'];
     if ($fbid == "" || $email == "") {
         Redirect::loginFailed();
     }
     $arr = $this->getWhere("admin_email = '{$email}' AND admin_fb_id='{$fbid}' AND admin_aktiv = 1 ");
     if (count($arr) > 0) {
         //load by login ID
         $obj = $arr[0];
         $row = toRow($obj);
         $this->fill($row);
         if (isset($this->admin_id)) {
             $_SESSION["admin_session"] = 1;
             $_SESSION["account"] = $obj;
             //Update setlastlogin
             self::setLastUpdate($_SESSION["account"]->admin_id);
             //lanjut
             //loading metadata
             $meta = new AccountMeta();
             $meta->getMeta($this->admin_id);
             //now loading roles
             $this->loadRole();
             //set cookie
             Auth::setCookie($this->rememberme, $this->admin_id, $this->admin_email, $this->admin_password);
             //kalau sukses
             if (Auth::isLogged()) {
                 //load school setting
                 // $ss = new Schoolsetting();
                 // $ss->loadToSession();
                 //redirect
                 //Account::setRedirection ();
                 $acl = new AccountLogin();
                 Hook::processHook($acl->login_hook);
                 //login hook doesnt seem to work =>bypass
                 $qp = new QuizPoints();
                 $qp->getPoints();
                 $qp->saveUnsaved();
                 Redirect::firstPage();
             } else {
                 Redirect::loginFailed();
             }
         } else {
             return 0;
         }
     }
 }