PageRenderTime 64ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/permisolist.php

https://github.com/fredd-for/emaus_tesoreria
PHP | 915 lines | 686 code | 105 blank | 124 comment | 186 complexity | 512bd65c060b79a2ffdd51f80503d043 MD5 | raw file
Possible License(s): LGPL-2.1
  1. <?php
  2. session_start(); // Initialize session data
  3. ob_start(); // Turn on output buffering
  4. ?>
  5. <?php include "ewcfg6.php" ?>
  6. <?php include "ewmysql6.php" ?>
  7. <?php include "phpfn6.php" ?>
  8. <?php include "permisoinfo.php" ?>
  9. <?php include "usuarioinfo.php" ?>
  10. <?php include "userfn6.php" ?>
  11. <?php
  12. header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
  13. header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // Always modified
  14. header("Cache-Control: private, no-store, no-cache, must-revalidate"); // HTTP/1.1
  15. header("Cache-Control: post-check=0, pre-check=0", false);
  16. header("Pragma: no-cache"); // HTTP/1.0
  17. ?>
  18. <?php
  19. // Define page object
  20. $permiso_list = new cpermiso_list();
  21. $Page =& $permiso_list;
  22. // Page init processing
  23. $permiso_list->Page_Init();
  24. // Page main processing
  25. $permiso_list->Page_Main();
  26. ?>
  27. <?php include "header.php" ?>
  28. <?php if ($permiso->Export == "") { ?>
  29. <script type="text/javascript">
  30. <!--
  31. // Create page object
  32. var permiso_list = new ew_Page("permiso_list");
  33. // page properties
  34. permiso_list.PageID = "list"; // page ID
  35. var EW_PAGE_ID = permiso_list.PageID; // for backward compatibility
  36. // extend page with Form_CustomValidate function
  37. permiso_list.Form_CustomValidate =
  38. function(fobj) { // DO NOT CHANGE THIS LINE!
  39. // Your custom validation code here, return false if invalid.
  40. return true;
  41. }
  42. <?php if (EW_CLIENT_VALIDATE) { ?>
  43. permiso_list.ValidateRequired = true; // uses JavaScript validation
  44. <?php } else { ?>
  45. permiso_list.ValidateRequired = false; // no JavaScript validation
  46. <?php } ?>
  47. //-->
  48. </script>
  49. <script language="JavaScript" type="text/javascript">
  50. <!--
  51. // Write your client script here, no need to add script tags.
  52. // To include another .js script, use:
  53. // ew_ClientScriptInclude("my_javascript.js");
  54. //-->
  55. </script>
  56. <?php } ?>
  57. <?php if ($permiso->Export == "") { ?>
  58. <?php } ?>
  59. <?php
  60. $bSelectLimit = ($permiso->Export == "" && $permiso->SelectLimit);
  61. if (!$bSelectLimit)
  62. $rs = $permiso_list->LoadRecordset();
  63. $permiso_list->lTotalRecs = ($bSelectLimit) ? $permiso->SelectRecordCount() : $rs->RecordCount();
  64. $permiso_list->lStartRec = 1;
  65. if ($permiso_list->lDisplayRecs <= 0) // Display all records
  66. $permiso_list->lDisplayRecs = $permiso_list->lTotalRecs;
  67. if (!($permiso->ExportAll && $permiso->Export <> ""))
  68. $permiso_list->SetUpStartRec(); // Set up start record position
  69. if ($bSelectLimit)
  70. $rs = $permiso_list->LoadRecordset($permiso_list->lStartRec-1, $permiso_list->lDisplayRecs);
  71. ?>
  72. <p><span class="phpmaker" style="white-space: nowrap;">TABLA: Permiso
  73. <?php if ($permiso->Export == "" && $permiso->CurrentAction == "") { ?>
  74. &nbsp;&nbsp;<a href="<?php echo $permiso_list->PageUrl() ?>export=excel">Exportar a Excel</a>
  75. <?php } ?>
  76. </span></p>
  77. <?php $permiso_list->ShowMessage() ?>
  78. <br>
  79. <table cellspacing="0" class="ewGrid"><tr><td class="ewGridContent">
  80. <div class="ewGridMiddlePanel">
  81. <form name="fpermisolist" id="fpermisolist" class="ewForm" action="" method="post">
  82. <?php if ($permiso_list->lTotalRecs > 0) { ?>
  83. <table cellspacing="0" rowhighlightclass="ewTableHighlightRow" rowselectclass="ewTableSelectRow" roweditclass="ewTableEditRow" class="ewTable ewTableSeparate">
  84. <?php
  85. $permiso_list->lOptionCnt = 0;
  86. if ($Security->CanView()) {
  87. $permiso_list->lOptionCnt++; // view
  88. }
  89. if ($Security->CanEdit()) {
  90. $permiso_list->lOptionCnt++; // edit
  91. }
  92. if ($Security->CanDelete()) {
  93. $permiso_list->lOptionCnt++; // Delete
  94. }
  95. $permiso_list->lOptionCnt += count($permiso_list->ListOptions->Items); // Custom list options
  96. ?>
  97. <?php echo $permiso->TableCustomInnerHtml ?>
  98. <thead><!-- Table header -->
  99. <tr class="ewTableHeader">
  100. <?php if ($permiso->idRol->Visible) { // idRol ?>
  101. <?php if ($permiso->SortUrl($permiso->idRol) == "") { ?>
  102. <td>Id Rol</td>
  103. <?php } else { ?>
  104. <td class="ewPointer" onmousedown="ew_Sort(event,'<?php echo $permiso->SortUrl($permiso->idRol) ?>',1);">
  105. <table cellspacing="0" class="ewTableHeaderBtn"><tr><td>Id Rol</td><td style="width: 10px;"><?php if ($permiso->idRol->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($permiso->idRol->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></td></tr></table>
  106. </td>
  107. <?php } ?>
  108. <?php } ?>
  109. <?php if ($permiso->nombre->Visible) { // nombre ?>
  110. <?php if ($permiso->SortUrl($permiso->nombre) == "") { ?>
  111. <td>Nombre</td>
  112. <?php } else { ?>
  113. <td class="ewPointer" onmousedown="ew_Sort(event,'<?php echo $permiso->SortUrl($permiso->nombre) ?>',1);">
  114. <table cellspacing="0" class="ewTableHeaderBtn"><tr><td>Nombre</td><td style="width: 10px;"><?php if ($permiso->nombre->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($permiso->nombre->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></td></tr></table>
  115. </td>
  116. <?php } ?>
  117. <?php } ?>
  118. <?php if ($permiso->permiso->Visible) { // permiso ?>
  119. <?php if ($permiso->SortUrl($permiso->permiso) == "") { ?>
  120. <td>Permiso</td>
  121. <?php } else { ?>
  122. <td class="ewPointer" onmousedown="ew_Sort(event,'<?php echo $permiso->SortUrl($permiso->permiso) ?>',1);">
  123. <table cellspacing="0" class="ewTableHeaderBtn"><tr><td>Permiso</td><td style="width: 10px;"><?php if ($permiso->permiso->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($permiso->permiso->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></td></tr></table>
  124. </td>
  125. <?php } ?>
  126. <?php } ?>
  127. <?php if ($permiso->Export == "") { ?>
  128. <?php if ($Security->CanView()) { ?>
  129. <td style="white-space: nowrap;">&nbsp;</td>
  130. <?php } ?>
  131. <?php if ($Security->CanEdit()) { ?>
  132. <td style="white-space: nowrap;">&nbsp;</td>
  133. <?php } ?>
  134. <?php if ($Security->CanDelete()) { ?>
  135. <td style="white-space: nowrap;">&nbsp;</td>
  136. <?php } ?>
  137. <?php
  138. // Custom list options
  139. foreach ($permiso_list->ListOptions->Items as $ListOption) {
  140. if ($ListOption->Visible)
  141. echo $ListOption->HeaderCellHtml;
  142. }
  143. ?>
  144. <?php } ?>
  145. </tr>
  146. </thead>
  147. <?php
  148. if ($permiso->ExportAll && $permiso->Export <> "") {
  149. $permiso_list->lStopRec = $permiso_list->lTotalRecs;
  150. } else {
  151. $permiso_list->lStopRec = $permiso_list->lStartRec + $permiso_list->lDisplayRecs - 1; // Set the last record to display
  152. }
  153. $permiso_list->lRecCount = $permiso_list->lStartRec - 1;
  154. if ($rs && !$rs->EOF) {
  155. $rs->MoveFirst();
  156. if (!$permiso->SelectLimit && $permiso_list->lStartRec > 1)
  157. $rs->Move($permiso_list->lStartRec - 1);
  158. }
  159. $permiso_list->lRowCnt = 0;
  160. while (($permiso->CurrentAction == "gridadd" || !$rs->EOF) &&
  161. $permiso_list->lRecCount < $permiso_list->lStopRec) {
  162. $permiso_list->lRecCount++;
  163. if (intval($permiso_list->lRecCount) >= intval($permiso_list->lStartRec)) {
  164. $permiso_list->lRowCnt++;
  165. // Init row class and style
  166. $permiso->CssClass = "";
  167. $permiso->CssStyle = "";
  168. $permiso->RowClientEvents = "onmouseover='ew_MouseOver(event, this);' onmouseout='ew_MouseOut(event, this);' onclick='ew_Click(event, this);'";
  169. if ($permiso->CurrentAction == "gridadd") {
  170. $permiso_list->LoadDefaultValues(); // Load default values
  171. } else {
  172. $permiso_list->LoadRowValues($rs); // Load row values
  173. }
  174. $permiso->RowType = EW_ROWTYPE_VIEW; // Render view
  175. // Render row
  176. $permiso_list->RenderRow();
  177. ?>
  178. <tr<?php echo $permiso->RowAttributes() ?>>
  179. <?php if ($permiso->idRol->Visible) { // idRol ?>
  180. <td<?php echo $permiso->idRol->CellAttributes() ?>>
  181. <div<?php echo $permiso->idRol->ViewAttributes() ?>><?php echo $permiso->idRol->ListViewValue() ?></div>
  182. </td>
  183. <?php } ?>
  184. <?php if ($permiso->nombre->Visible) { // nombre ?>
  185. <td<?php echo $permiso->nombre->CellAttributes() ?>>
  186. <div<?php echo $permiso->nombre->ViewAttributes() ?>><?php echo $permiso->nombre->ListViewValue() ?></div>
  187. </td>
  188. <?php } ?>
  189. <?php if ($permiso->permiso->Visible) { // permiso ?>
  190. <td<?php echo $permiso->permiso->CellAttributes() ?>>
  191. <div<?php echo $permiso->permiso->ViewAttributes() ?>><?php echo $permiso->permiso->ListViewValue() ?></div>
  192. </td>
  193. <?php } ?>
  194. <?php if ($permiso->Export == "") { ?>
  195. <?php if ($Security->CanView()) { ?>
  196. <td style="white-space: nowrap;"><span class="phpmaker">
  197. <a href="<?php echo $permiso->ViewUrl() ?>">Ver</a>
  198. </span></td>
  199. <?php } ?>
  200. <?php if ($Security->CanEdit()) { ?>
  201. <td style="white-space: nowrap;"><span class="phpmaker">
  202. <a href="<?php echo $permiso->EditUrl() ?>">Editar</a>
  203. </span></td>
  204. <?php } ?>
  205. <?php if ($Security->CanDelete()) { ?>
  206. <td style="white-space: nowrap;"><span class="phpmaker">
  207. <a onclick="ew_ClickDelete(this);return ew_ConfirmDelete('<?php echo $permiso_list->sDeleteConfirmMsg ?>', this);" href="<?php echo $permiso->DeleteUrl() ?>">Borrar</a>
  208. </span></td>
  209. <?php } ?>
  210. <?php
  211. // Custom list options
  212. foreach ($permiso_list->ListOptions->Items as $ListOption) {
  213. if ($ListOption->Visible)
  214. echo $ListOption->BodyCellHtml;
  215. }
  216. ?>
  217. <?php } ?>
  218. </tr>
  219. <?php
  220. }
  221. if ($permiso->CurrentAction <> "gridadd")
  222. $rs->MoveNext();
  223. }
  224. ?>
  225. </tbody>
  226. </table>
  227. <?php } ?>
  228. </form>
  229. <?php
  230. // Close recordset
  231. if ($rs)
  232. $rs->Close();
  233. ?>
  234. </div>
  235. <?php if ($permiso->Export == "") { ?>
  236. <div class="ewGridLowerPanel">
  237. <?php if ($permiso->CurrentAction <> "gridadd" && $permiso->CurrentAction <> "gridedit") { ?>
  238. <form name="ewpagerform" id="ewpagerform" class="ewForm" action="<?php echo ew_CurrentPage() ?>">
  239. <table border="0" cellspacing="0" cellpadding="0" class="ewPager">
  240. <tr>
  241. <td nowrap>
  242. <?php if (!isset($permiso_list->Pager)) $permiso_list->Pager = new cPrevNextPager($permiso_list->lStartRec, $permiso_list->lDisplayRecs, $permiso_list->lTotalRecs) ?>
  243. <?php if ($permiso_list->Pager->RecordCount > 0) { ?>
  244. <table border="0" cellspacing="0" cellpadding="0"><tr><td><span class="phpmaker">Página&nbsp;</span></td>
  245. <!--first page button-->
  246. <?php if ($permiso_list->Pager->FirstButton->Enabled) { ?>
  247. <td><a href="<?php echo $permiso_list->PageUrl() ?>start=<?php echo $permiso_list->Pager->FirstButton->Start ?>"><img src="images/first.gif" alt="Primera" width="16" height="16" border="0"></a></td>
  248. <?php } else { ?>
  249. <td><img src="images/firstdisab.gif" alt="Primera" width="16" height="16" border="0"></td>
  250. <?php } ?>
  251. <!--previous page button-->
  252. <?php if ($permiso_list->Pager->PrevButton->Enabled) { ?>
  253. <td><a href="<?php echo $permiso_list->PageUrl() ?>start=<?php echo $permiso_list->Pager->PrevButton->Start ?>"><img src="images/prev.gif" alt="Anterior" width="16" height="16" border="0"></a></td>
  254. <?php } else { ?>
  255. <td><img src="images/prevdisab.gif" alt="Anterior" width="16" height="16" border="0"></td>
  256. <?php } ?>
  257. <!--current page number-->
  258. <td><input type="text" name="<?php echo EW_TABLE_PAGE_NO ?>" id="<?php echo EW_TABLE_PAGE_NO ?>" value="<?php echo $permiso_list->Pager->CurrentPage ?>" size="4"></td>
  259. <!--next page button-->
  260. <?php if ($permiso_list->Pager->NextButton->Enabled) { ?>
  261. <td><a href="<?php echo $permiso_list->PageUrl() ?>start=<?php echo $permiso_list->Pager->NextButton->Start ?>"><img src="images/next.gif" alt="Siguiente" width="16" height="16" border="0"></a></td>
  262. <?php } else { ?>
  263. <td><img src="images/nextdisab.gif" alt="Siguiente" width="16" height="16" border="0"></td>
  264. <?php } ?>
  265. <!--last page button-->
  266. <?php if ($permiso_list->Pager->LastButton->Enabled) { ?>
  267. <td><a href="<?php echo $permiso_list->PageUrl() ?>start=<?php echo $permiso_list->Pager->LastButton->Start ?>"><img src="images/last.gif" alt="Ultima" width="16" height="16" border="0"></a></td>
  268. <?php } else { ?>
  269. <td><img src="images/lastdisab.gif" alt="Ultima" width="16" height="16" border="0"></td>
  270. <?php } ?>
  271. <td><span class="phpmaker">&nbsp;de <?php echo $permiso_list->Pager->PageCount ?></span></td>
  272. </tr></table>
  273. </td>
  274. <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
  275. <td>
  276. <span class="phpmaker">Registro <?php echo $permiso_list->Pager->FromIndex ?> a <?php echo $permiso_list->Pager->ToIndex ?> de <?php echo $permiso_list->Pager->RecordCount ?></span>
  277. <?php } else { ?>
  278. <?php if ($Security->CanList()) { ?>
  279. <?php if ($permiso_list->sSrchWhere == "0=101") { ?>
  280. <span class="phpmaker">Por favor ingrese criterio de busqueda</span>
  281. <?php } else { ?>
  282. <span class="phpmaker">No se encontraron registros</span>
  283. <?php } ?>
  284. <?php } else { ?>
  285. <span class="phpmaker">No tiene permisos para consultar esta página</span>
  286. <?php } ?>
  287. <?php } ?>
  288. </td>
  289. <?php if ($permiso_list->lTotalRecs > 0) { ?>
  290. <td>&nbsp;&nbsp;&nbsp;&nbsp;</td>
  291. <td><table border="0" cellspacing="0" cellpadding="0"><tr><td>Registros por página&nbsp;</td><td>
  292. <input type="hidden" id="t" name="t" value="permiso">
  293. <select name="<?php echo EW_TABLE_REC_PER_PAGE ?>" id="<?php echo EW_TABLE_REC_PER_PAGE ?>" onchange="this.form.submit();" class="phpmaker">
  294. <option value="20"<?php if ($permiso_list->lDisplayRecs == 20) { ?> selected="selected"<?php } ?>>20</option>
  295. <option value="50"<?php if ($permiso_list->lDisplayRecs == 50) { ?> selected="selected"<?php } ?>>50</option>
  296. <option value="ALL"<?php if ($permiso->getRecordsPerPage() == -1) { ?> selected="selected"<?php } ?>>Todos los registros</option>
  297. </select></td></tr></table>
  298. </td>
  299. <?php } ?>
  300. </tr>
  301. </table>
  302. </form>
  303. <?php } ?>
  304. <?php //if ($permiso_list->lTotalRecs > 0) { ?>
  305. <span class="phpmaker">
  306. <?php if ($Security->CanAdd()) { ?>
  307. <a href="<?php echo $permiso->AddUrl() ?>">Agregar</a>&nbsp;&nbsp;
  308. <?php } ?>
  309. </span>
  310. <?php //} ?>
  311. </div>
  312. <?php } ?>
  313. </td></tr></table>
  314. <?php if ($permiso->Export == "" && $permiso->CurrentAction == "") { ?>
  315. <script type="text/javascript">
  316. <!--
  317. //ew_ToggleSearchPanel(permiso_list); // uncomment to init search panel as collapsed
  318. //-->
  319. </script>
  320. <?php } ?>
  321. <?php if ($permiso->Export == "") { ?>
  322. <script language="JavaScript" type="text/javascript">
  323. <!--
  324. // Write your table-specific startup script here
  325. // document.write("page loaded");
  326. //-->
  327. </script>
  328. <?php } ?>
  329. <?php include "footer.php" ?>
  330. <?php
  331. //
  332. // Page Class
  333. //
  334. class cpermiso_list {
  335. // Page ID
  336. var $PageID = 'list';
  337. // Table Name
  338. var $TableName = 'permiso';
  339. // Page Object Name
  340. var $PageObjName = 'permiso_list';
  341. // Page Name
  342. function PageName() {
  343. return ew_CurrentPage();
  344. }
  345. // Page Url
  346. function PageUrl() {
  347. $PageUrl = ew_CurrentPage() . "?";
  348. global $permiso;
  349. if ($permiso->UseTokenInUrl) $PageUrl .= "t=" . $permiso->TableVar . "&"; // add page token
  350. return $PageUrl;
  351. }
  352. // Message
  353. function getMessage() {
  354. return @$_SESSION[EW_SESSION_MESSAGE];
  355. }
  356. function setMessage($v) {
  357. if (@$_SESSION[EW_SESSION_MESSAGE] <> "") { // Append
  358. $_SESSION[EW_SESSION_MESSAGE] .= "<br>" . $v;
  359. } else {
  360. $_SESSION[EW_SESSION_MESSAGE] = $v;
  361. }
  362. }
  363. // Show Message
  364. function ShowMessage() {
  365. if ($this->getMessage() <> "") { // Message in Session, display
  366. echo "<p><span class=\"ewMessage\">" . $this->getMessage() . "</span></p>";
  367. $_SESSION[EW_SESSION_MESSAGE] = ""; // Clear message in Session
  368. }
  369. }
  370. // Validate Page request
  371. function IsPageRequest() {
  372. global $objForm, $permiso;
  373. if ($permiso->UseTokenInUrl) {
  374. //IsPageRequest = False
  375. if ($objForm)
  376. return ($permiso->TableVar == $objForm->GetValue("t"));
  377. if (@$_GET["t"] <> "")
  378. return ($permiso->TableVar == $_GET["t"]);
  379. } else {
  380. return TRUE;
  381. }
  382. }
  383. //
  384. // Class initialize
  385. // - init objects
  386. // - open connection
  387. //
  388. function cpermiso_list() {
  389. global $conn;
  390. // Initialize table object
  391. $GLOBALS["permiso"] = new cpermiso();
  392. // Initialize other table object
  393. $GLOBALS['usuario'] = new cusuario();
  394. // Intialize page id (for backward compatibility)
  395. if (!defined("EW_PAGE_ID"))
  396. define("EW_PAGE_ID", 'list', TRUE);
  397. // Initialize table name (for backward compatibility)
  398. if (!defined("EW_TABLE_NAME"))
  399. define("EW_TABLE_NAME", 'permiso', TRUE);
  400. // Open connection to the database
  401. $conn = ew_Connect();
  402. // Initialize list options
  403. $this->ListOptions = new cListOptions();
  404. }
  405. //
  406. // Page_Init
  407. //
  408. function Page_Init() {
  409. global $gsExport, $gsExportFile, $permiso;
  410. global $Security;
  411. $Security = new cAdvancedSecurity();
  412. if (!$Security->IsLoggedIn()) $Security->AutoLogin();
  413. if (!$Security->IsLoggedIn()) {
  414. $Security->SaveLastUrl();
  415. $this->Page_Terminate("login.php");
  416. }
  417. $Security->TablePermission_Loading();
  418. $Security->LoadCurrentUserLevel($this->TableName);
  419. $Security->TablePermission_Loaded();
  420. if (!$Security->CanAdmin()) {
  421. $Security->SaveLastUrl();
  422. $this->Page_Terminate("login.php");
  423. }
  424. $permiso->Export = @$_GET["export"]; // Get export parameter
  425. $gsExport = $permiso->Export; // Get export parameter, used in header
  426. $gsExportFile = $permiso->TableVar; // Get export file, used in header
  427. if ($permiso->Export == "excel") {
  428. header('Content-Type: application/vnd.ms-excel');
  429. header('Content-Disposition: attachment; filename=' . $gsExportFile .'.xls');
  430. }
  431. // Global page loading event (in userfn6.php)
  432. Page_Loading();
  433. // Page load event, used in current page
  434. $this->Page_Load();
  435. }
  436. //
  437. // Page_Terminate
  438. // - called when exit page
  439. // - if URL specified, redirect to the URL
  440. //
  441. function Page_Terminate($url = "") {
  442. global $conn;
  443. // Page unload event, used in current page
  444. $this->Page_Unload();
  445. // Global page unloaded event (in userfn*.php)
  446. Page_Unloaded();
  447. // Close Connection
  448. $conn->Close();
  449. // Go to URL if specified
  450. if ($url <> "") {
  451. ob_end_clean();
  452. header("Location: $url");
  453. }
  454. exit();
  455. }
  456. var $lDisplayRecs; // Number of display records
  457. var $lStartRec;
  458. var $lStopRec;
  459. var $lTotalRecs;
  460. var $lRecRange;
  461. var $sSrchWhere;
  462. var $lRecCnt;
  463. var $lEditRowCnt;
  464. var $lRowCnt;
  465. var $lRowIndex;
  466. var $lOptionCnt;
  467. var $lRecPerRow;
  468. var $lColCnt;
  469. var $sDeleteConfirmMsg; // Delete confirm message
  470. var $sDbMasterFilter;
  471. var $sDbDetailFilter;
  472. var $bMasterRecordExists;
  473. var $ListOptions;
  474. var $sMultiSelectKey;
  475. //
  476. // Page main processing
  477. //
  478. function Page_Main() {
  479. global $objForm, $gsSearchError, $Security, $permiso;
  480. $this->lDisplayRecs = 20;
  481. $this->lRecRange = 10;
  482. $this->lRecCnt = 0; // Record count
  483. // Search filters
  484. $sSrchAdvanced = ""; // Advanced search filter
  485. $sSrchBasic = ""; // Basic search filter
  486. $sFilter = "";
  487. $this->sSrchWhere = ""; // Search WHERE clause
  488. $this->sDeleteConfirmMsg = "żQuiere borrar este registro?"; // Delete confirm message
  489. // Master/Detail
  490. $this->sDbMasterFilter = ""; // Master filter
  491. $this->sDbDetailFilter = ""; // Detail filter
  492. if ($this->IsPageRequest()) { // Validate request
  493. // Set up records per page dynamically
  494. $this->SetUpDisplayRecs();
  495. // Handle reset command
  496. $this->ResetCmd();
  497. // Set Up Sorting Order
  498. $this->SetUpSortOrder();
  499. } // End Validate Request
  500. // Restore display records
  501. if ($permiso->getRecordsPerPage() <> "") {
  502. $this->lDisplayRecs = $permiso->getRecordsPerPage(); // Restore from Session
  503. } else {
  504. $this->lDisplayRecs = 20; // Load default
  505. }
  506. // Load Sorting Order
  507. $this->LoadSortOrder();
  508. // Build filter
  509. $sFilter = "";
  510. if (!$Security->CanList()) {
  511. $sFilter = "(0=1)"; // Filter all records
  512. }
  513. if ($this->sDbDetailFilter <> "")
  514. $sFilter = ($sFilter <> "") ? "($sFilter) AND (" . $this->sDbDetailFilter . ")" : $this->sDbDetailFilter;
  515. if ($this->sSrchWhere <> "")
  516. $sFilter = ($sFilter <> "") ? "($sFilter) AND (". $this->sSrchWhere . ")" : $this->sSrchWhere;
  517. // Set up filter in Session
  518. $permiso->setSessionWhere($sFilter);
  519. $permiso->CurrentFilter = "";
  520. // Export data only
  521. if (in_array($permiso->Export, array("html","word","excel","xml","csv"))) {
  522. $this->ExportData();
  523. $this->Page_Terminate(); // Terminate response
  524. exit();
  525. }
  526. }
  527. // Set up number of records displayed per page
  528. function SetUpDisplayRecs() {
  529. global $permiso;
  530. $sWrk = @$_GET[EW_TABLE_REC_PER_PAGE];
  531. if ($sWrk <> "") {
  532. if (is_numeric($sWrk)) {
  533. $this->lDisplayRecs = intval($sWrk);
  534. } else {
  535. if (strtolower($sWrk) == "all") { // Display all records
  536. $this->lDisplayRecs = -1;
  537. } else {
  538. $this->lDisplayRecs = 20; // Non-numeric, load default
  539. }
  540. }
  541. $permiso->setRecordsPerPage($this->lDisplayRecs); // Save to Session
  542. // Reset start position
  543. $this->lStartRec = 1;
  544. $permiso->setStartRecordNumber($this->lStartRec);
  545. }
  546. }
  547. // Set up Sort parameters based on Sort Links clicked
  548. function SetUpSortOrder() {
  549. global $permiso;
  550. // Check for an Order parameter
  551. if (@$_GET["order"] <> "") {
  552. $permiso->CurrentOrder = ew_StripSlashes(@$_GET["order"]);
  553. $permiso->CurrentOrderType = @$_GET["ordertype"];
  554. $permiso->UpdateSort($permiso->idRol); // Field
  555. $permiso->UpdateSort($permiso->nombre); // Field
  556. $permiso->UpdateSort($permiso->permiso); // Field
  557. $permiso->setStartRecordNumber(1); // Reset start position
  558. }
  559. }
  560. // Load Sort Order parameters
  561. function LoadSortOrder() {
  562. global $permiso;
  563. $sOrderBy = $permiso->getSessionOrderBy(); // Get order by from Session
  564. if ($sOrderBy == "") {
  565. if ($permiso->SqlOrderBy() <> "") {
  566. $sOrderBy = $permiso->SqlOrderBy();
  567. $permiso->setSessionOrderBy($sOrderBy);
  568. }
  569. }
  570. }
  571. // Reset command based on querystring parameter cmd=
  572. // - RESET: reset search parameters
  573. // - RESETALL: reset search & master/detail parameters
  574. // - RESETSORT: reset sort parameters
  575. function ResetCmd() {
  576. global $permiso;
  577. // Get reset cmd
  578. if (@$_GET["cmd"] <> "") {
  579. $sCmd = $_GET["cmd"];
  580. // Reset sort criteria
  581. if (strtolower($sCmd) == "resetsort") {
  582. $sOrderBy = "";
  583. $permiso->setSessionOrderBy($sOrderBy);
  584. $permiso->idRol->setSort("");
  585. $permiso->nombre->setSort("");
  586. $permiso->permiso->setSort("");
  587. }
  588. // Reset start position
  589. $this->lStartRec = 1;
  590. $permiso->setStartRecordNumber($this->lStartRec);
  591. }
  592. }
  593. // Set up Starting Record parameters based on Pager Navigation
  594. function SetUpStartRec() {
  595. global $permiso;
  596. if ($this->lDisplayRecs == 0)
  597. return;
  598. if ($this->IsPageRequest()) { // Validate request
  599. if (@$_GET[EW_TABLE_START_REC] <> "") { // Check for "start" parameter
  600. $this->lStartRec = $_GET[EW_TABLE_START_REC];
  601. $permiso->setStartRecordNumber($this->lStartRec);
  602. } elseif (@$_GET[EW_TABLE_PAGE_NO] <> "") {
  603. $this->nPageNo = $_GET[EW_TABLE_PAGE_NO];
  604. if (is_numeric($this->nPageNo)) {
  605. $this->lStartRec = ($this->nPageNo-1)*$this->lDisplayRecs+1;
  606. if ($this->lStartRec <= 0) {
  607. $this->lStartRec = 1;
  608. } elseif ($this->lStartRec >= intval(($this->lTotalRecs-1)/$this->lDisplayRecs)*$this->lDisplayRecs+1) {
  609. $this->lStartRec = intval(($this->lTotalRecs-1)/$this->lDisplayRecs)*$this->lDisplayRecs+1;
  610. }
  611. $permiso->setStartRecordNumber($this->lStartRec);
  612. }
  613. }
  614. }
  615. $this->lStartRec = $permiso->getStartRecordNumber();
  616. // Check if correct start record counter
  617. if (!is_numeric($this->lStartRec) || $this->lStartRec == "") { // Avoid invalid start record counter
  618. $this->lStartRec = 1; // Reset start record counter
  619. $permiso->setStartRecordNumber($this->lStartRec);
  620. } elseif (intval($this->lStartRec) > intval($this->lTotalRecs)) { // Avoid starting record > total records
  621. $this->lStartRec = intval(($this->lTotalRecs-1)/$this->lDisplayRecs)*$this->lDisplayRecs+1; // Point to last page first record
  622. $permiso->setStartRecordNumber($this->lStartRec);
  623. } elseif (($this->lStartRec-1) % $this->lDisplayRecs <> 0) {
  624. $this->lStartRec = intval(($this->lStartRec-1)/$this->lDisplayRecs)*$this->lDisplayRecs+1; // Point to page boundary
  625. $permiso->setStartRecordNumber($this->lStartRec);
  626. }
  627. }
  628. // Load recordset
  629. function LoadRecordset($offset = -1, $rowcnt = -1) {
  630. global $conn, $permiso;
  631. // Call Recordset Selecting event
  632. $permiso->Recordset_Selecting($permiso->CurrentFilter);
  633. // Load list page SQL
  634. $sSql = $permiso->SelectSQL();
  635. if ($offset > -1 && $rowcnt > -1) $sSql .= " LIMIT $offset, $rowcnt";
  636. // Load recordset
  637. $conn->raiseErrorFn = 'ew_ErrorFn';
  638. $rs = $conn->Execute($sSql);
  639. $conn->raiseErrorFn = '';
  640. // Call Recordset Selected event
  641. $permiso->Recordset_Selected($rs);
  642. return $rs;
  643. }
  644. // Load row based on key values
  645. function LoadRow() {
  646. global $conn, $Security, $permiso;
  647. $sFilter = $permiso->KeyFilter();
  648. // Call Row Selecting event
  649. $permiso->Row_Selecting($sFilter);
  650. // Load sql based on filter
  651. $permiso->CurrentFilter = $sFilter;
  652. $sSql = $permiso->SQL();
  653. if ($rs = $conn->Execute($sSql)) {
  654. if ($rs->EOF) {
  655. $LoadRow = FALSE;
  656. } else {
  657. $LoadRow = TRUE;
  658. $rs->MoveFirst();
  659. $this->LoadRowValues($rs); // Load row values
  660. // Call Row Selected event
  661. $permiso->Row_Selected($rs);
  662. }
  663. $rs->Close();
  664. } else {
  665. $LoadRow = FALSE;
  666. }
  667. return $LoadRow;
  668. }
  669. // Load row values from recordset
  670. function LoadRowValues(&$rs) {
  671. global $permiso;
  672. $permiso->idRol->setDbValue($rs->fields('idRol'));
  673. $permiso->nombre->setDbValue($rs->fields('nombre'));
  674. $permiso->permiso->setDbValue($rs->fields('permiso'));
  675. }
  676. // Render row values based on field settings
  677. function RenderRow() {
  678. global $conn, $Security, $permiso;
  679. // Call Row_Rendering event
  680. $permiso->Row_Rendering();
  681. // Common render codes for all row types
  682. // idRol
  683. $permiso->idRol->CellCssStyle = "";
  684. $permiso->idRol->CellCssClass = "";
  685. // nombre
  686. $permiso->nombre->CellCssStyle = "";
  687. $permiso->nombre->CellCssClass = "";
  688. // permiso
  689. $permiso->permiso->CellCssStyle = "";
  690. $permiso->permiso->CellCssClass = "";
  691. if ($permiso->RowType == EW_ROWTYPE_VIEW) { // View row
  692. // idRol
  693. $permiso->idRol->ViewValue = $permiso->idRol->CurrentValue;
  694. $permiso->idRol->CssStyle = "";
  695. $permiso->idRol->CssClass = "";
  696. $permiso->idRol->ViewCustomAttributes = "";
  697. // nombre
  698. $permiso->nombre->ViewValue = $permiso->nombre->CurrentValue;
  699. $permiso->nombre->CssStyle = "";
  700. $permiso->nombre->CssClass = "";
  701. $permiso->nombre->ViewCustomAttributes = "";
  702. // permiso
  703. $permiso->permiso->ViewValue = $permiso->permiso->CurrentValue;
  704. $permiso->permiso->CssStyle = "";
  705. $permiso->permiso->CssClass = "";
  706. $permiso->permiso->ViewCustomAttributes = "";
  707. // idRol
  708. $permiso->idRol->HrefValue = "";
  709. // nombre
  710. $permiso->nombre->HrefValue = "";
  711. // permiso
  712. $permiso->permiso->HrefValue = "";
  713. }
  714. // Call Row Rendered event
  715. $permiso->Row_Rendered();
  716. }
  717. // Export data in XML or CSV format
  718. function ExportData() {
  719. global $permiso;
  720. $sCsvStr = "";
  721. // Default export style
  722. $sExportStyle = "h";
  723. // Load recordset
  724. $rs = $this->LoadRecordset();
  725. $this->lTotalRecs = $rs->RecordCount();
  726. $this->lStartRec = 1;
  727. // Export all
  728. if ($permiso->ExportAll) {
  729. $this->lStopRec = $this->lTotalRecs;
  730. } else { // Export 1 page only
  731. $this->SetUpStartRec(); // Set up start record position
  732. // Set the last record to display
  733. if ($this->lDisplayRecs < 0) {
  734. $this->lStopRec = $this->lTotalRecs;
  735. } else {
  736. $this->lStopRec = $this->lStartRec + $this->lDisplayRecs - 1;
  737. }
  738. }
  739. if ($permiso->Export == "xml") {
  740. $XmlDoc = new cXMLDocument();
  741. } else {
  742. echo ew_ExportHeader($permiso->Export);
  743. // Horizontal format, write header
  744. if ($sExportStyle <> "v" || $permiso->Export == "csv") {
  745. $sExportStr = "";
  746. ew_ExportAddValue($sExportStr, 'idRol', $permiso->Export);
  747. ew_ExportAddValue($sExportStr, 'nombre', $permiso->Export);
  748. ew_ExportAddValue($sExportStr, 'permiso', $permiso->Export);
  749. echo ew_ExportLine($sExportStr, $permiso->Export);
  750. }
  751. }
  752. // Move to first record
  753. $this->lRecCnt = $this->lStartRec - 1;
  754. if (!$rs->EOF) {
  755. $rs->MoveFirst();
  756. $rs->Move($this->lStartRec - 1);
  757. }
  758. while (!$rs->EOF && $this->lRecCnt < $this->lStopRec) {
  759. $this->lRecCnt++;
  760. if (intval($this->lRecCnt) >= intval($this->lStartRec)) {
  761. $this->LoadRowValues($rs);
  762. // Render row for display
  763. $permiso->RowType = EW_ROWTYPE_VIEW; // Render view
  764. $this->RenderRow();
  765. if ($permiso->Export == "xml") {
  766. $XmlDoc->BeginRow();
  767. $XmlDoc->AddField('idRol', $permiso->idRol->CurrentValue);
  768. $XmlDoc->AddField('nombre', $permiso->nombre->CurrentValue);
  769. $XmlDoc->AddField('permiso', $permiso->permiso->CurrentValue);
  770. $XmlDoc->EndRow();
  771. } else {
  772. if ($sExportStyle == "v" && $permiso->Export <> "csv") { // Vertical format
  773. echo ew_ExportField('idRol', $permiso->idRol->ExportValue($permiso->Export, $permiso->ExportOriginalValue), $permiso->Export);
  774. echo ew_ExportField('nombre', $permiso->nombre->ExportValue($permiso->Export, $permiso->ExportOriginalValue), $permiso->Export);
  775. echo ew_ExportField('permiso', $permiso->permiso->ExportValue($permiso->Export, $permiso->ExportOriginalValue), $permiso->Export);
  776. } else { // Horizontal format
  777. $sExportStr = "";
  778. ew_ExportAddValue($sExportStr, $permiso->idRol->ExportValue($permiso->Export, $permiso->ExportOriginalValue), $permiso->Export);
  779. ew_ExportAddValue($sExportStr, $permiso->nombre->ExportValue($permiso->Export, $permiso->ExportOriginalValue), $permiso->Export);
  780. ew_ExportAddValue($sExportStr, $permiso->permiso->ExportValue($permiso->Export, $permiso->ExportOriginalValue), $permiso->Export);
  781. echo ew_ExportLine($sExportStr, $permiso->Export);
  782. }
  783. }
  784. }
  785. $rs->MoveNext();
  786. }
  787. // Close recordset
  788. $rs->Close();
  789. if ($permiso->Export == "xml") {
  790. header("Content-Type: text/xml");
  791. echo $XmlDoc->XML();
  792. } else {
  793. echo ew_ExportFooter($permiso->Export);
  794. }
  795. }
  796. // Page Load event
  797. function Page_Load() {
  798. //echo "Page Load";
  799. }
  800. // Page Unload event
  801. function Page_Unload() {
  802. //echo "Page Unload";
  803. }
  804. // Form Custom Validate event
  805. function Form_CustomValidate(&$CustomError) {
  806. // Return error message in CustomError
  807. return TRUE;
  808. }
  809. }
  810. ?>