[ Index ]

Source Code Reference for V1.00

title

Body

[close]

/modules/system/syskeys/ -> index.php (source)

   1  <?php /* $Id: index.php 140 2008-04-05 15:34:35Z pedroix $ $URL: https://web2project.svn.sourceforge.net/svnroot/web2project/trunk/modules/system/syskeys/index.php $ */
   2  if (!defined('W2P_BASE_DIR')) {
   3      die('You should not access this file directly.');
   4  }
   5  
   6  // check permissions
   7  $perms = &$AppUI->acl();
   8  if (!$perms->checkModule('system', 'edit')) {
   9      $AppUI->redirect('m=public&a=access_denied');
  10  }
  11  
  12  global $fixedSysVals;
  13  $AppUI->savePlace();
  14  
  15  // pull all the key types
  16  $q = new DBQuery;
  17  $q->addTable('syskeys');
  18  $q->addQuery('syskey_id,syskey_name');
  19  $q->addOrder('syskey_name');
  20  $keys = arrayMerge(array(0 => '- Select Type -'), $q->loadHashList());
  21  $q->clear();
  22  
  23  $q = new DBQuery;
  24  $q->addTable('syskeys');
  25  $q->addTable('sysvals');
  26  $q->addQuery('DISTINCT sysval_title, sysval_key_id, syskeys.*');
  27  $q->addWhere('sysval_key_id = syskey_id');
  28  $q->addOrder('sysval_title');
  29  $q->addOrder('sysval_id');
  30  $values = $q->loadList();
  31  $q->clear();
  32  
  33  $q = new DBQuery;
  34  $q->addTable('sysvals');
  35  $q->addTable('syskeys');
  36  $q->addQuery('sysval_title, sysval_value_id, sysval_value, syskey_sep1, syskey_sep2');
  37  $q->addWhere('sysval_key_id = syskey_id');
  38  $q->addOrder('sysval_title');
  39  $q->addOrder('sysval_id');
  40  $vals = $q->loadList();
  41  $q->clear();
  42  
  43  foreach ($values as $key => $value) {
  44      $values[$key]['sysval_value'] = '';
  45      foreach ($vals as $kval => $val) {
  46          if ($value['sysval_title'] == $val['sysval_title']) {
  47              $sep1 = $val['syskey_sep1'];
  48              $sep2 = $val['syskey_sep2'];
  49              if (!isset($sep1) || empty($sep1)) {
  50                  $sep1 = "\n";
  51              }
  52              if ($sep1 == "\\n") {
  53                  $sep1 = "\n";
  54              }
  55              if ($sep1 == "\\r") {
  56                  $sep1 = "\r";
  57              }
  58              $values[$key]['sysval_value'] .= $val['sysval_value_id'] . $sep2 . $val['sysval_value'] . $sep1;
  59          }
  60      }
  61  }
  62  
  63  $sysval_id = isset($_GET['sysval_id']) ? w2PgetParam($_GET, 'sysval_id', '') : '';
  64  
  65  $titleBlock = new CTitleBlock('System Lookup Values', 'myevo-weather.png', $m, $m . '.' . $u . '.' . $a);
  66  $titleBlock->addCrumb('?m=system', 'System Admin');
  67  $titleBlock->show();
  68  ?>
  69  <script language="javascript">
  70  <?php
  71  // security improvement:
  72  // some javascript functions may not appear on client side in case of user not having write permissions
  73  // else users would be able to arbitrarily run 'bad' functions
  74  if ($canEdit) {
  75  ?>
  76  function delIt(id) {
  77      if (confirm( 'Are you sure you want to delete this?' )) {
  78          f = document.sysValFrm;
  79          f.del.value = 1;
  80          f.sysval_id.value = id;
  81          f.submit();
  82      }
  83  }
  84  <?php } ?>
  85  </script>
  86  
  87  <form name="sysValFrm" method="post" action="?m=system&u=syskeys&a=do_sysval_aed">
  88  <input type="hidden" name="del" value="0" />
  89  <table border="0" cellpadding="2" cellspacing="1" width="100%" class="tbl">
  90  <tr>
  91      <th>&nbsp;</th>
  92      <th><?php echo $AppUI->_('Key Type'); ?></th>
  93      <th><?php echo $AppUI->_('Title'); ?></th>
  94      <th colspan="2"><?php echo $AppUI->_('Values'); ?></th>
  95      <th>&nbsp;</th>
  96  </tr>
  97  <?php
  98  function showRow($id = '', $key = 0, $title = '', $value = '') {
  99      global $canEdit, $sysval_id, $AppUI, $keys;
 100      global $fixedSysVals;
 101      $s = '';
 102      if (($sysval_id == $title) && $canEdit) {
 103          // edit form
 104          $s = '<input type="hidden" name="sysval_id" value="' . $title . '" />';
 105          $s .= '<tr><td>&nbsp;</td>';
 106          $s .= '<td valign="top">' . arraySelect($keys, 'sysval_key_id', 'size="1" class="text"', $key) . '</td>';
 107          $s .= '<td valign="top"><input type="text" name="sysval_title" value="' . w2PformSafe($title) . '" class="text" /></td>';
 108          $s .= '<td valign="top"><textarea name="sysval_value" class="small" rows="5" cols="40">' . $value . '</textarea></td>';
 109          $s .= '<td><input type="submit" value="' . $AppUI->_($id ? 'edit' : 'add') . '" class="button" /></td><td>&nbsp;</td>';
 110      } else {
 111          $s = '<tr><td width="12" valign="top">';
 112          if ($canEdit) {
 113              $s .= '<a href="?m=system&u=syskeys&sysval_id=' . $title . '" title="' . $AppUI->_('edit') . '">' . w2PshowImage('icons/stock_edit-16.png', 16, 16, '') . '</a></td>';
 114          }
 115          $s .= '<td valign="top">' . $keys[$key] . '</td>';
 116          $s .= '<td valign="top">' . w2PformSafe($title) . '</td>';
 117          $s .= '<td valign="top" colspan="2">' . $value . '</td>';
 118          $s .= '<td valign="top" width="16">';
 119          if ($canEdit && !in_array($title, $fixedSysVals)) {
 120              $s .= '<a href="javascript:delIt(\'' . $title . '\')" title="' . $AppUI->_('delete') . '">' . w2PshowImage('icons/stock_delete-16.png', 16, 16, '') . '</a>';
 121          }
 122          $s .= '</td>';
 123      }
 124      $s .= '</tr>';
 125      return $s;
 126  }
 127  
 128  // do the modules that are installed on the system
 129  $s = '';
 130  foreach ($values as $row) {
 131      echo showRow($row['sysval_title'], $row['sysval_key_id'], $row['sysval_title'], $row['sysval_value']);
 132  }
 133  // add in the new key row:
 134  if (!$sysval_id) {
 135      echo showRow();
 136  }
 137  ?>
 138  </table>
 139  </form>


Generated: Thu Jan 8 03:00:03 2009 Cross-referenced by PHPXref 0.7