[wpkg_web] / pack_chk_sub.php Repository:
ViewVC logotype

View of /pack_chk_sub.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 7 - (download) (annotate)
Sun Dec 17 05:14:06 2006 UTC (11 years, 4 months ago) by linuxkidd
File size: 7411 byte(s)
Fixed logic change bug in package checks.
Fixed variable name issue in packages_xml_out.php.
Updated INSTALL to reflect MySQL 5.0+ requirement.

<?php
  
include "connect.php";
  include 
"header.php";
  
$fields=array('pack_id','chklevel','prnlevel','chklog_id','chktype_id','chkcond_id','path','value');
  if(isset(
$_GET['addlevel'])) {
    
$sql=sprintf("select ifnull(max(chklevel),-2)+1 from pack_checks where  pack_id=%s",quote_smart($_GET['pack_id']));
    
$sql_handle=mysql_query($sql) or error_report($sql,mysql_error());
    list(
$newmax)=mysql_fetch_array($sql_handle);
    
$sql=sprintf("insert into pack_checks values ( NULL, %s, %s, %s, '1', NULL, NULL, NULL, NULL)"quote_smart($_GET['pack_id']), quote_smart($newmax), quote_smart($_GET['addlevel']));
    
mysql_query($sql) or error_report($sql,mysql_error());
  } else if(isset(
$_GET['Add'])){
    
$sql=sprintf("select id from pack_checks where chklog_id is NOT NULL and chklevel=%s and pack_id=%s"quote_smart($_GET['chklevel']), quote_smart($_GET['pack_id']));
    
$sql_handle=mysql_query($sql) or error_report($sql,mysql_error());
    list(
$level_id)=mysql_fetch_array($sql_handle);
    if(!isset(
$level_id)) {
      
$sql=sprintf("insert into pack_checks values ( NULL, %s, %s ,'-1','1', NULL, NULL, NULL, NULL)"quote_smart($_GET['pack_id']), quote_smart($_GET['chklevel']));
      
$sql_handle=mysql_query($sql) or error_report($sql,mysql_error());
      
$level_id=mysql_insert_id();
    }
    
$sql="insert into pack_checks values ( NULL";
    foreach (
$fields as $field) {
      if(isset(
$_GET[$field])) {
        
$sql.=", " quote_smart($_GET[$field]);
      } else {
        
$sql.=", NULL";
      }
    }
    
$sql.=")";
    
mysql_query($sql) or error_report($sql,mysql_error());
  } else if (isset(
$_GET['Set'])) {
    
$sql=sprintf("update pack_checks set chklog_id=%s where id=%s",quote_smart($_GET['chklog_id']),quote_smart($_GET['chkid']));
    
mysql_query($sql) or error_report($sql,mysql_error());
  } else if (isset(
$_GET['Update'])) {
    
$sql="update pack_checks set ";
    
$count=0;
    foreach (array(
'chktype_id','chkcond_id','path','value') as $field) {
      if(
$count) {
        
$sql.=", ";
      }
      
$count++;
      
$sql.=$field "=";
      if(isset(
$_GET[$field])) {
        
$sql.= quote_smart($_GET[$field]);
      } else {
        
$sql.="NULL";
      }
    }
    
$sql.=" where id=" quote_smart($_GET['chkid']);
    
mysql_query($sql) or error_report($sql,mysql_error());
  } else if (isset(
$_GET['del'])) {
    
$sql=sprintf("delete from pack_checks where id=%s",
                  
quote_smart($_GET['chkid']));
    
mysql_query($sql) or error_report($sql,mysql_error());
    
cleanup_EmptyLevel();
  } else if (isset(
$_GET['dellevel'])) {
    
$_GET['chklevel']=$_GET['dellevel'];
    
del_level($_GET['dellevel']);
    
cleanup_EmptyLevel();
  } else if (isset(
$_GET['dir'])) {
    switch (
$_GET['dir']) {
      case 
2# RIGHT ( Higher Level )
        
$sql=sprintf("select chklevel from pack_checks where prnlevel=%s and pack_id=%s order by chklevel limit 0,1"quote_smart($_GET['chklevel']), quote_smart($_GET['pack_id']));
        
$sql_handle=mysql_query($sql) or error_report($sql,mysql_error());
        list(
$new_level)=mysql_fetch_array($sql_handle);
        
$prnlevel=$_GET['chklevel'];
        
$level=$_GET['chklevel'];
        while(!isset(
$new_level) && $prnlevel>0) {
          
$sql=sprintf("select prnlevel from pack_checks where chklevel=%s and chklog_id is not NULL and pack_id=%s"quote_smart($prnlevel), quote_smart($_GET['pack_id']));
          
$sql_handle=mysql_query($sql) or error_report($sql,mysql_error());
          list(
$prnlevel)=mysql_fetch_array($sql_handle);
          
$sql=sprintf("select chklevel from pack_checks where prnlevel=%s and chklevel>%s and pack_id=%s"quote_smart($prnlevel), quote_smart($level), quote_smart($_GET['pack_id']));
          
$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)) {
          
error_report(" get higher level"," all attempts failed to determine next level.");
        }
        break;
      case 
4# LEFT ( Lower Level )
        
$sql=sprintf("select prnlevel from pack_checks where chklevel=%s and chklog_id is not NULL and pack_id=%s"quote_smart($_GET['chklevel']), quote_smart($_GET['pack_id'])) ;
        
$sql_handle=mysql_query($sql) or error_report($sql,mysql_error());
        list(
$new_level)=mysql_fetch_array($sql_handle);
        
$runme='cleanup_EmptyLevel';
        break;
    }
    if (isset(
$new_level)) {
      
$sql=sprintf("select count(id) from pack_checks where chklevel=%s and pack_id=%s"quote_smart($new_level), quote_smart($_GET['pack_id']));
      
$sql_handle=mysql_query($sql) or error_report($sql,mysql_error());
      list(
$id_count)=mysql_fetch_array($sql_handle);
      if(
$id_count==0) {
        
error_report("illogical level requested""No Check Level exists at : {$new_level}");
      }
      
$sql=sprintf("update pack_checks set chklevel=%s where id=%s"quote_smart($new_level), quote_smart($_GET['chkid']));
      
mysql_query($sql) or error_report($sql,mysql_error());
      if(isset(
$runme)) {
        eval(
$runme "();");
      }
    }
  }
  print 
"<META HTTP-EQUIV=Refresh content='0; URL=packages.php";
  if(isset(
$_GET['pack_id'])) {
    print 
"?pack_id=" $_GET['pack_id'] . "&page=checks";
  }
  print 
"'>";

function 
cleanup_EmptyLevel() {
  global 
$_GET;
  
$sql=sprintf("select count(id) from pack_checks where chklevel=%s and pack_id=%s",quote_smart($_GET['chklevel']), quote_smart($_GET['pack_id']));
  
$sql_handle=mysql_query($sql) or error_report($sql,mysql_error());
  list(
$count)=mysql_fetch_array($sql_handle);
  if(isset(
$count)) {
    if(
$count<2) {
      
$sql=sprintf("select count(id) from pack_checks where prnlevel=%s and pack_id=%s"quote_smart($_GET['chklevel']), quote_smart($_GET['pack_id']));
      
$sql_handle=mysql_query($sql) or error_report($sql,mysql_error());
      list(
$count2)=mysql_fetch_array($sql_handle);
      if(empty(
$count2)) {
        
$sql=sprintf("delete from pack_checks where chklevel=%s and pack_id=%s"quote_smart($_GET['chklevel']), quote_smart($_GET['pack_id']));
        
mysql_query($sql) or error_report($sql,mysql_error());
        
$sql=sprintf("select count(id) from pack_checks where chklevel>%s and pack_id=%s"quote_smart($_GET['chklevel']), quote_smart($_GET['pack_id']));
        
$sql_handle=mysql_query($sql) or error_report($sql,mysql_error());
        list(
$count)=mysql_fetch_array($sql_handle);
        if(isset(
$count)) {
          
$sql=sprintf("update pack_checks set chklevel=chklevel-1 where chklevel>%s and pack_id=%s"quote_smart($_GET['chklevel']), quote_smart($_GET['pack_id']));
          
mysql_query($sql) or error_report($sql,mysql_error());
          
$sql=sprintf("update pack_checks set prnlevel=prnlevel-1 where prnlevel>=%s and pack_id=%s"quote_smart($_GET['chklevel']), quote_smart($_GET['pack_id']));
          
mysql_query($sql) or error_report($sql,mysql_error());
        }
      }
    }
  }
}

function 
del_level($level) {
  
$sql=sprintf("select chklevel from pack_checks where prnlevel=%s"quote_smart($level));
  
$sql_handle=mysql_query($sql) or error_report($sql,mysql_error());
  while(list(
$sublevel)=mysql_fetch_array($sql_handle)) {
    
del_level($sublevel);
  }
  
$sql=sprintf("delete from pack_checks where chklevel=%s"quote_smart($level));
  
mysql_query($sql) or error_report($sql,mysql_error());
}

?>

ViewVC Help
Powered by ViewVC 1.0.3