[wpkg_web] / pack_checks.php Repository:
ViewVC logotype

View of /pack_checks.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 29 - (download) (annotate)
Thu Jan 11 02:13:58 2007 UTC (11 years, 8 months ago) by linuxkidd
File size: 13655 byte(s)
Language pack and Icon pack conversion complete.
Moved all settings into config.php.
Added CHANGELOG.
Fixed bug in packages_xml_in which prevented proper creation of initial level.
Added UPGRADE instructions.

<?php
  $level_colors
=array('#FAFAD2','#FFE4C4','#FFDEAD');
  
#$level_colors=array('#FFE4C4','#FFDEAD','#FAFAD2');
  #$level_colors=array('#FFDEAD','#FAFAD2','#FFE4C4');
  
$sql=sprintf("select * from pack_checks where chklog_id is NOT NULL and pack_id=%s order by chklevel,chktype_id"quote_smart($pack_id));
  
$sql_handle=mysql_query($sql) or error_report($sql,mysql_error());
  
$levels=array();
  
$levels2=array();
  while(
$level_data=mysql_fetch_array($sql_handle)) {
    
$levels[$level_data['prnlevel']][]=$level_data;
    
$levels2[$level_data['chklevel']]=$level_data;
  }
  foreach ( array(
'chktype','chklogic','chkconditions') as $table ) {
    ${
$table}=array();
    if(
$table=='chkconditions') {
      ${
$table"2"}=array();
    }
    
$sql="select * from pack_" $table;
    
$sql_handle=mysql_query($sql) or error_report($sqlmysql_error());
    while(
$data=mysql_fetch_array($sql_handle)) {
      if(
$table=='chkconditions') {
        ${
$table}[$data['id']]=array($data['chktype'],$data['value']);
        if(!isset(${
$table "2"}[$data['chktype']])) {
          ${
$table "2"}[$data['chktype']]=array();
        }
        ${
$table "2"}[$data['chktype']][$data['id']]=$data['value'];
      } else {
        ${
$table}[$data['id']]=$data['value'];
      }
    }
  }
?>
<script type="text/javascript">
//<![CDATA[
<?php
  
if(isset($_GET['new'])) {
    
$new=$_GET['new'];
  } else {
    
$new=0;
  }
  if(isset(
$_GET['chkid'])) {
    
$chkid=$_GET['chkid'];
  } else {
    
$chkid=0;
  }
  if(
$new || $chkid){
?>
  var condOptions=new Array();
  <?php
  
foreach($chkconditions2 as $chktype_id => $valAry) {
    print 
"  condOptions['" $chktype_id "']= new Array()\n";
    foreach (
$valAry as $chk_ID => $value) {
      print 
"  condOptions['" $chktype_id "']['" $chk_ID "']='" $value "';\n";
    }
  }
}
  
?>

  var condLogic=new Array();
<?php
  
foreach($chklogic as $id => $value) {
    print 
"  condLogic['{$id}']='{$value}';\n";
  }
  
?>
  var Levels=new Array();
<?php
  
foreach($levels2 as $id => $value) {
    print 
"  Levels['{$id}']=new Array('{$value['id']}', '{$value['chklog_id']}');\n";
  }
  if(isset(
$_GET['new']) || isset($_GET['chkid'])){

  
?>
  function updateConds() {
    var selectCond=document.forms['checks'].chkcond_id;
    var chkType_ID=document.forms['checks'].chktype_id.selectedIndex;
    chkType_ID++;
    selectCond.options.length = 0;
    var count=0;
    for(var i in condOptions[chkType_ID]) {
      selectCond.options[count]=new Option(condOptions[chkType_ID][i],i);
      count++;
    }
    updateVal()
  }
  function updateVal() {
    v=document.getElementById("value");
    x=document.getElementById("lbl_value").style;
    if(document.forms['checks'].chkcond_id.selectedIndex==0) {
      x.display='none';
      v.style.display='none';
      v.value='';
    } else {
      x.display='inline';
      v.style.display='inline';
    }
  }
  <?php
}
?>
  function changeLogic(level) {
    var id=Levels[level][0];
    var chklog_id=Levels[level][1];
    var logicSpan=document.getElementById('logic' + level)
    var divcontents="<input type='hidden' name='chkid' value='" + id + "'>\n";
    divcontents=divcontents + "<select id='chklog_id' name='chklog_id'>\n";
    for(var i in condLogic) {
      divcontents=divcontents + "<option value='" + i + "'";
      if(i==chklog_id) {
        divcontents=divcontents + " SELECTED";
      }
      divcontents=divcontents + ">" + condLogic[i] + "</option>";
    }
    divcontents=divcontents + "</select>\n";
    divcontents=divcontents + "<input type='submit' id='Set' name='Set' value='Set'>";
    divcontents=divcontents + "<input type='button' onClick='window.location=\"packages.php?pack_id=<?php print $pack_id?>&page=checks\"' value='Cancel'>"
    logicSpan.innerHTML=divcontents;
  }
//]]>
</script>

<form name='checks' id='checks' method='GET' action='pack_chk_sub.php'>
<input type='hidden' id='pack_id' name='pack_id' value='<?php print $pack_id?>'>
<?php
include "pack_header.php";
$sql="select count(id) from pack_checks where pack_id='{$pack_id}'";
$sql_handle=mysql_query($sql) or error_report($sql,mysql_error());
list(
$check_count)=mysql_fetch_array($sql_handle);
?>
<table class='tbl_sub2' cellspacing='0' cellpadding='0'>
  <tr class='headline'>
    <td><?php

    
if($check_count<2) {
    
?>
      <input type='button' onclick='window.location="pack_chk_sub.php?pack_id=<?php
      
print $pack_id?>&page=<?php print $page?>&addlevel=-1"'
      value="<?php print $vocab['button-addlevel']; ?>" style='font-weight: normal;'> &nbsp; <?php
    
}
    print 
$vocab['title-check'];
    
?>
    </td>
  </tr>
  <tr>
    <td>
<?php
  $depth
=-1;
  
print_level(0);

?>
</table>

<?php
function print_level() {
  
$arg_count=func_num_args();
  
$level=func_get_arg(0);
  
$printed_levels=array();
  
$div_width=830-($level*30);
  if(
$arg_count>1) {
    
$prnlevel  =func_get_arg(1);
    
$div_width=830-(($prnlevel+1)*30);
    
$level_id  =func_get_arg(2);
  }
  global 
$pack_id$levels$levels2$chktype$chklogic$chkconditions$level_colors$chkid$page$chkconditions2$new$depth$vocab$icon;
  
$depth++;

  
$sql="select count(id) from pack_checks where pack_id='{$pack_id}' and chklevel='{$level}'";
  
$sql_handle=mysql_query($sql) or error_report($sql,mysql_error());
  list(
$level_count)=mysql_fetch_array($sql_handle);
  
$sql="select id,chktype_id,chklog_id,chkcond_id,path,value from pack_checks where pack_id='" $pack_id .
       
"' and chklevel='{$level}' order by chklog_id desc,chktype_id";
  
$fields=array('id','chktype_id','chkcond_id','path');
  
$sql_handle=mysql_query($sql) or error_report($sql,mysql_error());
  
$color=$level_colors[$depth%count($level_colors)];
  
$count=0;
  print 
"  <div id='level{$level}' style='background: {$color}; border: #A0A0A0 1px ridge; width: {$div_width}px; float: right;'>";
  while(
$check=mysql_fetch_array($sql_handle)) {
    
$count++;
    if(
$check['chklog_id']) {
      print 
"    <span style='font-weight: bold;'>{$vocab['title-level']} {$level} ( {$vocab['title-logic']} <div style='display: inline;'  id='logic{$level}'><a href='#' onClick='changeLogic({$level});'
        title='
{$vocab['title-logic_change']}'>" strtoupper($chklogic[$check['chklog_id']]) ."</a></div> ) &nbsp; ";
      print 
"</span><span style='font-size: 0.8em;'>";
      print 
"<input type='button' onclick='window.location=\"packages.php?pack_id={$pack_id}&page={$page}&new=2&sublevel={$level}\"'
            value='
{$vocab['button-addcheck']}' style='font-weight: normal;'> ";
      print 
"<input type='button' onclick='window.location=\"pack_chk_sub.php?pack_id={$pack_id}&page={$page}&addlevel={$level}\"'
            value='
{$vocab['button-addsublevel']}' style='font-weight: normal;'>";
      if(
$level) {
        print 
" <input type='button' onclick='if(confirm(\"{$vocab['popup-level_permdel']} {$vocab['gen-confirm']}\")) { window.location=\"pack_chk_sub.php?pack_id={$pack_id}&page={$page}&dellevel={$level}\" } else { return false; }'
              value='
{$vocab['title-level_del']}' style='font-weight: normal;'> ";
      }
      print 
"</span>";
      continue;
    }
    print 
"    <div>";
    if(
$chkid==$check['id']) {
?>
  <table class='tbl_sub2' cellspacing='0' cellpadding='2'>
    <tr class='headline'>
      <td width='10%'><?php print $vocab['title-chktype']; ?></td>
      <td width='40%'><?php print $vocab['title-path']; ?></td>
      <td width='10%'><?php print $vocab['title-condition']; ?></td>
      <td><span id='lbl_value' style='display: <?php
      
if(!empty($check['value'])) {
        print 
"inline;";
      } else {
        print 
"none;";
      } 
?>'><?php print $vocab['title-value']; ?></span></td>
    </tr>
    <tr>
      <td>
      <input type='hidden' name='chklevel' value='<?php print $level?>'>
      <input type='hidden' name='chkid' value='<?php print $chkid?>'>
      <select id='chktype_id' name='chktype_id' onKeyUp='updateConds();' onChange='updateConds();'>
        <?php
    
foreach($chktype as $id => $type) {
?>
        <option value='<?php print $id?>'<?php
          
if($check['chktype_id']==$id) {
            print 
" SELECTED";
          } 
?>><?php print $type?></option>
<?php
    
}
        
?>
      </select></td>
      <td><input type='text' id='path' name='path' size='30' maxlength='200' value='<?php
        
print $check['path']; ?>'></td>
      <td>
        <select id='chkcond_id' name='chkcond_id' onKeyUp='updateVal();' onChange='updateVal();'>
        <?php
    
foreach($chkconditions2[$check['chktype_id']] as $id => $type) {
      print 
"        <option value='{$id}'";
      if(
$check['chkcond_id']==$id) {
        print 
" SELECTED";
      }
      print 
">{$type}</option>\n";
    }
        
?>
      </select></td>
      <td><input type='text' id='value' name='value' size='12' maxlength='200' style='display: <?php
      
if(!empty($check['value'])) {
        print 
"inline;' value='{$check['value']}";
      } else {
        print 
"none;";
      }
      
?>'></td>
    </tr>
    <tr>
      <td colspan='4'>
        <input type='submit' id='Update' name='Update' value='<?php print $vocab['button-update']; ?>'>
        <input type='button' onclick='window.location="packages.php?pack_id=<?php
        
print $pack_id?>&page=<?php print $page?>"' value='<?php print $vocab['button-cancel']; ?>'>
      </td>
    </tr>
  </table>
<?php
    
} else {
      if(
$level>0) {
        print 
"<a href='pack_chk_sub.php?chkid={$check['id']}&dir=4&chklevel={$level}&pack_id={$pack_id}'
            title='Lower Level'>
{$icon['left'][0]}</a>";
      } else {
        print 
$icon['space'][0];
      }
      if(
check_right($level)) {
        print
          
"<a href='pack_chk_sub.php?chkid={$check['id']}&dir=2&chklevel={$level}&pack_id={$pack_id}'
          title='Higher Level'>
{$icon['right'][0]}</a>";
      } else {
        print 
$icon['space'][0];
      }
      print 
"<a href='pack_chk_sub.php?chkid={$check['id']}&pack_id={$pack_id}&chklevel={$level}&del=1' title='Delete'
        onClick=\"return confirm('Clicking OK will permanently delete this check. ARE YOU SURE?!');\">
{$icon['delete'][0]}</a>";
      print 
" &nbsp; <a href='packages.php?pack_id={$pack_id}&page=checks&chkid={$check['id']}' title='Edit'>";
      print 
htmlspecialchars($chktype[$check['chktype_id']] . ": " $check['path'] . " ( " .
            
$chkconditions[$check['chkcond_id']][1] . " )");
      if(!empty(
$check['value'])){
        print 
" " htmlspecialchars($check['value']);
      }
      print 
"</a>";
    }
    print 
"</div>\n";
  }
  if(
$new==&& $_GET['sublevel']==$level) {
  
?>
  <table class='tbl_sub2' cellspacing='0' cellpadding='2'>
    <tr class='headline'>
      <td width='10%'><?php print $vocab['title-chktype']; ?></td>
      <td width='40%'><?php print $vocab['title-path']; ?></td>
      <td width='10%'><?php print $vocab['title-condition']; ?></td>
      <td><span id='lbl_value' style='display: none;'><?php print $vocab['title-value']; ?></span></td>
    </tr>
    <tr>
      <td>
      <input type='hidden' name='chklevel' value='<?php print $level?>'>
      <select id='chktype_id' name='chktype_id' onKeyUp='updateConds();' onChange='updateConds();'>
        <?php
    
foreach($chktype as $id => $type) {
?>
        <option value='<?php print $id?>'><?php print $type?></option>
<?php
    
}
        
?>
      </select></td>
      <td><input type='text' id='path' name='path' size='30' maxlength='200'></td>
      <td>
        <select id='chkcond_id' name='chkcond_id' onKeyUp='updateVal();' onChange='updateVal();'>
        <?php
    
/* foreach($chkconditions as $id => $type) {
      print "        <option value='{$id}'>{$type['1']}</option>\n"
    } */
        
?>
      </select></td>
      <td><input type='text' id='value' name='value' size='12' maxlength='200' style='display: none;'></td>
    </tr>
    <tr>
      <td colspan='4'>
        <input type='submit' id='Add' name='Add' value='<?php print $vocab['button-add']; ?>'>
        <input type='button' onclick='window.location="packages.php?pack_id=<?php
        
print $pack_id?>&page=<?php print $page?>"' value='<?php print $vocab['button-cancel']; ?>'>
        <script type="text/javascript"> updateConds(); </script>
      </td>
    </tr>
  </table>
    <?php
  
}
  if(
$count<&& !isset($levels[$level]) && !isset($_GET['new'])) {
    print 
"  <div style='width: {$div_width};'>{$vocab['gen-chk_none-2']} {$level} {$vocab['gen-chk_none-2']}</div>\n";
  }
  if(isset(
$levels[$level])) {
    foreach ( 
$levels[$level] as $nextlevel ) {
      if(!isset(
$printed_levels[$nextlevel['id']])) {
      
print_level($nextlevel['chklevel'],$level,$nextlevel['id']);
      
$printed_levels[$nextlevel['id']]=1;
      }
    }
  }
  print 
"  </div>";
  
$depth--;
}

function 
check_right($level) {
  global 
$levels,$pack_id;
  
$prnlevel=1;
  if(isset(
$levels[$level])) {
    return 
true;
  }
  while(!isset(
$new_level) && $prnlevel>0) {
    
$sql="select prnlevel from pack_checks where chklevel='{$level}' and pack_id='{$pack_id}' and chklog_id is not null";
    
$sql_handle=mysql_query($sql) or error_report($sql,mysql_error());
    list(
$prnlevel)=mysql_fetch_array($sql_handle);
    
## print "\n<!-- prnlevel: {$prnlevel}, chklevel: {$chklevel} -->";
    
$sql="select chklevel from pack_checks where pack_id='{$pack_id}' and chklevel>'{$level}' and prnlevel='{$prnlevel}'
          and chklog_id is not null"
;
    
$sql_handle=mysql_query($sql) or error_report($sql,mysql_error());
    list(
$new_level)=mysql_fetch_array($sql_handle);
    
$level=$prnlevel;
  }
  if(!isset(
$new_level)) {
    return 
false;
  } else {
    return 
true;
  }
}
?>

ViewVC Help
Powered by ViewVC 1.0.3