diff --git a/.htaccess b/.htaccess index f97815c26fd0f4799935b9159c06cba58e5cb0d6..4cd7a263c248496c4e068f43941b868fbe498c05 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 Binary files /dev/null and b/public/img/ic_edit.jpg differ diff --git a/public/style.css b/public/style.css index 13b8dbd5905ab6f61b0a515b0e3573514fba8dca..dc8acf10dc94936f819f47fdca41dec4d9bd04d8 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 0bdcc30d18bb88c5e01a038f8c1cc6da37eb56c8..00666354f8aac16058562fb5e4dc1b4a81243a83 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 d5a5b9c9d8a24ee4bd3d48051eefe242118bfd1d..194a90d17a9cf8f192c5ebbc644d534b225007ff 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 76edc5e0004fd73322974d8b1de994f3f7081497..f471205da640608bc6526c2d92212a03200ab772 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 d0c5788b77804cede3f66c9d61c3093a8cfbc6e5..f052b242e03a9ed90fa419d08a173b405cac63ed 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 0000000000000000000000000000000000000000..3ab9ac7312b3bf61b3f73ed3f1887c08ba2d0c95 --- /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