PageRenderTime 46ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/osj-login.php

http://osjobber.googlecode.com/
PHP | 226 lines | 164 code | 28 blank | 34 comment | 32 complexity | 4e0c94f16e9aa249dc8a462f9d1920b1 MD5 | raw file
Possible License(s): LGPL-2.1, AGPL-1.0
  1. <?php
  2. define("EW_PAGE_ID", "login", TRUE); // Page ID
  3. ?>
  4. <?php
  5. session_start(); // Initialize session data
  6. ob_start(); // Turn on output buffering
  7. ?>
  8. <?php include "osj-ewcfg50.php" ?>
  9. <?php include "osj-ewmysql50.php" ?>
  10. <?php include "osj-phpfn50.php" ?>
  11. <?php include "osj-osj2dusersinfo.php" ?>
  12. <?php include "osj-userfn50.php" ?>
  13. <?php
  14. header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
  15. header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // Always modified
  16. header("Cache-Control: private, no-store, no-cache, must-revalidate"); // HTTP/1.1
  17. header("Cache-Control: post-check=0, pre-check=0", false);
  18. header("Pragma: no-cache"); // HTTP/1.0
  19. ?>
  20. <?php
  21. // Open connection to the database
  22. $conn = ew_Connect();
  23. ?>
  24. <?php
  25. $Security = new cAdvancedSecurity();
  26. ?>
  27. <?php
  28. // Common page loading event (in userfn*.php)
  29. Page_Loading();
  30. ?>
  31. <?php
  32. // Page load event, used in current page
  33. Page_Load();
  34. ?>
  35. <?php
  36. $sLastUrl = $Security->LastUrl(); // Get Last Url
  37. if ($sLastUrl == "") $sLastUrl = "index.php";
  38. if (!$Security->IsLoggedIn()) $Security->AutoLogin();
  39. $Security->LoadUserLevel(); // Load User Level
  40. $bValidate = FALSE;
  41. if (@$_POST["submit"] <> "") {
  42. // Setup variables
  43. $sUsername = ew_StripSlashes(@$_POST["username"]);
  44. $sPassword = ew_StripSlashes(@$_POST["password"]);
  45. $sLoginType = strtolower(@$_POST["rememberme"]);
  46. $bValidate = TRUE;
  47. } else {
  48. if ($Security->IsLoggedIn()) {
  49. if (@$_SESSION[EW_SESSION_MESSAGE] == "") Page_Terminate($sLastUrl); // Return to last accessed page
  50. }
  51. }
  52. if ($bValidate) {
  53. $bValidPwd = FALSE;
  54. // Call loggin in event
  55. $bValidate = User_LoggingIn($sUsername, $sPassword);
  56. if ($bValidate) {
  57. $bValidPwd = $Security->ValidateUser($sUsername, $sPassword);
  58. if (!$bValidPwd) $_SESSION[EW_SESSION_MESSAGE] = "Incorrect user ID or password"; // Invalid User ID/password
  59. } else {
  60. if (@$_SESSION[EW_SESSION_MESSAGE] == "") $_SESSION[EW_SESSION_MESSAGE] = "Login cancelled"; // Login cancelled
  61. }
  62. if ($bValidPwd) {
  63. // Write cookies
  64. $expirytime = time() + 365*24*60*60; // Change cookie expiry time here
  65. if ($sLoginType == "a") { // Auto login
  66. setcookie(EW_PROJECT_NAME . '[AutoLogin]', "autologin", $expirytime); // Set up autologin cookies
  67. setcookie(EW_PROJECT_NAME . '[UserName]', $sUsername, $expirytime); // Set up user name cookies
  68. setcookie(EW_PROJECT_NAME . '[Password]', TEAencrypt($sPassword, EW_RANDOM_KEY), $expirytime); // Set up password cookies
  69. } elseif ($sLoginType == "u") { // Remember user name
  70. setcookie(EW_PROJECT_NAME . '[AutoLogin]', "rememberusername", $expirytime); // Set up remember user name cookies
  71. setcookie(EW_PROJECT_NAME . '[UserName]', $sUsername, $expirytime); // Set up user name cookies
  72. } else {
  73. setcookie(EW_PROJECT_NAME . '[AutoLogin]', "", $expirytime); // Clear autologin cookies
  74. }
  75. // Call loggedin event
  76. User_LoggedIn($sUsername);
  77. ew_WriteAuditTrailOnLogInOut("login");
  78. Page_Terminate($sLastUrl); // Return to last accessed url
  79. }
  80. }
  81. ?>
  82. <?php include "osj-header.php" ?>
  83. <script language="JavaScript" type="text/javascript">
  84. <!--
  85. // Write your client script here, no need to add script tags.
  86. // To include another .js script, use:
  87. // ew_ClientScriptInclude("my_javascript.js");
  88. //-->
  89. </script>
  90. <script type="text/javascript">
  91. <!--
  92. function ew_ValidateForm(fobj) {
  93. if (!ew_HasValue(fobj.username)) {
  94. if (!ew_OnError(fobj.username, "Please enter user ID"))
  95. return false;
  96. }
  97. if (!ew_HasValue(fobj.password)) {
  98. if (!ew_OnError(fobj.password, "Please enter password"))
  99. return false;
  100. }
  101. return true;
  102. }
  103. //-->
  104. </script>
  105. <p><span class="phpmaker">Login Page</span></p>
  106. <?php
  107. if (@$_SESSION[EW_SESSION_MESSAGE] <> "") {
  108. ?>
  109. <p><span class="ewmsg"><?php echo @$_SESSION[EW_SESSION_MESSAGE] ?></span></p>
  110. <?php
  111. $_SESSION[EW_SESSION_MESSAGE] = ""; // Clear message
  112. }
  113. ?>
  114. <form action="osj-login.php" method="post" onSubmit="return ew_ValidateForm(this);">
  115. <table border="0" cellspacing="0" cellpadding="4">
  116. <tr>
  117. <td><span class="phpmaker">User Name</span></td>
  118. <td><span class="phpmaker"><input type="text" name="username" id="username" size="20" value="<?php echo @$_COOKIE[EW_PROJECT_NAME]['UserName'] ?>"></span></td>
  119. </tr>
  120. <tr>
  121. <td><span class="phpmaker">Password</span></td>
  122. <td><span class="phpmaker"><input type="password" name="password" id="password" size="20"></span></td>
  123. </tr>
  124. <tr>
  125. <td>&nbsp;</td>
  126. <td><span class="phpmaker">
  127. <?php if (@$_COOKIE[EW_PROJECT_NAME]['AutoLogin'] == "autologin") { ?>
  128. <input type="radio" name="rememberme" id="rememberme" value="a" checked>Auto login until I logout explicitly<br><input type="radio" name="rememberme" id="rememberme" value="u">Save my user name<br><input type="radio" name="rememberme" id="rememberme" value="n">Always ask for my user name and password
  129. <?php } elseif (@$_COOKIE[EW_PROJECT_NAME]['AutoLogin'] == "rememberusername") { ?>
  130. <input type="radio" name="rememberme" id="rememberme" value="a">Auto login until I logout explicitly<br><input type="radio" name="rememberme" id="rememberme" value="u" checked>Save my user name<br><input type="radio" name="rememberme" id="rememberme" value="n">Always ask for my user name and password
  131. <?php } else { ?>
  132. <input type="radio" name="rememberme" id="rememberme" value="a">Auto login until I logout explicitly<br><input type="radio" name="rememberme" id="rememberme" value="u">Save my user name<br><input type="radio" name="rememberme" id="rememberme" value="n" checked>Always ask for my user name and password
  133. <?php } ?>
  134. </span></td>
  135. </tr>
  136. <tr>
  137. <td colspan="2" align="center"><span class="phpmaker"><input type="submit" name="submit" id="submit" value=" Login "></span></td>
  138. </tr>
  139. </table>
  140. </form>
  141. <br>
  142. <p><span class="phpmaker">
  143. <a href="osj-forgetpwd.php">Forgot Password</a>&nbsp;&nbsp;&nbsp;&nbsp;
  144. <a href="osj-register.php">Register</a>&nbsp;&nbsp;&nbsp;&nbsp;
  145. </span></p>
  146. <script language="JavaScript" type="text/javascript">
  147. <!--
  148. // Write your startup script here
  149. // document.write("page loaded");
  150. //-->
  151. </script>
  152. <?php include "osj-footer.php" ?>
  153. <?php
  154. // If control is passed here, simply terminate the page without redirect
  155. Page_Terminate();
  156. // -----------------------------------------------------------------
  157. // Subroutine Page_Terminate
  158. // - called when exit page
  159. // - clean up connection and objects
  160. // - if url specified, redirect to url, otherwise end response
  161. function Page_Terminate($url = "") {
  162. global $conn;
  163. // Page unload event, used in current page
  164. Page_Unload();
  165. // Global page unloaded event (in userfn*.php)
  166. Page_Unloaded();
  167. // Close Connection
  168. $conn->Close();
  169. // Go to url if specified
  170. if ($url <> "") {
  171. ob_end_clean();
  172. header("Location: $url");
  173. }
  174. exit();
  175. }
  176. ?>
  177. <?php
  178. // Page Load event
  179. function Page_Load() {
  180. //echo "Page Load";
  181. }
  182. // Page Unload event
  183. function Page_Unload() {
  184. //echo "Page Unload";
  185. }
  186. ?>
  187. <?php
  188. // User Logging In event
  189. function User_LoggingIn($usr, $pwd) {
  190. // Enter your code here
  191. // To cancel, set return value to False
  192. return TRUE;
  193. }
  194. // User Logged In event
  195. function User_LoggedIn($usr) {
  196. //echo "User Logged In";
  197. }
  198. ?>