Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- defined('sys_run_app') OR exit('403 You dont have permission to access / on this server...');
- // Name space untuk router
- use System\GF_Router as GF;
- // Name space untuk $_POST
- use System\GF_Post as Req;
- // membuat router kosong, dan mengalihkan ke url "localhost/GF/forgot"
- GF::Route("",function(){
- // membuat object controller User_Controller
- $o = GF::Controller("User_Controller");
- // check login dari controller
- $o->checkLogin("user-login");
- // mengalihkan ke router login
- GF::directTo("login");
- });
- // membuat router welcome
- GF::Route("welcome",function(){
- // membuat object controller User_Controller
- $o = GF::Controller("User_Controller");
- // check login dari controller
- $o->checkLogin("user-login");
- // mengalihkan ke router login
- GF::directTo("login");
- });
- // membuat router login
- GF::Route("login",function(){
- // membuat object controller User_Controller
- $o = GF::Controller("User_Controller");
- // check login dari controller
- $o->checkLogin("user-login");
- // mengalihkan ke view login
- GF::setView("login");
- });
- // membuat router forgot
- GF::Route("forgot",function(){
- // membuat object controller User_Controller
- $o = GF::Controller("User_Controller");
- // check login dari controller
- $o->checkLogin("user-login");
- GF::setView("forgot");
- });
- // membuat router khusus untuk captcha
- GF::Route("refresh-captcha",function(){
- $_SESSION = array();
- // membuat session baru my_captcha
- _createSession("my_captcha",simple_php_captcha());
- });
- // membuat router untuk ajax dari client
- GF::Route("process-reset-password",function(){
- // membuat semua $_POST dari ajax
- $result = Req::post("token # email # captcha # new_pass # old_pass");
- // membuat array kosong
- $json_response = [];
- // check semua $_POST, apakah terpenuhi ?
- if (Req::check())
- {
- // ambil semua data $_POST tersebut , akan dikembalikan dalam bentuk ARRAY
- $post = Req::getAll();
- // check captcha dari user dulu ? apakah sama dengan sesion captcha ?
- // jika sama maka
- if ($post['captcha'] == $_SESSION['my_captcha']['code'])
- {
- // membuat object model Data_User
- $o = GF::Model("Data_User");
- // memasukkan email dari user
- $o->setEmail($post['email']);
- // memassukkan password lama dari user
- $o->setOldPassword($post['old_pass']);
- // check apakah password lama benar ?
- if ($o->checkOldPassword())
- {
- // memasukkan password bar dari user
- $o->setNewPassword($post['new_pass']);
- // lakukan reset password
- $result = $o->resetPassword();
- // jika benar
- if ($result)
- {
- // masukkan ke array
- $json_response['result'] = 'T';
- }
- else
- {
- $json_response['result'] = 'F';
- }
- }
- else
- {
- $json_response['result'] = 'OLDPASS';
- }
- }
- else
- {
- $json_response['result'] = 'W';
- }
- }
- else
- {
- $json_response['result'] = '404';
- }
- // keluarkan array dalam bentuk json
- echo json_encode($json_response);
- });
- // membuat router untuk ajax dari client
- GF::Route("process-login",function(){
- // membuat semua $_POST dari ajax
- $result = Req::post("token # email # pass ");
- // membuat array kosong
- $json_response = [];
- // check semua $_POST, apakah terpenuhi ?
- if (Req::check())
- {
- // ambil semua data $_POST tersebut , akan dikembalikan dalam bentuk ARRAY
- $post = Req::getAll();
- // membuat object model Data_User
- $o = GF::Model("Data_User");
- // masukkan email dari user
- $o->setEmail($post['email']);
- // masukkan password dari user
- $o->setOldPassword($post['pass']);
- // check hasil loginnya
- $result = $o->login();
- // jika benar
- if ($result)
- {
- // masukkan ke array
- $json_response['result'] = 'T';
- // membuat object controller
- $c = GF::Controller("User_Controller");
- // memanggil function controller login
- // dengan mengambil data username
- $c->login("user-login",$o->getUsername());
- }
- else
- {
- $json_response['result'] = 'F';
- }
- }
- else
- {
- $json_response['result'] = '404';
- }
- // keluarkan array dalam bentuk json
- echo json_encode($json_response);
- });
- // contoh menggunakan controller untuk logout
- GF::RouteToController("logout","User_Controller",function($o){
- // object $o disini, didapat dari parameter callback
- // panggil function logout di controller
- $o->logout("user-login");
- // jika sudah, refresh halaman...
- GF::directTo("");
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement