Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- namespace DrupalwhishlistController;
- use DrupalCoreControllerControllerBase;
- use SymfonyComponentHttpFoundationJsonResponse;
- class WhishlistMain extends ControllerBase
- {
- public function user_check()
- {
- $username = $_POST['name'];
- $password = $_POST['pass'];
- if(empty($username) || empty($password)){
- $data = array('status'=> '200', 'response'=> "'name' or 'pass' is missing.");
- return new JsonResponse($data);
- }
- $query = db_query("SELECT pass FROM {users_field_data} AS ufd WHERE ufd.name = :name", array(':name'=> $username))->fetchAssoc();
- $password_hasher = Drupal::service('password');
- $pass_verify = ($password_hasher->check($password, $query['pass']) == true) ? true: false;
- if($pass_verify){
- $access_token = base64_encode('w@#hI$%sH&'.$password.'^c0ciN(a)'.$username.'whish$$@12*&');
- $query_data = ['access_token'=> $access_token];
- $data = array('status'=> '200', 'response'=> $query_data);
- }else{
- $data = array('status'=> '200', 'response'=> 'Credentails mismatch');
- }
- return new JsonResponse($data);
- }
- public function whishlist_view()
- {
- global $base_url;
- if(empty($_POST['access_token'])){
- $data = array('status'=> '200', 'response'=> "'access_token' is missing.");
- return new JsonResponse($data);
- }
- $access_token = explode('^c0ciN(a)',base64_decode($_POST['access_token']));
- $username = str_replace('whish$$@12*&', '', $access_token[1]);
- if($username){
- $query = db_query("SELECT uid FROM {users_field_data} AS ufd WHERE ufd.name = :name", array(':name'=> $username))->fetchAssoc();
- if(!empty($query)){
- $view = file_get_contents($base_url.'/rest/whishlist?_format=json&uid='.$query['uid']);print_r($view);
- $view = !empty($view) ? json_decode($view) : 'No data available';
- $data = array('status'=> '200', 'response'=> $view);
- return new JsonResponse($data);
- }
- }
- $data = array('status'=> '200', 'response'=> 'Access token mismatch');
- return new JsonResponse($data);
- }
- }
Add Comment
Please, Sign In to add comment