PageRenderTime 61ms CodeModel.GetById 20ms RepoModel.GetById 1ms app.codeStats 0ms

/osj-osj2dcategorieslist.php

http://osjobber.googlecode.com/
PHP | 1827 lines | 1470 code | 175 blank | 182 comment | 478 complexity | 9d3980a3d8333e51f61f9fd64e0df06d MD5 | raw file
Possible License(s): LGPL-2.1, AGPL-1.0

Large files files are truncated, but you can click here to view the full file

  1. <?php
  2. define("EW_PAGE_ID", "list", TRUE); // Page ID
  3. define("EW_TABLE_NAME", 'osj-categories', TRUE);
  4. ?>
  5. <?php
  6. session_start(); // Initialize session data
  7. ob_start(); // Turn on output buffering
  8. ?>
  9. <?php include "osj-ewcfg50.php" ?>
  10. <?php include "osj-ewmysql50.php" ?>
  11. <?php include "osj-phpfn50.php" ?>
  12. <?php include "osj-osj2dcategoriesinfo.php" ?>
  13. <?php include "osj-userfn50.php" ?>
  14. <?php include "osj-osj2dusersinfo.php" ?>
  15. <?php
  16. header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
  17. header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // Always modified
  18. header("Cache-Control: private, no-store, no-cache, must-revalidate"); // HTTP/1.1
  19. header("Cache-Control: post-check=0, pre-check=0", false);
  20. header("Pragma: no-cache"); // HTTP/1.0
  21. ?>
  22. <?php
  23. // Open connection to the database
  24. $conn = ew_Connect();
  25. ?>
  26. <?php
  27. $Security = new cAdvancedSecurity();
  28. ?>
  29. <?php
  30. if (!$Security->IsLoggedIn()) $Security->AutoLogin();
  31. $Security->LoadCurrentUserLevel('osj-categories');
  32. if (!$Security->IsLoggedIn()) {
  33. $Security->SaveLastUrl();
  34. Page_Terminate("osj-login.php");
  35. }
  36. if (!$Security->CanList()) {
  37. $Security->SaveLastUrl();
  38. Page_Terminate("osj-login.php");
  39. }
  40. ?>
  41. <?php
  42. // Common page loading event (in userfn*.php)
  43. Page_Loading();
  44. ?>
  45. <?php
  46. // Page load event, used in current page
  47. Page_Load();
  48. ?>
  49. <?php
  50. $osj2Dcategories->Export = @$_GET["export"]; // Get export parameter
  51. $sExport = $osj2Dcategories->Export; // Get export parameter, used in header
  52. $sExportFile = $osj2Dcategories->TableVar; // Get export file, used in header
  53. ?>
  54. <?php
  55. if ($osj2Dcategories->Export == "html") {
  56. // Printer friendly, no action required
  57. }
  58. if ($osj2Dcategories->Export == "xml") {
  59. header('Content-Type: text/xml');
  60. header('Content-Disposition: attachment; filename=' . $sExportFile .'.xml');
  61. }
  62. if ($osj2Dcategories->Export == "csv") {
  63. header('Content-Type: application/csv');
  64. header('Content-Disposition: attachment; filename=' . $sExportFile .'.csv');
  65. }
  66. ?>
  67. <?php
  68. // Paging variables
  69. $nStartRec = 0; // Start record index
  70. $nStopRec = 0; // Stop record index
  71. $nTotalRecs = 0; // Total number of records
  72. $nDisplayRecs = 10;
  73. $nRecRange = 10;
  74. $nRecCount = 0; // Record count
  75. // Search filters
  76. $sSrchAdvanced = ""; // Advanced search filter
  77. $sSrchBasic = ""; // Basic search filter
  78. $sSrchWhere = ""; // Search where clause
  79. $sFilter = "";
  80. // Master/Detail
  81. $sDbMasterFilter = ""; // Master filter
  82. $sDbDetailFilter = ""; // Detail filter
  83. $sSqlMaster = ""; // Sql for master record
  84. // Set up records per page dynamically
  85. SetUpDisplayRecs();
  86. // Handle reset command
  87. ResetCmd();
  88. // Check QueryString parameters
  89. if (@$_GET["a"] <> "") {
  90. $osj2Dcategories->CurrentAction = $_GET["a"];
  91. // Clear inline mode
  92. if ($osj2Dcategories->CurrentAction == "cancel") {
  93. ClearInlineMode();
  94. }
  95. // Switch to grid edit mode
  96. if ($osj2Dcategories->CurrentAction == "gridedit") {
  97. GridEditMode();
  98. }
  99. // Switch to inline edit mode
  100. if ($osj2Dcategories->CurrentAction == "edit") {
  101. InlineEditMode();
  102. }
  103. // Switch to inline add mode
  104. if ($osj2Dcategories->CurrentAction == "add" || $osj2Dcategories->CurrentAction == "copy") {
  105. InlineAddMode();
  106. }
  107. } else {
  108. // Create form object
  109. $objForm = new cFormObj;
  110. if (@$_POST["a_list"] <> "") {
  111. $osj2Dcategories->CurrentAction = $_POST["a_list"]; // Get action
  112. // Grid Update
  113. if ($osj2Dcategories->CurrentAction == "gridupdate" && @$_SESSION[EW_SESSION_INLINE_MODE] == "gridedit") {
  114. GridUpdate();
  115. }
  116. // Inline Update
  117. if ($osj2Dcategories->CurrentAction == "update" && @$_SESSION[EW_SESSION_INLINE_MODE] == "edit") {
  118. InlineUpdate();
  119. }
  120. // Insert Inline
  121. if ($osj2Dcategories->CurrentAction == "insert" && @$_SESSION[EW_SESSION_INLINE_MODE] == "add") {
  122. InlineInsert();
  123. }
  124. }
  125. }
  126. // Get search criteria for advanced search
  127. $sSrchAdvanced = AdvancedSearchWhere();
  128. // Get basic search criteria
  129. $sSrchBasic = BasicSearchWhere();
  130. // Build search criteria
  131. if ($sSrchAdvanced <> "") {
  132. if ($sSrchWhere <> "") $sSrchWhere .= " AND ";
  133. $sSrchWhere .= "(" . $sSrchAdvanced . ")";
  134. }
  135. if ($sSrchBasic <> "") {
  136. if ($sSrchWhere <> "") $sSrchWhere .= " AND ";
  137. $sSrchWhere .= "(" . $sSrchBasic . ")";
  138. }
  139. // Save search criteria
  140. if ($sSrchWhere <> "") {
  141. if ($sSrchBasic == "") ResetBasicSearchParms();
  142. if ($sSrchAdvanced == "") ResetAdvancedSearchParms();
  143. $osj2Dcategories->setSearchWhere($sSrchWhere); // Save to Session
  144. $nStartRec = 1; // Reset start record counter
  145. $osj2Dcategories->setStartRecordNumber($nStartRec);
  146. } else {
  147. RestoreSearchParms();
  148. }
  149. // Build filter
  150. $sFilter = "";
  151. if (!$Security->CanList()) {
  152. $sFilter = "(0=1)"; // Filter all records
  153. }
  154. if ($sDbDetailFilter <> "") {
  155. if ($sFilter <> "") $sFilter .= " AND ";
  156. $sFilter .= "(" . $sDbDetailFilter . ")";
  157. }
  158. if ($sSrchWhere <> "") {
  159. if ($sFilter <> "") $sFilter .= " AND ";
  160. $sFilter .= "(" . $sSrchWhere . ")";
  161. }
  162. // Set up filter in Session
  163. $osj2Dcategories->setSessionWhere($sFilter);
  164. $osj2Dcategories->CurrentFilter = "";
  165. // Set Up Sorting Order
  166. SetUpSortOrder();
  167. // Export data only
  168. if ($osj2Dcategories->Export == "xml" || $osj2Dcategories->Export == "csv") {
  169. ExportData();
  170. Page_Terminate(); // Terminate response
  171. }
  172. // Set Return Url
  173. $osj2Dcategories->setReturnUrl("osj-osj2dcategorieslist.php");
  174. ?>
  175. <?php include "osj-header.php" ?>
  176. <?php if ($osj2Dcategories->Export == "") { ?>
  177. <script type="text/javascript">
  178. <!--
  179. var EW_PAGE_ID = "list"; // Page id
  180. var EW_SHOW_HIGHLIGHT = "Show highlight";
  181. var EW_HIDE_HIGHLIGHT = "Hide highlight";
  182. //-->
  183. </script>
  184. <script type="text/javascript">
  185. <!--
  186. function ew_ValidateForm(fobj) {
  187. if (fobj.a_confirm && fobj.a_confirm.value == "F")
  188. return true;
  189. var i, elm, aelm, infix;
  190. var rowcnt = (fobj.key_count) ? Number(fobj.key_count.value) : 1;
  191. for (i=0; i<rowcnt; i++) {
  192. infix = (fobj.key_count) ? String(i+1) : "";
  193. elm = fobj.elements["x" + infix + "_category_id"];
  194. if (elm && !ew_HasValue(elm)) {
  195. if (!ew_OnError(elm, "Please enter required field - category id"))
  196. return false;
  197. }
  198. elm = fobj.elements["x" + infix + "_category_id"];
  199. if (elm && !ew_CheckInteger(elm.value)) {
  200. if (!ew_OnError(elm, "Incorrect integer - category id"))
  201. return false;
  202. }
  203. elm = fobj.elements["x" + infix + "_category_name"];
  204. if (elm && !ew_HasValue(elm)) {
  205. if (!ew_OnError(elm, "Please enter required field - Category Name"))
  206. return false;
  207. }
  208. }
  209. return true;
  210. }
  211. //-->
  212. </script>
  213. <script type="text/javascript">
  214. <!--
  215. var firstrowoffset = 1; // First data row start at
  216. var lastrowoffset = 0; // Last data row end at
  217. var EW_LIST_TABLE_NAME = 'ewlistmain'; // Table name for list page
  218. var rowclass = 'ewTableRow'; // Row class
  219. var rowaltclass = 'ewTableAltRow'; // Row alternate class
  220. var rowmoverclass = 'ewTableHighlightRow'; // Row mouse over class
  221. var rowselectedclass = 'ewTableSelectRow'; // Row selected class
  222. var roweditclass = 'ewTableEditRow'; // Row edit class
  223. //-->
  224. </script>
  225. <script type="text/javascript">
  226. <!--
  227. var ew_DHTMLEditors = [];
  228. //-->
  229. </script>
  230. <script type="text/javascript">
  231. <!--
  232. // js for Popup Calendar
  233. //-->
  234. </script>
  235. <script type="text/javascript">
  236. <!--
  237. function ew_SelectKey(elem) {
  238. var f = elem.form;
  239. if (!f.elements["key_m[]"]) return;
  240. if (f.elements["key_m[]"][0]) {
  241. for (var i=0; i<f.elements["key_m[]"].length; i++)
  242. f.elements["key_m[]"][i].checked = elem.checked;
  243. } else {
  244. f.elements["key_m[]"].checked = elem.checked;
  245. }
  246. ew_ClickAll(elem);
  247. }
  248. function ew_Selected(f) {
  249. if (!f.elements["key_m[]"]) return false;
  250. if (f.elements["key_m[]"][0]) {
  251. for (var i=0; i<f.elements["key_m[]"].length; i++)
  252. if (f.elements["key_m[]"][i].checked) return true;
  253. } else {
  254. return f.elements["key_m[]"].checked;
  255. }
  256. return false;
  257. }
  258. //-->
  259. </script>
  260. <script language="JavaScript" type="text/javascript">
  261. <!--
  262. // Write your client script here, no need to add script tags.
  263. // To include another .js script, use:
  264. // ew_ClientScriptInclude("my_javascript.js");
  265. //-->
  266. </script>
  267. <?php } ?>
  268. <?php if ($osj2Dcategories->Export == "") { ?>
  269. <?php } ?>
  270. <?php
  271. // Load recordset
  272. $bExportAll = (defined("EW_EXPORT_ALL") && $osj2Dcategories->Export <> "");
  273. $bSelectLimit = ($osj2Dcategories->Export == "" && $osj2Dcategories->SelectLimit);
  274. if (!$bSelectLimit) $rs = LoadRecordset();
  275. $nTotalRecs = ($bSelectLimit) ? $osj2Dcategories->SelectRecordCount() : $rs->RecordCount();
  276. $nStartRec = 1;
  277. if ($nDisplayRecs <= 0) $nDisplayRecs = $nTotalRecs; // Display all records
  278. if (!$bExportAll) SetUpStartRec(); // Set up start record position
  279. if ($bSelectLimit) $rs = LoadRecordset($nStartRec-1, $nDisplayRecs);
  280. ?>
  281. <p><span class="phpmaker" style="white-space: nowrap;">TABLE: Categories
  282. <?php if ($osj2Dcategories->Export == "") { ?>
  283. &nbsp;&nbsp;<a href="osj-osj2dcategorieslist.php?export=html">Printer Friendly</a>
  284. &nbsp;&nbsp;<a href="osj-osj2dcategorieslist.php?export=xml">Export to XML</a>
  285. &nbsp;&nbsp;<a href="osj-osj2dcategorieslist.php?export=csv">Export to CSV</a>
  286. <?php } ?>
  287. </span></p>
  288. <?php if ($osj2Dcategories->Export == "") { ?>
  289. <?php if ($Security->CanSearch()) { ?>
  290. <form name="fosj2Dcategorieslistsrch" id="fosj2Dcategorieslistsrch" action="osj-osj2dcategorieslist.php" >
  291. <table class="ewBasicSearch">
  292. <tr>
  293. <td><span class="phpmaker">
  294. <input type="text" name="<?php echo EW_TABLE_BASIC_SEARCH ?>" id="<?php echo EW_TABLE_BASIC_SEARCH ?>" size="20" value="<?php echo ew_HtmlEncode($osj2Dcategories->getBasicSearchKeyword()) ?>">
  295. <input type="Submit" name="Submit" id="Submit" value="Search (*)">&nbsp;
  296. <a href="osj-osj2dcategorieslist.php?cmd=reset">Show all</a>&nbsp;
  297. <a href="osj-osj2dcategoriessrch.php">Advanced Search</a>&nbsp;
  298. <?php if ($sSrchWhere <> "" && $nTotalRecs > 0) { ?>
  299. <a href="javascript:void(0);" onclick="ew_ToggleHighlight(this);">Hide highlight</a>
  300. <?php } ?>
  301. </span></td>
  302. </tr>
  303. <tr>
  304. <td><span class="phpmaker"><input type="radio" name="<?php echo EW_TABLE_BASIC_SEARCH_TYPE ?>" id="<?php echo EW_TABLE_BASIC_SEARCH_TYPE ?>" value="" <?php if ($osj2Dcategories->getBasicSearchType() == "") { ?>checked<?php } ?>>Exact phrase&nbsp;&nbsp;<input type="radio" name="<?php echo EW_TABLE_BASIC_SEARCH_TYPE ?>" id="<?php echo EW_TABLE_BASIC_SEARCH_TYPE ?>" value="AND" <?php if ($osj2Dcategories->getBasicSearchType() == "AND") { ?>checked<?php } ?>>All words&nbsp;&nbsp;<input type="radio" name="<?php echo EW_TABLE_BASIC_SEARCH_TYPE ?>" id="<?php echo EW_TABLE_BASIC_SEARCH_TYPE ?>" value="OR" <?php if ($osj2Dcategories->getBasicSearchType() == "OR") { ?>checked<?php } ?>>Any word</span></td>
  305. </tr>
  306. </table>
  307. </form>
  308. <?php } ?>
  309. <?php } ?>
  310. <?php
  311. if (@$_SESSION[EW_SESSION_MESSAGE] <> "") {
  312. ?>
  313. <p><span class="ewmsg"><?php echo $_SESSION[EW_SESSION_MESSAGE] ?></span></p>
  314. <?php
  315. $_SESSION[EW_SESSION_MESSAGE] = ""; // Clear message
  316. }
  317. ?>
  318. <?php if ($osj2Dcategories->Export == "") { ?>
  319. <form action="osj-osj2dcategorieslist.php" name="ewpagerform" id="ewpagerform">
  320. <table border="0" cellspacing="0" cellpadding="0">
  321. <tr>
  322. <td nowrap>
  323. <span class="phpmaker">
  324. <?php if (!isset($Pager)) $Pager = new cNumericPager($nStartRec, $nDisplayRecs, $nTotalRecs, $nRecRange) ?>
  325. <?php if ($Pager->RecordCount > 0) { ?>
  326. <?php if ($Pager->FirstButton->Enabled) { ?>
  327. <a href="osj-osj2dcategorieslist.php?start=<?php echo $Pager->FirstButton->Start ?>"><b>First</b></a>&nbsp;
  328. <?php } ?>
  329. <?php if ($Pager->PrevButton->Enabled) { ?>
  330. <a href="osj-osj2dcategorieslist.php?start=<?php echo $Pager->PrevButton->Start ?>"><b>Previous</b></a>&nbsp;
  331. <?php } ?>
  332. <?php foreach ($Pager->Items as $PagerItem) { ?>
  333. <?php if ($PagerItem->Enabled) { ?><a href="osj-osj2dcategorieslist.php?start=<?php echo $PagerItem->Start ?>"><?php } ?><b><?php echo $PagerItem->Text ?></b><?php if ($PagerItem->Enabled) { ?></a><?php } ?>&nbsp;
  334. <?php } ?>
  335. <?php if ($Pager->NextButton->Enabled) { ?>
  336. <a href="osj-osj2dcategorieslist.php?start=<?php echo $Pager->NextButton->Start ?>"><b>Next</b></a>&nbsp;
  337. <?php } ?>
  338. <?php if ($Pager->LastButton->Enabled) { ?>
  339. <a href="osj-osj2dcategorieslist.php?start=<?php echo $Pager->LastButton->Start ?>"><b>Last</b></a>&nbsp;
  340. <?php } ?>
  341. <?php if ($Pager->ButtonCount > 0) { ?><br><?php } ?>
  342. Records <?php echo $Pager->FromIndex ?> to <?php echo $Pager->ToIndex ?> of <?php echo $Pager->RecordCount ?>
  343. <?php } else { ?>
  344. <?php if ($Security->CanList()) { ?>
  345. <?php if ($sSrchWhere == "0=101") { ?>
  346. Please enter search criteria
  347. <?php } else { ?>
  348. No records found
  349. <?php } ?>
  350. <?php } else { ?>
  351. You do not have the right permission to view the page
  352. <?php } ?>
  353. <?php } ?>
  354. </span>
  355. </td>
  356. <?php if ($nTotalRecs > 0) { ?>
  357. <td nowrap>&nbsp;&nbsp;&nbsp;&nbsp;</td>
  358. <td align="right" valign="top" nowrap><span class="phpmaker">Records Per Page&nbsp;
  359. <select name="<?php echo EW_TABLE_REC_PER_PAGE ?>" id="<?php echo EW_TABLE_REC_PER_PAGE ?>" onChange="this.form.submit();" class="phpmaker">
  360. <option value="10"<?php if ($nDisplayRecs == 10) echo " selected" ?>>10</option>
  361. <option value="20"<?php if ($nDisplayRecs == 20) echo " selected" ?>>20</option>
  362. <option value="50"<?php if ($nDisplayRecs == 50) echo " selected" ?>>50</option>
  363. </select>
  364. </span></td>
  365. <?php } ?>
  366. </tr>
  367. </table>
  368. </form>
  369. <?php } ?>
  370. <form name="fosj2Dcategorieslist" id="fosj2Dcategorieslist" action="osj-osj2dcategorieslist.php" method="post">
  371. <?php if ($osj2Dcategories->Export == "") { ?>
  372. <table>
  373. <tr><td><span class="phpmaker">
  374. <?php if ($osj2Dcategories->CurrentAction <> "gridedit") { // Not grid edit mode ?>
  375. <?php if ($Security->CanAdd()) { ?>
  376. <a href="osj-osj2dcategoriesadd.php">Add</a>&nbsp;&nbsp;
  377. <a href="osj-osj2dcategorieslist.php?a=add">Inline Add</a>&nbsp;&nbsp;
  378. <?php } ?>
  379. <?php if ($nTotalRecs > 0) { ?>
  380. <?php if ($Security->CanDelete()) { ?>
  381. <a href="" onClick="if (!ew_Selected(document.fosj2Dcategorieslist)) alert('No records selected'); else {document.fosj2Dcategorieslist.action='osj-osj2dcategoriesdelete.php';document.fosj2Dcategorieslist.encoding='application/x-www-form-urlencoded';document.fosj2Dcategorieslist.submit();};return false;">Delete Selected Records</a>&nbsp;&nbsp;
  382. <?php } ?>
  383. <?php } ?>
  384. <?php if ($Security->CanEdit()) { ?>
  385. <?php if ($nTotalRecs > 0) { ?>
  386. <a href="osj-osj2dcategorieslist.php?a=gridedit">Grid Edit</a>&nbsp;&nbsp;
  387. <?php } ?>
  388. <?php } ?>
  389. <?php } else { // Grid edit mode ?>
  390. <a href="" onClick="if (ew_ValidateForm(document.fosj2Dcategorieslist)) document.fosj2Dcategorieslist.submit();return false;">Save</a>&nbsp;&nbsp;
  391. <a href="osj-osj2dcategorieslist.php?a=cancel">Cancel</a>&nbsp;&nbsp;
  392. <?php } ?>
  393. </span></td></tr>
  394. </table>
  395. <?php } ?>
  396. <?php if ($nTotalRecs > 0 || $osj2Dcategories->CurrentAction == "add" || $osj2Dcategories->CurrentAction == "copy") { ?>
  397. <table id="ewlistmain" class="ewTable">
  398. <?php
  399. $OptionCnt = 0;
  400. if ($Security->CanEdit()) {
  401. $OptionCnt++; // edit
  402. }
  403. if ($Security->CanDelete()) {
  404. $OptionCnt++; // multi select
  405. }
  406. ?>
  407. <!-- Table header -->
  408. <tr class="ewTableHeader">
  409. <?php if ($osj2Dcategories->Export == "") { ?>
  410. <?php if ($osj2Dcategories->CurrentAction <> "gridedit") { ?>
  411. <?php if ($Security->CanEdit()) { ?>
  412. <td nowrap>&nbsp;</td>
  413. <?php } ?>
  414. <?php if ($Security->CanAdd()) { ?>
  415. <?php if ($OptionCnt == 0 && $osj2Dcategories->CurrentAction == "add") { ?>
  416. <td nowrap>&nbsp;</td>
  417. <?php } ?>
  418. <?php } ?>
  419. <?php if ($Security->CanDelete()) { ?>
  420. <td nowrap><input type="checkbox" class="phpmaker" onClick="ew_SelectKey(this);"></td>
  421. <?php } ?>
  422. <?php } ?>
  423. <?php } ?>
  424. <td valign="top">
  425. <?php if ($osj2Dcategories->Export <> "") { ?>
  426. category id
  427. <?php } else { ?>
  428. <a href="osj-osj2dcategorieslist.php?order=<?php echo urlencode('category_id') ?>&ordertype=<?php echo $osj2Dcategories->category_id->ReverseSort() ?>">category id<?php if ($osj2Dcategories->category_id->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($osj2Dcategories->category_id->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></a>
  429. <?php } ?>
  430. </td>
  431. <td valign="top">
  432. <?php if ($osj2Dcategories->Export <> "") { ?>
  433. parent id
  434. <?php } else { ?>
  435. <a href="osj-osj2dcategorieslist.php?order=<?php echo urlencode('parent_id') ?>&ordertype=<?php echo $osj2Dcategories->parent_id->ReverseSort() ?>">parent id<?php if ($osj2Dcategories->parent_id->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($osj2Dcategories->parent_id->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></a>
  436. <?php } ?>
  437. </td>
  438. <td valign="top">
  439. <?php if ($osj2Dcategories->Export <> "") { ?>
  440. Category Name
  441. <?php } else { ?>
  442. <a href="osj-osj2dcategorieslist.php?order=<?php echo urlencode('category_name') ?>&ordertype=<?php echo $osj2Dcategories->category_name->ReverseSort() ?>">Category Name&nbsp;(*)<?php if ($osj2Dcategories->category_name->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($osj2Dcategories->category_name->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></a>
  443. <?php } ?>
  444. </td>
  445. </tr>
  446. <?php
  447. if ($osj2Dcategories->CurrentAction == "add" || $osj2Dcategories->CurrentAction == "copy") {
  448. $RowIndex = 1;
  449. if ($osj2Dcategories->EventCancelled) { // Insert failed
  450. RestoreFormValues(); // Restore form values
  451. }
  452. // Init row class and style
  453. $osj2Dcategories->CssClass = "ewTableEditRow"; // edit
  454. $osj2Dcategories->CssStyle = "";
  455. // Init row event
  456. $osj2Dcategories->RowClientEvents = "onmouseover='ew_MouseOver(this);' onmouseout='ew_MouseOut(this);' onclick='ew_Click(this);'";
  457. // Render add row
  458. $osj2Dcategories->RowType = EW_ROWTYPE_ADD;
  459. RenderRow();
  460. ?>
  461. <tr<?php echo $osj2Dcategories->DisplayAttributes() ?>>
  462. <td colspan="<?php echo $OptionCnt ?>" align="right"><span class="phpmaker">
  463. <a href="" onClick="if (ew_ValidateForm(document.fosj2Dcategorieslist)) document.fosj2Dcategorieslist.submit();return false;">Insert</a>&nbsp;<a href="osj-osj2dcategorieslist.php?a=cancel">Cancel</a>
  464. <input type="hidden" name="a_list" id="a_list" value="insert">
  465. </span></td>
  466. <!-- category_id -->
  467. <td></td>
  468. <!-- parent_id -->
  469. <td>
  470. <select id="x<?php echo $RowIndex ?>_parent_id" name="x<?php echo $RowIndex ?>_parent_id"<?php echo $osj2Dcategories->parent_id->EditAttributes() ?>>
  471. <!--option value="">Please Select</option-->
  472. <?php
  473. if (is_array($osj2Dcategories->parent_id->EditValue)) {
  474. $arwrk = $osj2Dcategories->parent_id->EditValue;
  475. $rowswrk = count($arwrk);
  476. for ($rowcntwrk = 0; $rowcntwrk < $rowswrk; $rowcntwrk++) {
  477. $selwrk = (strval($osj2Dcategories->parent_id->CurrentValue) == strval($arwrk[$rowcntwrk][0])) ? " selected" : "";
  478. ?>
  479. <option value="<?php echo ew_HtmlEncode($arwrk[$rowcntwrk][0]) ?>"<?php echo $selwrk ?>>
  480. <?php echo $arwrk[$rowcntwrk][1] ?>
  481. </option>
  482. <?php
  483. }
  484. }
  485. ?>
  486. </select>
  487. </td>
  488. <!-- category_name -->
  489. <td>
  490. <input type="text" name="x<?php echo $RowIndex ?>_category_name" id="x<?php echo $RowIndex ?>_category_name" title="Category Name" size="30" maxlength="255" value="<?php echo $osj2Dcategories->category_name->EditValue ?>"<?php echo $osj2Dcategories->category_name->EditAttributes() ?>>
  491. </td>
  492. </tr>
  493. <?php
  494. }
  495. ?>
  496. <?php
  497. if (defined("EW_EXPORT_ALL") && $osj2Dcategories->Export <> "") {
  498. $nStopRec = $nTotalRecs;
  499. } else {
  500. $nStopRec = $nStartRec + $nDisplayRecs - 1; // Set the last record to display
  501. }
  502. $nRecCount = $nStartRec - 1;
  503. if (!$rs->EOF) {
  504. $rs->MoveFirst();
  505. if (!$osj2Dcategories->SelectLimit) $rs->Move($nStartRec - 1); // Move to first record directly
  506. }
  507. $RowCnt = 0;
  508. $nEditRowCnt = 0;
  509. if ($osj2Dcategories->CurrentAction == "edit") $RowIndex = 1;
  510. if ($osj2Dcategories->CurrentAction == "gridedit") $RowIndex = 0;
  511. while (!$rs->EOF && $nRecCount < $nStopRec) {
  512. $nRecCount++;
  513. if (intval($nRecCount) >= intval($nStartRec)) {
  514. $RowCnt++;
  515. if ($osj2Dcategories->CurrentAction == "gridedit") $RowIndex++;
  516. // Init row class and style
  517. $osj2Dcategories->CssClass = "ewTableRow";
  518. $osj2Dcategories->CssStyle = "";
  519. // Init row event
  520. $osj2Dcategories->RowClientEvents = "onmouseover='ew_MouseOver(this);' onmouseout='ew_MouseOut(this);' onclick='ew_Click(this);'";
  521. // Display alternate color for rows
  522. if ($RowCnt % 2 == 0) {
  523. $osj2Dcategories->CssClass = "ewTableAltRow";
  524. }
  525. LoadRowValues($rs); // Load row values
  526. $osj2Dcategories->RowType = EW_ROWTYPE_VIEW; // Render view
  527. if ($osj2Dcategories->CurrentAction == "edit") {
  528. if (CheckInlineEditKey() && $nEditRowCnt == 0) { // Inline edit
  529. $osj2Dcategories->RowType = EW_ROWTYPE_EDIT; // Render edit
  530. }
  531. }
  532. if ($osj2Dcategories->CurrentAction == "gridedit") { // Grid edit
  533. $osj2Dcategories->RowType = EW_ROWTYPE_EDIT; // Render edit
  534. }
  535. if ($osj2Dcategories->RowType == EW_ROWTYPE_EDIT && $osj2Dcategories->EventCancelled) { // Update failed
  536. if ($osj2Dcategories->CurrentAction == "edit") {
  537. RestoreFormValues(); // Restore form values
  538. }
  539. if ($osj2Dcategories->CurrentAction == "gridedit") {
  540. RestoreCurrentRowFormValues(); // Restore form values
  541. }
  542. }
  543. if ($osj2Dcategories->RowType == EW_ROWTYPE_EDIT) { // Edit row
  544. $nEditRowCnt++;
  545. $osj2Dcategories->CssClass = "ewTableEditRow";
  546. $osj2Dcategories->RowClientEvents = "onmouseover='this.edit=true;ew_MouseOver(this);' onmouseout='ew_MouseOut(this);' onclick='ew_Click(this);'";
  547. }
  548. RenderRow();
  549. ?>
  550. <!-- Table body -->
  551. <tr<?php echo $osj2Dcategories->DisplayAttributes() ?>>
  552. <?php if ($osj2Dcategories->RowType == EW_ROWTYPE_EDIT) { ?>
  553. <?php if ($osj2Dcategories->CurrentAction == "edit") { ?>
  554. <td colspan="<?php echo $OptionCnt ?>" align="right"><span class="phpmaker">
  555. <a href="" onClick="if (ew_ValidateForm(document.fosj2Dcategorieslist)) document.fosj2Dcategorieslist.submit();return false;">Update</a>&nbsp;<a href="osj-osj2dcategorieslist.php?a=cancel">Cancel</a>
  556. <input type="hidden" name="a_list" id="a_list" value="update">
  557. </span></td>
  558. <?php } ?>
  559. <?php if ($osj2Dcategories->CurrentAction == "gridedit") { ?>
  560. <input type="hidden" name="k<?php echo $RowIndex ?>_key" id="k<?php echo $RowIndex ?>_key" value="<?php echo ew_HtmlEncode($osj2Dcategories->category_id->CurrentValue) ?>">
  561. <?php } ?>
  562. <?php } else { ?>
  563. <?php if ($osj2Dcategories->Export == "") { ?>
  564. <?php if ($Security->CanEdit()) { ?>
  565. <td nowrap><span class="phpmaker">
  566. <a href="<?php echo $osj2Dcategories->EditUrl() ?>">Edit</a><span class="ewSeparator">&nbsp;|&nbsp;</span><a href="<?php echo $osj2Dcategories->InlineEditUrl() ?>">Inline Edit</a>
  567. </span></td>
  568. <?php } ?>
  569. <?php if ($Security->CanAdd()) { ?>
  570. <?php if ($OptionCnt == 0 && $osj2Dcategories->CurrentAction == "add") { ?>
  571. <td nowrap>&nbsp;</td>
  572. <?php } ?>
  573. <?php } ?>
  574. <?php if ($Security->CanDelete()) { ?>
  575. <td nowrap><span class="phpmaker">
  576. <input type="checkbox" name="key_m[]" id="key_m[]" value="<?php echo ew_HtmlEncode($osj2Dcategories->category_id->CurrentValue) ?>" class="phpmaker" onclick='ew_ClickMultiCheckbox(this);'>
  577. </span></td>
  578. <?php } ?>
  579. <?php } ?>
  580. <?php } ?>
  581. <!-- category_id -->
  582. <td<?php echo $osj2Dcategories->category_id->CellAttributes() ?>>
  583. <?php if ($osj2Dcategories->RowType == EW_ROWTYPE_EDIT) { // Edit Record ?>
  584. <div<?php echo $osj2Dcategories->category_id->ViewAttributes() ?>><?php echo $osj2Dcategories->category_id->EditValue ?></div>
  585. <input type="hidden" name="x<?php echo $RowIndex ?>_category_id" id="x<?php echo $RowIndex ?>_category_id" value="<?php echo ew_HtmlEncode($osj2Dcategories->category_id->CurrentValue) ?>">
  586. <?php } else { ?>
  587. <div<?php echo $osj2Dcategories->category_id->ViewAttributes() ?>><?php echo $osj2Dcategories->category_id->ViewValue ?></div>
  588. <?php } ?>
  589. </td>
  590. <!-- parent_id -->
  591. <td<?php echo $osj2Dcategories->parent_id->CellAttributes() ?>>
  592. <?php if ($osj2Dcategories->RowType == EW_ROWTYPE_EDIT) { // Edit Record ?>
  593. <select id="x<?php echo $RowIndex ?>_parent_id" name="x<?php echo $RowIndex ?>_parent_id"<?php echo $osj2Dcategories->parent_id->EditAttributes() ?>>
  594. <!--option value="">Please Select</option-->
  595. <?php
  596. if (is_array($osj2Dcategories->parent_id->EditValue)) {
  597. $arwrk = $osj2Dcategories->parent_id->EditValue;
  598. $rowswrk = count($arwrk);
  599. for ($rowcntwrk = 0; $rowcntwrk < $rowswrk; $rowcntwrk++) {
  600. $selwrk = (strval($osj2Dcategories->parent_id->CurrentValue) == strval($arwrk[$rowcntwrk][0])) ? " selected" : "";
  601. ?>
  602. <option value="<?php echo ew_HtmlEncode($arwrk[$rowcntwrk][0]) ?>"<?php echo $selwrk ?>>
  603. <?php echo $arwrk[$rowcntwrk][1] ?>
  604. </option>
  605. <?php
  606. }
  607. }
  608. ?>
  609. </select>
  610. <?php } else { ?>
  611. <div<?php echo $osj2Dcategories->parent_id->ViewAttributes() ?>><?php echo $osj2Dcategories->parent_id->ViewValue ?></div>
  612. <?php } ?>
  613. </td>
  614. <!-- category_name -->
  615. <td<?php echo $osj2Dcategories->category_name->CellAttributes() ?>>
  616. <?php if ($osj2Dcategories->RowType == EW_ROWTYPE_EDIT) { // Edit Record ?>
  617. <input type="text" name="x<?php echo $RowIndex ?>_category_name" id="x<?php echo $RowIndex ?>_category_name" title="Category Name" size="30" maxlength="255" value="<?php echo $osj2Dcategories->category_name->EditValue ?>"<?php echo $osj2Dcategories->category_name->EditAttributes() ?>>
  618. <?php } else { ?>
  619. <div<?php echo $osj2Dcategories->category_name->ViewAttributes() ?>><?php echo $osj2Dcategories->category_name->ViewValue ?></div>
  620. <?php } ?>
  621. </td>
  622. </tr>
  623. <?php if ($osj2Dcategories->RowType == EW_ROWTYPE_EDIT) { ?>
  624. <?php } ?>
  625. <?php
  626. }
  627. $rs->MoveNext();
  628. }
  629. ?>
  630. </table>
  631. <?php if ($osj2Dcategories->Export == "") { ?>
  632. <table>
  633. <tr><td><span class="phpmaker">
  634. <?php if ($osj2Dcategories->CurrentAction <> "gridedit") { // Not grid edit mode ?>
  635. <?php if ($Security->CanAdd()) { ?>
  636. <a href="osj-osj2dcategoriesadd.php">Add</a>&nbsp;&nbsp;
  637. <a href="osj-osj2dcategorieslist.php?a=add">Inline Add</a>&nbsp;&nbsp;
  638. <?php } ?>
  639. <?php if ($nTotalRecs > 0) { ?>
  640. <?php if ($Security->CanDelete()) { ?>
  641. <a href="" onClick="if (!ew_Selected(document.fosj2Dcategorieslist)) alert('No records selected'); else {document.fosj2Dcategorieslist.action='osj-osj2dcategoriesdelete.php';document.fosj2Dcategorieslist.encoding='application/x-www-form-urlencoded';document.fosj2Dcategorieslist.submit();};return false;">Delete Selected Records</a>&nbsp;&nbsp;
  642. <?php } ?>
  643. <?php } ?>
  644. <?php if ($Security->CanEdit()) { ?>
  645. <?php if ($nTotalRecs > 0) { ?>
  646. <a href="osj-osj2dcategorieslist.php?a=gridedit">Grid Edit</a>&nbsp;&nbsp;
  647. <?php } ?>
  648. <?php } ?>
  649. <?php } else { // Grid edit mode ?>
  650. <a href="" onClick="if (ew_ValidateForm(document.fosj2Dcategorieslist)) document.fosj2Dcategorieslist.submit();return false;">Save</a>&nbsp;&nbsp;
  651. <a href="osj-osj2dcategorieslist.php?a=cancel">Cancel</a>&nbsp;&nbsp;
  652. <?php } ?>
  653. </span></td></tr>
  654. </table>
  655. <?php } ?>
  656. <?php } ?>
  657. <?php if ($osj2Dcategories->CurrentAction == "add" || $osj2Dcategories->CurrentAction == "copy") { ?>
  658. <input type="hidden" name="key_count" id="key_count" value="<?php echo $RowIndex ?>">
  659. <?php } ?>
  660. <?php if ($osj2Dcategories->CurrentAction == "edit") { ?>
  661. <input type="hidden" name="key_count" id="key_count" value="<?php echo $RowIndex ?>">
  662. <?php } ?>
  663. <?php if ($osj2Dcategories->CurrentAction == "gridedit") { ?>
  664. <input type="hidden" name="a_list" id="a_list" value="gridupdate">
  665. <input type="hidden" name="key_count" id="key_count" value="<?php echo $RowIndex ?>">
  666. <?php } ?>
  667. </form>
  668. <?php
  669. // Close recordset and connection
  670. if ($rs) $rs->Close();
  671. ?>
  672. <?php if ($osj2Dcategories->Export == "") { ?>
  673. <form action="osj-osj2dcategorieslist.php" name="ewpagerform" id="ewpagerform">
  674. <table border="0" cellspacing="0" cellpadding="0">
  675. <tr>
  676. <td nowrap>
  677. <span class="phpmaker">
  678. <?php if (!isset($Pager)) $Pager = new cNumericPager($nStartRec, $nDisplayRecs, $nTotalRecs, $nRecRange) ?>
  679. <?php if ($Pager->RecordCount > 0) { ?>
  680. <?php if ($Pager->FirstButton->Enabled) { ?>
  681. <a href="osj-osj2dcategorieslist.php?start=<?php echo $Pager->FirstButton->Start ?>"><b>First</b></a>&nbsp;
  682. <?php } ?>
  683. <?php if ($Pager->PrevButton->Enabled) { ?>
  684. <a href="osj-osj2dcategorieslist.php?start=<?php echo $Pager->PrevButton->Start ?>"><b>Previous</b></a>&nbsp;
  685. <?php } ?>
  686. <?php foreach ($Pager->Items as $PagerItem) { ?>
  687. <?php if ($PagerItem->Enabled) { ?><a href="osj-osj2dcategorieslist.php?start=<?php echo $PagerItem->Start ?>"><?php } ?><b><?php echo $PagerItem->Text ?></b><?php if ($PagerItem->Enabled) { ?></a><?php } ?>&nbsp;
  688. <?php } ?>
  689. <?php if ($Pager->NextButton->Enabled) { ?>
  690. <a href="osj-osj2dcategorieslist.php?start=<?php echo $Pager->NextButton->Start ?>"><b>Next</b></a>&nbsp;
  691. <?php } ?>
  692. <?php if ($Pager->LastButton->Enabled) { ?>
  693. <a href="osj-osj2dcategorieslist.php?start=<?php echo $Pager->LastButton->Start ?>"><b>Last</b></a>&nbsp;
  694. <?php } ?>
  695. <?php if ($Pager->ButtonCount > 0) { ?><br><?php } ?>
  696. Records <?php echo $Pager->FromIndex ?> to <?php echo $Pager->ToIndex ?> of <?php echo $Pager->RecordCount ?>
  697. <?php } else { ?>
  698. <?php if ($Security->CanList()) { ?>
  699. <?php if ($sSrchWhere == "0=101") { ?>
  700. Please enter search criteria
  701. <?php } else { ?>
  702. No records found
  703. <?php } ?>
  704. <?php } else { ?>
  705. You do not have the right permission to view the page
  706. <?php } ?>
  707. <?php } ?>
  708. </span>
  709. </td>
  710. <?php if ($nTotalRecs > 0) { ?>
  711. <td nowrap>&nbsp;&nbsp;&nbsp;&nbsp;</td>
  712. <td align="right" valign="top" nowrap><span class="phpmaker">Records Per Page&nbsp;
  713. <select name="<?php echo EW_TABLE_REC_PER_PAGE ?>" id="<?php echo EW_TABLE_REC_PER_PAGE ?>" onChange="this.form.submit();" class="phpmaker">
  714. <option value="10"<?php if ($nDisplayRecs == 10) echo " selected" ?>>10</option>
  715. <option value="20"<?php if ($nDisplayRecs == 20) echo " selected" ?>>20</option>
  716. <option value="50"<?php if ($nDisplayRecs == 50) echo " selected" ?>>50</option>
  717. </select>
  718. </span></td>
  719. <?php } ?>
  720. </tr>
  721. </table>
  722. </form>
  723. <?php } ?>
  724. <?php if ($osj2Dcategories->Export == "") { ?>
  725. <?php } ?>
  726. <?php if ($osj2Dcategories->Export == "") { ?>
  727. <script language="JavaScript" type="text/javascript">
  728. <!--
  729. // Write your table-specific startup script here
  730. // document.write("page loaded");
  731. //-->
  732. </script>
  733. <?php } ?>
  734. <?php include "osj-footer.php" ?>
  735. <?php
  736. // If control is passed here, simply terminate the page without redirect
  737. Page_Terminate();
  738. // -----------------------------------------------------------------
  739. // Subroutine Page_Terminate
  740. // - called when exit page
  741. // - clean up connection and objects
  742. // - if url specified, redirect to url, otherwise end response
  743. function Page_Terminate($url = "") {
  744. global $conn;
  745. // Page unload event, used in current page
  746. Page_Unload();
  747. // Global page unloaded event (in userfn*.php)
  748. Page_Unloaded();
  749. // Close Connection
  750. $conn->Close();
  751. // Go to url if specified
  752. if ($url <> "") {
  753. ob_end_clean();
  754. header("Location: $url");
  755. }
  756. exit();
  757. }
  758. ?>
  759. <?php
  760. // Set up number of records displayed per page
  761. function SetUpDisplayRecs() {
  762. global $nDisplayRecs, $nStartRec, $osj2Dcategories;
  763. $sWrk = @$_GET[EW_TABLE_REC_PER_PAGE];
  764. if ($sWrk <> "") {
  765. if (is_numeric($sWrk)) {
  766. $nDisplayRecs = intval($sWrk);
  767. } else {
  768. if (strtolower($sWrk) == "all") { // Display all records
  769. $nDisplayRecs = -1;
  770. } else {
  771. $nDisplayRecs = 10; // Non-numeric, load default
  772. }
  773. }
  774. $osj2Dcategories->setRecordsPerPage($nDisplayRecs); // Save to Session
  775. // Reset start position
  776. $nStartRec = 1;
  777. $osj2Dcategories->setStartRecordNumber($nStartRec);
  778. } else {
  779. if ($osj2Dcategories->getRecordsPerPage() <> "") {
  780. $nDisplayRecs = $osj2Dcategories->getRecordsPerPage(); // Restore from Session
  781. } else {
  782. $nDisplayRecs = 10; // Load default
  783. }
  784. }
  785. }
  786. // Exit out of inline mode
  787. function ClearInlineMode() {
  788. global $osj2Dcategories;
  789. $osj2Dcategories->setKey("category_id", ""); // Clear inline edit key
  790. $osj2Dcategories->CurrentAction = ""; // Clear action
  791. $_SESSION[EW_SESSION_INLINE_MODE] = ""; // Clear inline mode
  792. }
  793. // Switch to Grid Edit Mode
  794. function GridEditMode() {
  795. $_SESSION[EW_SESSION_INLINE_MODE] = "gridedit"; // Enable grid edit
  796. }
  797. // Switch to Inline Edit Mode
  798. function InlineEditMode() {
  799. global $Security, $osj2Dcategories;
  800. if (!$Security->CanEdit()) Page_Terminate("osj-login.php"); // Go to login page
  801. $bInlineEdit = TRUE;
  802. if (@$_GET["category_id"] <> "") {
  803. $osj2Dcategories->category_id->setQueryStringValue($_GET["category_id"]);
  804. } else {
  805. $bInlineEdit = FALSE;
  806. }
  807. if ($bInlineEdit) {
  808. if (LoadRow()) {
  809. $osj2Dcategories->setKey("category_id", $osj2Dcategories->category_id->CurrentValue); // Set up inline edit key
  810. $_SESSION[EW_SESSION_INLINE_MODE] = "edit"; // Enable inline edit
  811. }
  812. }
  813. }
  814. // Peform update to inline edit record
  815. function InlineUpdate() {
  816. global $objForm, $osj2Dcategories;
  817. $objForm->Index = 1;
  818. LoadFormValues(); // Get form values
  819. if (CheckInlineEditKey()) { // Check key
  820. $osj2Dcategories->SendEmail = TRUE; // Send email on update success
  821. $bInlineUpdate = EditRow(); // Update record
  822. } else {
  823. $bInlineUpdate = FALSE;
  824. }
  825. if ($bInlineUpdate) { // Update success
  826. $_SESSION[EW_SESSION_MESSAGE] = "Update successful"; // Set success message
  827. ClearInlineMode(); // Clear inline edit mode
  828. } else {
  829. if (@$_SESSION[EW_SESSION_MESSAGE] == "") {
  830. $_SESSION[EW_SESSION_MESSAGE] = "Update failed"; // Set update failed message
  831. }
  832. $osj2Dcategories->EventCancelled = TRUE; // Cancel event
  833. $osj2Dcategories->CurrentAction = "edit"; // Stay in edit mode
  834. }
  835. }
  836. // Check inline edit key
  837. function CheckInlineEditKey() {
  838. global $osj2Dcategories;
  839. //CheckInlineEditKey = True
  840. if (strval($osj2Dcategories->getKey("category_id")) <> strval($osj2Dcategories->category_id->CurrentValue)) {
  841. return FALSE;
  842. }
  843. return TRUE;
  844. }
  845. // Switch to Inline Add Mode
  846. function InlineAddMode() {
  847. global $Security, $osj2Dcategories;
  848. if (!$Security->CanAdd()) Page_Terminate("osj-login.php"); // Return to login page
  849. $osj2Dcategories->CurrentAction = "add";
  850. $_SESSION[EW_SESSION_INLINE_MODE] = "add"; // Enable inline add
  851. }
  852. // Peform update to inline add/copy record
  853. function InlineInsert() {
  854. global $objForm, $osj2Dcategories;
  855. $objForm->Index = 1;
  856. LoadFormValues(); // Get form values
  857. $osj2Dcategories->SendEmail = TRUE; // Send email on add success
  858. if (AddRow()) { // Add record
  859. $_SESSION[EW_SESSION_MESSAGE] = "Add New Record Successful"; // Set add success message
  860. ClearInlineMode(); // Clear inline add mode
  861. } else { // Add failed
  862. $osj2Dcategories->EventCancelled = TRUE; // Set event cancelled
  863. $osj2Dcategories->CurrentAction = "add"; // Stay in add mode
  864. }
  865. }
  866. // Peform update to grid
  867. function GridUpdate() {
  868. global $conn, $objForm, $osj2Dcategories;
  869. $rowindex = 1;
  870. $bGridUpdate = TRUE;
  871. // Begin transaction
  872. $conn->BeginTrans();
  873. WriteAuditTrailDummy("*** batch update begin ***"); // Batch update begin
  874. $sKey = "";
  875. // Update row index and get row key
  876. $objForm->Index = $rowindex;
  877. $sThisKey = strval($objForm->GetValue("k_key"));
  878. // Update all rows based on key
  879. while ($sThisKey <> "") {
  880. // Load all values & keys
  881. LoadFormValues(); // Get form values
  882. if (LoadKeyValues($sThisKey)) { // Get key values
  883. $osj2Dcategories->SendEmail = FALSE; // Do not send email on update success
  884. $bGridUpdate = EditRow(); // Update this row
  885. } else {
  886. $bGridUpdate = FALSE; // update failed
  887. }
  888. if ($bGridUpdate) {
  889. if ($sKey <> "") $sKey .= ", ";
  890. $sKey .= $sThisKey;
  891. } else {
  892. break;
  893. }
  894. // Update row index and get row key
  895. $rowindex++; // next row
  896. $objForm->Index = $rowindex;
  897. $sThisKey = strval($objForm->GetValue("k_key"));
  898. }
  899. if ($bGridUpdate) {
  900. $conn->CommitTrans(); // Commit transaction
  901. WriteAuditTrailDummy("*** batch update success ***"); // Batch update success
  902. $_SESSION[EW_SESSION_MESSAGE] = "Update successful"; // Set update success message
  903. ClearInlineMode(); // Clear inline edit mode
  904. } else {
  905. $conn->RollbackTrans(); // Rollback transaction
  906. WriteAuditTrailDummy("*** batch update rollback ***"); // Batch update rollback
  907. if (@$_SESSION[EW_SESSION_MESSAGE] == "") {
  908. $_SESSION[EW_SESSION_MESSAGE] = "Update failed"; // Set update failed message
  909. }
  910. $osj2Dcategories->EventCancelled = TRUE; // Set event cancelled
  911. $osj2Dcategories->CurrentAction = "gridedit"; // Stay in gridedit mode
  912. }
  913. }
  914. // Load key values
  915. function LoadKeyValues($sKey) {
  916. global $osj2Dcategories;
  917. $arrKeyFlds = explode(EW_COMPOSITE_KEY_SEPARATOR, strval($sKey));
  918. if (count($arrKeyFlds) >= 1) {
  919. $osj2Dcategories->category_id->setFormValue($arrKeyFlds[0]);
  920. if (!is_numeric($osj2Dcategories->category_id->FormValue)) {
  921. return FALSE;
  922. }
  923. }
  924. return TRUE;
  925. }
  926. // Restore form values for current row
  927. function RestoreCurrentRowFormValues() {
  928. global $objForm, $osj2Dcategories;
  929. // Update row index and get row key
  930. $rowindex = 1;
  931. $objForm->Index = $rowindex;
  932. $sKey = strval($objForm->GetValue("k_key"));
  933. while ($sKey <> "") {
  934. $arrKeyFlds = explode(EW_COMPOSITE_KEY_SEPARATOR, strval($sKey));
  935. if (count($arrKeyFlds) >= 1) {
  936. if (strval($arrKeyFlds[0]) == strval($osj2Dcategories->category_id->CurrentValue)) {
  937. $objForm->Index = $rowindex;
  938. LoadFormValues(); // Load form values
  939. return;
  940. }
  941. }
  942. // Update row index and get row key
  943. $rowindex++;
  944. $objForm->Index = $rowindex;
  945. $sKey = strval($objForm->GetValue("k_key"));
  946. }
  947. }
  948. // Return Advanced Search Where based on QueryString parameters
  949. function AdvancedSearchWhere() {
  950. global $Security, $osj2Dcategories;
  951. $sWhere = "";
  952. if (!$Security->CanSearch()) return "";
  953. // Field category_name
  954. BuildSearchSql($sWhere, $osj2Dcategories->category_name, @$_GET["x_category_name"], @$_GET["z_category_name"], @$_GET["v_category_name"], @$_GET["y_category_name"], @$_GET["w_category_name"]);
  955. //AdvancedSearchWhere = sWhere
  956. // Set up search parm
  957. if ($sWhere <> "") {
  958. // Field category_name
  959. SetSearchParm($osj2Dcategories->category_name, @$_GET["x_category_name"], @$_GET["z_category_name"], @$_GET["v_category_name"], @$_GET["y_category_name"], @$_GET["w_category_name"]);
  960. }
  961. return $sWhere;
  962. }
  963. // Build search sql
  964. function BuildSearchSql(&$Where, &$Fld, $FldVal, $FldOpr, $FldCond, $FldVal2, $FldOpr2) {
  965. $sWrk = "";
  966. $FldParm = substr($Fld->FldVar, 2);
  967. $FldVal = ew_StripSlashes($FldVal);
  968. if (is_array($FldVal)) $FldVal = implode(",", $FldVal);
  969. $FldVal2 = ew_StripSlashes($FldVal2);
  970. if (is_array($FldVal2)) $FldVal2 = implode(",", $FldVal2);
  971. $FldOpr = strtoupper(trim($FldOpr));
  972. if ($FldOpr == "") $FldOpr = "=";
  973. $FldOpr2 = strtoupper(trim($FldOpr2));
  974. if ($FldOpr2 == "") $FldOpr2 = "=";
  975. if ($Fld->FldDataType == EW_DATATYPE_BOOLEAN) {
  976. if ($FldVal <> "") $FldVal = ($FldVal == "1") ? $Fld->TrueValue : $Fld->FalseValue;
  977. if ($FldVal2 <> "") $FldVal2 = ($FldVal2 == "1") ? $Fld->TrueValue : $Fld->FalseValue;
  978. } elseif ($Fld->FldDataType == EW_DATATYPE_DATE) {
  979. if ($FldVal <> "") $FldVal = ew_UnFormatDateTime($FldVal, $Fld->FldDateTimeFormat);
  980. if ($FldVal2 <> "") $FldVal2 = ew_UnFormatDateTime($FldVal2, $Fld->FldDateTimeFormat);
  981. }
  982. if ($FldOpr == "BETWEEN") {
  983. $IsValidValue = (($Fld->FldDataType <> EW_DATATYPE_NUMBER) ||
  984. ($Fld->FldDataType == EW_DATATYPE_NUMBER && is_numeric($FldVal) && is_numeric($FldVal2)));
  985. if ($FldVal <> "" && $FldVal2 <> "" && $IsValidValue) {
  986. $sWrk = $Fld->FldExpression . " BETWEEN " . ew_QuotedValue($FldVal, $Fld->FldDataType) .
  987. " AND " . ew_QuotedValue($FldVal2, $Fld->FldDataType);
  988. }
  989. } elseif ($FldOpr == "IS NULL" || $FldOpr == "IS NOT NULL") {
  990. $sWrk = $Fld->FldExpression . " " . $FldOpr;
  991. } else {
  992. $IsValidValue = (($Fld->FldDataType <> EW_DATATYPE_NUMBER) ||
  993. ($Fld->FldDataType == EW_DATATYPE_NUMBER && is_numeric($FldVal)));
  994. if ($FldVal <> "" && $IsValidValue && ew_IsValidOpr($FldOpr, $Fld->FldDataType)) {
  995. $sWrk = $Fld->FldExpression . SearchString($FldOpr, $FldVal, $Fld->FldDataType);
  996. }
  997. $IsValidValue = (($Fld->FldDataType <> EW_DATATYPE_NUMBER) ||
  998. ($Fld->FldDataType == EW_DATATYPE_NUMBER && is_numeric($FldVal2)));
  999. if ($FldVal2 <> "" && $IsValidValue && ew_IsValidOpr($FldOpr2, $Fld->FldDataType)) {
  1000. if ($sWrk <> "") {
  1001. $sWrk .= " " . (($FldCond=="OR")?"OR":"AND") . " ";
  1002. }
  1003. $sWrk .= $Fld->FldExpression . SearchString($FldOpr2, $FldVal2, $Fld->FldDataType);
  1004. }
  1005. }
  1006. if ($sWrk <> "") {
  1007. if ($Where <> "") $Where .= " AND ";
  1008. $Where .= "(" . $sWrk . ")";
  1009. }
  1010. }
  1011. // Return search string
  1012. function SearchString($FldOpr, $FldVal, $FldType) {
  1013. if ($FldOpr == "LIKE" || $FldOpr == "NOT LIKE") {
  1014. return " " . $FldOpr . " " . ew_QuotedValue("%" . $FldVal . "%", $FldType);
  1015. } elseif ($FldOpr == "STARTS WITH") {
  1016. return " LIKE " . ew_QuotedValue($FldVal . "%", $FldType);
  1017. } else {
  1018. return " " . $FldOpr . " " . ew_QuotedValue($FldVal, $FldType);
  1019. }
  1020. }
  1021. // Set search parm
  1022. function SetSearchParm($Fld, $FldVal, $FldOpr, $FldCond, $FldVal2, $FldOpr2) {
  1023. global $osj2Dcategories;
  1024. $FldParm = substr($Fld->FldVar, 2);
  1025. $FldVal = ew_StripSlashes($FldVal);
  1026. if (is_array($FldVal)) $FldVal = implode(",", $FldVal);
  1027. $FldVal2 = ew_StripSlashes($FldVal2);
  1028. if (is_array($FldVal2)) $FldVal2 = implode(",", $FldVal2);
  1029. $osj2Dcategories->setAdvancedSearch("x_" . $FldParm, $FldVal);
  1030. $osj2Dcategories->setAdvancedSearch("z_" . $FldParm, $FldOpr);
  1031. $osj2Dcategories->setAdvancedSearch("v_" . $FldParm, $FldCond);
  1032. $osj2Dcategories->setAdvancedSearch("y_" . $FldParm, $FldVal2);
  1033. $osj2Dcategories->setAdvancedSearch("w_" . $FldParm, $FldOpr2);
  1034. }
  1035. // Return Basic Search sql
  1036. function BasicSearchSQL($Keyword) {
  1037. $sKeyword = ew_AdjustSql($Keyword);
  1038. $sql = "";
  1039. $sql .= "`category_name` LIKE '%" . $sKeyword . "%' OR ";
  1040. if (substr($sql, -4) == " OR ") $sql = substr($sql, 0, strlen($sql)-4);
  1041. return $sql;
  1042. }
  1043. // Return Basic Search Where based on search keyword and type
  1044. function BasicSearchWhere() {
  1045. global $Security, $osj2Dcategories;
  1046. $sSearchStr = "";
  1047. if (!$Security->CanSearch()) return "";
  1048. $sSearchKeyword = ew_StripSlashes(@$_GET[EW_TABLE_BASIC_SEARCH]);
  1049. $sSearchType = @$_GET[EW_TABLE_BASIC_SEARCH_TYPE];
  1050. if ($sSearchKeyword <> "") {
  1051. $sSearch = trim($sSearchKeyword);
  1052. if ($sSearchType <> "") {
  1053. while (strpos($sSearch, " ") !== FALSE)
  1054. $sSearch = str_replace(" ", " ", $sSearch);
  1055. $arKeyword = explode(" ", trim($sSearch));
  1056. foreach ($arKeyword as $sKeyword) {
  1057. if ($sSearchStr <> "") $sSearchStr .= " " . $sSearchType . " ";
  1058. $sSearchStr .= "(" . BasicSearchSQL($sKeyword) . ")";
  1059. }
  1060. } else {
  1061. $sSearchStr = BasicSearchSQL($sSearch);
  1062. }
  1063. }
  1064. if ($sSearchKeyword <> "") {
  1065. $osj2Dcategories->setBasicSearchKeyword($sSearchKeyword);
  1066. $osj2Dcategories->setBasicSearchType($sSearchType);
  1067. }
  1068. return $sSearchStr;
  1069. }
  1070. // Clear all search parameters
  1071. function ResetSearchParms() {
  1072. // Clear search where
  1073. global $osj2Dcategories;
  1074. $sSrchWhere = "";
  1075. $osj2Dcategories->setSearchWhere($sSrchWhere);
  1076. // Clear basic search parameters
  1077. ResetBasicSearchParms();
  1078. // Clear advanced search parameters
  1079. ResetAdvancedSearchParms();
  1080. }
  1081. // Clear all basic search parameters
  1082. function ResetBasicSearchParms() {
  1083. // Clear basic search parameters
  1084. global $osj2Dcategories;
  1085. $osj2Dcategories->setBasicSearchKeyword("");
  1086. $osj2Dcategories->setBasicSearchType("");
  1087. }
  1088. // Clear all advanced search parameters
  1089. function ResetAdvancedSearchParms() {
  1090. // Clear advanced search parameters
  1091. global $osj2Dcategories;
  1092. $osj2Dcategories->setAdvancedSearch("x_category_name", "");
  1093. $osj2Dcategories->setAdvancedSearch("z_category_name", "");
  1094. $osj2Dcategories->setAdvancedSearch("v_category_name", "AND");
  1095. $osj2Dcategories->setAdvancedSearch("y_category_name", "");
  1096. $osj2Dcategories->setAdvancedSearch("w_category_name", "");
  1097. }
  1098. // Restore all search parameters
  1099. function RestoreSearchParms() {
  1100. global $sSrchWhere, $osj2Dcategories;
  1101. $sSrchWhere = $osj2Dcategories->getSearchWhere();
  1102. // Restore advanced search settings
  1103. RestoreAdvancedSearchParms();
  1104. }
  1105. // Restore all advanced search parameters
  1106. function RestoreAdvancedSearchParms() {
  1107. // Restore advanced search parms
  1108. global $osj2Dcategories;
  1109. $osj2Dcategories->category_name->AdvancedSearch->SearchValue = $osj2Dcategories->getAdvancedSearch("x_category_name");
  1110. $osj2Dcategories->category_name->AdvancedSearch->SearchOperator = $osj2Dcategories->getAdvancedSearch("z_category_name");
  1111. $osj2Dcategories->category_name->AdvancedSearch->SearchCondition = $osj2Dcategories->getAdvancedSearch("v_category_name");
  1112. $osj2Dcategories->category_name->AdvancedSearch->SearchValue2 = $osj2Dcategories->getAdvancedSearch("y_category_name");
  1113. $osj2Dcategories->category_name->AdvancedSearch->SearchOperator = $osj2Dcategories->getAdvancedSearch("w_category_name");
  1114. }
  1115. // Set up Sort parameters based on Sort Links clicked
  1116. function SetUpSortOrder() {
  1117. global $osj2Dcategories;
  1118. // Check for an Order parameter
  1119. if (@$_GET["order"] <> "") {
  1120. $osj2Dcategories->CurrentOrder = ew_StripSlashes(@$_GET["order"]);
  1121. $osj2Dcategories->CurrentOrderType = @$_GET["ordertype"];
  1122. // Field category_id
  1123. $osj2Dcategories->UpdateSort($osj2Dcategories->category_id);
  1124. // Field parent_id
  1125. $osj2Dcategories->UpdateSort($osj2Dcategories->parent_id);
  1126. // Field category_name
  1127. $osj2Dcategories->UpdateSort($osj2Dcategories->category_name);
  1128. $osj2Dcategories->setStartRecordNumber(1); // Reset start position
  1129. }
  1130. $sOrderBy = $osj2Dcategories->getSessionOrderBy(); // Get order by from Session
  1131. if ($sOrderBy == "") {
  1132. if ($osj2Dcategories->SqlOrderBy() <> "") {
  1133. $sOrderBy = $osj2Dcategories->SqlOrderBy();
  1134. $osj2Dcategories->setSessionOrderBy($sOrderBy);
  1135. }
  1136. }
  1137. }
  1138. // Reset command based on querystring parameter cmd=
  1139. // - RESET: reset search parameters
  1140. // - RESETALL: reset search & master/detail parameters
  1141. // - RESETSORT: reset sort parameters
  1142. function ResetCmd() {
  1143. global $sDbMasterFilter, $sDbDetailFilter, $nStartRec, $sOrderBy;
  1144. global $osj2Dcategories;
  1145. // Get reset cmd
  1146. if (@$_GET["cmd"] <> "") {
  1147. $sCmd = $_GET["cmd"];
  1148. // Reset search criteria
  1149. if (strtolower($sCmd) == "reset" || strtolower($sCmd) == "resetall") {
  1150. ResetSearchParms();
  1151. }
  1152. // Reset Sort Criteria
  1153. if (strtolower($sCmd) == "resetsort") {
  1154. $sOrderBy = "";
  1155. $osj2Dcategories->setSessionOrderBy($sOrderBy);
  1156. $osj2Dcategories->category_id->setSort("");
  1157. $osj2Dcategories->parent_id->setSort("");
  1158. $osj2Dcategories->category_name->setSort("");
  1159. }
  1160. // Reset start position
  1161. $nStartRec = 1;
  1162. $osj2Dcategories->setStartRecordNumber($nStartRec);
  1163. }
  1164. }
  1165. ?>
  1166. <?php
  1167. // Set up Starting Record parameters based on Pager Navigation
  1168. function SetUpStartRec() {
  1169. global $nDisplayRecs, $nStartRec, $nTotalRecs, $nPageNo, $osj2Dcategories;
  1170. if ($nDisplayRecs == 0) return;
  1171. // Check for a START parameter
  1172. if (@$_GET[EW_TABLE_START_REC] <> "") {
  1173. $nStartRec = $_GET[EW_TABLE_START_REC];
  1174. $osj2Dcategories->setStartRecordNumber($nStartRec);
  1175. } elseif (@$_GET[EW_TABLE_PAGE_NO] <> "") {
  1176. $nPageNo = $_GET[EW_TABLE_PAGE_NO];
  1177. if (is_numeric($nPageNo)) {
  1178. $nStartRec = ($nPageNo-1)*$nDisplayRecs+1;
  1179. if ($nStartRec <= 0) {
  1180. $nStartRec = 1;
  1181. } elseif ($nStartRec >= intval(($nTotalRecs-1)/$nDisplayRecs)*$nDisplayRecs+1) {
  1182. $nStartRec = intval(($nTotalRecs-1)/$nDisplayRecs)*$nDisplayRecs+1;
  1183. }
  1184. $osj2Dcategories->setStartRecordNumber($nStartRec);
  1185. } else {
  1186. $nStartRec = $osj2Dcategories->getStartRecordNumber();
  1187. }
  1188. } else {
  1189. $nStartRec = $osj2Dcategories->getStartRecordNumber();
  1190. }
  1191. // Check if correct start record counter
  1192. if (!is_numeric($nStartRec) || $nStartRec == "") { // Avoid invalid start record counter
  1193. $nStartRec = 1; // Reset start record counter
  1194. $osj2Dcategories->setStartRecordNumber($nStartRec);
  1195. } elseif (intval($nStartRec) > intval($nTotalRecs)) { // Avoid starting record > total records
  1196. $nStartRec = intval(($nTotalRecs-1)/$nDisplayRecs)*$nDisplayRecs+1; // Point to last page first record
  1197. $osj2Dcategories->setStartRecordNumber($nStartRec);
  1198. } elseif (($nStartRec-1) % $nDisplayRecs <> 0) {
  1199. $nStartRec = intval(($nStartRec-1)/$nDisplayRecs)*$nDisplayRecs+1; // Point to page boundary
  1200. $osj2Dcategories->setStartRecordNumber($nStartRec);
  1201. }
  1202. }
  1203. ?>
  1204. <?php
  1205. // Load default values
  1206. function LoadDefaultValues() {
  1207. global $osj2Dcategories;
  1208. $osj2Dcategories->parent_id->CurrentValue = 0;
  1209. }
  1210. ?>
  1211. <?php
  1212. // Load form values
  1213. function LoadFormValues() {
  1214. // Load from form
  1215. global $objForm, $osj2Dcategories;
  1216. $osj2Dcategories->category_id->setFormValue($objForm->GetValue("x_category_id"));
  1217. $osj2Dcategories->parent_id->setFormValue($objForm->GetValue("x_parent_id"));
  1218. $osj2Dcategories->category_name->setFormValue($objForm->GetValue("x_category_name"));
  1219. }
  1220. // Restore form values
  1221. function RestoreFormValues() {
  1222. global $osj2Dcategories;
  1223. $osj2Dcategories->category_id->CurrentValue = $osj2Dcategories->category_id->FormValue;
  1224. $osj2Dcategories->parent_id->CurrentValue = $osj2Dcategories->parent_id->FormValue;
  1225. $osj2Dcategories->category_name->CurrentValue = $osj2Dcategories->category_name->FormValue;
  1226. }
  1227. ?>
  1228. <?php
  1229. // Load recordset
  1230. function LoadRecordset($offset = -1, $rowcnt = -1) {
  1231. global $conn, $osj2Dcategories;
  1232. // Call Recordset Selecting event
  1233. $osj2Dcategories->Recordset_Selecting($osj2Dcategories->Curr

Large files files are truncated, but you can click here to view the full file