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;
         }
     }
 }
Ejemplo n.º 2
0
 public function hitung($args)
 {
     //pr($_POST);
     $jwb = $_POST['jwb'];
     $qid = $_POST['qid'];
     if (!isset($qid)) {
         die("No ID");
     }
     $ul = new QuizUlangan();
     $ul->getByID($qid);
     //update number
     $ul->ulangan_finished = $ul->ulangan_finished + 1;
     $ul->ulangan_update_date = leap_mysqldate();
     $ul->save();
     // user gen
     $acc = new Account();
     $ucreate = 0;
     if ($ul->ulangan_creator_id != 0) {
         $ucreate = 1;
         $acc->getByID($ul->ulangan_creator_id);
     }
     $ucreate_text = "Seberapa Indonesiakah Anda";
     //campur badge
     if ($ucreate) {
         $ul->ulangan_badge_1 = $ul->ulangan_image;
         $ul->ulangan_badge_2 = $ul->ulangan_image;
         $ul->ulangan_badge_3 = $ul->ulangan_image;
         $ul->ulangan_badge_4 = $ul->ulangan_image;
         $ul->ulangan_badge_5 = $ul->ulangan_image;
         $ucreate_text_title = $ul->ulangan_name;
         $ucreate_text = $acc->admin_name . " membuat ujian '" . $ul->ulangan_name . "' untuk INDONESIA. Berani terima tantangan dia?!?";
         $ul->ulangan_desc_1 = $ucreate_text;
         $ul->ulangan_desc_2 = $ucreate_text;
         $ul->ulangan_desc_3 = $ucreate_text;
         $ul->ulangan_desc_4 = $ucreate_text;
         $ul->ulangan_desc_5 = $ucreate_text;
         $ul->ulangan_descr = $ucreate_text;
     }
     $q = new QuizQuestion();
     $arrQ = $q->getWhere("q_ulangan_id = '{$ul->ulangan_id}' AND q_aktif = 1");
     //pr($arrQ);
     $jumlah_question = $ul->ulangan_jumlah_soal;
     foreach ($arrQ as $q) {
         $qs[$q->qid] = $q;
     }
     $point = 0;
     foreach ($jwb as $o) {
         $active = $qs[$o['qid']];
         if ($active->q_correct_answer_id == $o['aid']) {
             $point++;
         }
         //echo $o['qid']." jwb ".$o['aid']."<br>";
     }
     //pilah poin ke badge
     if ($point == 0) {
         $json['badge'] = _BPATH . _PHOTOURL . "thumbnail/" . $ul->ulangan_badge_1;
     }
     if ($point > 0 && $point < 6) {
         $json['badge'] = _BPATH . _PHOTOURL . "thumbnail/" . $ul->ulangan_badge_2;
     }
     if ($point > 5 && $point < 8) {
         $json['badge'] = _BPATH . _PHOTOURL . "thumbnail/" . $ul->ulangan_badge_3;
     }
     if ($point > 7 && $point < 10) {
         $json['badge'] = _BPATH . _PHOTOURL . "thumbnail/" . $ul->ulangan_badge_4;
     }
     if ($point == 10) {
         $json['badge'] = _BPATH . _PHOTOURL . "thumbnail/" . $ul->ulangan_badge_5;
     }
     $json['points'] = $point;
     $json['saved'] = 0;
     $json['naik_level'] = 0;
     $json['total_point'] = -1;
     $qp = new QuizPoints();
     if (Auth::isLogged()) {
         $pid = $qid . "_" . Account::getMyID();
         $qp->getByID($pid);
         if ($qp->points_id == "") {
             $qp->load = 0;
         }
         $qp->points_id = $pid;
         $qp->points_acc_id = Account::getMyID();
         $qp->points_ul_id = $qid;
         $qp->points_update = leap_mysqldate();
         if ($qp->points_nilai < $point) {
             $qp->points_nilai = $point;
         }
         $json['saved'] = $qp->save();
         $pointLama = QuizPoints::myPoints();
         $lvl_lama = floor($pointLama / 36);
         //update sessions points
         $qp->getPoints();
         $pointBaru = QuizPoints::myPoints();
         $lvl_baru = floor($pointBaru / 36);
         if ($lvl_baru > $lvl_lama && $pointLama > 0) {
             $json['naik_level'] = 1;
         }
         $json['total_point'] = $pointBaru;
     } else {
         if (!isset($_SESSION['game']['unsaved'])) {
             $_SESSION['game']['unsaved'] = array();
         }
         $_SESSION['game']['unsaved'][] = array($qid, $point);
     }
     echo json_encode($json);
     exit;
 }