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

/jf/PHPReportMaker/Templates/phprpt50.zip/Script/rpt-login.php

http://tinkerportal.googlecode.com/
PHP | 251 lines | 251 code | 0 blank | 0 comment | 0 complexity | c7999f8fd83d7dc7397e744cbbd55821 MD5 | raw file
Possible License(s): LGPL-2.1
  1. <!--##session currenttable##-->
  2. <!--##
  3. ' Set security table current
  4. If PROJ.SecTbl <> "" Then
  5. Set TABLE = DB.Tables(PROJ.SecTbl)
  6. sTblVar = TABLE.TblVar
  7. End If
  8. sLoginOption = PROJ.LoginOption
  9. arLoginOption = Split(sLoginOption,",")
  10. Set dLoginOption = CreateObject("Scripting.Dictionary")
  11. For i = 0 to UBound(arLoginOption)
  12. sOption = Trim(arLoginOption(i))
  13. If sOption = "AUTO" Or sOption = "USER" or sOption = "ASK" Then
  14. If Not dLoginOption.Exists(sOption) Then
  15. Call dLoginOption.Add(sOption, sOption)
  16. End If
  17. End If
  18. Next
  19. ##-->
  20. <!--##/session##-->
  21. <?php
  22. <!--##session phpmain##-->
  23. // Initialize common variables
  24. var $Username;
  25. var $LoginType;
  26. //
  27. // Page main
  28. //
  29. function Page_Main() {
  30. global $ReportLanguage;
  31. global $Security;
  32. $bValidPwd = FALSE;
  33. $this->Username = "";
  34. $sPassword = "";
  35. if (!$Security->IsLoggedIn()) $Security->AutoLogin(); // Auto login
  36. <!--## If bUserLevel Then ##-->
  37. $Security->LoadUserLevel(); // Load user level
  38. <!--## End If ##-->
  39. $sLastUrl = $Security->LastUrl();
  40. if ($sLastUrl == "")
  41. $sLastUrl = "<!--##=sFnDefault##-->";
  42. if (@$_POST["submit"] <> "") {
  43. $bValidPwd = FALSE;
  44. // Setup variables
  45. $this->Username = ewrpt_StripSlashes(@$_POST["username"]);
  46. $sPassword = ewrpt_StripSlashes(@$_POST["password"]);
  47. $this->LoginType = strtolower(@$_POST["rememberme"]);
  48. $bValidate = $this->ValidateForm($this->Username, $sPassword);
  49. if (!$bValidate)
  50. $this->setMessage($gsFormError);
  51. if ($bValidate) {
  52. if ($Security->ValidateUser($this->Username, $sPassword, FALSE)) {
  53. // Write cookies
  54. if ($this->LoginType == "a") {
  55. setcookie(EWRPT_PROJECT_VAR . '[AutoLogin]', "autologin", EWRPT_COOKIE_EXPIRY_TIME);
  56. setcookie(EWRPT_PROJECT_VAR . '[Username]', TEAencrypt($this->Username, EWRPT_RANDOM_KEY), EWRPT_COOKIE_EXPIRY_TIME);
  57. setcookie(EWRPT_PROJECT_VAR . '[Password]', TEAencrypt($sPassword, EWRPT_RANDOM_KEY), EWRPT_COOKIE_EXPIRY_TIME);
  58. setcookie(EWRPT_PROJECT_VAR . '[Checksum]', crc32(md5(EWRPT_RANDOM_KEY)), EWRPT_COOKIE_EXPIRY_TIME);
  59. } elseif ($this->LoginType == "u") {
  60. setcookie(EWRPT_PROJECT_VAR . '[AutoLogin]', "rememberusername", EWRPT_COOKIE_EXPIRY_TIME);
  61. setcookie(EWRPT_PROJECT_VAR . '[Username]', TEAencrypt($this->Username, EWRPT_RANDOM_KEY), EWRPT_COOKIE_EXPIRY_TIME);
  62. setcookie(EWRPT_PROJECT_VAR . '[Checksum]', crc32(md5(EWRPT_RANDOM_KEY)), EWRPT_COOKIE_EXPIRY_TIME);
  63. } else {
  64. setcookie(EWRPT_PROJECT_VAR . '[AutoLogin]', "", EWRPT_COOKIE_EXPIRY_TIME);
  65. }
  66. $_SESSION[EWRPT_SESSION_STATUS] = "login";
  67. $this->Page_Terminate($sLastUrl); // Return to last accessed page
  68. } else {
  69. $this->setMessage($ReportLanguage->Phrase("InvalidUidPwd"));
  70. }
  71. }
  72. } else {
  73. if ($Security->IsLoggedIn()) {
  74. if ($this->getMessage() == "")
  75. $this->Page_Terminate($sLastUrl); // Return to last accessed page
  76. }
  77. // Restore settings
  78. if (@$_COOKIE[EWRPT_PROJECT_VAR]['Checksum'] == strval(crc32(md5(EWRPT_RANDOM_KEY))))
  79. $this->Username = TEAdecrypt(@$_COOKIE[EWRPT_PROJECT_VAR]['Username'], EWRPT_RANDOM_KEY);
  80. if (@$_COOKIE[EWRPT_PROJECT_VAR]['AutoLogin'] == "autologin") {
  81. $this->LoginType = "a";
  82. } elseif (@$_COOKIE[EWRPT_PROJECT_VAR]['AutoLogin'] == "rememberusername") {
  83. $this->LoginType = "u";
  84. } else {
  85. $this->LoginType = "";
  86. }
  87. }
  88. }
  89. <!--##/session##-->
  90. ?>
  91. <!--##session login_htm##-->
  92. <script type="text/javascript" src="<!--##=ew_FolderPath("_js")##-->/ewrpt.js"></script>
  93. <script type="text/javascript">
  94. <!--
  95. var <!--##=sPageObj##--> = new ewrpt_Page("<!--##=sPageObj##-->");
  96. // extend page with ValidateForm function
  97. <!--##=sPageObj##-->.ValidateForm = function(fobj)
  98. {
  99. if (!this.ValidateRequired)
  100. return true; // ignore validation
  101. if (!ewrpt_HasValue(fobj.username))
  102. return ewrpt_OnError(fobj.username, ewLanguage.Phrase("EnterUid"));
  103. if (!ewrpt_HasValue(fobj.password))
  104. return ewrpt_OnError(fobj.password, ewLanguage.Phrase("EnterPwd"));
  105. <!--## If SYSTEMFUNCTIONS.ClientScriptExist("Other","Form_CustomValidate") Then ##-->
  106. // Call Form Custom Validate event
  107. if (!this.Form_CustomValidate(fobj)) return false;
  108. <!--## End If ##-->
  109. return true;
  110. }
  111. <!--## If SYSTEMFUNCTIONS.ClientScriptExist("Other","Form_CustomValidate") Then ##-->
  112. // extend page with Form_CustomValidate function
  113. <!--##=sPageObj##-->.Form_CustomValidate = <!--##~SYSTEMFUNCTIONS.GetClientScript("Other","Form_CustomValidate")##-->
  114. <!--## End If ##-->
  115. // requires js validation
  116. <?php if (EWRPT_CLIENT_VALIDATE) { ?>
  117. <!--##=sPageObj##-->.ValidateRequired = true;
  118. <?php } else { ?>
  119. <!--##=sPageObj##-->.ValidateRequired = false;
  120. <?php } ?>
  121. //-->
  122. </script>
  123. <p class="phpreportmaker ewTitle"><!--##@LoginPage##--></p>
  124. <!--##include rpt-phpcommon.php/common-message##-->
  125. <form action="<!--##=sFnLogin##-->" method="post" onsubmit="return <!--##=sPageObj##-->.ValidateForm(this);">
  126. <table border="0" cellspacing="0" cellpadding="4">
  127. <tr>
  128. <td><span class="phpreportmaker"><!--##@Username##--></span></td>
  129. <td><span class="phpreportmaker"><input type="text" name="username" size="20" value="<?php echo $<!--##=sPageObj##-->->Username ?>"></span></td>
  130. </tr>
  131. <tr>
  132. <td><span class="phpreportmaker"><!--##@Password##--></span></td>
  133. <td><span class="phpreportmaker"><input type="password" name="password" size="20"></span></td>
  134. </tr>
  135. <!--## If dLoginOption.Count > 1 Then ##-->
  136. <tr>
  137. <td>&nbsp;</td>
  138. <td><span class="phpreportmaker">
  139. <!--## If dLoginOption.Exists("AUTO") Then ##-->
  140. <label><input type="radio" name="rememberme" id="rememberme" value="a"<?php if ($<!--##=sPageObj##-->->LoginType == "a") { ?> checked="checked"<?php } ?> /><!--##@AutoLogin##--></label><br />
  141. <!--## End If ##-->
  142. <!--## If dLoginOption.Exists("USER") Then ##-->
  143. <label><input type="radio" name="rememberme" id="rememberme" value="u"<?php if ($<!--##=sPageObj##-->->LoginType == "u") { ?> checked="checked"<?php } ?> /><!--##@SaveUserName##--></label><br />
  144. <!--## End If ##-->
  145. <!--## If dLoginOption.Exists("ASK") Then ##-->
  146. <label><input type="radio" name="rememberme" id="rememberme" value=""<?php if ($<!--##=sPageObj##-->->LoginType == "") { ?> checked="checked"<?php } ?> /><!--##@AlwaysAsk##--></label><br />
  147. <!--## End If ##-->
  148. </span></td>
  149. </tr>
  150. <!--## End If ##-->
  151. <tr>
  152. <td colspan="2" align="center"><span class="phpreportmaker"><input type="submit" name="submit" value="<!--##@Login##-->"></span></td>
  153. </tr>
  154. </table>
  155. <!--## If dLoginOption.Count = 1 Then ##-->
  156. <!--## If dLoginOption.Exists("AUTO") Then ##-->
  157. <input type="hidden" name="rememberme" id="rememberme" value="a" />
  158. <!--## ElseIf dLoginOption.Exists("USER") Then ##-->
  159. <input type="hidden" name="rememberme" id="rememberme" value="u" />
  160. <!--## ElseIf dLoginOption.Exists("ASK") Then ##-->
  161. <input type="hidden" name="rememberme" id="rememberme" value="" />
  162. <!--## End If ##-->
  163. <!--## End If ##-->
  164. </form>
  165. <br />
  166. <!--##/session##-->
  167. <?php
  168. <!--##session phpfunction##-->
  169. //
  170. // Validate form
  171. //
  172. function ValidateForm($usr, $pwd) {
  173. global $ReportLanguage, $gsFormError;
  174. // Initialize form error message
  175. $gsFormError = "";
  176. // Check if validation required
  177. if (!EWRPT_SERVER_VALIDATE)
  178. return TRUE;
  179. if (trim($usr) == "") {
  180. $gsFormError .= ($gsFormError <> "") ? "<br />" : "";
  181. $gsFormError .= $ReportLanguage->Phrase("EnterUid");
  182. }
  183. if (trim($pwd) == "") {
  184. $gsFormError .= ($gsFormError <> "") ? "<br />" : "";
  185. $gsFormError .= $ReportLanguage->Phrase("EnterPwd");
  186. }
  187. // Return validate result
  188. $ValidateForm = ($gsFormError == "");
  189. <!--## If SYSTEMFUNCTIONS.ServerScriptExist("Other","Form_CustomValidate") Then ##-->
  190. // Call Form Custom Validate event
  191. $sFormCustomError = "";
  192. $ValidateForm = $ValidateForm && $this->Form_CustomValidate($sFormCustomError);
  193. if ($sFormCustomError <> "") {
  194. $gsFormError .= ($gsFormError <> "") ? "<br />" : "";
  195. $gsFormError .= $sFormCustomError;
  196. }
  197. <!--## End If ##-->
  198. return $ValidateForm;
  199. }
  200. <!--##/session##-->
  201. ?>
  202. <?php
  203. <!--##session phpevents##-->
  204. <!--##~SYSTEMFUNCTIONS.GetServerScript("Other","Form_CustomValidate")##-->
  205. <!--##/session##-->
  206. ?>