Guest User

Untitled

a guest
Nov 28th, 2018
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.91 KB | None | 0 0
  1. <?php
  2. namespace DrupalwhishlistController;
  3.  
  4. use DrupalCoreControllerControllerBase;
  5. use SymfonyComponentHttpFoundationJsonResponse;
  6.  
  7. class WhishlistMain extends ControllerBase
  8. {
  9.  
  10. public function user_check()
  11. {
  12. $username = $_POST['name'];
  13. $password = $_POST['pass'];
  14. if(empty($username) || empty($password)){
  15. $data = array('status'=> '200', 'response'=> "'name' or 'pass' is missing.");
  16. return new JsonResponse($data);
  17. }
  18. $query = db_query("SELECT pass FROM {users_field_data} AS ufd WHERE ufd.name = :name", array(':name'=> $username))->fetchAssoc();
  19. $password_hasher = Drupal::service('password');
  20. $pass_verify = ($password_hasher->check($password, $query['pass']) == true) ? true: false;
  21. if($pass_verify){
  22. $access_token = base64_encode('w@#hI$%sH&'.$password.'^c0ciN(a)'.$username.'whish$$@12*&');
  23. $query_data = ['access_token'=> $access_token];
  24. $data = array('status'=> '200', 'response'=> $query_data);
  25. }else{
  26. $data = array('status'=> '200', 'response'=> 'Credentails mismatch');
  27. }
  28. return new JsonResponse($data);
  29. }
  30.  
  31. public function whishlist_view()
  32. {
  33. global $base_url;
  34. if(empty($_POST['access_token'])){
  35. $data = array('status'=> '200', 'response'=> "'access_token' is missing.");
  36. return new JsonResponse($data);
  37. }
  38. $access_token = explode('^c0ciN(a)',base64_decode($_POST['access_token']));
  39. $username = str_replace('whish$$@12*&', '', $access_token[1]);
  40. if($username){
  41. $query = db_query("SELECT uid FROM {users_field_data} AS ufd WHERE ufd.name = :name", array(':name'=> $username))->fetchAssoc();
  42. if(!empty($query)){
  43. $view = file_get_contents($base_url.'/rest/whishlist?_format=json&uid='.$query['uid']);print_r($view);
  44. $view = !empty($view) ? json_decode($view) : 'No data available';
  45. $data = array('status'=> '200', 'response'=> $view);
  46. return new JsonResponse($data);
  47. }
  48. }
  49. $data = array('status'=> '200', 'response'=> 'Access token mismatch');
  50. return new JsonResponse($data);
  51. }
  52. }
Add Comment
Please, Sign In to add comment