PageRenderTime 62ms CodeModel.GetById 24ms RepoModel.GetById 0ms app.codeStats 1ms

/provinceadd.php

https://bitbucket.org/joemarmatulac/ebutton
PHP | 1132 lines | 760 code | 157 blank | 215 comment | 161 complexity | 3386f796db233219f41b1d763a71989a MD5 | raw file
Possible License(s): LGPL-2.1
  1. <?php
  2. if (session_id() == "") session_start(); // Initialize Session data
  3. ob_start(); // Turn on output buffering
  4. ?>
  5. <?php include_once "ewcfg8.php" ?>
  6. <?php include_once "ewmysql8.php" ?>
  7. <?php include_once "phpfn8.php" ?>
  8. <?php include_once "provinceinfo.php" ?>
  9. <?php include_once "userinfo.php" ?>
  10. <?php include_once "userfn8.php" ?>
  11. <?php ew_Header(FALSE) ?>
  12. <?php
  13. // Create page object
  14. $province_add = new cprovince_add();
  15. $Page =& $province_add;
  16. // Page init
  17. $province_add->Page_Init();
  18. // Page main
  19. $province_add->Page_Main();
  20. ?>
  21. <?php include_once "header.php" ?>
  22. <script type="text/javascript">
  23. <!--
  24. // Create page object
  25. var province_add = new ew_Page("province_add");
  26. // page properties
  27. province_add.PageID = "add"; // page ID
  28. province_add.FormID = "fprovinceadd"; // form ID
  29. var EW_PAGE_ID = province_add.PageID; // for backward compatibility
  30. // extend page with ValidateForm function
  31. province_add.ValidateForm = function(fobj) {
  32. ew_PostAutoSuggest(fobj);
  33. if (!this.ValidateRequired)
  34. return true; // ignore validation
  35. if (fobj.a_confirm && fobj.a_confirm.value == "F")
  36. return true;
  37. var i, elm, aelm, infix;
  38. var rowcnt = 1;
  39. for (i=0; i<rowcnt; i++) {
  40. infix = "";
  41. elm = fobj.elements["x" + infix + "_province_1"];
  42. if (elm && !ew_HasValue(elm))
  43. return ew_OnError(this, elm, ewLanguage.Phrase("EnterRequiredField") + " - <?php echo ew_JsEncode2($province->province_1->FldCaption()) ?>");
  44. /*
  45. elm = fobj.elements["x" + infix + "_provcontact"];
  46. if (elm && !ew_HasValue(elm))
  47. return ew_OnError(this, elm, ewLanguage.Phrase("EnterRequiredField") + " - <?php echo ew_JsEncode2($province->provcontact->FldCaption()) ?>");
  48. elm = fobj.elements["x" + infix + "_provhalladdress"];
  49. if (elm && !ew_HasValue(elm))
  50. return ew_OnError(this, elm, ewLanguage.Phrase("EnterRequiredField") + " - <?php echo ew_JsEncode2($province->provhalladdress->FldCaption()) ?>");
  51. elm = fobj.elements["x" + infix + "_provtelno"];
  52. if (elm && !ew_HasValue(elm))
  53. return ew_OnError(this, elm, ewLanguage.Phrase("EnterRequiredField") + " - <?php echo ew_JsEncode2($province->provtelno->FldCaption()) ?>");
  54. elm = fobj.elements["x" + infix + "_provlatitude"];
  55. if (elm && !ew_HasValue(elm))
  56. return ew_OnError(this, elm, ewLanguage.Phrase("EnterRequiredField") + " - <?php echo ew_JsEncode2($province->provlatitude->FldCaption()) ?>");
  57. elm = fobj.elements["x" + infix + "_provlatitude"];
  58. if (elm && !ew_CheckNumber(elm.value))
  59. return ew_OnError(this, elm, "<?php echo ew_JsEncode2($province->provlatitude->FldErrMsg()) ?>");
  60. elm = fobj.elements["x" + infix + "_provlongitude"];
  61. if (elm && !ew_HasValue(elm))
  62. return ew_OnError(this, elm, ewLanguage.Phrase("EnterRequiredField") + " - <?php echo ew_JsEncode2($province->provlongitude->FldCaption()) ?>");
  63. elm = fobj.elements["x" + infix + "_provlongitude"];
  64. if (elm && !ew_CheckNumber(elm.value))
  65. return ew_OnError(this, elm, "<?php echo ew_JsEncode2($province->provlongitude->FldErrMsg()) ?>");
  66. elm = fobj.elements["x" + infix + "_provaltitude"];
  67. if (elm && !ew_HasValue(elm))
  68. return ew_OnError(this, elm, ewLanguage.Phrase("EnterRequiredField") + " - <?php echo ew_JsEncode2($province->provaltitude->FldCaption()) ?>");
  69. elm = fobj.elements["x" + infix + "_provaltitude"];
  70. if (elm && !ew_CheckNumber(elm.value))
  71. return ew_OnError(this, elm, "<?php echo ew_JsEncode2($province->provaltitude->FldErrMsg()) ?>");
  72. elm = fobj.elements["x" + infix + "_countryid"];
  73. if (elm && !ew_HasValue(elm))
  74. return ew_OnError(this, elm, ewLanguage.Phrase("EnterRequiredField") + " - <?php echo ew_JsEncode2($province->countryid->FldCaption()) ?>");
  75. elm = fobj.elements["x" + infix + "_provincecode"];
  76. if (elm && !ew_HasValue(elm))
  77. return ew_OnError(this, elm, ewLanguage.Phrase("EnterRequiredField") + " - <?php echo ew_JsEncode2($province->provincecode->FldCaption()) ?>");
  78. elm = fobj.elements["x" + infix + "_provincecode"];
  79. if (elm && !ew_CheckInteger(elm.value))
  80. return ew_OnError(this, elm, "<?php echo ew_JsEncode2($province->provincecode->FldErrMsg()) ?>");
  81. */
  82. // Set up row object
  83. var row = {};
  84. row["index"] = infix;
  85. for (var j = 0; j < fobj.elements.length; j++) {
  86. var el = fobj.elements[j];
  87. var len = infix.length + 2;
  88. if (el.name.substr(0, len) == "x" + infix + "_") {
  89. var elname = "x_" + el.name.substr(len);
  90. if (ewLang.isObject(row[elname])) { // already exists
  91. if (ewLang.isArray(row[elname])) {
  92. row[elname][row[elname].length] = el; // add to array
  93. } else {
  94. row[elname] = [row[elname], el]; // convert to array
  95. }
  96. } else {
  97. row[elname] = el;
  98. }
  99. }
  100. }
  101. fobj.row = row;
  102. // Call Form Custom Validate event
  103. if (!this.Form_CustomValidate(fobj)) return false;
  104. }
  105. // Process detail page
  106. var detailpage = (fobj.detailpage) ? fobj.detailpage.value : "";
  107. if (detailpage != "") {
  108. return eval(detailpage+".ValidateForm(fobj)");
  109. }
  110. return true;
  111. }
  112. // extend page with Form_CustomValidate function
  113. province_add.Form_CustomValidate =
  114. function(fobj) { // DO NOT CHANGE THIS LINE!
  115. // Your custom validation code here, return false if invalid.
  116. return true;
  117. }
  118. <?php if (EW_CLIENT_VALIDATE) { ?>
  119. province_add.ValidateRequired = true; // uses JavaScript validation
  120. <?php } else { ?>
  121. province_add.ValidateRequired = false; // no JavaScript validation
  122. <?php } ?>
  123. //-->
  124. </script>
  125. <script language="JavaScript" type="text/javascript">
  126. <!--
  127. // Write your client script here, no need to add script tags.
  128. //-->
  129. </script>
  130. <p class="phpmaker ewTitle"><?php echo $Language->Phrase("Add") ?>&nbsp;<?php echo $Language->Phrase("TblTypeTABLE") ?><?php echo $province->TableCaption() ?></p>
  131. <p class="phpmaker"><a href="<?php echo $province->getReturnUrl() ?>"><?php echo $Language->Phrase("GoBack") ?></a></p>
  132. <?php $province_add->ShowPageHeader(); ?>
  133. <?php
  134. $province_add->ShowMessage();
  135. ?>
  136. <form name="fprovinceadd" id="fprovinceadd" action="<?php echo ew_CurrentPage() ?>" method="post" onsubmit="return province_add.ValidateForm(this);">
  137. <p>
  138. <input type="hidden" name="t" id="t" value="province">
  139. <input type="hidden" name="a_add" id="a_add" value="A">
  140. <table cellspacing="0" class="ewGrid"><tr><td class="ewGridContent">
  141. <div class="ewGridMiddlePanel">
  142. <table cellspacing="0" class="ewTable">
  143. <?php if ($province->province_1->Visible) { // province ?>
  144. <tr id="r_province_1"<?php echo $province->RowAttributes() ?>>
  145. <td class="ewTableHeader"><?php echo $province->province_1->FldCaption() ?><?php echo $Language->Phrase("FieldRequiredIndicator") ?></td>
  146. <td<?php echo $province->province_1->CellAttributes() ?>><span id="el_province_1">
  147. <input type="text" name="x_province_1" id="x_province_1" size="30" maxlength="60" value="<?php echo $province->province_1->EditValue ?>"<?php echo $province->province_1->EditAttributes() ?>>
  148. </span><?php echo $province->province_1->CustomMsg ?></td>
  149. </tr>
  150. <?php } ?>
  151. <?php if ($province->provcontact->Visible) { // provcontact ?>
  152. <tr id="r_provcontact"<?php echo $province->RowAttributes() ?>>
  153. <td class="ewTableHeader"><?php echo $province->provcontact->FldCaption() ?></td>
  154. <td<?php echo $province->provcontact->CellAttributes() ?>><span id="el_provcontact">
  155. <input type="text" name="x_provcontact" id="x_provcontact" size="30" maxlength="20" value="<?php echo $province->provcontact->EditValue ?>"<?php echo $province->provcontact->EditAttributes() ?>>
  156. </span><?php echo $province->provcontact->CustomMsg ?></td>
  157. </tr>
  158. <?php } ?>
  159. <?php if ($province->provhalladdress->Visible) { // provhalladdress ?>
  160. <tr id="r_provhalladdress"<?php echo $province->RowAttributes() ?>>
  161. <td class="ewTableHeader"><?php echo $province->provhalladdress->FldCaption() ?></td>
  162. <td<?php echo $province->provhalladdress->CellAttributes() ?>><span id="el_provhalladdress">
  163. <textarea name="x_provhalladdress" id="x_provhalladdress" cols="35" rows="4"<?php echo $province->provhalladdress->EditAttributes() ?>><?php echo $province->provhalladdress->EditValue ?></textarea>
  164. </span><?php echo $province->provhalladdress->CustomMsg ?></td>
  165. </tr>
  166. <?php } ?>
  167. <?php if ($province->provtelno->Visible) { // provtelno ?>
  168. <tr id="r_provtelno"<?php echo $province->RowAttributes() ?>>
  169. <td class="ewTableHeader"><?php echo $province->provtelno->FldCaption() ?></td>
  170. <td<?php echo $province->provtelno->CellAttributes() ?>><span id="el_provtelno">
  171. <input type="text" name="x_provtelno" id="x_provtelno" size="30" maxlength="20" value="<?php echo $province->provtelno->EditValue ?>"<?php echo $province->provtelno->EditAttributes() ?>>
  172. </span><?php echo $province->provtelno->CustomMsg ?></td>
  173. </tr>
  174. <?php } ?>
  175. <?php if ($province->provlatitude->Visible) { // provlatitude ?>
  176. <tr id="r_provlatitude"<?php echo $province->RowAttributes() ?>>
  177. <td class="ewTableHeader"><?php echo $province->provlatitude->FldCaption() ?></td>
  178. <td<?php echo $province->provlatitude->CellAttributes() ?>><span id="el_provlatitude">
  179. <input type="text" name="x_provlatitude" id="x_provlatitude" size="30" value="<?php echo $province->provlatitude->EditValue ?>"<?php echo $province->provlatitude->EditAttributes() ?>>
  180. </span><?php echo $province->provlatitude->CustomMsg ?></td>
  181. </tr>
  182. <?php } ?>
  183. <?php if ($province->provlongitude->Visible) { // provlongitude ?>
  184. <tr id="r_provlongitude"<?php echo $province->RowAttributes() ?>>
  185. <td class="ewTableHeader"><?php echo $province->provlongitude->FldCaption() ?></td>
  186. <td<?php echo $province->provlongitude->CellAttributes() ?>><span id="el_provlongitude">
  187. <input type="text" name="x_provlongitude" id="x_provlongitude" size="30" value="<?php echo $province->provlongitude->EditValue ?>"<?php echo $province->provlongitude->EditAttributes() ?>>
  188. </span><?php echo $province->provlongitude->CustomMsg ?></td>
  189. </tr>
  190. <?php } ?>
  191. <?php if ($province->provaltitude->Visible) { // provaltitude ?>
  192. <tr id="r_provaltitude"<?php echo $province->RowAttributes() ?>>
  193. <td class="ewTableHeader"><?php echo $province->provaltitude->FldCaption() ?></td>
  194. <td<?php echo $province->provaltitude->CellAttributes() ?>><span id="el_provaltitude">
  195. <input type="text" name="x_provaltitude" id="x_provaltitude" size="30" value="<?php echo $province->provaltitude->EditValue ?>"<?php echo $province->provaltitude->EditAttributes() ?>>
  196. </span><?php echo $province->provaltitude->CustomMsg ?></td>
  197. </tr>
  198. <?php } ?>
  199. <?php if ($province->countryid->Visible) { // countryid ?>
  200. <tr id="r_countryid"<?php echo $province->RowAttributes() ?>>
  201. <td class="ewTableHeader"><?php echo $province->countryid->FldCaption() ?></td>
  202. <td<?php echo $province->countryid->CellAttributes() ?>><span id="el_countryid">
  203. <select id="x_countryid" name="x_countryid"<?php echo $province->countryid->EditAttributes() ?>>
  204. <?php
  205. if (is_array($province->countryid->EditValue)) {
  206. $arwrk = $province->countryid->EditValue;
  207. $rowswrk = count($arwrk);
  208. $emptywrk = TRUE;
  209. for ($rowcntwrk = 0; $rowcntwrk < $rowswrk; $rowcntwrk++) {
  210. $selwrk = (strval($province->countryid->CurrentValue) == strval($arwrk[$rowcntwrk][0])) ? " selected=\"selected\"" : "";
  211. if ($selwrk <> "") $emptywrk = FALSE;
  212. ?>
  213. <option value="<?php echo ew_HtmlEncode($arwrk[$rowcntwrk][0]) ?>"<?php echo $selwrk ?>>
  214. <?php echo $arwrk[$rowcntwrk][1] ?>
  215. </option>
  216. <?php
  217. }
  218. }
  219. ?>
  220. </select>
  221. </span><?php echo $province->countryid->CustomMsg ?></td>
  222. </tr>
  223. <?php } ?>
  224. </table>
  225. </div>
  226. </td></tr></table>
  227. <p>
  228. <input type="submit" name="btnAction" id="btnAction" value="<?php echo ew_BtnCaption($Language->Phrase("AddBtn")) ?>">
  229. </form>
  230. <?php
  231. $province_add->ShowPageFooter();
  232. if (EW_DEBUG_ENABLED)
  233. echo ew_DebugMsg();
  234. ?>
  235. <script language="JavaScript" type="text/javascript">
  236. <!--
  237. // Write your table-specific startup script here
  238. // document.write("page loaded");
  239. //-->
  240. </script>
  241. <?php include_once "footer.php" ?>
  242. <?php
  243. $province_add->Page_Terminate();
  244. ?>
  245. <?php
  246. //
  247. // Page class
  248. //
  249. class cprovince_add {
  250. // Page ID
  251. var $PageID = 'add';
  252. // Table name
  253. var $TableName = 'province';
  254. // Page object name
  255. var $PageObjName = 'province_add';
  256. // Page name
  257. function PageName() {
  258. return ew_CurrentPage();
  259. }
  260. // Page URL
  261. function PageUrl() {
  262. $PageUrl = ew_CurrentPage() . "?";
  263. global $province;
  264. if ($province->UseTokenInUrl) $PageUrl .= "t=" . $province->TableVar . "&"; // Add page token
  265. return $PageUrl;
  266. }
  267. // Message
  268. function getMessage() {
  269. return @$_SESSION[EW_SESSION_MESSAGE];
  270. }
  271. function setMessage($v) {
  272. ew_AddMessage($_SESSION[EW_SESSION_MESSAGE], $v);
  273. }
  274. function getFailureMessage() {
  275. return @$_SESSION[EW_SESSION_FAILURE_MESSAGE];
  276. }
  277. function setFailureMessage($v) {
  278. ew_AddMessage($_SESSION[EW_SESSION_FAILURE_MESSAGE], $v);
  279. }
  280. function getSuccessMessage() {
  281. return @$_SESSION[EW_SESSION_SUCCESS_MESSAGE];
  282. }
  283. function setSuccessMessage($v) {
  284. ew_AddMessage($_SESSION[EW_SESSION_SUCCESS_MESSAGE], $v);
  285. }
  286. // Show message
  287. function ShowMessage() {
  288. $sMessage = $this->getMessage();
  289. $this->Message_Showing($sMessage, "");
  290. if ($sMessage <> "") { // Message in Session, display
  291. echo "<p class=\"ewMessage\">" . $sMessage . "</p>";
  292. $_SESSION[EW_SESSION_MESSAGE] = ""; // Clear message in Session
  293. }
  294. // Success message
  295. $sSuccessMessage = $this->getSuccessMessage();
  296. $this->Message_Showing($sSuccessMessage, "success");
  297. if ($sSuccessMessage <> "") { // Message in Session, display
  298. echo "<p class=\"ewSuccessMessage\">" . $sSuccessMessage . "</p>";
  299. $_SESSION[EW_SESSION_SUCCESS_MESSAGE] = ""; // Clear message in Session
  300. }
  301. // Failure message
  302. $sErrorMessage = $this->getFailureMessage();
  303. $this->Message_Showing($sErrorMessage, "failure");
  304. if ($sErrorMessage <> "") { // Message in Session, display
  305. echo "<p class=\"ewErrorMessage\">" . $sErrorMessage . "</p>";
  306. $_SESSION[EW_SESSION_FAILURE_MESSAGE] = ""; // Clear message in Session
  307. }
  308. }
  309. var $PageHeader;
  310. var $PageFooter;
  311. // Show Page Header
  312. function ShowPageHeader() {
  313. $sHeader = $this->PageHeader;
  314. $this->Page_DataRendering($sHeader);
  315. if ($sHeader <> "") { // Header exists, display
  316. echo "<p class=\"phpmaker\">" . $sHeader . "</p>";
  317. }
  318. }
  319. // Show Page Footer
  320. function ShowPageFooter() {
  321. $sFooter = $this->PageFooter;
  322. $this->Page_DataRendered($sFooter);
  323. if ($sFooter <> "") { // Fotoer exists, display
  324. echo "<p class=\"phpmaker\">" . $sFooter . "</p>";
  325. }
  326. }
  327. // Validate page request
  328. function IsPageRequest() {
  329. global $objForm, $province;
  330. if ($province->UseTokenInUrl) {
  331. if ($objForm)
  332. return ($province->TableVar == $objForm->GetValue("t"));
  333. if (@$_GET["t"] <> "")
  334. return ($province->TableVar == $_GET["t"]);
  335. } else {
  336. return TRUE;
  337. }
  338. }
  339. //
  340. // Page class constructor
  341. //
  342. function cprovince_add() {
  343. global $conn, $Language;
  344. // Language object
  345. if (!isset($Language)) $Language = new cLanguage();
  346. // Table object (province)
  347. if (!isset($GLOBALS["province"])) {
  348. $GLOBALS["province"] = new cprovince();
  349. $GLOBALS["Table"] =& $GLOBALS["province"];
  350. }
  351. // Table object (user)
  352. if (!isset($GLOBALS['user'])) $GLOBALS['user'] = new cuser();
  353. // Page ID
  354. if (!defined("EW_PAGE_ID"))
  355. define("EW_PAGE_ID", 'add', TRUE);
  356. // Table name (for backward compatibility)
  357. if (!defined("EW_TABLE_NAME"))
  358. define("EW_TABLE_NAME", 'province', TRUE);
  359. // Start timer
  360. if (!isset($GLOBALS["gTimer"])) $GLOBALS["gTimer"] = new cTimer();
  361. // Open connection
  362. if (!isset($conn)) $conn = ew_Connect();
  363. }
  364. //
  365. // Page_Init
  366. //
  367. function Page_Init() {
  368. global $gsExport, $gsExportFile, $UserProfile, $Language, $Security, $objForm;
  369. global $province;
  370. // Security
  371. $Security = new cAdvancedSecurity();
  372. if (!$Security->IsLoggedIn()) $Security->AutoLogin();
  373. if (!$Security->IsLoggedIn()) {
  374. $Security->SaveLastUrl();
  375. $this->Page_Terminate("login.php");
  376. }
  377. $Security->TablePermission_Loading();
  378. $Security->LoadCurrentUserLevel($this->TableName);
  379. $Security->TablePermission_Loaded();
  380. if (!$Security->IsLoggedIn()) {
  381. $Security->SaveLastUrl();
  382. $this->Page_Terminate("login.php");
  383. }
  384. if (!$Security->CanAdd()) {
  385. $Security->SaveLastUrl();
  386. $this->Page_Terminate("provincelist.php");
  387. }
  388. // Create form object
  389. $objForm = new cFormObj();
  390. // Global Page Loading event (in userfn*.php)
  391. Page_Loading();
  392. // Page Load event
  393. $this->Page_Load();
  394. }
  395. //
  396. // Page_Terminate
  397. //
  398. function Page_Terminate($url = "") {
  399. global $conn;
  400. // Page Unload event
  401. $this->Page_Unload();
  402. // Global Page Unloaded event (in userfn*.php)
  403. Page_Unloaded();
  404. $this->Page_Redirecting($url);
  405. // Close connection
  406. $conn->Close();
  407. // Go to URL if specified
  408. if ($url <> "") {
  409. if (!EW_DEBUG_ENABLED && ob_get_length())
  410. ob_end_clean();
  411. header("Location: " . $url);
  412. }
  413. exit();
  414. }
  415. var $DbMasterFilter = "";
  416. var $DbDetailFilter = "";
  417. var $Priv = 0;
  418. var $OldRecordset;
  419. var $CopyRecord;
  420. //
  421. // Page main
  422. //
  423. function Page_Main() {
  424. global $objForm, $Language, $gsFormError, $province;
  425. // Process form if post back
  426. if (@$_POST["a_add"] <> "") {
  427. $province->CurrentAction = $_POST["a_add"]; // Get form action
  428. $this->CopyRecord = $this->LoadOldRecord(); // Load old recordset
  429. $this->LoadFormValues(); // Load form values
  430. // Validate form
  431. if (!$this->ValidateForm()) {
  432. $province->CurrentAction = "I"; // Form error, reset action
  433. $province->EventCancelled = TRUE; // Event cancelled
  434. $this->RestoreFormValues(); // Restore form values
  435. $this->setFailureMessage($gsFormError);
  436. }
  437. } else { // Not post back
  438. // Load key values from QueryString
  439. $this->CopyRecord = TRUE;
  440. if (@$_GET["id"] != "") {
  441. $province->id->setQueryStringValue($_GET["id"]);
  442. $province->setKey("id", $province->id->CurrentValue); // Set up key
  443. } else {
  444. $province->setKey("id", ""); // Clear key
  445. $this->CopyRecord = FALSE;
  446. }
  447. if ($this->CopyRecord) {
  448. $province->CurrentAction = "C"; // Copy record
  449. } else {
  450. $province->CurrentAction = "I"; // Display blank record
  451. $this->LoadDefaultValues(); // Load default values
  452. }
  453. }
  454. // Perform action based on action code
  455. switch ($province->CurrentAction) {
  456. case "I": // Blank record, no action required
  457. break;
  458. case "C": // Copy an existing record
  459. if (!$this->LoadRow()) { // Load record based on key
  460. $this->setFailureMessage($Language->Phrase("NoRecord")); // No record found
  461. $this->Page_Terminate("provincelist.php"); // No matching record, return to list
  462. }
  463. break;
  464. case "A": // ' Add new record
  465. $province->SendEmail = TRUE; // Send email on add success
  466. if ($this->AddRow($this->OldRecordset)) { // Add successful
  467. $this->setSuccessMessage($Language->Phrase("AddSuccess")); // Set up success message
  468. $sReturnUrl = $province->getReturnUrl();
  469. if (ew_GetPageName($sReturnUrl) == "provinceview.php")
  470. $sReturnUrl = $province->ViewUrl(); // View paging, return to view page with keyurl directly
  471. $this->Page_Terminate($sReturnUrl); // Clean up and return
  472. } else {
  473. $province->EventCancelled = TRUE; // Event cancelled
  474. $this->RestoreFormValues(); // Add failed, restore form values
  475. }
  476. }
  477. // Render row based on row type
  478. $province->RowType = EW_ROWTYPE_ADD; // Render add type
  479. // Render row
  480. $province->ResetAttrs();
  481. $this->RenderRow();
  482. }
  483. // Get upload files
  484. function GetUploadFiles() {
  485. global $objForm, $province;
  486. // Get upload data
  487. $index = $objForm->Index; // Save form index
  488. $objForm->Index = 0;
  489. $confirmPage = (strval($objForm->GetValue("a_confirm")) <> "");
  490. $objForm->Index = $index; // Restore form index
  491. }
  492. // Load default values
  493. function LoadDefaultValues() {
  494. global $province;
  495. $province->province_1->CurrentValue = NULL;
  496. $province->province_1->OldValue = $province->province_1->CurrentValue;
  497. $province->provcontact->CurrentValue = NULL;
  498. $province->provcontact->OldValue = $province->provcontact->CurrentValue;
  499. $province->provhalladdress->CurrentValue = NULL;
  500. $province->provhalladdress->OldValue = $province->provhalladdress->CurrentValue;
  501. $province->provtelno->CurrentValue = NULL;
  502. $province->provtelno->OldValue = $province->provtelno->CurrentValue;
  503. $province->provlatitude->CurrentValue = NULL;
  504. $province->provlatitude->OldValue = $province->provlatitude->CurrentValue;
  505. $province->provlongitude->CurrentValue = NULL;
  506. $province->provlongitude->OldValue = $province->provlongitude->CurrentValue;
  507. $province->provaltitude->CurrentValue = NULL;
  508. $province->provaltitude->OldValue = $province->provaltitude->CurrentValue;
  509. $province->countryid->CurrentValue = NULL;
  510. $province->countryid->OldValue = $province->countryid->CurrentValue;
  511. $province->provincecode->CurrentValue = NULL;
  512. $province->provincecode->OldValue = $province->provincecode->CurrentValue;
  513. }
  514. // Load form values
  515. function LoadFormValues() {
  516. // Load from form
  517. global $objForm, $province;
  518. if (!$province->province_1->FldIsDetailKey) {
  519. $province->province_1->setFormValue($objForm->GetValue("x_province_1"));
  520. }
  521. if (!$province->provcontact->FldIsDetailKey) {
  522. $province->provcontact->setFormValue($objForm->GetValue("x_provcontact"));
  523. }
  524. if (!$province->provhalladdress->FldIsDetailKey) {
  525. $province->provhalladdress->setFormValue($objForm->GetValue("x_provhalladdress"));
  526. }
  527. if (!$province->provtelno->FldIsDetailKey) {
  528. $province->provtelno->setFormValue($objForm->GetValue("x_provtelno"));
  529. }
  530. if (!$province->provlatitude->FldIsDetailKey) {
  531. $province->provlatitude->setFormValue($objForm->GetValue("x_provlatitude"));
  532. }
  533. if (!$province->provlongitude->FldIsDetailKey) {
  534. $province->provlongitude->setFormValue($objForm->GetValue("x_provlongitude"));
  535. }
  536. if (!$province->provaltitude->FldIsDetailKey) {
  537. $province->provaltitude->setFormValue($objForm->GetValue("x_provaltitude"));
  538. }
  539. if (!$province->countryid->FldIsDetailKey) {
  540. $province->countryid->setFormValue($objForm->GetValue("x_countryid"));
  541. }
  542. if (!$province->provincecode->FldIsDetailKey) {
  543. $province->provincecode->setFormValue($objForm->GetValue("x_provincecode"));
  544. }
  545. }
  546. // Restore form values
  547. function RestoreFormValues() {
  548. global $objForm, $province;
  549. $this->LoadOldRecord();
  550. $province->province_1->CurrentValue = $province->province_1->FormValue;
  551. $province->provcontact->CurrentValue = $province->provcontact->FormValue;
  552. $province->provhalladdress->CurrentValue = $province->provhalladdress->FormValue;
  553. $province->provtelno->CurrentValue = $province->provtelno->FormValue;
  554. $province->provlatitude->CurrentValue = $province->provlatitude->FormValue;
  555. $province->provlongitude->CurrentValue = $province->provlongitude->FormValue;
  556. $province->provaltitude->CurrentValue = $province->provaltitude->FormValue;
  557. $province->countryid->CurrentValue = $province->countryid->FormValue;
  558. $province->provincecode->CurrentValue = $province->provincecode->FormValue;
  559. }
  560. // Load row based on key values
  561. function LoadRow() {
  562. global $conn, $Security, $province;
  563. $sFilter = $province->KeyFilter();
  564. // Call Row Selecting event
  565. $province->Row_Selecting($sFilter);
  566. // Load SQL based on filter
  567. $province->CurrentFilter = $sFilter;
  568. $sSql = $province->SQL();
  569. $res = FALSE;
  570. $rs = ew_LoadRecordset($sSql);
  571. if ($rs && !$rs->EOF) {
  572. $res = TRUE;
  573. $this->LoadRowValues($rs); // Load row values
  574. $rs->Close();
  575. }
  576. return $res;
  577. }
  578. // Load row values from recordset
  579. function LoadRowValues(&$rs) {
  580. global $conn, $province;
  581. if (!$rs || $rs->EOF) return;
  582. // Call Row Selected event
  583. $row =& $rs->fields;
  584. $province->Row_Selected($row);
  585. $province->id->setDbValue($rs->fields('id'));
  586. $province->province_1->setDbValue($rs->fields('province'));
  587. $province->provcontact->setDbValue($rs->fields('provcontact'));
  588. $province->provhalladdress->setDbValue($rs->fields('provhalladdress'));
  589. $province->provtelno->setDbValue($rs->fields('provtelno'));
  590. $province->provlatitude->setDbValue($rs->fields('provlatitude'));
  591. $province->provlongitude->setDbValue($rs->fields('provlongitude'));
  592. $province->provaltitude->setDbValue($rs->fields('provaltitude'));
  593. $province->countryid->setDbValue($rs->fields('countryid'));
  594. $province->zuserid->setDbValue($rs->fields('userid'));
  595. $province->timestamp->setDbValue($rs->fields('timestamp'));
  596. $province->provincecode->setDbValue($rs->fields('provincecode'));
  597. }
  598. // Load old record
  599. function LoadOldRecord() {
  600. global $province;
  601. // Load key values from Session
  602. $bValidKey = TRUE;
  603. if (strval($province->getKey("id")) <> "")
  604. $province->id->CurrentValue = $province->getKey("id"); // id
  605. else
  606. $bValidKey = FALSE;
  607. // Load old recordset
  608. if ($bValidKey) {
  609. $province->CurrentFilter = $province->KeyFilter();
  610. $sSql = $province->SQL();
  611. $this->OldRecordset = ew_LoadRecordset($sSql);
  612. $this->LoadRowValues($this->OldRecordset); // Load row values
  613. } else {
  614. $this->OldRecordset = NULL;
  615. }
  616. return $bValidKey;
  617. }
  618. // Render row values based on field settings
  619. function RenderRow() {
  620. global $conn, $Security, $Language, $province;
  621. // Initialize URLs
  622. // Call Row_Rendering event
  623. $province->Row_Rendering();
  624. // Common render codes for all row types
  625. // id
  626. // province
  627. // provcontact
  628. // provhalladdress
  629. // provtelno
  630. // provlatitude
  631. // provlongitude
  632. // provaltitude
  633. // countryid
  634. // userid
  635. // timestamp
  636. // provincecode
  637. if ($province->RowType == EW_ROWTYPE_VIEW) { // View row
  638. // id
  639. $province->id->ViewValue = $province->id->CurrentValue;
  640. $province->id->ViewCustomAttributes = "";
  641. // province
  642. $province->province_1->ViewValue = $province->province_1->CurrentValue;
  643. $province->province_1->ViewCustomAttributes = "";
  644. // provcontact
  645. $province->provcontact->ViewValue = $province->provcontact->CurrentValue;
  646. $province->provcontact->ViewCustomAttributes = "";
  647. // provhalladdress
  648. $province->provhalladdress->ViewValue = $province->provhalladdress->CurrentValue;
  649. $province->provhalladdress->ViewCustomAttributes = "";
  650. // provtelno
  651. $province->provtelno->ViewValue = $province->provtelno->CurrentValue;
  652. $province->provtelno->ViewCustomAttributes = "";
  653. // provlatitude
  654. $province->provlatitude->ViewValue = $province->provlatitude->CurrentValue;
  655. $province->provlatitude->ViewCustomAttributes = "";
  656. // provlongitude
  657. $province->provlongitude->ViewValue = $province->provlongitude->CurrentValue;
  658. $province->provlongitude->ViewCustomAttributes = "";
  659. // provaltitude
  660. $province->provaltitude->ViewValue = $province->provaltitude->CurrentValue;
  661. $province->provaltitude->ViewCustomAttributes = "";
  662. // countryid
  663. if (strval($province->countryid->CurrentValue) <> "") {
  664. $sFilterWrk = "`id` = " . ew_AdjustSql($province->countryid->CurrentValue) . "";
  665. $sSqlWrk = "SELECT `country` FROM `country`";
  666. $sWhereWrk = "";
  667. if ($sFilterWrk <> "") {
  668. if ($sWhereWrk <> "") $sWhereWrk .= " AND ";
  669. $sWhereWrk .= "(" . $sFilterWrk . ")";
  670. }
  671. if ($sWhereWrk <> "") $sSqlWrk .= " WHERE " . $sWhereWrk;
  672. $rswrk = $conn->Execute($sSqlWrk);
  673. if ($rswrk && !$rswrk->EOF) { // Lookup values found
  674. $province->countryid->ViewValue = $rswrk->fields('country');
  675. $rswrk->Close();
  676. } else {
  677. $province->countryid->ViewValue = $province->countryid->CurrentValue;
  678. }
  679. } else {
  680. $province->countryid->ViewValue = NULL;
  681. }
  682. $province->countryid->ViewCustomAttributes = "";
  683. // userid
  684. $province->zuserid->ViewValue = $province->zuserid->CurrentValue;
  685. $province->zuserid->ViewCustomAttributes = "";
  686. // timestamp
  687. $province->timestamp->ViewValue = $province->timestamp->CurrentValue;
  688. $province->timestamp->ViewValue = ew_FormatDateTime($province->timestamp->ViewValue, 9);
  689. $province->timestamp->ViewCustomAttributes = "";
  690. // provincecode
  691. $province->provincecode->ViewValue = $province->provincecode->CurrentValue;
  692. $province->provincecode->ViewCustomAttributes = "";
  693. // province
  694. $province->province_1->LinkCustomAttributes = "";
  695. $province->province_1->HrefValue = "";
  696. $province->province_1->TooltipValue = "";
  697. // provcontact
  698. $province->provcontact->LinkCustomAttributes = "";
  699. $province->provcontact->HrefValue = "";
  700. $province->provcontact->TooltipValue = "";
  701. // provhalladdress
  702. $province->provhalladdress->LinkCustomAttributes = "";
  703. $province->provhalladdress->HrefValue = "";
  704. $province->provhalladdress->TooltipValue = "";
  705. // provtelno
  706. $province->provtelno->LinkCustomAttributes = "";
  707. $province->provtelno->HrefValue = "";
  708. $province->provtelno->TooltipValue = "";
  709. // provlatitude
  710. $province->provlatitude->LinkCustomAttributes = "";
  711. $province->provlatitude->HrefValue = "";
  712. $province->provlatitude->TooltipValue = "";
  713. // provlongitude
  714. $province->provlongitude->LinkCustomAttributes = "";
  715. $province->provlongitude->HrefValue = "";
  716. $province->provlongitude->TooltipValue = "";
  717. // provaltitude
  718. $province->provaltitude->LinkCustomAttributes = "";
  719. $province->provaltitude->HrefValue = "";
  720. $province->provaltitude->TooltipValue = "";
  721. // countryid
  722. $province->countryid->LinkCustomAttributes = "";
  723. $province->countryid->HrefValue = "";
  724. $province->countryid->TooltipValue = "";
  725. // provincecode
  726. $province->provincecode->LinkCustomAttributes = "";
  727. $province->provincecode->HrefValue = "";
  728. $province->provincecode->TooltipValue = "";
  729. } elseif ($province->RowType == EW_ROWTYPE_ADD) { // Add row
  730. // province
  731. $province->province_1->EditCustomAttributes = "";
  732. $province->province_1->EditValue = ew_HtmlEncode($province->province_1->CurrentValue);
  733. // provcontact
  734. $province->provcontact->EditCustomAttributes = "";
  735. $province->provcontact->EditValue = ew_HtmlEncode($province->provcontact->CurrentValue);
  736. // provhalladdress
  737. $province->provhalladdress->EditCustomAttributes = "";
  738. $province->provhalladdress->EditValue = ew_HtmlEncode($province->provhalladdress->CurrentValue);
  739. // provtelno
  740. $province->provtelno->EditCustomAttributes = "";
  741. $province->provtelno->EditValue = ew_HtmlEncode($province->provtelno->CurrentValue);
  742. // provlatitude
  743. $province->provlatitude->EditCustomAttributes = "";
  744. $province->provlatitude->EditValue = ew_HtmlEncode($province->provlatitude->CurrentValue);
  745. // provlongitude
  746. $province->provlongitude->EditCustomAttributes = "";
  747. $province->provlongitude->EditValue = ew_HtmlEncode($province->provlongitude->CurrentValue);
  748. // provaltitude
  749. $province->provaltitude->EditCustomAttributes = "";
  750. $province->provaltitude->EditValue = ew_HtmlEncode($province->provaltitude->CurrentValue);
  751. // countryid
  752. $province->countryid->EditCustomAttributes = "";
  753. $sFilterWrk = "";
  754. $sSqlWrk = "SELECT `id`, `country` AS `DispFld`, '' AS `Disp2Fld`, '' AS `Disp3Fld`, '' AS `Disp4Fld`, '' AS `SelectFilterFld` FROM `country`";
  755. $sWhereWrk = "";
  756. if ($sFilterWrk <> "") {
  757. if ($sWhereWrk <> "") $sWhereWrk .= " AND ";
  758. $sWhereWrk .= "(" . $sFilterWrk . ")";
  759. }
  760. if ($sWhereWrk <> "") $sSqlWrk .= " WHERE " . $sWhereWrk;
  761. $rswrk = $conn->Execute($sSqlWrk);
  762. $arwrk = ($rswrk) ? $rswrk->GetRows() : array();
  763. if ($rswrk) $rswrk->Close();
  764. array_unshift($arwrk, array("", $Language->Phrase("PleaseSelect")));
  765. $province->countryid->EditValue = $arwrk;
  766. // provincecode
  767. $province->provincecode->EditCustomAttributes = "";
  768. $province->provincecode->EditValue = ew_HtmlEncode($province->provincecode->CurrentValue);
  769. // Edit refer script
  770. // province
  771. $province->province_1->HrefValue = "";
  772. // provcontact
  773. $province->provcontact->HrefValue = "";
  774. // provhalladdress
  775. $province->provhalladdress->HrefValue = "";
  776. // provtelno
  777. $province->provtelno->HrefValue = "";
  778. // provlatitude
  779. $province->provlatitude->HrefValue = "";
  780. // provlongitude
  781. $province->provlongitude->HrefValue = "";
  782. // provaltitude
  783. $province->provaltitude->HrefValue = "";
  784. // countryid
  785. $province->countryid->HrefValue = "";
  786. // provincecode
  787. $province->provincecode->HrefValue = "";
  788. }
  789. if ($province->RowType == EW_ROWTYPE_ADD ||
  790. $province->RowType == EW_ROWTYPE_EDIT ||
  791. $province->RowType == EW_ROWTYPE_SEARCH) { // Add / Edit / Search row
  792. $province->SetupFieldTitles();
  793. }
  794. // Call Row Rendered event
  795. if ($province->RowType <> EW_ROWTYPE_AGGREGATEINIT)
  796. $province->Row_Rendered();
  797. }
  798. // Validate form
  799. function ValidateForm() {
  800. global $Language, $gsFormError, $province;
  801. // Initialize form error message
  802. $gsFormError = "";
  803. // Check if validation required
  804. if (!EW_SERVER_VALIDATE)
  805. return ($gsFormError == "");
  806. if (!is_null($province->province_1->FormValue) && $province->province_1->FormValue == "") {
  807. ew_AddMessage($gsFormError, $Language->Phrase("EnterRequiredField") . " - " . $province->province_1->FldCaption());
  808. }
  809. if (!is_null($province->provcontact->FormValue) && $province->provcontact->FormValue == "") {
  810. ew_AddMessage($gsFormError, $Language->Phrase("EnterRequiredField") . " - " . $province->provcontact->FldCaption());
  811. }
  812. if (!is_null($province->provhalladdress->FormValue) && $province->provhalladdress->FormValue == "") {
  813. ew_AddMessage($gsFormError, $Language->Phrase("EnterRequiredField") . " - " . $province->provhalladdress->FldCaption());
  814. }
  815. if (!is_null($province->provtelno->FormValue) && $province->provtelno->FormValue == "") {
  816. ew_AddMessage($gsFormError, $Language->Phrase("EnterRequiredField") . " - " . $province->provtelno->FldCaption());
  817. }
  818. if (!is_null($province->provlatitude->FormValue) && $province->provlatitude->FormValue == "") {
  819. ew_AddMessage($gsFormError, $Language->Phrase("EnterRequiredField") . " - " . $province->provlatitude->FldCaption());
  820. }
  821. if (!ew_CheckNumber($province->provlatitude->FormValue)) {
  822. ew_AddMessage($gsFormError, $province->provlatitude->FldErrMsg());
  823. }
  824. if (!is_null($province->provlongitude->FormValue) && $province->provlongitude->FormValue == "") {
  825. ew_AddMessage($gsFormError, $Language->Phrase("EnterRequiredField") . " - " . $province->provlongitude->FldCaption());
  826. }
  827. if (!ew_CheckNumber($province->provlongitude->FormValue)) {
  828. ew_AddMessage($gsFormError, $province->provlongitude->FldErrMsg());
  829. }
  830. if (!is_null($province->provaltitude->FormValue) && $province->provaltitude->FormValue == "") {
  831. ew_AddMessage($gsFormError, $Language->Phrase("EnterRequiredField") . " - " . $province->provaltitude->FldCaption());
  832. }
  833. if (!ew_CheckNumber($province->provaltitude->FormValue)) {
  834. ew_AddMessage($gsFormError, $province->provaltitude->FldErrMsg());
  835. }
  836. if (!is_null($province->countryid->FormValue) && $province->countryid->FormValue == "") {
  837. ew_AddMessage($gsFormError, $Language->Phrase("EnterRequiredField") . " - " . $province->countryid->FldCaption());
  838. }
  839. if (!is_null($province->provincecode->FormValue) && $province->provincecode->FormValue == "") {
  840. ew_AddMessage($gsFormError, $Language->Phrase("EnterRequiredField") . " - " . $province->provincecode->FldCaption());
  841. }
  842. if (!ew_CheckInteger($province->provincecode->FormValue)) {
  843. ew_AddMessage($gsFormError, $province->provincecode->FldErrMsg());
  844. }
  845. // Return validate result
  846. $ValidateForm = ($gsFormError == "");
  847. // Call Form_CustomValidate event
  848. $sFormCustomError = "";
  849. $ValidateForm = $ValidateForm && $this->Form_CustomValidate($sFormCustomError);
  850. if ($sFormCustomError <> "") {
  851. ew_AddMessage($gsFormError, $sFormCustomError);
  852. }
  853. return $ValidateForm;
  854. }
  855. // Add record
  856. function AddRow($rsold = NULL) {
  857. global $conn, $Language, $Security, $province;
  858. $rsnew = array();
  859. // province
  860. $province->province_1->SetDbValueDef($rsnew, $province->province_1->CurrentValue, "", FALSE);
  861. // provcontact
  862. $province->provcontact->SetDbValueDef($rsnew, $province->provcontact->CurrentValue, "", FALSE);
  863. // provhalladdress
  864. $province->provhalladdress->SetDbValueDef($rsnew, $province->provhalladdress->CurrentValue, "", FALSE);
  865. // provtelno
  866. $province->provtelno->SetDbValueDef($rsnew, $province->provtelno->CurrentValue, "", FALSE);
  867. // provlatitude
  868. $province->provlatitude->SetDbValueDef($rsnew, $province->provlatitude->CurrentValue, 0, FALSE);
  869. // provlongitude
  870. $province->provlongitude->SetDbValueDef($rsnew, $province->provlongitude->CurrentValue, 0, FALSE);
  871. // provaltitude
  872. $province->provaltitude->SetDbValueDef($rsnew, $province->provaltitude->CurrentValue, 0, FALSE);
  873. // countryid
  874. $province->countryid->SetDbValueDef($rsnew, $province->countryid->CurrentValue, 0, FALSE);
  875. // provincecode
  876. $province->provincecode->SetDbValueDef($rsnew, $province->provincecode->CurrentValue, 0, FALSE);
  877. // Call Row Inserting event
  878. $rs = ($rsold == NULL) ? NULL : $rsold->fields;
  879. $bInsertRow = $province->Row_Inserting($rs, $rsnew);
  880. if ($bInsertRow) {
  881. $conn->raiseErrorFn = 'ew_ErrorFn';
  882. $AddRow = $conn->Execute($province->InsertSQL($rsnew));
  883. $conn->raiseErrorFn = '';
  884. } else {
  885. if ($province->CancelMessage <> "") {
  886. $this->setFailureMessage($province->CancelMessage);
  887. $province->CancelMessage = "";
  888. } else {
  889. $this->setFailureMessage($Language->Phrase("InsertCancelled"));
  890. }
  891. $AddRow = FALSE;
  892. }
  893. // Get insert id if necessary
  894. if ($AddRow) {
  895. $province->id->setDbValue($conn->Insert_ID());
  896. $rsnew['id'] = $province->id->DbValue;
  897. }
  898. if ($AddRow) {
  899. // Call Row Inserted event
  900. $rs = ($rsold == NULL) ? NULL : $rsold->fields;
  901. $province->Row_Inserted($rs, $rsnew);
  902. $this->WriteAuditTrailOnAdd($rsnew);
  903. }
  904. return $AddRow;
  905. }
  906. // Write Audit Trail start/end for grid update
  907. function WriteAuditTrailDummy($typ) {
  908. $table = 'province';
  909. $usr = CurrentUserName();
  910. ew_WriteAuditTrail("log", ew_StdCurrentDateTime(), ew_ScriptName(), $usr, $typ, $table, "", "", "", "");
  911. }
  912. // Write Audit Trail (add page)
  913. function WriteAuditTrailOnAdd(&$rs) {
  914. global $province;
  915. $table = 'province';
  916. // Get key value
  917. $key = "";
  918. if ($key <> "") $key .= EW_COMPOSITE_KEY_SEPARATOR;
  919. $key .= $rs['id'];
  920. // Write Audit Trail
  921. $dt = ew_StdCurrentDateTime();
  922. $id = ew_ScriptName();
  923. $usr = CurrentUserName();
  924. foreach (array_keys($rs) as $fldname) {
  925. if ($province->fields[$fldname]->FldDataType <> EW_DATATYPE_BLOB) { // Ignore BLOB fields
  926. if ($province->fields[$fldname]->FldDataType == EW_DATATYPE_MEMO) {
  927. if (EW_AUDIT_TRAIL_TO_DATABASE)
  928. $newvalue = $rs[$fldname];
  929. else
  930. $newvalue = "[MEMO]"; // Memo Field
  931. } elseif ($province->fields[$fldname]->FldDataType == EW_DATATYPE_XML) {
  932. $newvalue = "[XML]"; // XML Field
  933. } else {
  934. $newvalue = $rs[$fldname];
  935. }
  936. ew_WriteAuditTrail("log", $dt, $id, $usr, "A", $table, $fldname, $key, "", $newvalue);
  937. }
  938. }
  939. }
  940. // Page Load event
  941. function Page_Load() {
  942. //echo "Page Load";
  943. }
  944. // Page Unload event
  945. function Page_Unload() {
  946. //echo "Page Unload";
  947. }
  948. // Page Redirecting event
  949. function Page_Redirecting(&$url) {
  950. // Example:
  951. //$url = "your URL";
  952. }
  953. // Message Showing event
  954. // $type = ''|'success'|'failure'
  955. function Message_Showing(&$msg, $type) {
  956. // Example:
  957. //if ($type == 'success') $msg = "your success message";
  958. }
  959. // Page Data Rendering event
  960. function Page_DataRendering(&$header) {
  961. // Example:
  962. //$header = "your header";
  963. }
  964. // Page Data Rendered event
  965. function Page_DataRendered(&$footer) {
  966. // Example:
  967. //$footer = "your footer";
  968. }
  969. // Form Custom Validate event
  970. function Form_CustomValidate(&$CustomError) {
  971. // Return error message in CustomError
  972. return TRUE;
  973. }
  974. }
  975. ?>