From 3ceb4ad16c273245a197953b1f9845428b9bd091 Mon Sep 17 00:00:00 2001 From: Fadhil Imam Kurnia <fadhilimamk@gmail.com> Date: Thu, 5 Oct 2017 14:34:44 +0700 Subject: [PATCH] Create edit profil page --- .htaccess | 1 + public/img/ic_edit.jpg | Bin 0 -> 1561 bytes public/style.css | 13 ++++++ src/app.php | 1 + src/controller/ProfilController.php | 31 +++++++++++++- src/route.php | 4 ++ src/view/profil.php | 8 ++-- src/view/profil_edit.php | 64 ++++++++++++++++++++++++++++ 8 files changed, 116 insertions(+), 6 deletions(-) create mode 100755 public/img/ic_edit.jpg create mode 100644 src/view/profil_edit.php diff --git a/.htaccess b/.htaccess index f97815c..4cd7a26 100644 --- a/.htaccess +++ b/.htaccess @@ -1,4 +1,5 @@ Options -MultiViews RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f +RewriteCond %{REQUEST_URI} !=/img/ic_edit.jpg RewriteRule ^ public/index.php [QSA,L] \ No newline at end of file diff --git a/public/img/ic_edit.jpg b/public/img/ic_edit.jpg new file mode 100755 index 0000000000000000000000000000000000000000..450061c79dfaa2d5ddb6b6e310d35ba6ff2413ba GIT binary patch literal 1561 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 LNkvXXu0mjfBFgN~ literal 0 HcmV?d00001 diff --git a/public/style.css b/public/style.css index 13b8dbd..dc8acf1 100644 --- a/public/style.css +++ b/public/style.css @@ -121,4 +121,17 @@ body { .profil>p { line-height: 50%; +} + +.edit:after { + background-image: url('/img/ic_edit.jpg'); + background-size: 45px 45px; + display: inline-block; + width: 45px; + height: 45px; + content:""; +} + +a.edit:after { + margin: 15px; } \ No newline at end of file diff --git a/src/app.php b/src/app.php index 0bdcc30..0066635 100644 --- a/src/app.php +++ b/src/app.php @@ -56,6 +56,7 @@ class DagoJek { if (array_key_exists ($base_url, $this->routingTable)) { $this->routingTable[$base_url](); } else { + die ("404 Page not Found"); } } diff --git a/src/controller/ProfilController.php b/src/controller/ProfilController.php index d5a5b9c..194a90d 100644 --- a/src/controller/ProfilController.php +++ b/src/controller/ProfilController.php @@ -13,8 +13,10 @@ class ProfilController { return; } + $id = $_GET['u']; + // Decrypt user id - $uid = simpleCrypt($_GET['u'], 'd'); + $uid = simpleCrypt($id, 'd'); // Getting driver profile $dbconn = DB::getInstance(); @@ -30,7 +32,32 @@ class ProfilController { } public static function EditHandler() { - echo "TBD"; + + // Getting user id from url + if (!isset($_GET['u']) || $_GET['u'] == "") { + echo "Invalid parameter!"; + return; + } + + $id = $_GET['u']; + + // Decrypt user id + $uid = simpleCrypt($id, 'd'); + + // Getting driver profile + $dbconn = DB::getInstance(); + $user = Driver::Create($uid, $dbconn); + + if (!$user) { + echo "User not found!"; + return; + } + + require __DIR__.'/../view/profil_edit.php'; + } + + public static function SaveProfil() { + var_dump($_POST); } } \ No newline at end of file diff --git a/src/route.php b/src/route.php index 76edc5e..f471205 100644 --- a/src/route.php +++ b/src/route.php @@ -7,9 +7,13 @@ $AppInstance = Dagojek::Instance(); $AppInstance->addRoute("/", 'MainController::LoginHandler'); $AppInstance->addRoute("/login", 'MainController::LoginHandler'); $AppInstance->addRoute("/register", 'MainController::DefaultHandler'); + $AppInstance->addRoute("/main/profil", 'ProfilController::ProfilHandler'); $AppInstance->addRoute("/main/profil/edit", 'ProfilController::EditHandler'); +$AppInstance->addRoute("/main/profil/edit/save", 'ProfilController::SaveProfil'); + $AppInstance->addRoute("/main/history", 'MainController::DefaultHandler'); $AppInstance->addRoute("/main/order/", 'MainController::DefaultHandler'); $AppInstance->addRoute("/main/order/select", 'MainController::DefaultHandler'); $AppInstance->addRoute("/main/order/finish", 'MainController::DefaultHandler'); + diff --git a/src/view/profil.php b/src/view/profil.php index d0c5788..f052b24 100644 --- a/src/view/profil.php +++ b/src/view/profil.php @@ -10,7 +10,7 @@ <div class="col-3 text-right"> <p> Hi, <b><?=$user->username?></b> !<br> - <a href="#">Logout</a> + <a href="/">Logout</a> </p> </div> </div> @@ -21,14 +21,14 @@ </div> <div class="row"> <div class="col-5"><h1>MY PROFILE</h1></div> - <div class="col-1 text-right">edit</div> + <div class="col-1 text-right"><a class="edit" href="/main/profil/edit?u=<?=$id?>"></a></div> </div> <div class="text-center profil"> <img class="img-circle" src="<?=$user->photo?>"/><br> <h2>@<?=$user->username?></h2> <p><?=$user->name?></p> <?php if ($user->isDriver) : ?> - <p>Driver | <span class="text-orange"><i class="icon icon-star"></i> <?=$user->rating?></span> (<?=$user->sumOrder?> vote<?=($user->sumOrder>1)?'s':''?>)</p> + <p>Driver | <span class="text-orange"><b><i class="icon icon-star"></i> <?=$user->rating?></b></span> (<?=$user->sumOrder?> vote<?=($user->sumOrder>1)?'s':''?>)</p> <?php else : ?> <p>Non Driver</p> <?php endif; ?> @@ -37,7 +37,7 @@ </div> <div class="row"> <div class="col-5"><h2>PREFERED LOCATIONS</h2></div> - <div class="col-1 text-right">edit</div> + <div class="col-1 text-right"><a class="edit" href="/main/profil/edit"></a></div> </div> <div class="row"> <ul> diff --git a/src/view/profil_edit.php b/src/view/profil_edit.php new file mode 100644 index 0000000..3ab9ac7 --- /dev/null +++ b/src/view/profil_edit.php @@ -0,0 +1,64 @@ +<html> +<head> + <title>DAGO-JEK | Profil</title> + <link rel="stylesheet" type="text/css" href="/style.css"> +</head> +<body> +<div class="container"> + <div class="row"> + <div class="col-3"><span class="logo"></span></div> + <div class="col-3 text-right"> + <p> + Hi, <b>fadhilimamk</b> !<br> + <a href="/">Logout</a> + </p> + </div> + </div> + <div class="row"> + <form action="/main/profil/edit/save" method="post"> + <div class="container"> + <div class="row"> + <div class="col-6"> + <h1>EDIT PROFILE INFORMATION</h1> + </div> + </div> + <div class="row"> + <div class="col-2"> + <img src="<?=$user->photo?>" style="width: 180px;height: 180px; outline: 1px solid black"> + </div> + <div class="col-4"> + <h3>Update profile picture</h3> + <form action="#"> + <input type="file" name="photo" accept="image/*"> + </form> + </div> + </div> + <br> + <div class="row"> + <div class="col-2"> + Your Name:<br> + Phone:<br> + Driver Status + </div> + <div class="col-4"> + <input type="text" name="name" value="<?=$user->name?>"><br> + <input type="text" name="phone" value="<?=$user->phone?>"><br> + <input type="radio" name="isDriver" value="yes" <?=$user->isDriver? 'checked':''?>>Yes + <input type="radio" name="isDriver" value="no" <?=$user->isDriver? '':'checked'?>>No<br> + </div> + </div> + <br> + <div class="row"> + <div class="col-3"> + <a href="/main/profil?u=<?=$id?>"><button type="button">BACK</button></a> + </div> + <div class="col-3 text-right"> + <input type="submit" value="SAVE"> + </div> + </div> + </div> + </form> + </div> +</div> +</body> +</html> \ No newline at end of file -- GitLab