/admin/adm/resources/index.php

https://github.com/beletsky/restorandoma · PHP · 146 lines · 106 code · 21 blank · 19 comment · 22 complexity · 99c480ce880c6572a57837ec55766268 MD5 · raw file

  1. <?
  2. ################################################################################
  3. # #
  4. # Project name #
  5. # #
  6. # Copyright (ñ) 2003, Ilya Blagorodov, Sergey Efremov #
  7. # #
  8. # admin/adm/resources/index.php #
  9. # Ðåñóðñû. #
  10. # #
  11. ################################################################################
  12. define ('PATH_TO_ROOT', '../../../');
  13. define ('PATH_TO_ADMIN', '../../');
  14. define ('PAGE_TITLE', 'Àäìèíèñòðèðîâàíèå. Ðåñóðñû');
  15. define ('PAGE_CODE', 'adm_resources');
  16. define ('ACT_ADD', 'add');
  17. define ('ACT_EDIT', 'edit');
  18. define ('ACT_ADD_PROC', 'add_proc');
  19. define ('ACT_EDIT_PROC', 'edit_proc');
  20. define ('ACT_DEL_PROC', 'del_proc');
  21. require (PATH_TO_ADMIN . 'inc/top.inc.php');
  22. include_once (PATH_TO_ADMIN . 'inc/func_resources.inc.php');
  23. print get_header('Ðåñóðñû');
  24. // Îïðåäåëèì òåêóùåå äåéñòâèå
  25. $action = '';
  26. if (isset($HTTP_GET_VARS['a'])) $action = $HTTP_GET_VARS['a'];
  27. if ($action == '' && isset($HTTP_POST_VARS['a'])) $action = $HTTP_POST_VARS['a'];
  28. if ($action == '') $action = ACT_ADD;
  29. // Ïîëó÷èì ïàðàìåòðû
  30. $id = 0;
  31. if (isset($HTTP_GET_VARS['id'])) $id = $HTTP_GET_VARS['id'];
  32. if (!string_is_id($id) && isset($HTTP_POST_VARS['id'])) $id = $HTTP_POST_VARS['id'];
  33. $form = GetData($id);
  34. $form['ID_Resource'] = $id;
  35. // Âûïîëíèì èçìåíåíèÿ
  36. $msg = '';
  37. $err = '';
  38. switch ($action) {
  39. case ACT_ADD_PROC: {
  40. $err = resource_add($form);
  41. if ($err == '') $form = array();
  42. $action = ACT_ADD;
  43. break;
  44. }
  45. case ACT_EDIT_PROC: {
  46. if ($err = resource_edit($form)) {
  47. $action = ACT_EDIT;
  48. } else {
  49. $action = ACT_ADD;
  50. $form = array();
  51. }
  52. break;
  53. }
  54. case ACT_DEL_PROC: {
  55. $err = resource_del($id);
  56. $action = ACT_ADD;
  57. $form = array();
  58. break;
  59. }
  60. }
  61. // Ïîêàæåì ôîðìó
  62. print get_subheader($action == ACT_ADD ? 'Äîáàâëåíèå' : 'Ðåäàêòèðîâàíèå');
  63. print get_formatted_error($err);
  64. print GetForm($form, $action == ACT_ADD ? ACT_ADD_PROC : ACT_EDIT_PROC);
  65. // Ïîêàæåì ñïèñîê
  66. print get_delete_script($this_page . '?a=' . ACT_DEL_PROC . '&id=');
  67. print get_subheader('Ñïèñîê');
  68. if ($action != ACT_ADD) print get_link('Äîáàâèòü', $this_page);
  69. print get_formatted_message($msg);
  70. print GetList();
  71. require (PATH_TO_ADMIN . 'inc/bottom.inc.php');
  72. # Ôîðìà
  73. function GetForm($form, $action) {
  74. global $this_page;
  75. $tpl = new Template();
  76. $tpl->set_file('main', 'form.ihtml');
  77. $tpl->set_var('THIS_PAGE', $this_page);
  78. $tpl->set_var('ID', isset($form['ID_Resource']) ? $form['ID_Resource'] : '');
  79. $tpl->set_var('NAME', isset($form['ResourceName']) ? htmlspecialchars($form['ResourceName']) : '');
  80. $tpl->set_var('CODE', isset($form['ResourceCode']) ? htmlspecialchars($form['ResourceCode']) : '');
  81. $tpl->set_var('BTN_CAPTION', $action == ACT_ADD_PROC ? 'Äîáàâèòü' : 'Èçìåíèòü');
  82. $tpl->set_var('ACTION', $action);
  83. return $tpl->parse('C', 'main', false);
  84. }
  85. # Ñïèñîê
  86. function GetList() {
  87. global $db, $this_page;
  88. $db->Query('select count(*) from dwResources');
  89. $cnt = $db->NextRecord() ? $db->F(0) : 0;
  90. $tbl = new PslAdmTbl;
  91. $tbl->mSortDefault = 'name';
  92. $tbl->mRecordsCnt = $cnt;
  93. $tbl->mSessionPrefix = 'a_a_r';
  94. $tbl->mDownImg = PATH_TO_ADMIN . 'img/down.gif';
  95. $tbl->mUpImg = PATH_TO_ADMIN . 'img/up.gif';
  96. $tbl->mSortFields = array('id' => 'ID_Resource', 'name' => 'ResourceName', 'code' => 'ResourceCode');
  97. $tbl->SetInPageOptions(get_inpage_array());
  98. $tbl->SetHead($this_page, array('ID', 'Íàçâàíèå', 'Êîä', 'Äåéñòâèÿ'),
  99. array('Êëèêíèòå äëÿ ñîðòèðîâêè ïî êîëîíêå', 'Êëèêíèòå äëÿ ñîðòèðîâêè ïî êîëîíêå', 'Êëèêíèòå äëÿ ñîðòèðîâêè ïî êîëîíêå', ''));
  100. $q = 'select * from dwResources' . $tbl->GetOrderByClause() . $tbl->GetLimitClause();
  101. $db->Query($q);
  102. while ($db->NextRecord())
  103. $tbl->SetRow(array($db->F('ID_Resource'),
  104. '<a href="' . $this_page . '?id=' . $db->F('ID_Resource') . '&a=' . ACT_EDIT . '">' . htmlspecialchars($db->F('ResourceName')) . '</a>',
  105. '<a href="' . $this_page . '?id=' . $db->F('ID_Resource') . '&a=' . ACT_EDIT . '">' . htmlspecialchars($db->F('ResourceCode')) . '</a>',
  106. '<center><a href="javascript:deleteRecord(' . $db->F('ID_Resource') . ')"><img src="' . PATH_TO_ADMIN . 'img/del.gif" border=0 alt="Óäàëèòü"></a></center>',
  107. ));
  108. return $tbl->GetTable();
  109. }
  110. # Ïîëó÷èòü ïàðàìåòðû êàê ìàññèâ èç ïîñòèíãà èëè èç áàçû
  111. function GetData($id) {
  112. global $HTTP_POST_VARS;
  113. return isset($HTTP_POST_VARS['form']) ? $HTTP_POST_VARS['form'] : GetDbData($id);
  114. }
  115. # Ïîëó÷èòü ïàðàìåòðû êàê ìàññèâ èç áàçû
  116. function GetDbData($id) {
  117. global $db;
  118. $r = array();
  119. if (string_is_id($id)) {
  120. $db->query('select * from dwResources where ID_Resource = ' . $id);
  121. if ($db->NextRecord()) $r = $db->mRecord;
  122. }
  123. return $r;
  124. }
  125. ?>