/login/functions.php

https://github.com/carlic578/airpic · PHP · 140 lines · 103 code · 33 blank · 4 comment · 12 complexity · 26b8625a1e33c8d12eff1b1eb4be3457 MD5 · raw file

  1. <?php
  2. function checkForSession()
  3. {
  4. if(isset($_SESSION["token"]))
  5. {
  6. //check if session is still valid
  7. $sql = sprintf("SELECT 1 FROM session WHERE token='%s'",
  8. mysql_real_escape_string($_SESSION["token"]));
  9. // execute query
  10. $result = mysql_query($sql);
  11. if ($result === FALSE)
  12. die("Could not query database");
  13. if(mysql_num_rows($result) == 1)
  14. {
  15. updateLastSeen();
  16. return true;
  17. }
  18. }
  19. elseif(isset($_COOKIE["token"]))
  20. {
  21. //check if session is still valid
  22. $sql = sprintf("SELECT 1 FROM session WHERE token='%s'",
  23. mysql_real_escape_string($_COOKIE["token"]));
  24. $result = mysql_query($sql);
  25. if($result === FALSE)
  26. die("Could nto query database");
  27. if(mysql_num_rows($result) == 1)
  28. {
  29. $_SESSION['token'] = $_COOKIE['token'];
  30. updateLastSeen();
  31. return true;
  32. }
  33. }
  34. else
  35. return false;
  36. return false;
  37. }
  38. function connect()
  39. {
  40. global $url, $userName, $password, $database;
  41. if (($connection = mysql_connect($url, $userName, $password)) === FALSE)
  42. die("Could not connect to database");
  43. // select database
  44. if (mysql_select_db($database, $connection) === FALSE)
  45. die("Could not select database");
  46. }
  47. function generateApiKey()
  48. {
  49. mt_srand();
  50. $number = mt_rand()+time();
  51. $temp = hash("sha512",$number);
  52. return substr($temp, 0, 40);
  53. }
  54. function getUserName()
  55. {
  56. if(isset($_SESSION["token"]))
  57. {
  58. $getUserSQL = sprintf("SELECT user FROM session WHERE token='%s'",
  59. mysql_real_escape_string($_SESSION["token"]));
  60. $result = mysql_query($getUserSQL);
  61. $row = mysql_fetch_array($result);
  62. return $row['user'];
  63. }
  64. elseif(isset($_COOKIE["token"]))
  65. {
  66. $getUserSQL = sprintf("SELECT user FROM session WHERE token='%s'",
  67. mysql_real_escape_string($_COOKIE["token"]));
  68. $result = mysql_query($getUserSQL);
  69. $row = mysql_fetch_array($result);
  70. return $row['user'];
  71. }
  72. }
  73. function getName()
  74. {
  75. $user = getUserName();
  76. $sql = sprintf("SELECT fname FROM users WHERE user='%s'", $user);
  77. $result = mysql_query($sql);
  78. $row = mysql_fetch_array($result);
  79. return $row['fname'];
  80. }
  81. function isAdmin()
  82. {
  83. $user = getUserName();
  84. $sql = sprintf("SELECT isAdmin FROM users WHERE user='%s'", $user);
  85. $result = mysql_query($sql);
  86. $row = mysql_fetch_array($result);
  87. if($row['isAdmin'])
  88. return true;
  89. else
  90. return false;
  91. }
  92. function redirect($navigateTo)
  93. {
  94. $host = $_SERVER["HTTP_HOST"];
  95. $path = rtrim(dirname($_SERVER["PHP_SELF"]), "/\\");
  96. $goto = sprintf("Location: http://%s%s/%s", $host, $path, $navigateTo);
  97. header($goto);
  98. }
  99. function updateLastSeen()
  100. {
  101. $sql = sprintf("UPDATE session SET lastSeen='%s' WHERE token='%s'", time(),
  102. mysql_real_escape_string($_SESSION["token"]));
  103. $result = mysql_query($sql);
  104. if ($result === FALSE)
  105. die("Could not update time last seen");
  106. }
  107. ?>