PageRenderTime 68ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 1ms

/osj-osj2dpostslist.php

http://osjobber.googlecode.com/
PHP | 1140 lines | 896 code | 118 blank | 126 comment | 280 complexity | 5f367a25e5a1886e447c084ea5ca3800 MD5 | raw file
Possible License(s): LGPL-2.1, AGPL-1.0
  1. <?php
  2. define("EW_PAGE_ID", "list", TRUE); // Page ID
  3. define("EW_TABLE_NAME", 'osj-posts', 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-osj2dpostsinfo.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-posts');
  32. ?>
  33. <?php
  34. // Common page loading event (in userfn*.php)
  35. Page_Loading();
  36. ?>
  37. <?php
  38. // Page load event, used in current page
  39. Page_Load();
  40. ?>
  41. <?php
  42. $osj2Dposts->Export = @$_GET["export"]; // Get export parameter
  43. $sExport = $osj2Dposts->Export; // Get export parameter, used in header
  44. $sExportFile = $osj2Dposts->TableVar; // Get export file, used in header
  45. ?>
  46. <?php
  47. if ($osj2Dposts->Export == "html") {
  48. // Printer friendly, no action required
  49. }
  50. if ($osj2Dposts->Export == "xml") {
  51. header('Content-Type: text/xml');
  52. header('Content-Disposition: attachment; filename=' . $sExportFile .'.xml');
  53. }
  54. if ($osj2Dposts->Export == "csv") {
  55. header('Content-Type: application/csv');
  56. header('Content-Disposition: attachment; filename=' . $sExportFile .'.csv');
  57. }
  58. ?>
  59. <?php
  60. // Paging variables
  61. $nStartRec = 0; // Start record index
  62. $nStopRec = 0; // Stop record index
  63. $nTotalRecs = 0; // Total number of records
  64. $nDisplayRecs = 10;
  65. $nRecRange = 10;
  66. $nRecCount = 0; // Record count
  67. // Search filters
  68. $sSrchAdvanced = ""; // Advanced search filter
  69. $sSrchBasic = ""; // Basic search filter
  70. $sSrchWhere = ""; // Search where clause
  71. $sFilter = "";
  72. // Master/Detail
  73. $sDbMasterFilter = ""; // Master filter
  74. $sDbDetailFilter = ""; // Detail filter
  75. $sSqlMaster = ""; // Sql for master record
  76. // Set up records per page dynamically
  77. SetUpDisplayRecs();
  78. // Handle reset command
  79. ResetCmd();
  80. // Get search criteria for advanced search
  81. $sSrchAdvanced = AdvancedSearchWhere();
  82. // Get basic search criteria
  83. $sSrchBasic = BasicSearchWhere();
  84. // Build search criteria
  85. if ($sSrchAdvanced <> "") {
  86. if ($sSrchWhere <> "") $sSrchWhere .= " AND ";
  87. $sSrchWhere .= "(" . $sSrchAdvanced . ")";
  88. }
  89. if ($sSrchBasic <> "") {
  90. if ($sSrchWhere <> "") $sSrchWhere .= " AND ";
  91. $sSrchWhere .= "(" . $sSrchBasic . ")";
  92. }
  93. // Save search criteria
  94. if ($sSrchWhere <> "") {
  95. if ($sSrchBasic == "") ResetBasicSearchParms();
  96. if ($sSrchAdvanced == "") ResetAdvancedSearchParms();
  97. $osj2Dposts->setSearchWhere($sSrchWhere); // Save to Session
  98. $nStartRec = 1; // Reset start record counter
  99. $osj2Dposts->setStartRecordNumber($nStartRec);
  100. } else {
  101. RestoreSearchParms();
  102. }
  103. // Build filter
  104. $sFilter = "";
  105. if ($sDbDetailFilter <> "") {
  106. if ($sFilter <> "") $sFilter .= " AND ";
  107. $sFilter .= "(" . $sDbDetailFilter . ")";
  108. }
  109. if ($sSrchWhere <> "") {
  110. if ($sFilter <> "") $sFilter .= " AND ";
  111. $sFilter .= "(" . $sSrchWhere . ")";
  112. }
  113. // Set up filter in Session
  114. $osj2Dposts->setSessionWhere($sFilter);
  115. $osj2Dposts->CurrentFilter = "";
  116. // Set Up Sorting Order
  117. SetUpSortOrder();
  118. // Export data only
  119. if ($osj2Dposts->Export == "xml" || $osj2Dposts->Export == "csv") {
  120. ExportData();
  121. Page_Terminate(); // Terminate response
  122. }
  123. // Set Return Url
  124. $osj2Dposts->setReturnUrl("osj-osj2dpostslist.php");
  125. ?>
  126. <?php include "osj-header.php" ?>
  127. <?php if ($osj2Dposts->Export == "") { ?>
  128. <script type="text/javascript">
  129. <!--
  130. var EW_PAGE_ID = "list"; // Page id
  131. var EW_SHOW_HIGHLIGHT = "Show highlight";
  132. var EW_HIDE_HIGHLIGHT = "Hide highlight";
  133. //-->
  134. </script>
  135. <script type="text/javascript">
  136. <!--
  137. var firstrowoffset = 1; // First data row start at
  138. var lastrowoffset = 0; // Last data row end at
  139. var EW_LIST_TABLE_NAME = 'ewlistmain'; // Table name for list page
  140. var rowclass = 'ewTableRow'; // Row class
  141. var rowaltclass = 'ewTableAltRow'; // Row alternate class
  142. var rowmoverclass = 'ewTableHighlightRow'; // Row mouse over class
  143. var rowselectedclass = 'ewTableSelectRow'; // Row selected class
  144. var roweditclass = 'ewTableEditRow'; // Row edit class
  145. //-->
  146. </script>
  147. <script type="text/javascript">
  148. <!--
  149. var ew_DHTMLEditors = [];
  150. //-->
  151. </script>
  152. <script type="text/javascript">
  153. <!--
  154. // js for Popup Calendar
  155. //-->
  156. </script>
  157. <script type="text/javascript">
  158. <!--
  159. function ew_SelectKey(elem) {
  160. var f = elem.form;
  161. if (!f.elements["key_m[]"]) return;
  162. if (f.elements["key_m[]"][0]) {
  163. for (var i=0; i<f.elements["key_m[]"].length; i++)
  164. f.elements["key_m[]"][i].checked = elem.checked;
  165. } else {
  166. f.elements["key_m[]"].checked = elem.checked;
  167. }
  168. ew_ClickAll(elem);
  169. }
  170. function ew_Selected(f) {
  171. if (!f.elements["key_m[]"]) return false;
  172. if (f.elements["key_m[]"][0]) {
  173. for (var i=0; i<f.elements["key_m[]"].length; i++)
  174. if (f.elements["key_m[]"][i].checked) return true;
  175. } else {
  176. return f.elements["key_m[]"].checked;
  177. }
  178. return false;
  179. }
  180. //-->
  181. </script>
  182. <script language="JavaScript" type="text/javascript">
  183. <!--
  184. // Write your client script here, no need to add script tags.
  185. // To include another .js script, use:
  186. // ew_ClientScriptInclude("my_javascript.js");
  187. //-->
  188. </script>
  189. <?php } ?>
  190. <?php if ($osj2Dposts->Export == "") { ?>
  191. <?php } ?>
  192. <?php
  193. // Load recordset
  194. $bExportAll = (defined("EW_EXPORT_ALL") && $osj2Dposts->Export <> "");
  195. $bSelectLimit = ($osj2Dposts->Export == "" && $osj2Dposts->SelectLimit);
  196. if (!$bSelectLimit) $rs = LoadRecordset();
  197. $nTotalRecs = ($bSelectLimit) ? $osj2Dposts->SelectRecordCount() : $rs->RecordCount();
  198. $nStartRec = 1;
  199. if ($nDisplayRecs <= 0) $nDisplayRecs = $nTotalRecs; // Display all records
  200. if (!$bExportAll) SetUpStartRec(); // Set up start record position
  201. if ($bSelectLimit) $rs = LoadRecordset($nStartRec-1, $nDisplayRecs);
  202. ?>
  203. <p><span class="phpmaker" style="white-space: nowrap;">TABLE: Posts
  204. <?php if ($osj2Dposts->Export == "") { ?>
  205. &nbsp;&nbsp;<a href="osj-osj2dpostslist.php?export=html">Printer Friendly</a>
  206. &nbsp;&nbsp;<a href="osj-osj2dpostslist.php?export=xml">Export to XML</a>
  207. &nbsp;&nbsp;<a href="osj-osj2dpostslist.php?export=csv">Export to CSV</a>
  208. <?php } ?>
  209. </span></p>
  210. <?php if ($osj2Dposts->Export == "") { ?>
  211. <form name="fosj2Dpostslistsrch" id="fosj2Dpostslistsrch" action="osj-osj2dpostslist.php" >
  212. <table class="ewBasicSearch">
  213. <tr>
  214. <td><span class="phpmaker">
  215. <input type="text" name="<?php echo EW_TABLE_BASIC_SEARCH ?>" id="<?php echo EW_TABLE_BASIC_SEARCH ?>" size="20" value="<?php echo ew_HtmlEncode($osj2Dposts->getBasicSearchKeyword()) ?>">
  216. <input type="Submit" name="Submit" id="Submit" value="Search (*)">&nbsp;
  217. <a href="osj-osj2dpostslist.php?cmd=reset">Show all</a>&nbsp;
  218. <a href="osj-osj2dpostssrch.php">Advanced Search</a>&nbsp;
  219. <?php if ($sSrchWhere <> "" && $nTotalRecs > 0) { ?>
  220. <a href="javascript:void(0);" onclick="ew_ToggleHighlight(this);">Hide highlight</a>
  221. <?php } ?>
  222. </span></td>
  223. </tr>
  224. <tr>
  225. <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 ($osj2Dposts->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 ($osj2Dposts->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 ($osj2Dposts->getBasicSearchType() == "OR") { ?>checked<?php } ?>>Any word</span></td>
  226. </tr>
  227. </table>
  228. </form>
  229. <?php } ?>
  230. <?php
  231. if (@$_SESSION[EW_SESSION_MESSAGE] <> "") {
  232. ?>
  233. <p><span class="ewmsg"><?php echo $_SESSION[EW_SESSION_MESSAGE] ?></span></p>
  234. <?php
  235. $_SESSION[EW_SESSION_MESSAGE] = ""; // Clear message
  236. }
  237. ?>
  238. <?php if ($osj2Dposts->Export == "") { ?>
  239. <form action="osj-osj2dpostslist.php" name="ewpagerform" id="ewpagerform">
  240. <table border="0" cellspacing="0" cellpadding="0">
  241. <tr>
  242. <td nowrap>
  243. <span class="phpmaker">
  244. <?php if (!isset($Pager)) $Pager = new cNumericPager($nStartRec, $nDisplayRecs, $nTotalRecs, $nRecRange) ?>
  245. <?php if ($Pager->RecordCount > 0) { ?>
  246. <?php if ($Pager->FirstButton->Enabled) { ?>
  247. <a href="osj-osj2dpostslist.php?start=<?php echo $Pager->FirstButton->Start ?>"><b>First</b></a>&nbsp;
  248. <?php } ?>
  249. <?php if ($Pager->PrevButton->Enabled) { ?>
  250. <a href="osj-osj2dpostslist.php?start=<?php echo $Pager->PrevButton->Start ?>"><b>Previous</b></a>&nbsp;
  251. <?php } ?>
  252. <?php foreach ($Pager->Items as $PagerItem) { ?>
  253. <?php if ($PagerItem->Enabled) { ?><a href="osj-osj2dpostslist.php?start=<?php echo $PagerItem->Start ?>"><?php } ?><b><?php echo $PagerItem->Text ?></b><?php if ($PagerItem->Enabled) { ?></a><?php } ?>&nbsp;
  254. <?php } ?>
  255. <?php if ($Pager->NextButton->Enabled) { ?>
  256. <a href="osj-osj2dpostslist.php?start=<?php echo $Pager->NextButton->Start ?>"><b>Next</b></a>&nbsp;
  257. <?php } ?>
  258. <?php if ($Pager->LastButton->Enabled) { ?>
  259. <a href="osj-osj2dpostslist.php?start=<?php echo $Pager->LastButton->Start ?>"><b>Last</b></a>&nbsp;
  260. <?php } ?>
  261. <?php if ($Pager->ButtonCount > 0) { ?><br><?php } ?>
  262. Records <?php echo $Pager->FromIndex ?> to <?php echo $Pager->ToIndex ?> of <?php echo $Pager->RecordCount ?>
  263. <?php } else { ?>
  264. <?php if ($sSrchWhere == "0=101") { ?>
  265. Please enter search criteria
  266. <?php } else { ?>
  267. No records found
  268. <?php } ?>
  269. <?php } ?>
  270. </span>
  271. </td>
  272. <?php if ($nTotalRecs > 0) { ?>
  273. <td nowrap>&nbsp;&nbsp;&nbsp;&nbsp;</td>
  274. <td align="right" valign="top" nowrap><span class="phpmaker">Records Per Page&nbsp;
  275. <select name="<?php echo EW_TABLE_REC_PER_PAGE ?>" id="<?php echo EW_TABLE_REC_PER_PAGE ?>" onChange="this.form.submit();" class="phpmaker">
  276. <option value="10"<?php if ($nDisplayRecs == 10) echo " selected" ?>>10</option>
  277. <option value="20"<?php if ($nDisplayRecs == 20) echo " selected" ?>>20</option>
  278. <option value="50"<?php if ($nDisplayRecs == 50) echo " selected" ?>>50</option>
  279. </select>
  280. </span></td>
  281. <?php } ?>
  282. </tr>
  283. </table>
  284. </form>
  285. <?php } ?>
  286. <form method="post" name="fosj2Dpostslist" id="fosj2Dpostslist">
  287. <?php if ($osj2Dposts->Export == "") { ?>
  288. <table>
  289. <tr><td><span class="phpmaker">
  290. <?php if ($Security->CanAdd()) { ?>
  291. <a href="osj-osj2dpostsadd.php">Add</a>&nbsp;&nbsp;
  292. <?php } ?>
  293. <?php if ($nTotalRecs > 0) { ?>
  294. <?php if ($Security->CanDelete()) { ?>
  295. <a href="" onClick="if (!ew_Selected(document.fosj2Dpostslist)) alert('No records selected'); else {document.fosj2Dpostslist.action='osj-osj2dpostsdelete.php';document.fosj2Dpostslist.encoding='application/x-www-form-urlencoded';document.fosj2Dpostslist.submit();};return false;">Delete Selected Records</a>&nbsp;&nbsp;
  296. <?php } ?>
  297. <?php } ?>
  298. </span></td></tr>
  299. </table>
  300. <?php } ?>
  301. <?php if ($nTotalRecs > 0) { ?>
  302. <table id="ewlistmain" class="ewTable">
  303. <?php
  304. $OptionCnt = 0;
  305. $OptionCnt++; // view
  306. if ($Security->CanEdit()) {
  307. $OptionCnt++; // edit
  308. }
  309. if ($Security->CanDelete()) {
  310. $OptionCnt++; // multi select
  311. }
  312. ?>
  313. <!-- Table header -->
  314. <tr class="ewTableHeader">
  315. <?php if ($osj2Dposts->Export == "") { ?>
  316. <td nowrap>&nbsp;</td>
  317. <?php if ($Security->CanEdit()) { ?>
  318. <td nowrap>&nbsp;</td>
  319. <?php } ?>
  320. <?php if ($Security->CanDelete()) { ?>
  321. <td nowrap><input type="checkbox" class="phpmaker" onClick="ew_SelectKey(this);"></td>
  322. <?php } ?>
  323. <?php } ?>
  324. <td valign="top">
  325. <?php if ($osj2Dposts->Export <> "") { ?>
  326. Title
  327. <?php } else { ?>
  328. <a href="osj-osj2dpostslist.php?order=<?php echo urlencode('post_title') ?>&ordertype=<?php echo $osj2Dposts->post_title->ReverseSort() ?>">Title&nbsp;(*)<?php if ($osj2Dposts->post_title->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($osj2Dposts->post_title->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></a>
  329. <?php } ?>
  330. </td>
  331. <td valign="top">
  332. <?php if ($osj2Dposts->Export <> "") { ?>
  333. Description
  334. <?php } else { ?>
  335. <a href="osj-osj2dpostslist.php?order=<?php echo urlencode('post_description') ?>&ordertype=<?php echo $osj2Dposts->post_description->ReverseSort() ?>">Description&nbsp;(*)<?php if ($osj2Dposts->post_description->getSort() == "ASC") { ?><img src="images/sortup.gif" width="10" height="9" border="0"><?php } elseif ($osj2Dposts->post_description->getSort() == "DESC") { ?><img src="images/sortdown.gif" width="10" height="9" border="0"><?php } ?></a>
  336. <?php } ?>
  337. </td>
  338. </tr>
  339. <?php
  340. if (defined("EW_EXPORT_ALL") && $osj2Dposts->Export <> "") {
  341. $nStopRec = $nTotalRecs;
  342. } else {
  343. $nStopRec = $nStartRec + $nDisplayRecs - 1; // Set the last record to display
  344. }
  345. $nRecCount = $nStartRec - 1;
  346. if (!$rs->EOF) {
  347. $rs->MoveFirst();
  348. if (!$osj2Dposts->SelectLimit) $rs->Move($nStartRec - 1); // Move to first record directly
  349. }
  350. $RowCnt = 0;
  351. while (!$rs->EOF && $nRecCount < $nStopRec) {
  352. $nRecCount++;
  353. if (intval($nRecCount) >= intval($nStartRec)) {
  354. $RowCnt++;
  355. // Init row class and style
  356. $osj2Dposts->CssClass = "ewTableRow";
  357. $osj2Dposts->CssStyle = "";
  358. // Init row event
  359. $osj2Dposts->RowClientEvents = "onmouseover='ew_MouseOver(this);' onmouseout='ew_MouseOut(this);' onclick='ew_Click(this);'";
  360. // Display alternate color for rows
  361. if ($RowCnt % 2 == 0) {
  362. $osj2Dposts->CssClass = "ewTableAltRow";
  363. }
  364. LoadRowValues($rs); // Load row values
  365. $osj2Dposts->RowType = EW_ROWTYPE_VIEW; // Render view
  366. RenderRow();
  367. ?>
  368. <!-- Table body -->
  369. <tr<?php echo $osj2Dposts->DisplayAttributes() ?>>
  370. <?php if ($osj2Dposts->Export == "") { ?>
  371. <td nowrap><span class="phpmaker">
  372. <a href="<?php echo $osj2Dposts->ViewUrl() ?>">View</a>
  373. </span></td>
  374. <?php if ($Security->CanEdit()) { ?>
  375. <td nowrap><span class="phpmaker"><?php if (ShowOptionLink()) { ?>
  376. <a href="<?php echo $osj2Dposts->EditUrl() ?>">Edit</a>
  377. <?php } ?></span></td>
  378. <?php } ?>
  379. <?php if ($Security->CanDelete()) { ?>
  380. <td nowrap><span class="phpmaker"><?php if (ShowOptionLink()) { ?>
  381. <input type="checkbox" name="key_m[]" id="key_m[]" value="<?php echo ew_HtmlEncode($osj2Dposts->post_id->CurrentValue) ?>" class="phpmaker" onclick='ew_ClickMultiCheckbox(this);'>
  382. <?php } ?></span></td>
  383. <?php } ?>
  384. <?php } ?>
  385. <!-- post_title -->
  386. <td<?php echo $osj2Dposts->post_title->CellAttributes() ?>>
  387. <?php if ($osj2Dposts->post_title->HrefValue <> "") { ?>
  388. <a href="osj-osj2dpostsview.php?post_id=<?php echo $osj2Dposts->post_title->HrefValue ?>"><div<?php echo $osj2Dposts->post_title->ViewAttributes() ?>><?php echo $osj2Dposts->post_title->ViewValue ?></div></a>
  389. <?php } else { ?>
  390. <div<?php echo $osj2Dposts->post_title->ViewAttributes() ?>><?php echo $osj2Dposts->post_title->ViewValue ?></div>
  391. <?php } ?>
  392. </td>
  393. <!-- post_description -->
  394. <td<?php echo $osj2Dposts->post_description->CellAttributes() ?>>
  395. <div<?php echo $osj2Dposts->post_description->ViewAttributes() ?>><?php echo $osj2Dposts->post_description->ViewValue ?></div>
  396. </td>
  397. </tr>
  398. <?php
  399. }
  400. $rs->MoveNext();
  401. }
  402. ?>
  403. </table>
  404. <?php if ($osj2Dposts->Export == "") { ?>
  405. <table>
  406. <tr><td><span class="phpmaker">
  407. <?php if ($Security->CanAdd()) { ?>
  408. <a href="osj-osj2dpostsadd.php">Add</a>&nbsp;&nbsp;
  409. <?php } ?>
  410. <?php if ($nTotalRecs > 0) { ?>
  411. <?php if ($Security->CanDelete()) { ?>
  412. <a href="" onClick="if (!ew_Selected(document.fosj2Dpostslist)) alert('No records selected'); else {document.fosj2Dpostslist.action='osj-osj2dpostsdelete.php';document.fosj2Dpostslist.encoding='application/x-www-form-urlencoded';document.fosj2Dpostslist.submit();};return false;">Delete Selected Records</a>&nbsp;&nbsp;
  413. <?php } ?>
  414. <?php } ?>
  415. </span></td></tr>
  416. </table>
  417. <?php } ?>
  418. <?php } ?>
  419. </form>
  420. <?php
  421. // Close recordset and connection
  422. if ($rs) $rs->Close();
  423. ?>
  424. <?php if ($osj2Dposts->Export == "") { ?>
  425. <form action="osj-osj2dpostslist.php" name="ewpagerform" id="ewpagerform">
  426. <table border="0" cellspacing="0" cellpadding="0">
  427. <tr>
  428. <td nowrap>
  429. <span class="phpmaker">
  430. <?php if (!isset($Pager)) $Pager = new cNumericPager($nStartRec, $nDisplayRecs, $nTotalRecs, $nRecRange) ?>
  431. <?php if ($Pager->RecordCount > 0) { ?>
  432. <?php if ($Pager->FirstButton->Enabled) { ?>
  433. <a href="osj-osj2dpostslist.php?start=<?php echo $Pager->FirstButton->Start ?>"><b>First</b></a>&nbsp;
  434. <?php } ?>
  435. <?php if ($Pager->PrevButton->Enabled) { ?>
  436. <a href="osj-osj2dpostslist.php?start=<?php echo $Pager->PrevButton->Start ?>"><b>Previous</b></a>&nbsp;
  437. <?php } ?>
  438. <?php foreach ($Pager->Items as $PagerItem) { ?>
  439. <?php if ($PagerItem->Enabled) { ?><a href="osj-osj2dpostslist.php?start=<?php echo $PagerItem->Start ?>"><?php } ?><b><?php echo $PagerItem->Text ?></b><?php if ($PagerItem->Enabled) { ?></a><?php } ?>&nbsp;
  440. <?php } ?>
  441. <?php if ($Pager->NextButton->Enabled) { ?>
  442. <a href="osj-osj2dpostslist.php?start=<?php echo $Pager->NextButton->Start ?>"><b>Next</b></a>&nbsp;
  443. <?php } ?>
  444. <?php if ($Pager->LastButton->Enabled) { ?>
  445. <a href="osj-osj2dpostslist.php?start=<?php echo $Pager->LastButton->Start ?>"><b>Last</b></a>&nbsp;
  446. <?php } ?>
  447. <?php if ($Pager->ButtonCount > 0) { ?><br><?php } ?>
  448. Records <?php echo $Pager->FromIndex ?> to <?php echo $Pager->ToIndex ?> of <?php echo $Pager->RecordCount ?>
  449. <?php } else { ?>
  450. <?php if ($sSrchWhere == "0=101") { ?>
  451. Please enter search criteria
  452. <?php } else { ?>
  453. No records found
  454. <?php } ?>
  455. <?php } ?>
  456. </span>
  457. </td>
  458. <?php if ($nTotalRecs > 0) { ?>
  459. <td nowrap>&nbsp;&nbsp;&nbsp;&nbsp;</td>
  460. <td align="right" valign="top" nowrap><span class="phpmaker">Records Per Page&nbsp;
  461. <select name="<?php echo EW_TABLE_REC_PER_PAGE ?>" id="<?php echo EW_TABLE_REC_PER_PAGE ?>" onChange="this.form.submit();" class="phpmaker">
  462. <option value="10"<?php if ($nDisplayRecs == 10) echo " selected" ?>>10</option>
  463. <option value="20"<?php if ($nDisplayRecs == 20) echo " selected" ?>>20</option>
  464. <option value="50"<?php if ($nDisplayRecs == 50) echo " selected" ?>>50</option>
  465. </select>
  466. </span></td>
  467. <?php } ?>
  468. </tr>
  469. </table>
  470. </form>
  471. <?php } ?>
  472. <?php if ($osj2Dposts->Export == "") { ?>
  473. <?php } ?>
  474. <?php if ($osj2Dposts->Export == "") { ?>
  475. <script language="JavaScript" type="text/javascript">
  476. <!--
  477. // Write your table-specific startup script here
  478. // document.write("page loaded");
  479. //-->
  480. </script>
  481. <?php } ?>
  482. <?php include "osj-footer.php" ?>
  483. <?php
  484. // If control is passed here, simply terminate the page without redirect
  485. Page_Terminate();
  486. // -----------------------------------------------------------------
  487. // Subroutine Page_Terminate
  488. // - called when exit page
  489. // - clean up connection and objects
  490. // - if url specified, redirect to url, otherwise end response
  491. function Page_Terminate($url = "") {
  492. global $conn;
  493. // Page unload event, used in current page
  494. Page_Unload();
  495. // Global page unloaded event (in userfn*.php)
  496. Page_Unloaded();
  497. // Close Connection
  498. $conn->Close();
  499. // Go to url if specified
  500. if ($url <> "") {
  501. ob_end_clean();
  502. header("Location: $url");
  503. }
  504. exit();
  505. }
  506. ?>
  507. <?php
  508. // Set up number of records displayed per page
  509. function SetUpDisplayRecs() {
  510. global $nDisplayRecs, $nStartRec, $osj2Dposts;
  511. $sWrk = @$_GET[EW_TABLE_REC_PER_PAGE];
  512. if ($sWrk <> "") {
  513. if (is_numeric($sWrk)) {
  514. $nDisplayRecs = intval($sWrk);
  515. } else {
  516. if (strtolower($sWrk) == "all") { // Display all records
  517. $nDisplayRecs = -1;
  518. } else {
  519. $nDisplayRecs = 10; // Non-numeric, load default
  520. }
  521. }
  522. $osj2Dposts->setRecordsPerPage($nDisplayRecs); // Save to Session
  523. // Reset start position
  524. $nStartRec = 1;
  525. $osj2Dposts->setStartRecordNumber($nStartRec);
  526. } else {
  527. if ($osj2Dposts->getRecordsPerPage() <> "") {
  528. $nDisplayRecs = $osj2Dposts->getRecordsPerPage(); // Restore from Session
  529. } else {
  530. $nDisplayRecs = 10; // Load default
  531. }
  532. }
  533. }
  534. // Return Advanced Search Where based on QueryString parameters
  535. function AdvancedSearchWhere() {
  536. global $Security, $osj2Dposts;
  537. $sWhere = "";
  538. // Field user_id
  539. BuildSearchSql($sWhere, $osj2Dposts->user_id, @$_GET["x_user_id"], @$_GET["z_user_id"], @$_GET["v_user_id"], @$_GET["y_user_id"], @$_GET["w_user_id"]);
  540. // Field post_creation_date
  541. BuildSearchSql($sWhere, $osj2Dposts->post_creation_date, ew_UnFormatDateTime(@$_GET["x_post_creation_date"],6), @$_GET["z_post_creation_date"], @$_GET["v_post_creation_date"], ew_UnFormatDateTime(@$_GET["y_post_creation_date"],6), @$_GET["w_post_creation_date"]);
  542. // Field post_title
  543. BuildSearchSql($sWhere, $osj2Dposts->post_title, @$_GET["x_post_title"], @$_GET["z_post_title"], @$_GET["v_post_title"], @$_GET["y_post_title"], @$_GET["w_post_title"]);
  544. // Field post_description
  545. BuildSearchSql($sWhere, $osj2Dposts->post_description, @$_GET["x_post_description"], @$_GET["z_post_description"], @$_GET["v_post_description"], @$_GET["y_post_description"], @$_GET["w_post_description"]);
  546. // Field post_edit_date
  547. BuildSearchSql($sWhere, $osj2Dposts->post_edit_date, ew_UnFormatDateTime(@$_GET["x_post_edit_date"],6), @$_GET["z_post_edit_date"], @$_GET["v_post_edit_date"], ew_UnFormatDateTime(@$_GET["y_post_edit_date"],6), @$_GET["w_post_edit_date"]);
  548. //AdvancedSearchWhere = sWhere
  549. // Set up search parm
  550. if ($sWhere <> "") {
  551. // Field user_id
  552. SetSearchParm($osj2Dposts->user_id, @$_GET["x_user_id"], @$_GET["z_user_id"], @$_GET["v_user_id"], @$_GET["y_user_id"], @$_GET["w_user_id"]);
  553. // Field post_creation_date
  554. SetSearchParm($osj2Dposts->post_creation_date, ew_UnFormatDateTime(@$_GET["x_post_creation_date"],6), @$_GET["z_post_creation_date"], @$_GET["v_post_creation_date"], ew_UnFormatDateTime(@$_GET["y_post_creation_date"],6), @$_GET["w_post_creation_date"]);
  555. // Field post_title
  556. SetSearchParm($osj2Dposts->post_title, @$_GET["x_post_title"], @$_GET["z_post_title"], @$_GET["v_post_title"], @$_GET["y_post_title"], @$_GET["w_post_title"]);
  557. // Field post_description
  558. SetSearchParm($osj2Dposts->post_description, @$_GET["x_post_description"], @$_GET["z_post_description"], @$_GET["v_post_description"], @$_GET["y_post_description"], @$_GET["w_post_description"]);
  559. // Field post_edit_date
  560. SetSearchParm($osj2Dposts->post_edit_date, ew_UnFormatDateTime(@$_GET["x_post_edit_date"],6), @$_GET["z_post_edit_date"], @$_GET["v_post_edit_date"], ew_UnFormatDateTime(@$_GET["y_post_edit_date"],6), @$_GET["w_post_edit_date"]);
  561. }
  562. return $sWhere;
  563. }
  564. // Build search sql
  565. function BuildSearchSql(&$Where, &$Fld, $FldVal, $FldOpr, $FldCond, $FldVal2, $FldOpr2) {
  566. $sWrk = "";
  567. $FldParm = substr($Fld->FldVar, 2);
  568. $FldVal = ew_StripSlashes($FldVal);
  569. if (is_array($FldVal)) $FldVal = implode(",", $FldVal);
  570. $FldVal2 = ew_StripSlashes($FldVal2);
  571. if (is_array($FldVal2)) $FldVal2 = implode(",", $FldVal2);
  572. $FldOpr = strtoupper(trim($FldOpr));
  573. if ($FldOpr == "") $FldOpr = "=";
  574. $FldOpr2 = strtoupper(trim($FldOpr2));
  575. if ($FldOpr2 == "") $FldOpr2 = "=";
  576. if ($Fld->FldDataType == EW_DATATYPE_BOOLEAN) {
  577. if ($FldVal <> "") $FldVal = ($FldVal == "1") ? $Fld->TrueValue : $Fld->FalseValue;
  578. if ($FldVal2 <> "") $FldVal2 = ($FldVal2 == "1") ? $Fld->TrueValue : $Fld->FalseValue;
  579. } elseif ($Fld->FldDataType == EW_DATATYPE_DATE) {
  580. if ($FldVal <> "") $FldVal = ew_UnFormatDateTime($FldVal, $Fld->FldDateTimeFormat);
  581. if ($FldVal2 <> "") $FldVal2 = ew_UnFormatDateTime($FldVal2, $Fld->FldDateTimeFormat);
  582. }
  583. if ($FldOpr == "BETWEEN") {
  584. $IsValidValue = (($Fld->FldDataType <> EW_DATATYPE_NUMBER) ||
  585. ($Fld->FldDataType == EW_DATATYPE_NUMBER && is_numeric($FldVal) && is_numeric($FldVal2)));
  586. if ($FldVal <> "" && $FldVal2 <> "" && $IsValidValue) {
  587. $sWrk = $Fld->FldExpression . " BETWEEN " . ew_QuotedValue($FldVal, $Fld->FldDataType) .
  588. " AND " . ew_QuotedValue($FldVal2, $Fld->FldDataType);
  589. }
  590. } elseif ($FldOpr == "IS NULL" || $FldOpr == "IS NOT NULL") {
  591. $sWrk = $Fld->FldExpression . " " . $FldOpr;
  592. } else {
  593. $IsValidValue = (($Fld->FldDataType <> EW_DATATYPE_NUMBER) ||
  594. ($Fld->FldDataType == EW_DATATYPE_NUMBER && is_numeric($FldVal)));
  595. if ($FldVal <> "" && $IsValidValue && ew_IsValidOpr($FldOpr, $Fld->FldDataType)) {
  596. $sWrk = $Fld->FldExpression . SearchString($FldOpr, $FldVal, $Fld->FldDataType);
  597. }
  598. $IsValidValue = (($Fld->FldDataType <> EW_DATATYPE_NUMBER) ||
  599. ($Fld->FldDataType == EW_DATATYPE_NUMBER && is_numeric($FldVal2)));
  600. if ($FldVal2 <> "" && $IsValidValue && ew_IsValidOpr($FldOpr2, $Fld->FldDataType)) {
  601. if ($sWrk <> "") {
  602. $sWrk .= " " . (($FldCond=="OR")?"OR":"AND") . " ";
  603. }
  604. $sWrk .= $Fld->FldExpression . SearchString($FldOpr2, $FldVal2, $Fld->FldDataType);
  605. }
  606. }
  607. if ($sWrk <> "") {
  608. if ($Where <> "") $Where .= " AND ";
  609. $Where .= "(" . $sWrk . ")";
  610. }
  611. }
  612. // Return search string
  613. function SearchString($FldOpr, $FldVal, $FldType) {
  614. if ($FldOpr == "LIKE" || $FldOpr == "NOT LIKE") {
  615. return " " . $FldOpr . " " . ew_QuotedValue("%" . $FldVal . "%", $FldType);
  616. } elseif ($FldOpr == "STARTS WITH") {
  617. return " LIKE " . ew_QuotedValue($FldVal . "%", $FldType);
  618. } else {
  619. return " " . $FldOpr . " " . ew_QuotedValue($FldVal, $FldType);
  620. }
  621. }
  622. // Set search parm
  623. function SetSearchParm($Fld, $FldVal, $FldOpr, $FldCond, $FldVal2, $FldOpr2) {
  624. global $osj2Dposts;
  625. $FldParm = substr($Fld->FldVar, 2);
  626. $FldVal = ew_StripSlashes($FldVal);
  627. if (is_array($FldVal)) $FldVal = implode(",", $FldVal);
  628. $FldVal2 = ew_StripSlashes($FldVal2);
  629. if (is_array($FldVal2)) $FldVal2 = implode(",", $FldVal2);
  630. $osj2Dposts->setAdvancedSearch("x_" . $FldParm, $FldVal);
  631. $osj2Dposts->setAdvancedSearch("z_" . $FldParm, $FldOpr);
  632. $osj2Dposts->setAdvancedSearch("v_" . $FldParm, $FldCond);
  633. $osj2Dposts->setAdvancedSearch("y_" . $FldParm, $FldVal2);
  634. $osj2Dposts->setAdvancedSearch("w_" . $FldParm, $FldOpr2);
  635. }
  636. // Return Basic Search sql
  637. function BasicSearchSQL($Keyword) {
  638. $sKeyword = ew_AdjustSql($Keyword);
  639. $sql = "";
  640. $sql .= "`post_title` LIKE '%" . $sKeyword . "%' OR ";
  641. $sql .= "`post_description` LIKE '%" . $sKeyword . "%' OR ";
  642. if (substr($sql, -4) == " OR ") $sql = substr($sql, 0, strlen($sql)-4);
  643. return $sql;
  644. }
  645. // Return Basic Search Where based on search keyword and type
  646. function BasicSearchWhere() {
  647. global $Security, $osj2Dposts;
  648. $sSearchStr = "";
  649. $sSearchKeyword = ew_StripSlashes(@$_GET[EW_TABLE_BASIC_SEARCH]);
  650. $sSearchType = @$_GET[EW_TABLE_BASIC_SEARCH_TYPE];
  651. if ($sSearchKeyword <> "") {
  652. $sSearch = trim($sSearchKeyword);
  653. if ($sSearchType <> "") {
  654. while (strpos($sSearch, " ") !== FALSE)
  655. $sSearch = str_replace(" ", " ", $sSearch);
  656. $arKeyword = explode(" ", trim($sSearch));
  657. foreach ($arKeyword as $sKeyword) {
  658. if ($sSearchStr <> "") $sSearchStr .= " " . $sSearchType . " ";
  659. $sSearchStr .= "(" . BasicSearchSQL($sKeyword) . ")";
  660. }
  661. } else {
  662. $sSearchStr = BasicSearchSQL($sSearch);
  663. }
  664. }
  665. if ($sSearchKeyword <> "") {
  666. $osj2Dposts->setBasicSearchKeyword($sSearchKeyword);
  667. $osj2Dposts->setBasicSearchType($sSearchType);
  668. }
  669. return $sSearchStr;
  670. }
  671. // Clear all search parameters
  672. function ResetSearchParms() {
  673. // Clear search where
  674. global $osj2Dposts;
  675. $sSrchWhere = "";
  676. $osj2Dposts->setSearchWhere($sSrchWhere);
  677. // Clear basic search parameters
  678. ResetBasicSearchParms();
  679. // Clear advanced search parameters
  680. ResetAdvancedSearchParms();
  681. }
  682. // Clear all basic search parameters
  683. function ResetBasicSearchParms() {
  684. // Clear basic search parameters
  685. global $osj2Dposts;
  686. $osj2Dposts->setBasicSearchKeyword("");
  687. $osj2Dposts->setBasicSearchType("");
  688. }
  689. // Clear all advanced search parameters
  690. function ResetAdvancedSearchParms() {
  691. // Clear advanced search parameters
  692. global $osj2Dposts;
  693. $osj2Dposts->setAdvancedSearch("x_user_id", "");
  694. $osj2Dposts->setAdvancedSearch("x_post_creation_date", "");
  695. $osj2Dposts->setAdvancedSearch("z_post_creation_date", "");
  696. $osj2Dposts->setAdvancedSearch("x_post_title", "");
  697. $osj2Dposts->setAdvancedSearch("z_post_title", "");
  698. $osj2Dposts->setAdvancedSearch("x_post_description", "");
  699. $osj2Dposts->setAdvancedSearch("z_post_description", "");
  700. $osj2Dposts->setAdvancedSearch("x_post_edit_date", "");
  701. $osj2Dposts->setAdvancedSearch("z_post_edit_date", "");
  702. }
  703. // Restore all search parameters
  704. function RestoreSearchParms() {
  705. global $sSrchWhere, $osj2Dposts;
  706. $sSrchWhere = $osj2Dposts->getSearchWhere();
  707. // Restore advanced search settings
  708. RestoreAdvancedSearchParms();
  709. }
  710. // Restore all advanced search parameters
  711. function RestoreAdvancedSearchParms() {
  712. // Restore advanced search parms
  713. global $osj2Dposts;
  714. $osj2Dposts->user_id->AdvancedSearch->SearchValue = $osj2Dposts->getAdvancedSearch("x_user_id");
  715. $osj2Dposts->post_creation_date->AdvancedSearch->SearchValue = $osj2Dposts->getAdvancedSearch("x_post_creation_date");
  716. $osj2Dposts->post_creation_date->AdvancedSearch->SearchOperator = $osj2Dposts->getAdvancedSearch("z_post_creation_date");
  717. $osj2Dposts->post_title->AdvancedSearch->SearchValue = $osj2Dposts->getAdvancedSearch("x_post_title");
  718. $osj2Dposts->post_title->AdvancedSearch->SearchOperator = $osj2Dposts->getAdvancedSearch("z_post_title");
  719. $osj2Dposts->post_description->AdvancedSearch->SearchValue = $osj2Dposts->getAdvancedSearch("x_post_description");
  720. $osj2Dposts->post_description->AdvancedSearch->SearchOperator = $osj2Dposts->getAdvancedSearch("z_post_description");
  721. $osj2Dposts->post_edit_date->AdvancedSearch->SearchValue = $osj2Dposts->getAdvancedSearch("x_post_edit_date");
  722. $osj2Dposts->post_edit_date->AdvancedSearch->SearchOperator = $osj2Dposts->getAdvancedSearch("z_post_edit_date");
  723. }
  724. // Set up Sort parameters based on Sort Links clicked
  725. function SetUpSortOrder() {
  726. global $osj2Dposts;
  727. // Check for an Order parameter
  728. if (@$_GET["order"] <> "") {
  729. $osj2Dposts->CurrentOrder = ew_StripSlashes(@$_GET["order"]);
  730. $osj2Dposts->CurrentOrderType = @$_GET["ordertype"];
  731. // Field post_title
  732. $osj2Dposts->UpdateSort($osj2Dposts->post_title);
  733. // Field post_description
  734. $osj2Dposts->UpdateSort($osj2Dposts->post_description);
  735. $osj2Dposts->setStartRecordNumber(1); // Reset start position
  736. }
  737. $sOrderBy = $osj2Dposts->getSessionOrderBy(); // Get order by from Session
  738. if ($sOrderBy == "") {
  739. if ($osj2Dposts->SqlOrderBy() <> "") {
  740. $sOrderBy = $osj2Dposts->SqlOrderBy();
  741. $osj2Dposts->setSessionOrderBy($sOrderBy);
  742. }
  743. }
  744. }
  745. // Reset command based on querystring parameter cmd=
  746. // - RESET: reset search parameters
  747. // - RESETALL: reset search & master/detail parameters
  748. // - RESETSORT: reset sort parameters
  749. function ResetCmd() {
  750. global $sDbMasterFilter, $sDbDetailFilter, $nStartRec, $sOrderBy;
  751. global $osj2Dposts;
  752. // Get reset cmd
  753. if (@$_GET["cmd"] <> "") {
  754. $sCmd = $_GET["cmd"];
  755. // Reset search criteria
  756. if (strtolower($sCmd) == "reset" || strtolower($sCmd) == "resetall") {
  757. ResetSearchParms();
  758. }
  759. // Reset Sort Criteria
  760. if (strtolower($sCmd) == "resetsort") {
  761. $sOrderBy = "";
  762. $osj2Dposts->setSessionOrderBy($sOrderBy);
  763. $osj2Dposts->post_title->setSort("");
  764. $osj2Dposts->post_description->setSort("");
  765. }
  766. // Reset start position
  767. $nStartRec = 1;
  768. $osj2Dposts->setStartRecordNumber($nStartRec);
  769. }
  770. }
  771. ?>
  772. <?php
  773. // Set up Starting Record parameters based on Pager Navigation
  774. function SetUpStartRec() {
  775. global $nDisplayRecs, $nStartRec, $nTotalRecs, $nPageNo, $osj2Dposts;
  776. if ($nDisplayRecs == 0) return;
  777. // Check for a START parameter
  778. if (@$_GET[EW_TABLE_START_REC] <> "") {
  779. $nStartRec = $_GET[EW_TABLE_START_REC];
  780. $osj2Dposts->setStartRecordNumber($nStartRec);
  781. } elseif (@$_GET[EW_TABLE_PAGE_NO] <> "") {
  782. $nPageNo = $_GET[EW_TABLE_PAGE_NO];
  783. if (is_numeric($nPageNo)) {
  784. $nStartRec = ($nPageNo-1)*$nDisplayRecs+1;
  785. if ($nStartRec <= 0) {
  786. $nStartRec = 1;
  787. } elseif ($nStartRec >= intval(($nTotalRecs-1)/$nDisplayRecs)*$nDisplayRecs+1) {
  788. $nStartRec = intval(($nTotalRecs-1)/$nDisplayRecs)*$nDisplayRecs+1;
  789. }
  790. $osj2Dposts->setStartRecordNumber($nStartRec);
  791. } else {
  792. $nStartRec = $osj2Dposts->getStartRecordNumber();
  793. }
  794. } else {
  795. $nStartRec = $osj2Dposts->getStartRecordNumber();
  796. }
  797. // Check if correct start record counter
  798. if (!is_numeric($nStartRec) || $nStartRec == "") { // Avoid invalid start record counter
  799. $nStartRec = 1; // Reset start record counter
  800. $osj2Dposts->setStartRecordNumber($nStartRec);
  801. } elseif (intval($nStartRec) > intval($nTotalRecs)) { // Avoid starting record > total records
  802. $nStartRec = intval(($nTotalRecs-1)/$nDisplayRecs)*$nDisplayRecs+1; // Point to last page first record
  803. $osj2Dposts->setStartRecordNumber($nStartRec);
  804. } elseif (($nStartRec-1) % $nDisplayRecs <> 0) {
  805. $nStartRec = intval(($nStartRec-1)/$nDisplayRecs)*$nDisplayRecs+1; // Point to page boundary
  806. $osj2Dposts->setStartRecordNumber($nStartRec);
  807. }
  808. }
  809. ?>
  810. <?php
  811. // Load recordset
  812. function LoadRecordset($offset = -1, $rowcnt = -1) {
  813. global $conn, $osj2Dposts;
  814. // Call Recordset Selecting event
  815. $osj2Dposts->Recordset_Selecting($osj2Dposts->CurrentFilter);
  816. // Load list page sql
  817. $sSql = $osj2Dposts->SelectSQL();
  818. if ($offset > -1 && $rowcnt > -1) $sSql .= " LIMIT $offset, $rowcnt";
  819. // Load recordset
  820. $conn->raiseErrorFn = 'ew_ErrorFn';
  821. $rs = $conn->Execute($sSql);
  822. $conn->raiseErrorFn = '';
  823. // Call Recordset Selected event
  824. $osj2Dposts->Recordset_Selected($rs);
  825. return $rs;
  826. }
  827. ?>
  828. <?php
  829. // Load row based on key values
  830. function LoadRow() {
  831. global $conn, $Security, $osj2Dposts;
  832. $sFilter = $osj2Dposts->SqlKeyFilter();
  833. if (!is_numeric($osj2Dposts->post_id->CurrentValue)) {
  834. return FALSE; // Invalid key, exit
  835. }
  836. $sFilter = str_replace("@post_id@", ew_AdjustSql($osj2Dposts->post_id->CurrentValue), $sFilter); // Replace key value
  837. // Call Row Selecting event
  838. $osj2Dposts->Row_Selecting($sFilter);
  839. // Load sql based on filter
  840. $osj2Dposts->CurrentFilter = $sFilter;
  841. $sSql = $osj2Dposts->SQL();
  842. if ($rs = $conn->Execute($sSql)) {
  843. if ($rs->EOF) {
  844. $LoadRow = FALSE;
  845. } else {
  846. $LoadRow = TRUE;
  847. $rs->MoveFirst();
  848. LoadRowValues($rs); // Load row values
  849. // Call Row Selected event
  850. $osj2Dposts->Row_Selected($rs);
  851. }
  852. $rs->Close();
  853. } else {
  854. $LoadRow = FALSE;
  855. }
  856. return $LoadRow;
  857. }
  858. // Load row values from recordset
  859. function LoadRowValues(&$rs) {
  860. global $osj2Dposts;
  861. $osj2Dposts->post_id->setDbValue($rs->fields('post_id'));
  862. $osj2Dposts->user_id->setDbValue($rs->fields('user_id'));
  863. $osj2Dposts->post_creation_date->setDbValue($rs->fields('post_creation_date'));
  864. $osj2Dposts->post_title->setDbValue($rs->fields('post_title'));
  865. $osj2Dposts->post_description->setDbValue($rs->fields('post_description'));
  866. $osj2Dposts->post_email->setDbValue($rs->fields('post_email'));
  867. $osj2Dposts->post_categories->setDbValue($rs->fields('post_categories'));
  868. $osj2Dposts->post_url->setDbValue($rs->fields('post_url'));
  869. $osj2Dposts->post_edit_date->setDbValue($rs->fields('post_edit_date'));
  870. }
  871. ?>
  872. <?php
  873. // Render row values based on field settings
  874. function RenderRow() {
  875. global $conn, $Security, $osj2Dposts;
  876. // Call Row Rendering event
  877. $osj2Dposts->Row_Rendering();
  878. // Common render codes for all row types
  879. // post_title
  880. $osj2Dposts->post_title->CellCssStyle = "";
  881. $osj2Dposts->post_title->CellCssClass = "";
  882. // post_description
  883. $osj2Dposts->post_description->CellCssStyle = "";
  884. $osj2Dposts->post_description->CellCssClass = "";
  885. if ($osj2Dposts->RowType == EW_ROWTYPE_VIEW) { // View row
  886. // post_title
  887. $osj2Dposts->post_title->ViewValue = $osj2Dposts->post_title->CurrentValue;
  888. $osj2Dposts->post_title->ViewValue = ew_Highlight($osj2Dposts->post_title->ViewValue, $osj2Dposts->getBasicSearchKeyword(), $osj2Dposts->getBasicSearchType(), "");
  889. $osj2Dposts->post_title->CssStyle = "";
  890. $osj2Dposts->post_title->CssClass = "";
  891. $osj2Dposts->post_title->ViewCustomAttributes = "";
  892. // post_description
  893. $osj2Dposts->post_description->ViewValue = $osj2Dposts->post_description->CurrentValue;
  894. if (!is_null($osj2Dposts->post_description->ViewValue)) $osj2Dposts->post_description->ViewValue = str_replace("\n", "<br>", $osj2Dposts->post_description->ViewValue);
  895. $osj2Dposts->post_description->ViewValue = ew_Highlight($osj2Dposts->post_description->ViewValue, $osj2Dposts->getBasicSearchKeyword(), $osj2Dposts->getBasicSearchType(), "");
  896. $osj2Dposts->post_description->CssStyle = "";
  897. $osj2Dposts->post_description->CssClass = "";
  898. $osj2Dposts->post_description->ViewCustomAttributes = "";
  899. // post_title
  900. if (!is_null($osj2Dposts->post_id->CurrentValue)) {
  901. $osj2Dposts->post_title->HrefValue = ((!empty($osj2Dposts->post_id->ViewValue)) ? $osj2Dposts->post_id->ViewValue : $osj2Dposts->post_id->CurrentValue);
  902. if ($osj2Dposts->Export <> "") $osj2Dposts->post_title->HrefValue = ew_ConvertFullUrl($osj2Dposts->post_title->HrefValue);
  903. } else {
  904. $osj2Dposts->post_title->HrefValue = "";
  905. }
  906. // post_description
  907. $osj2Dposts->post_description->HrefValue = "";
  908. } elseif ($osj2Dposts->RowType == EW_ROWTYPE_ADD) { // Add row
  909. } elseif ($osj2Dposts->RowType == EW_ROWTYPE_EDIT) { // Edit row
  910. } elseif ($osj2Dposts->RowType == EW_ROWTYPE_SEARCH) { // Search row
  911. }
  912. // Call Row Rendered event
  913. $osj2Dposts->Row_Rendered();
  914. }
  915. ?>
  916. <?php
  917. // Load advanced search
  918. function LoadAdvancedSearch() {
  919. global $osj2Dposts;
  920. }
  921. ?>
  922. <?php
  923. // Export data in Xml or Csv format
  924. function ExportData() {
  925. global $nTotalRecs, $nStartRec, $nStopRec, $nTotalRecs, $nDisplayRecs, $osj2Dposts;
  926. $sCsvStr = "";
  927. $rs = LoadRecordset();
  928. $nTotalRecs = $rs->RecordCount();
  929. $nStartRec = 1;
  930. // Export all
  931. if (defined("EW_EXPORT_ALL")) {
  932. $nStopRec = $nTotalRecs;
  933. } else { // Export 1 page only
  934. SetUpStartRec(); // Set Up Start Record Position
  935. // Set the last record to display
  936. if ($nDisplayRecs < 0) {
  937. $nStopRec = $nTotalRecs;
  938. } else {
  939. $nStopRec = $nStartRec + $nDisplayRecs - 1;
  940. }
  941. }
  942. if ($osj2Dposts->Export == "xml") {
  943. $XmlDoc = new cXMLDocument();
  944. }
  945. if ($osj2Dposts->Export == "csv") {
  946. $sCsvStr .= "post_title" . ",";
  947. $sCsvStr .= "post_description" . ",";
  948. $sCsvStr = substr($sCsvStr, 0, strlen($sCsvStr)-1); // Remove last comma
  949. $sCsvStr .= "\n";
  950. }
  951. // Move to first record directly for performance reason
  952. $nRecCount = $nStartRec - 1;
  953. if (!$rs->EOF) {
  954. $rs->MoveFirst();
  955. $rs->Move($nStartRec - 1);
  956. }
  957. while (!$rs->EOF && $nRecCount < $nStopRec) {
  958. $nRecCount++;
  959. if (intval($nRecCount) >= intval($nStartRec)) {
  960. LoadRowValues($rs);
  961. if ($osj2Dposts->Export == "xml") {
  962. $XmlDoc->BeginRow();
  963. $XmlDoc->AddField('post_title', $osj2Dposts->post_title->CurrentValue);
  964. $XmlDoc->AddField('post_description', $osj2Dposts->post_description->CurrentValue);
  965. $XmlDoc->EndRow();
  966. }
  967. if ($osj2Dposts->Export == "csv") {
  968. $sCsvStr .= '"' . str_replace('"', '""', strval($osj2Dposts->post_title->CurrentValue)) . '",';
  969. $sCsvStr .= '"' . str_replace('"', '""', strval($osj2Dposts->post_description->CurrentValue)) . '",';
  970. $sCsvStr = substr($sCsvStr, 0, strlen($sCsvStr)-1); // Remove last comma
  971. $sCsvStr .= "\n";
  972. }
  973. }
  974. $rs->MoveNext();
  975. }
  976. // Close recordset
  977. $rs->Close();
  978. if ($osj2Dposts->Export == "xml") {
  979. header("Content-Type: text/xml");
  980. echo $XmlDoc->XML();
  981. }
  982. if ($osj2Dposts->Export == "csv") {
  983. echo $sCsvStr;
  984. }
  985. }
  986. ?>
  987. <?php
  988. // Show link optionally based on User ID
  989. function ShowOptionLink() {
  990. global $Security, $osj2Dposts;
  991. if ($Security->IsLoggedIn()) {
  992. if (!$Security->IsAdmin()) {
  993. return $Security->IsValidUserID($osj2Dposts->user_id->CurrentValue);
  994. }
  995. }
  996. return TRUE;
  997. }
  998. ?>
  999. <?php
  1000. // Write Audit Trail start/end for grid update
  1001. function WriteAuditTrailDummy($typ) {
  1002. $table = 'osj-posts';
  1003. // Write Audit Trail
  1004. $filePfx = "log";
  1005. $curDate = date("Y/m/d");
  1006. $curTime = date("H:i:s");
  1007. $id = ew_ScriptName();
  1008. $user = CurrentUserID();
  1009. $action = $typ;
  1010. ew_WriteAuditTrail($filePfx, $curDate, $curTime, $id, $user, $action, $table, "", "", "", "");
  1011. }
  1012. ?>
  1013. <?php
  1014. // Page Load event
  1015. function Page_Load() {
  1016. //echo "Page Load";
  1017. }
  1018. // Page Unload event
  1019. function Page_Unload() {
  1020. //echo "Page Unload";
  1021. }
  1022. ?>