You are not logged in.
Pages: 1
While using the search options in OCS I noticed that the Printers parameter was not available. Is there a reason why I can't search by this value? Is there any way to make it an option?
-Abe
Offline
Cool, thanks for the advice; I'll take a look.
Offline
Here is What I Done to enable it... Simple multicriteres.php modification
its and Diff -u result so it can be use as a patch...
Stonedge
--- multicritere.php.old 2009-05-30 03:52:24.000000000 -0400
+++ multicritere.php 2009-10-15 15:09:41.236994379 -0400
@@ -186,6 +186,13 @@
$monitorTable = true;
}
+ //Mod By Vince
+ if( ($_POST["chm_".$i]=="printer") && ! $PrinterTable ) {
+ $fromPrelim.=" printers p,";
+ $PrinterTable = true;
+ }
+ // End of Vince Mod
+
if($_POST["chm_".$i]=="free") {
$fromPrelim.=" drives dr,";
}
@@ -435,6 +442,9 @@
case "smonitor": $reqCondition.="m.hardware_id=h.id AND m.serial";break;
case "fmonitor": $reqCondition.="m.hardware_id=h.id AND m.manufacturer";break;
case "lmonitor": $reqCondition.="m.hardware_id=h.id AND m.caption";break;
+ // MOD by Vince
+ case "printer": $reqCondition.="p.hardware_id=h.id AND p.name";break;
+ // End Of Vince Mod
case "sversion": $reqCondition.="s1.hardware_id=h.id AND s1.version";break;
default: $reqCondition.="a.".$_POST["chm_".$i]; break;
}
@@ -631,10 +641,17 @@
<form name='optionss' action='index.php?multi=1' method='post'><b><?php echo $l->g(31);?>: </b>
<select name=selOpt OnChange="optionss.submit();"><?php
-$optArray = array($l->g(34), $l->g(33), $l->g(557), $l->g(20), $l->g(26), $l->g(35),
+//Mod By Vince
+//$optArray = array($l->g(34), $l->g(33), $l->g(557), $l->g(20), $l->g(26), $l->g(35),
+//$l->g(36), $l->g(207), $l->g(25), $l->g(24), $l->g(377), $l->g(65), $l->g(284), $l->g(64), $l->g(554),
+//TAG_LBL, $l->g(357), $l->g(46),$l->g(257),$l->g(331),$l->g(209),$l->g(53),$l->g(45), $l->g(312), $l->g(286), $l->g(429), $l->g(512),$l->g(95),$l->g(555),$l->g(556));
+
+$optArray = array($l->g(34), $l->g(33), $l->g(557), $l->g(20), $l->g(26), $l->g(35), $l->g(79),
$l->g(36), $l->g(207), $l->g(25), $l->g(24), $l->g(377), $l->g(65), $l->g(284), $l->g(64), $l->g(554),
TAG_LBL, $l->g(357), $l->g(46),$l->g(257),$l->g(331),$l->g(209),$l->g(53),$l->g(45), $l->g(312), $l->g(286), $l->g(429), $l->g(512),$l->g(95),$l->g(555),$l->g(556));
+// End of Vince Mod
+
//If software is selected, then software version is available
if(is_array($_SESSION["OPT"]) && in_array($l->g(20),$_SESSION["OPT"]))
$optArray = array_merge( $optArray , array($l->g(19)) );
@@ -698,6 +715,11 @@
$ligne[] = array( $l->g(554),"smonitor","hardware","",2,1,"",false,true);
$ligne[] = array( $l->g(555),"fmonitor","hardware","",2,1,"",false,true);
$ligne[] = array( $l->g(556),"lmonitor","hardware","",2,1,"",false,true);
+
+ //add by Vince
+ $ligne[] = array( $l->g(79),"printer","hardware","",2,1,"",false,true);
+ // end of Vince Mod
+
$ligne[] = array( $l->g(209),"bversion","bios","",2,1,"",false,true);
$ligne[] = array( TAG_LBL,"cu","accountinfo","",2,1);Last edited by Stonedge (2009-10-15 20:25:48)
Offline
How do you run it or incorporate it?
Offline
Assuming that your using ocs 1.02.1 (normally would work with 1.02)
First of all make a backup copy your existing multicritere.php (eg:multicritere.php.old)
Linux: copy the diff -u that I've post previously in a file (eg: multicritere.php.patch) and put it in your ocsreports folder
and in the terminal run: patch multicritere.php < multicritere.php.patch
Windows: you can get the patch function from gnuwin32.sourceforge.net/packages/patch.htm
But since using a patch under windows is a bit tricky... here is the complete modified multicritere.php file:
<?php
//====================================================================================
// OCS INVENTORY REPORTS
// Copyleft Pierre LEMMET 2005
// Web: http://ocsinventory.sourceforge.net
//
// This code is open source and may be copied and modified as long as the source
// code is always made freely available.
// Please refer to the General Public Licence http://www.gnu.org/ or Licence.txt
//====================================================================================
//Modified on $Date: 2008-02-27 12:34:12 $$Author: hunal $($Revision: 1.17 $)
require_once('require/function_server.php');
//cas of add new server's diff
if (isset($_POST['action_server']) and $_POST['action_server'] != '0')
{
$i=1;
foreach ($_POST as $key=>$value){
if (substr($key, 0, 9) == "checkmass"){
$mach[$i]=$value;
$i++;
}
}
if ($mach == "")
{
$sql="select h.id ".$_SESSION['groupReq'];
$res = mysql_query( $sql, $_SESSION["readServer"]);
while( $valallid = mysql_fetch_array( $res ) ){
$mach[$i] = $valallid['id'];
$i++;
}
}
if ($_POST['name_server_new'] != "")
$name=$_POST['name_server_new'];
elseif ($_POST['name_server_add'] != "")
$name=$_POST['name_server_add'];
elseif ($_POST['name_server_replace'] != "")
$name=$_POST['name_server_replace'];
$msg=admin_serveur($_POST['action_server'],$name,$_POST['descr_server'],$mach) ;
echo "<script>alert('".$msg."');</script>";
}
if( isset( $_GET["nme"] ) && isset( $_GET["stat"] ) ) {
$_POST["act_0"] = "on";
$_POST["chm_0"] = "tele";
$_POST["lbl_0"] = $l->g(512);
$_POST["ega_0"] = "ayant";
$_POST["val_0"] = urldecode( $_GET["nme"] );
$_POST["val2_0"] = urldecode( $_GET["stat"] );
$_POST["sub"] = $l->g(30);
$_POST["max"] = 1;
if( $_POST["val2_0"] == $l->g(482) ) {
$_POST["val2_0"] = "stats";
}
$_SESSION["OPT"][] = $l->g(512);
}
if($_POST["sub"]==$l->g(30)) {
unset($_SESSION["selectSofts"]);
unset($_SESSION["selectRegistry"]);
unset($_SESSION["storedRequest"], $_SESSION["c"],$_SESSION["reqs"],$_SESSION["softs"]);
}
printEnTete($l->g(9));
$req = NULL;
if( !isset($_SESSION["optCol"]) ) {
$reqCol = "SHOW COLUMNS FROM accountinfo";
$resCol = mysql_query($reqCol, $_SESSION["readServer"]) or die(mysql_error($_SESSION["readServer"]));
while($colname=mysql_fetch_array($resCol)) {
if( strcasecmp($colname["Field"], TAG_NAME) != 0 )
$_SESSION["optCol"][] = $colname["Field"] ;
}
}
require("req.class.php");
$indLigne=0;
$softPresent = false;
$cuPresent = -1;
$leSelect = array_merge( array("h.id"=>"h.id", "deviceid"=>"deviceid"), $_SESSION["currentFieldList"] );
if( is_array($_SESSION["selectSofts"]) && $_POST["sub"]!=$l->g(30))
$leSelect = array_merge( $leSelect, $_SESSION["selectSofts"] );
if( is_array($_SESSION["selectRegistry"]) )
$leSelect = array_merge( $leSelect, $_SESSION["selectRegistry"] );
$selFinal ="";
if($_POST["reset"]==$l->g(41))
{
unset($_SESSION["OPT"]);
unset($_SESSION["reqs"]);
unset($_SESSION["softs"]);
}
else if($_POST["selOpt"])
{
$_POST["selOpt"] = urldecode( $_POST["selOpt"] );
if( $_POST["selOpt"]==$l->g(20) || ((! is_array($_SESSION["OPT"])) || ( !in_array($_POST["selOpt"],$_SESSION["OPT"])))) {
$_SESSION["OPT"][]=stripslashes($_POST["selOpt"]);
}
}
else if($_POST["sub"]==$l->g(30))
{
/* Creates a description of the generated query in $_SESSION["queryDescription"]
$totSofts = 0;
$totRegs = 0;
$logName = "";
$firstLog = true;
for($cpLog=0;$cpLog<$_POST["max"];$cpLog++) {
if( $_POST["val_".$cpLog] != "" && $_POST["act_".$cpLog] == "on" ) {
if( ! $firstLog )
$logName .= " &\n";
$logName .= addslashes( $_POST["chm_".$cpLog]." ".$_POST["ega_".$cpLog]." ".$_POST["val_".$cpLog] );
if( $_POST["ega_".$cpLog] == $l->g(203) )
$logName .= $l->g(582).$_POST["val2_".$cpLog];
$firstLog = false;
}
}
$_SESSION["queryDescription"] = $logName ;
*/
$i=0; $nb=0;
$laRequete="";
for($i=0;$i<$_POST["max"];$i++) {
if( urldecode($_POST["lbl_".$i]) == $l->g(20))
$_SESSION["softs"][] = array( $_POST["act_".$i], urldecode($_POST["chm_".$i]), $_POST["ega_".$i],
strtr($_POST["val_".$i],"\"","'"), strtr($_POST["val2_".$i],"\"","'"), $_POST["valreg_".$i] );
$_SESSION["reqs"][ urldecode($_POST["lbl_".$i]) ] = array( $_POST["act_".$i], urldecode($_POST["chm_".$i]), $_POST["ega_".$i],
strtr($_POST["val_".$i],"\"","'"), strtr($_POST["val2_".$i],"\"","'"), $_POST["valreg_".$i] );
if(!isset($_POST["act_".$i]))
continue;
$nb++;
}
$from = " hardware h LEFT JOIN accountinfo a ON a.hardware_id=h.id LEFT JOIN bios b ON b.hardware_id=h.id,";
//$laRequete.=" FROM hardware h,accountinfo a, bios b, ";
$softTable = false ;
$logIndex = 1;
$fromPrelim ="";
for($i=0;$i<$_POST["max"];$i++)
{
if(!isset($_POST["act_".$i]))
continue;
//jokers
if( $_POST["ega_".$i] != $l->g(410) )
$_POST["val_".$i] = strtr($_POST["val_".$i], "?*", "_%");
if( isFieldDate($_POST["chm_".$i]) ) {
$_POST["val_".$i] = dateToMysql($_POST["val_".$i]);
}
if( ($_POST["chm_".$i]=="name") && ($_POST["ega_".$i]==$l->g(129) || $_POST["ega_".$i]==$l->g(410))) {
$leSelect["s".$logIndex.".name"] = $l->g(20)." $logIndex";
$_SESSION["selectSofts"]["s".$logIndex.".name"] = $l->g(20)." $logIndex";
}
if( ($_POST["chm_".$i]=="regval" || $_POST["chm_".$i]=="regname")&&
($_POST["ega_".$i]==$l->g(129) || $_POST["ega_".$i]==$l->g(410))) {
$leSelect["r.regvalue"] = $_POST["val_".$i];
$from = substr ( $from, 0 , strlen( $from)-1 );
$from .= " LEFT JOIN registry r ON r.hardware_id=h.id AND r.name='".$_POST["val_".$i]."',";
$_SESSION["selectRegistry"]["r.regvalue"] = $_POST["val_".$i];
}
$regRes = null;
if( ($_POST["ega_".$i]==$l->g(129)||$_POST["ega_".$i]==$l->g(410)) && $_POST["chm_".$i]=="name" ) {
//$fromPrelim.=" softwares s".$logIndex.",";
$from .= " softwares s".$logIndex.",";
$logIndex++;
}
if( ($_POST["chm_".$i]=="smonitor" || $_POST["chm_".$i]=="fmonitor" || $_POST["chm_".$i]=="lmonitor") && ! $monitorTable ) {
$fromPrelim.=" monitors m,";
$monitorTable = true;
}
//Mod By Vince
if( ($_POST["chm_".$i]=="printer") && ! $PrinterTable ) {
$fromPrelim.=" printers p,";
$PrinterTable = true;
}
// End of Vince Mod
if($_POST["chm_".$i]=="free") {
$fromPrelim.=" drives dr,";
}
if(($_POST["chm_".$i]=="ipmask"||$_POST["chm_".$i]=="ipgateway"||$_POST["chm_".$i]=="ipaddr"||$_POST["chm_".$i]=="ipsubnet"||$_POST["chm_".$i]=="macaddr") && !$netTable) {
$fromPrelim.=" networks n,";
$netTable=true;
}
}
if($fromPrelim[strlen($fromPrelim)-1]==",")
$fromPrelim[strlen($fromPrelim)-1]=" ";
if($from[strlen($from)-1]==",")
$from[strlen($from)-1]=" ";
$groupReqBegin = "FROM ".$from;
if( $fromPrelim != "" )
$groupReqBegin .= ",".$fromPrelim;
$groupReqBegin .= " WHERE ";
for($i=0;$i<$_POST["max"];$i++)
{
if(!isset($_POST["act_".$i]))
continue;
if( $_POST["act_".$i]="checked" && $_POST["chm_".$i] == "ipdisc" ) {
if( ! empty($laRequete) ) $laRequete .= " AND ";
if( ! empty($groupReq) ) $groupReq .= " AND ";
$laRequete.= " h.id ";
$groupReq.= " h.id ";
switch( $_POST["val_".$i] ) {
case "elu":
$groupReq.= "IN (SELECT hardware_id FROM devices WHERE ivalue=1 AND name='IPDISCOVER') ";
$laRequete.= "IN ";
$reqIdIpd = "SELECT DISTINCT hardware_id FROM devices WHERE ivalue=1 AND name='IPDISCOVER'";
break;
case "for":
$groupReq.= "IN (SELECT hardware_id FROM devices WHERE ivalue=2 AND name='IPDISCOVER') ";
$laRequete.= "IN ";
$reqIdIpd = "SELECT DISTINCT hardware_id FROM devices WHERE ivalue=2 AND name='IPDISCOVER'";
break;
case "nelu":
$groupReq.= "NOT IN (SELECT hardware_id FROM devices WHERE ivalue=1 AND name='IPDISCOVER') ";
$laRequete.= "NOT IN ";
$reqIdIpd = "SELECT DISTINCT hardware_id FROM devices WHERE ivalue=1 AND name='IPDISCOVER'";
break;
case "eli":
$groupReq.= "NOT IN (SELECT hardware_id FROM devices WHERE ivalue=0 AND name='IPDISCOVER') ";
$laRequete.= "NOT IN ";
$reqIdIpd = "SELECT DISTINCT hardware_id FROM devices WHERE ivalue=0 AND name='IPDISCOVER'";
break;
case "neli":
$groupReq.= "IN (SELECT hardware_id FROM devices WHERE ivalue=0 AND name='IPDISCOVER') ";
$laRequete.= "IN ";
$reqIdIpd = "SELECT DISTINCT hardware_id FROM devices WHERE ivalue=0 AND name='IPDISCOVER'";
break;
}
$laRequete .= "('".getGluedIds($reqIdIpd)."')";
continue;
}
if( $_POST["act_".$i]="checked" && $_POST["chm_".$i] == "freq" ) {
if( ! empty($laRequete) ) $laRequete .= " AND ";
if( ! empty($groupReq) ) $groupReq .= " AND ";
$laRequete.= " h.id ";
$groupReq .= " h.id ";
switch( $_POST["val_".$i] ) {
case "std":
$groupReq.= "NOT IN (SELECT hardware_id FROM devices WHERE name='FREQUENCY') ";
$laRequete.= "NOT IN ";
$reqIdFre = " (SELECT DISTINCT hardware_id FROM devices WHERE name='FREQUENCY') ";
break;
case "always":
$groupReq.= "IN (SELECT hardware_id FROM devices WHERE name='FREQUENCY' AND ivalue=0) ";
$laRequete.= "IN ";
$reqIdFre = " (SELECT DISTINCT hardware_id FROM devices WHERE name='FREQUENCY' AND ivalue=0) ";
break;
case "never":
$groupReq.= "IN (SELECT hardware_id FROM devices WHERE name='FREQUENCY' AND ivalue=-1) ";
$laRequete.= "IN ";
$reqIdFre = " (SELECT DISTINCT hardware_id FROM devices WHERE name='FREQUENCY' AND ivalue=-1) ";
break;
case "custom":
$groupReq.= "IN (SELECT hardware_id FROM devices WHERE name='FREQUENCY' AND ivalue>0) ";
$laRequete.= "IN ";
$reqIdFre = " (SELECT DISTINCT hardware_id FROM devices WHERE name='FREQUENCY' AND ivalue>0) ";
break;
}
$laRequete .= "('".getGluedIds($reqIdFre)."')";
continue;
}
if( $_POST["act_".$i]="checked" && $_POST["chm_".$i] == "tele" ) {
if( ! empty($laRequete) ) $laRequete .= " AND ";
if( ! empty($groupReq) ) $groupReq .= " AND ";
$laRequete.= " h.id ";
$groupReq .= " h.id ";
if( $_POST["ega_".$i] == "ayant" ) {
$laRequete.= " IN ";
$groupReq .= " IN ";
}
else if( $_POST["ega_".$i] == "nayant" ) {
$laRequete.= " NOT IN ";
$groupReq .= " NOT IN ";
}
$reqIdDownload = "";
switch( $_POST["val2_".$i] ) {
case "suc":
$groupReq.= "(SELECT d.hardware_id FROM devices d, download_available a, download_enable e
WHERE d.name='DOWNLOAD' AND a.name='".$_POST["val_".$i].
"' AND d.tvalue like 'SUCCESS%' AND e.fileid=a.fileid AND e.id=d.ivalue UNION
SELECT dh.hardware_id FROM download_history dh, download_available da WHERE dh.pkg_id=da.fileid AND da.name='".$_POST["val_".$i].
"')";
$reqIdDownload = "SELECT DISTINCT d.hardware_id FROM devices d, download_available a, download_enable e
WHERE d.name='DOWNLOAD' AND a.name='".$_POST["val_".$i].
"' AND d.tvalue like 'SUCCESS%' AND e.fileid=a.fileid AND e.id=d.ivalue UNION
SELECT dh.hardware_id FROM download_history dh, download_available da WHERE dh.pkg_id=da.fileid AND da.name='".$_POST["val_".$i].
"'";
break;
case "nsuc":
$groupReq.= "(SELECT d.hardware_id FROM devices d, download_available a, download_enable e
WHERE d.name='DOWNLOAD' AND a.name='".$_POST["val_".$i].
"' AND (d.tvalue not like 'SUCCESS%' OR d.tvalue IS NULL) AND e.fileid=a.fileid AND e.id=d.ivalue) ";
$reqIdDownload = "SELECT DISTINCT d.hardware_id FROM devices d, download_available a, download_enable e
WHERE d.name='DOWNLOAD' AND a.name='".$_POST["val_".$i].
"' AND (d.tvalue not like 'SUCCESS%' OR d.tvalue IS NULL) AND e.fileid=a.fileid AND e.id=d.ivalue";
break;
case "ind":
$groupReq.= "(SELECT d.hardware_id FROM devices d, download_available a, download_enable e
WHERE d.name='DOWNLOAD' AND a.name='".$_POST["val_".$i].
"' AND e.fileid=a.fileid AND e.id=d.ivalue UNION SELECT dh.hardware_id FROM download_history dh, download_available da WHERE dh.pkg_id=da.fileid AND da.name='".$_POST["val_".$i].
"')";
$reqIdDownload = "SELECT DISTINCT d.hardware_id FROM devices d, download_available a, download_enable e
WHERE d.name='DOWNLOAD' AND a.name='".$_POST["val_".$i].
"' AND e.fileid=a.fileid AND e.id=d.ivalue UNION SELECT dh.hardware_id FROM download_history dh, download_available da WHERE dh.pkg_id=da.fileid AND da.name='".$_POST["val_".$i].
"'";
break;
case "stats":
$groupReq.= "(SELECT d.hardware_id FROM devices d, download_available a, download_enable e
WHERE d.name='DOWNLOAD' AND a.name='".$_POST["val_".$i].
"' AND e.fileid=a.fileid AND e.id=d.ivalue AND d.tvalue IS NULL ) ";
$reqIdDownload = "SELECT DISTINCT d.hardware_id FROM devices d, download_available a, download_enable e
WHERE d.name='DOWNLOAD' AND a.name='".$_POST["val_".$i].
"' AND e.fileid=a.fileid AND e.id=d.ivalue AND d.tvalue IS NULL";
break;
default: //standard case
$groupReq.= "(SELECT d.hardware_id FROM devices d, download_available a, download_enable e
WHERE d.name='DOWNLOAD' AND a.name='".$_POST["val_".$i].
"' AND d.tvalue='".$_POST["val2_".$i]."' AND e.fileid=a.fileid AND e.id=d.ivalue) ";
$reqIdDownload = "SELECT DISTINCT d.hardware_id FROM devices d, download_available a, download_enable e
WHERE d.name='DOWNLOAD' AND a.name='".$_POST["val_".$i].
"' AND d.tvalue='".$_POST["val2_".$i]."' AND e.fileid=a.fileid AND e.id=d.ivalue";
break;
}
$laRequete .= "('".getGluedIds($reqIdDownload)."')";
continue;
}
if( $_POST["act_".$i]="checked" && ! ( ($cuPresent != -1 ) && $_POST["chm_".$i] == "cu") )
{
// cas particulier avec LOGICIEL
if( ($_POST["chm_".$i] == "name" ) ) {
if( $_POST["ega_".$i] == $l->g(129)||$_POST["ega_".$i]==$l->g(410) )
$softsEg[] = Array( $_POST["val_".$i], urldecode($_POST["lbl_".$i]), $_POST["ega_".$i] );
else
$softsDi[] = Array( $_POST["val_".$i], urldecode($_POST["lbl_".$i]), "" );
continue ;
}
// cas particulier avec registry DIFFERENT DE
if( $_POST["chm_".$i] == "regname" && $_POST["ega_".$i] == $l->g(130) ) {
$regDiff=Array($_POST["val_".$i],$_POST["valreg_".$i]);
continue ;
}
$forceEgal=false;
if($_POST["chm_".$i]=="regname") {
if( ! empty($laRequete) ) $laRequete .= " AND ";
if( ! empty($groupReq) ) $groupReq .= " AND ";
$laRequete.= "r.hardware_id=h.id ";
$groupReq .= "r.hardware_id=h.id ";
}
$tblIneq = "h";
$reqCondition = "";
switch($_POST["chm_".$i])
{
case "ssn": $reqCondition.="b.ssn";break;
case "bmanufacturer": $reqCondition.="b.bmanufacturer";break;
case "bversion": $reqCondition.="b.bversion";break;
case "smanufacturer": $reqCondition.="b.smanufacturer";break;
case "smodel": $reqCondition.="b.smodel";break;
case "ipmask": $reqCondition.="n.hardware_id=h.id AND n.ipmask";break;
case "ipgateway": $reqCondition.="n.hardware_id=h.id AND n.ipgateway";break;
case "free": $reqCondition.="dr.hardware_id=h.id AND dr.free";$tblIneq="dr";break;
case "ipsubnet": $reqCondition.="n.hardware_id=h.id AND n.ipsubnet";break;
case "regname":
if( $_POST["valreg_".$i] != $l->g(265) ) {
if( $_POST["ega_".$i] != $l->g(410) )
$_POST["valreg_".$i] = strtr($_POST["valreg_".$i], "?*", "_%");
if( $_SESSION["usecache"] == true && $_POST["ega_".$i] == $l->g(129) ) {
$glued = getCache( "registry", "regvalue", $_POST["valreg_".$i], $totRegs );
$reqCondition.="r.regvalue IN('".$glued."') AND ";
}
else {
$comp = $_POST["ega_".$i] == $l->g(129) ? " like '%" : " = '";
$compFin = $_POST["ega_".$i] == $l->g(129) ? "%' " : "' ";
$reqCondition.="r.regvalue$comp".$_POST["valreg_".$i]."{$compFin}AND ";
}
}
$reqCondition.="r.name";
$forceEgal=true;
break;
case "name":
$reqCondition.="s.hardware_id=h.id AND s.name";
$softPresent = true;
if( $_POST["ega_".$i] == $l->g(129)||$_POST["ega_".$i]==$l->g(410) )
$unSoftnEgal = true ;
break;
case "ORDEROWNER": $reqCondition.="a.orderowner";break;
case "ORDERID": $reqCondition.="a.orderid";break;
case "PRODUCTID": $reqCondition.="a.productid";break;
case "BILLDATE": $reqCondition.="a.billnbr";break;
case "cu": $reqCondition.="a.".TAG_NAME;break;
case "processors": $reqCondition.="h.processors";break;
case "memory": $reqCondition.="h.memory";break;
case "osname": $reqCondition.="h.osname";$forceEgal=false;break;
case "oscomments": $reqCondition.="h.oscomments";$forceEgal=false;break;
case "userid": $reqCondition.="h.userid";break;
case "ipaddr": $reqCondition.="n.hardware_id=h.id AND n.ipaddress";break;
case "macaddr": $reqCondition.="n.hardware_id=h.id AND n.macaddr";break;
case "useragent": $reqCondition.="h.useragent";$forceEgal=true;break;
case "workgroup": $reqCondition.="h.workgroup";$forceEgal=true;break;
case "userdomain": $reqCondition.="h.userdomain";$forceEgal=true;break;
case "hname": $reqCondition.="h.name";break;
case "description": $reqCondition.="h.description";break;
case "lastdate": $reqCondition.="h.lastdate";break;
case "smonitor": $reqCondition.="m.hardware_id=h.id AND m.serial";break;
case "fmonitor": $reqCondition.="m.hardware_id=h.id AND m.manufacturer";break;
case "lmonitor": $reqCondition.="m.hardware_id=h.id AND m.caption";break;
// MOD by Vince
case "printer": $reqCondition.="p.hardware_id=h.id AND p.name";break;
// End Of Vince Mod
case "sversion": $reqCondition.="s1.hardware_id=h.id AND s1.version";break;
default: $reqCondition.="a.".$_POST["chm_".$i]; break;
}
if( $_POST["val_".$i] == "" ) {
switch($_POST["ega_".$i]) {
case $l->g(410):
case $l->g(129): $reqCondition.=" IS NULL "; break;
case $l->g(130):
case $l->g(346):
case $l->g(201):
case $l->g(347):
case $l->g(202):
case $l->g(203):
default: $reqCondition .=" IS NOT NULL "; break;
}
}
else {
if( ! $forceEgal ) {
switch($_POST["ega_".$i]) {
case $l->g(410): $reqCondition.=" = ";$forceEgal=true; break;
case $l->g(129): $reqCondition.=" LIKE ";$forceLike=true; break;
case $l->g(130): $reqCondition.=" NOT LIKE ";$forceLike=true; break;
case $l->g(346):
case $l->g(201): $reqCondition.="<"; $forceEgal=true; break;
case $l->g(347):
case $l->g(202): $reqCondition.=">"; $forceEgal=true; break;
case $l->g(203): $reqCondition.="<'".$_POST["val2_".$i]."' AND $tblIneq.".$_POST["chm_".$i].">"; $forceEgal=true; break;
//case $l->g(204): $reqCondition.=">'".$_POST["val2_".$i]."' OR h.".$_POST["chm_".$i]."<";break;
default: $reqCondition.=" LIKE "; $forceLike=true;break;
}
}
else {
switch($_POST["ega_".$i]) {
case $l->g(410):
case $l->g(129): $reqCondition.=" = ";break;
case $l->g(130):
case $l->g(346):
case $l->g(201):
case $l->g(347):
case $l->g(202):
case $l->g(203):
default: $reqCondition.=" <> ";break;
}
}
if( $forceEgal || !$forceLike )
$reqCondition.="'".$_POST["val_".$i]."'";
else
$reqCondition.="'%".$_POST["val_".$i]."%'";
}
if( ! empty($laRequete) ) $laRequete .= " AND ";
if( ! empty($groupReq) ) $groupReq .= " AND ";
$laRequete .= $reqCondition;
$groupReq .= $reqCondition;
}
}
if( $nb > 0 ) {
$laRequeteF=$laRequete;
$logIndexEg = 1;
for($ii=0;$ii<sizeof($softsEg);$ii++) {
$selFinal .= " AND ";
if( ! empty($laRequeteF) ) $laRequeteF .= " AND ";
if( ! empty($groupReq) ) $groupReq .= " AND ";
$comp = $softsEg[$ii][2] == $l->g(129) ? " like '%" : " = '";
$compFin = $softsEg[$ii][2] == $l->g(129) ? "%' " : "' ";
$groupReq .= " s$logIndexEg.hardware_id=h.id AND s$logIndexEg.name$comp".$softsEg[$ii][0]."$compFin";
// If cache is used AND 'like' search is used
if( $_SESSION["usecache"] == true && $softsEg[$ii][2]==$l->g(129) ) {
$gluedSofts = getCache( "softwares", "name", $softsEg[$ii][0], $totSofts );
if ($gluedSofts != ''){
$laRequeteF .= " s$logIndexEg.hardware_id=h.id AND s$logIndexEg.name IN('$gluedSofts')";
$selFinal .= " s$logIndexEg.hardware_id=h.id AND s$logIndexEg.name IN('$gluedSofts')";
}
else{
$laRequeteF .= " s$logIndexEg.hardware_id=h.id AND s$logIndexEg.name IN('SOFT NOT EXIST')";
$selFinal .= " s$logIndexEg.hardware_id=h.id AND s$logIndexEg.name IN('SOFT NOT EXIST')";
}
}
else {
$laRequeteF .= " s$logIndexEg.hardware_id=h.id AND s$logIndexEg.name$comp".$softsEg[$ii][0]."$compFin";
$selFinal .= " s$logIndexEg.hardware_id=h.id AND s$logIndexEg.name$comp".$softsEg[$ii][0]."$compFin";
}
$logIndexEg++;
}
if( $_SESSION["usecache"] == true ) {
for($ii=0;$ii<sizeof($softsDi);$ii++) {
$gluedSofts = "";
$softsDi[$ii][0] = strtr($softsDi[$ii][0], "?*", "_%");
$gluedSofts = getCache( "softwares", "name", $softsDi[$ii][0], $totSofts );
if( $gluedSofts != "" ) {
$reqSid = "SELECT DISTINCT hardware_id FROM softwares WHERE name IN('$gluedSofts')";
$resSid = mysql_query( $reqSid, $_SESSION["readServer"] );
while( $valSid = mysql_fetch_array($resSid) ) {
$idNotIn[] = $valSid["hardware_id"];
}
}
}
}
else {
for($ii=0;$ii<sizeof($softsDi);$ii++) {
if( ! empty($laRequeteF) ) $laRequeteF .= " AND ";
$laRequeteF .= " h.id NOT IN(SELECT DISTINCT(ss.hardware_id) FROM softwares ss WHERE ss.name like '%".$softsDi[$ii][0]."%')";
}
}
for($ii=0;$ii<sizeof($softsDi);$ii++) {
if( ! empty($groupReq) ) $groupReq .=" AND";
$groupReq .= " h.id NOT IN(SELECT DISTINCT(ss.hardware_id) FROM softwares ss WHERE ss.name like '%".$softsDi[$ii][0]."%')";
}
if( $_SESSION["usecache"] == true ) {
if(sizeof($regDiff)>=1) {
$regDiff[1] = strtr($regDiff[1], "?*", "_%");
$gluedRegs = getCache( "registry", "regvalue", $regDiff[1], $totRegs );
$reqSid = "SELECT DISTINCT hardware_id FROM registry WHERE name='".$regDiff[0]."' AND regvalue IN('".$gluedRegs."')";
$resSid = mysql_query( $reqSid, $_SESSION["readServer"] );
while( $valSid = mysql_fetch_array($resSid) ) {
$idNotIn[] = $valSid["hardware_id"];
}
}
}
else {
if(sizeof($regDiff)>=1) {
$valRegR = "AND rr.regvalue = '".$regDiff[1]."'";
if( ! empty($laRequeteF) ) $laRequeteF .= " AND";
$laRequeteF .= " h.id NOT IN(SELECT DISTINCT(rr.hardware_id) FROM registry rr WHERE rr.name = '".$regDiff[0]."' $valRegR)";
}
}
if(sizeof($regDiff)>=1) {
$valRegR = " AND rr.regvalue like '%".$regDiff[1]."%'";
if( ! empty($groupReq) ) $groupReq .= " AND";
$groupReq .= " h.id NOT IN(SELECT DISTINCT(rr.hardware_id) FROM registry rr WHERE rr.name = '".$regDiff[0]."' $valRegR)";
}
//modif apportées pour résoudre bug des recherches qui renvoient toutes les machines
if( ! empty($laRequeteF))
$and=" AND ";
if( (! empty($laRequeteF) || ! empty($reqSid)) && ! empty($mesMachines) ) {
$laRequeteF .= $and.$mesMachines;
}
//fin des modifs
if( sizeof( $idNotIn ) > 0 ) {
if( ! empty($laRequeteF) ) $laRequeteF .=" AND";
$idNotIn = @array_unique( $idNotIn );
$gluedId = @implode( "','", $idNotIn );
$laRequeteF .= " h.id NOT IN('".$gluedId."')";
}
if( ! empty($laRequeteF) ) $laRequeteF .= " AND ";
$laRequeteF .= " deviceid<>'_SYSTEMGROUP_' AND deviceid <> '_DOWNLOADGROUP_' ";
if( ! empty($groupReq) ) $groupReq .= " AND ";
$groupReq .= " deviceid<>'_SYSTEMGROUP_' AND deviceid <> '_DOWNLOADGROUP_' ";
$group = " h.id";
$lbl="Recherche multicritères";
$lblChmp[0]=NULL;
$selectPrelim = array("h.id"=>"h.id");
$linkId = "h.id";
$whereId = "h.id";
$countId = "h.id";
$_SESSION["groupReq"] = $groupReqBegin." " .$groupReq;
$req=new Req($lbl,$whereId,$linkId,$laRequeteF,$leSelect,$selectPrelim,$from,$fromPrelim,$group,"h.lastdate DESC",$countId,null,true,null,null,null,null,$selFinal);
}
}
else if($_GET["redo"] || $_GET["c"] || $_GET["av"] || $_GET["page"] || isset($_GET["pcparpage"]) || isset($_GET["newcol"]) )
{
$lblChmp[0]=NULL;
$req=new Req($_SESSION["storedRequest"]->label,$_SESSION["storedRequest"]->whereId,$_SESSION["storedRequest"]->linkId,$_SESSION["storedRequest"]->where,$leSelect,$_SESSION["storedRequest"]->selectPrelim,
$_SESSION["storedRequest"]->from,$_SESSION["storedRequest"]->fromPrelim,$_SESSION["storedRequest"]->group,$_SESSION["storedRequest"]->order,$_SESSION["storedRequest"]->countId,null,true,null,null,null,null,$_SESSION["storedRequest"]->selFinal); // Instanciation du nouvel objet de type "Req"
//echo $requeteCount[0];
}
if($_SESSION["debug"])
echo "<br><font color='brown'><b>".$groupReqBegin." " .$groupReq."</b></font><br><br>";
if( $totSofts > MAX_CACHED_SOFTS || $totRegs > MAX_CACHED_REGISTRY )
echo "<br><center><font color='red'><b>Trop de résultats. Merci d'être plus spécifique.</b></font></center>";
else if( $req != NULL ) {
ShowResults($req,true,false,false,true,false,false,false,true,true);
}
?>
<br>
<table border=0 width=80% align=center><tr align=right><td width=50%>
<form name='optionss' action='index.php?multi=1' method='post'><b><?php echo $l->g(31);?>: </b>
<select name=selOpt OnChange="optionss.submit();"><?php
//Mod By Vince
//$optArray = array($l->g(34), $l->g(33), $l->g(557), $l->g(20), $l->g(26), $l->g(35),
//$l->g(36), $l->g(207), $l->g(25), $l->g(24), $l->g(377), $l->g(65), $l->g(284), $l->g(64), $l->g(554),
//TAG_LBL, $l->g(357), $l->g(46),$l->g(257),$l->g(331),$l->g(209),$l->g(53),$l->g(45), $l->g(312), $l->g(286), $l->g(429), $l->g(512),$l->g(95),$l->g(555),$l->g(556));
$optArray = array($l->g(34), $l->g(33), $l->g(557), $l->g(20), $l->g(26), $l->g(35), $l->g(79),
$l->g(36), $l->g(207), $l->g(25), $l->g(24), $l->g(377), $l->g(65), $l->g(284), $l->g(64), $l->g(554),
TAG_LBL, $l->g(357), $l->g(46),$l->g(257),$l->g(331),$l->g(209),$l->g(53),$l->g(45), $l->g(312), $l->g(286), $l->g(429), $l->g(512),$l->g(95),$l->g(555),$l->g(556));
// End of Vince Mod
//If software is selected, then software version is available
if(is_array($_SESSION["OPT"]) && in_array($l->g(20),$_SESSION["OPT"]))
$optArray = array_merge( $optArray , array($l->g(19)) );
$optArray = array_merge( $optArray, $_SESSION["optCol"]);
sort($optArray);
$countHl++;
echo "<option".($countHl%2==1?" class='hi'":"").">".$l->g(32)."</option>"; $countHl++;
foreach( $optArray as $val) {
if( (!is_array($_SESSION["OPT"]) || !in_array($val,$_SESSION["OPT"])) && $val!="DEVICEID"&& $val!="HARDWARE_ID" || $val==$l->g(20)) {
$countHl++;
echo "<option".($countHl%2==1?" class='hi'":"").">$val</option>";
}
}
?>
</select>
</form></td><td align=left>
<form method=post name=res action=index.php?multi=1><input taborder=2 type=submit name=reset value=<?php echo $l->g(41);?>></form></td>
</td></tr></table>
<?php
$softVersion = false;
if( @in_array($l->g(19),$_SESSION["OPT"]))
$softVersion = true;
if($_SESSION["OPT"]!=0)
{
echo "<form name=machine action=index.php?multi=1 method=post><table border=1 class= 'Fenetre' WIDTH = '75%' ALIGN = 'Center' CELLPADDING='5'>";
$ligne[] = array( $l->g(34),"ipaddr","hardware","",2,5,"",false,true);
$ligne[] = array( $l->g(33),"workgroup","hardware","SELECT DISTINCT workgroup FROM hardware",1,1,"",false,true);
$ligne[] = array( $l->g(557),"userdomain","hardware","SELECT DISTINCT userdomain FROM hardware",1,1,"",false,true);
foreach( $_SESSION["OPT"] as $op )
if( $op == $l->g(20) ) {
$ligne[] = array( $l->g(20),"name","softwares","",2,7,"",false,true,!$softVersion);
if( $softVersion )
break;
}
$ligne[] = array( $l->g(19),"sversion","softwares","",2,1,"",false,true);
$ligne[] = array( $l->g(26),"memory","hardware","",2,3,"MO",false,false);
$ligne[] = array( $l->g(35),"hname","hardware","",2,1,"",false,true);
$ligne[] = array( $l->g(53),"description","hardware","",2,1,"",false,true);
$ligne[] = array( $l->g(46),"lastdate","hardware","",2,2,"",true);
$ligne[] = array( $l->g(357),"useragent","hardware","SELECT DISTINCT useragent FROM hardware",1,1,"",false,false);
$ligne[] = array( $l->g(36),"ssn","bios","",2,1,"",false,true);
$ligne[] = array( $l->g(64),"smanufacturer","bios","",2,1,"",false,true);
$ligne[] = array( $l->g(65),"smodel","bios","",2,1,"",false,true);
$ligne[] = array( $l->g(284),"bmanufacturer","bios","",2,1,"",false,true);
$ligne[] = array( $l->g(207),"ipgateway","networks","",2,5,"",false,true);
$ligne[] = array( $l->g(331),"ipsubnet","networks","",2,5,"",false,true);
$ligne[] = array( $l->g(95),"macaddr","networks","",2,5,"",false,true);
$ligne[] = array( $l->g(25),"osname","hardware","SELECT DISTINCT osname FROM ".($_SESSION["usecache"] == true?"hardware_osname_cache":"hardware"),1,1,"",false,false);
$ligne[] = array( $l->g(286),"oscomments","hardware","SELECT DISTINCT oscomments FROM hardware",2,1,"",false,true);
$ligne[] = array( $l->g(24),"userid","hardware","",2,1,"",false,true);
$ligne[] = array( $l->g(377),"processors","hardware","",2,3,"MHZ",false,false);
$ligne[] = array( $l->g(45),"free","drives","",2,3,"MB",false,false);
$ligne[] = array( $l->g(257),"regname","hardware","SELECT DISTINCT name FROM ".($_SESSION["usecache"] == true?"registry_name_cache":"registry"),1,6,"",false,true);
$ligne[] = array( $l->g(554),"smonitor","hardware","",2,1,"",false,true);
$ligne[] = array( $l->g(555),"fmonitor","hardware","",2,1,"",false,true);
$ligne[] = array( $l->g(556),"lmonitor","hardware","",2,1,"",false,true);
//add by Vince
$ligne[] = array( $l->g(79),"printer","hardware","",2,1,"",false,true);
// end of Vince Mod
$ligne[] = array( $l->g(209),"bversion","bios","",2,1,"",false,true);
$ligne[] = array( TAG_LBL,"cu","accountinfo","",2,1);
//HARDCODED OPTIONS
$ligne[] = array( $l->g(312), "ipdisc");
$ligne[] = array( $l->g(429), "freq" );
$ligne[] = array( $l->g(512), "tele" );
foreach($_SESSION["optCol"] AS $col) {
if($col!="DEVICEID"&&$col!="TAG"&&$col!="HARDWARE_ID") {
$isDate = isFieldDate($col);
$ligne[] = array( $col,$col,"hardware","accountinfo",2,$isDate ? 2 : 1,"",$isDate,true);
}
}
foreach( $ligne as $laLigne) {
$colATrier[] = $laLigne[0];
}
$indLigneSoft = 0;
sort($colATrier);
foreach($colATrier as $nomLigne) {
foreach($ligne as $laLigne) {
if($laLigne[0] == $nomLigne) {
afficheLigne($laLigne);
break;
}
}
}
$color=$indLigne%2==0?"#F2F2F2":"#FFFFFF";
echo "<tr bgcolor='$color'><td colspan='3' align='right'><input type='hidden' name='max' value='$indLigne'>";
if($_SESSION["OPT"]!=0)
{
echo "<input type=submit taborder=1 name=sub value=".$l->g(30).">";
}
echo "</td></tr></table></form>";
if($_SESSION["OPT"]!=0)
{
echo "<center><i>".$l->g(358)."</i></font></center><br>";
}
}
function afficheLigne($ligne)
{
global $indLigne,$indLigneSoft,$l,$_POST;
$label = $ligne[0];
$champ = $ligne[1];
$table = $ligne[2];
$laRequete = $ligne[3];
$combo = isset($ligne[4]) ? $ligne[4] : 1 ;
$type = isset($ligne[5]) ? $ligne[5] : 1 ;
$leg = isset($ligne[6]) ? $ligne[6] : "" ;
$isDate = isset($ligne[7]) ? $ligne[7] : false ;
$allowExact = isset($ligne[8]) ? $ligne[8] : true ;
$canDisable = isset($ligne[9]) ? $ligne[9] : true ;
if(is_array($_SESSION["OPT"])) {
if(!in_array($label,$_SESSION["OPT"]))
return;
}
else
return;
$color=$indLigne%2==0?"#F2F2F2":"#FFFFFF";
$suff="_".$indLigne;
if( $type == 7) {// un soft
echo"<tr bgcolor=$color><td>";
if( ! $canDisable )
echo "<input type='hidden' name='act$suff' id='act$suff' value='on'>";
echo "<input type=checkbox ".($canDisable?"":"disabled checked")." id='act$suff' name='act$suff'".($_SESSION["softs"][$indLigneSoft][0]=="on"||$_POST["selOpt"]==$label?" checked":"")."> ".$l->g(205)."</input>
<input type=hidden name='chm$suff' value=$champ>
<input type=hidden name='lbl$suff' value='".urlencode($label)."'>
</td><td>$label</td><td>";
echo "<select OnClick='act$suff.checked=true' name='ega$suff'>";
echo "<option".($_SESSION["softs"][$indLigneSoft][2]==$l->g(129)?" selected":"").">".$l->g(129)."</option>";
if( $allowExact ) echo "<option".(($_SESSION["softs"][$indLigneSoft][2]==$l->g(410) or !isset($_SESSION["softs"][$indLigneSoft][2]))?" selected":"").">".$l->g(410)."</option>";
echo "<option".($_SESSION["softs"][$indLigneSoft][2]==$l->g(130)?" selected":"").">".$l->g(130)."</option>";
echo "</select> ";
echo "<input OnClick='act$suff.checked=true' name='val$suff' value=\"".stripslashes($_SESSION["softs"][$indLigneSoft][3])."\">";
$indLigne++;
$indLigneSoft++;
return;
}
echo"
<tr bgcolor=$color>
<td>
<input type=checkbox id='act$suff' name='act$suff'".($_SESSION["reqs"][$label][0]=="on"||$_POST["selOpt"]==$label?" checked":"")."> ".$l->g(205)."</input>
<input type=hidden name='chm$suff' value=$champ>
<input type=hidden name='lbl$suff' value='".urlencode($label)."'>
</td>
<td>
$label
</td>
<td>";
if( $champ == "ipdisc" ) {
echo "<select OnClick='act$suff.checked=true' name='val$suff'>
<option ".($_SESSION["reqs"][$label][3]=="elu"?" selected":"")." value='elu'>".$l->g(502)."</option>
<option ".($_SESSION["reqs"][$label][3]=="for"?" selected":"")." value='for'>".$l->g(503)."</option>
<option ".($_SESSION["reqs"][$label][3]=="nelu"?" selected":"")." value='nelu'>".$l->g(504)."</option>
<option ".($_SESSION["reqs"][$label][3]=="eli"?" selected":"")." value='eli'>".$l->g(505)."</option>
<option ".($_SESSION["reqs"][$label][3]=="neli"?" selected":"")." value='neli'>".$l->g(506)."</option></select></td></tr>";
$indLigne++;
return;
}
else if( $champ == "freq" ) {
echo "<select OnClick='act$suff.checked=true' name='val$suff'>
<option ".($_SESSION["reqs"][$label][3]=="std"?" selected":"")." value='std'>".$l->g(488)."</option>
<option ".($_SESSION["reqs"][$label][3]=="always"?" selected":"")." value='always'>".$l->g(485)."</option>
<option ".($_SESSION["reqs"][$label][3]=="never"?" selected":"")." value='never'>".$l->g(486)."</option>
<option ".($_SESSION["reqs"][$label][3]=="custom"?" selected":"")." value='custom'>".$l->g(487)."</option></select></td></tr>";
$indLigne++;
return;
}
else if( $champ == "tele" ) {
$resTele = @mysql_query("SELECT distinct NAME FROM download_available ORDER BY NAME", $_SESSION["readServer"]);
if( mysql_num_rows( $resTele ) >0 ) {
echo "<select OnClick='act$suff.checked=true' name='ega$suff'>
<option ".($_SESSION["reqs"][$label][2]=="ayant"?" selected":"")." value='ayant'>".$l->g(507)."</option>
<option ".($_SESSION["reqs"][$label][2]=="nayant"?" selected":"")." value='nayant'>".$l->g(508)."</option>
</select> ".$l->g(498).": <select OnClick='act$suff.checked=true' name='val$suff'>";
while( $valTele = mysql_fetch_array( $resTele )) {
echo "<option ".($_SESSION["reqs"][$label][3]==$valTele["NAME"]?" selected":"").">".$valTele["NAME"]."
</option>";
}
echo "</select> ".$l->g(546).": <select OnClick='act$suff.checked=true' name='val2$suff'>
<option ".($_SESSION["reqs"][$label][4]=="ind"?" selected":"")." value='ind'>".$l->g(509)."</option>
<option ".($_SESSION["reqs"][$label][4]=="nsuc"?" selected":"")." value='nsuc'>".$l->g(548)."</option>
<option ".($_SESSION["reqs"][$label][4]=="suc"?" selected":"")." value='suc'>SUCCESS</option>
<option ".($_SESSION["reqs"][$label][4]=="stats"?" selected":"")." value='stats'>".$l->g(482)."</option>";
$resState = @mysql_query("SELECT distinct(tvalue) FROM devices WHERE tvalue<>'SUCCESS' AND tvalue IS NOT NULL AND name='DOWNLOAD'", $_SESSION["readServer"]);
while( $valState = @mysql_fetch_array( $resState )) {
echo "<option ".($_SESSION["reqs"][$label][4]==$valState["tvalue"]?" selected":"")." value='".$valState["tvalue"]."'>".$valState["tvalue"]."</option>";
}
echo "</select>";
$indLigne++;
}
else {
echo $l->g(510);
}
return;
}
if($type != 4 && $type != 6) {
echo $_SESSION["reqs"][$label][2];
echo "<select OnClick='act$suff.checked=true' name='ega$suff'>
<option".($_SESSION["reqs"][$label][2]==$l->g(129)?" selected":"").">".$l->g(129)."</option>";
if( $allowExact ) echo "<option".(($_SESSION["reqs"][$label][2]==$l->g(410) or !isset($_SESSION["reqs"][$label][2]))?" selected":"").">".$l->g(410)."</option>";
echo "<option".($_SESSION["reqs"][$label][2]==$l->g(130)?" selected":"").">".$l->g(130)."</option>";
if( $isDate) {
echo "<option".($_SESSION["reqs"][$label][2]==$l->g(346)?" selected":"").">".$l->g(346)."</option><option".($_SESSION["reqs"][$label][2]==$l->g(347)?" selected":"").">".$l->g(347)."</option>";
}
else if( $type==2||$type==3 )
{
echo "<option".($_SESSION["reqs"][$label][2]==$l->g(201)?" selected":"").">".$l->g(201)."</option><option".($_SESSION["reqs"][$label][2]==$l->g(202)?" selected":"").">".$l->g(202)."</option>";
}
if ($type==3)
{
echo "<option".($_SESSION["reqs"][$label][2]==$l->g(203)?" selected":"").">".$l->g(203)."</option>";//<option".($_POST["ega$suff"]==$l->g(204)?" selected":"").">".$l->g(204)."</option>";
}
}
else if( $type != 6)
echo $l->g(129);
if( $type != 6)
echo "</select> ";
if($combo==1)
{
echo "<select OnClick='act$suff.checked=true' name='val$suff'>";
$res=mysql_query($laRequete, $_SESSION["readServer"]) or die(mysql_error($_SESSION["readServer"]));
$linSel = "LINUX" == $_SESSION["reqs"][$label][3] ?" selected":"";
$winSel = "WINDOWS" == $_SESSION["reqs"][$label][3] ?" selected":"";
$macOSX = "MacOSX" == $_SESSION["reqs"][$label][3] ?" selected":""; //add by WES Young
if( $champ=="osname")
echo "<option value='LINUX' $linSel>LINUX (".$l->g(547).")</option>
<option value='WINDOWS' $winSel>WINDOWS (".$l->g(547).")</option>
<option value='MacOSX' $macOSX>MacOSX (".$l->g(547).")</option>";//add by WES Young
while($row=mysql_fetch_array($res))
{
if($row[0]=="") continue;
$selected = $row[0]== $_SESSION["reqs"][$label][3] ?" selected":"";
echo "<option$selected>".$row[0]."</option>\n";
}
echo "</select>";
}
else
{
if( $isDate ) {
echo "<input READONLY ".dateOnClick("val$suff","act$suff")." OnClick='act$suff.checked=true' name='val$suff' id='val$suff' value='"./*dateFromMysql(*/$_SESSION["reqs"][$label][3]/*)*/."'>".datePick("val$suff","act$suff");
}
else
echo "<input OnClick='act$suff.checked=true' name='val$suff' value=\"".stripslashes($_SESSION["reqs"][$label][3])."\">";
if ($type==3) // deux inputs pour "entre machin et truc"
{
echo " -- <input OnClick='act$suff.checked=true' name='val2$suff' value='".$_SESSION["reqs"][$label][4]."'>";
}
}
if( $type == 6) {
echo "<select OnClick='act$suff.checked=true' name='ega$suff'>
<option".($_SESSION["reqs"][$label][2]==$l->g(129)?" selected":"").">".$l->g(129)."</option>";
if( $allowExact ) echo "<option".(($_SESSION["reqs"][$label][2]==$l->g(410) or !isset($_SESSION["reqs"][$label][2]))?" selected":"").">".$l->g(410)."</option>";
echo "<option".($_SESSION["reqs"][$label][2]==$l->g(130)?" selected":"").">".$l->g(130)."</option></select>";
/*$reqRes = mysql_query("SELECT DISTINCT(regvalue) FROM registry", $_SESSION["readServer"]) or die(mysql_error($_SESSION["readServer"])); // mesmachines
echo " ".$l->g(224).": */
echo "<input OnClick='act$suff.checked=true' name='valreg$suff' value='".($_SESSION["reqs"][$label][5])."'>";
/*while($row=mysql_fetch_array($reqRes))
{
if($row[0]=="") continue;
$selected = $row[0]== $_SESSION["reqs"][$label][5] ?" selected":"";
echo "<option$selected>".$row[0]."</option>\n";
}*/
echo "</input>";
}
echo " $leg</td></tr>";
$indLigne++;
}
function getCache( $table, $field, $value, &$count ) {
$reqCache = "SELECT ".$field." FROM ".$table."_".$field."_cache WHERE ".$field." LIKE '%".$value."%' AND ".$field." IS NOT NULL";
$resCache = mysql_query( $reqCache, $_SESSION["readServer"] );
$cached = array();
while( $valCache = mysql_fetch_array( $resCache ) ) {
if( $count > 200 )
return NULL;
$cached[] = $valCache[$field];
$count++;
}
$glued = @implode("','", $cached);
return $glued;
}
function isFieldDate($nom) {
if( $nom == "lastdate" )
return true;
$reqType = "SELECT $nom FROM accountinfo";
if( $resType = @mysql_query($reqType, $_SESSION["readServer"])) {
$valType = mysql_fetch_field($resType);
return ($valType->type == "date");
}
return false;
}
?>So Simply replace the content of your multicritere.php file by this one and restart apache...
Stonedge
Last edited by Stonedge (2009-10-26 15:21:12)
Offline
Here is the complete multicritere.php with Printer name search, updated to the version 1.3.2
<?php
//====================================================================================
// OCS INVENTORY REPORTS
// Copyleft Pierre LEMMET 2005
// Web: http://ocsinventory.sourceforge.net
//
// This code is open source and may be copied and modified as long as the source
// code is always made freely available.
// Please refer to the General Public Licence http://www.gnu.org/ or Licence.txt
//====================================================================================
//Modified on $Date: 2008-02-27 12:34:12 $$Author: hunal $($Revision: 1.17 $)
include('security.php');
require_once('require/function_server.php');
//cas of add new server's diff
if (isset($_POST['valid_server']) and $_POST['valid_server'] != '0')
{
$i=1;
foreach ($_POST as $key=>$value){
if (substr($key, 0, 9) == "checkmass"){
$mach[$i]=$value;
$i++;
}
}
if ($mach == "")
{
$sql="select h.id ".$_SESSION['groupReq'];
$res = mysql_query( $sql, $_SESSION["readServer"]);
while( $valallid = mysql_fetch_array( $res ) ){
$mach[$i] = $valallid['id'];
$i++;
}
}
if ($_POST['name_server_new'] != "")
$name=$_POST['name_server_new'];
elseif ($_POST['name_server_add'] != "")
$name=$_POST['name_server_add'];
elseif ($_POST['name_server_replace'] != "")
$name=$_POST['name_server_replace'];
$msg=admin_serveur($_POST['action_server'],$name,$_POST['descr_server'],$mach) ;
echo "<script>alert('".$msg."');</script>";
}
if( isset( $_GET["nme"] ) && isset( $_GET["stat"] ) ) {
$_POST["act_0"] = "on";
$_POST["chm_0"] = "tele";
$_POST["lbl_0"] = $l->g(512);
$_POST["ega_0"] = "ayant";
$_POST["val_0"] = urldecode( $_GET["nme"] );
$_POST["val2_0"] = urldecode( $_GET["stat"] );
$_POST["sub"] = $l->g(30);
$_POST["max"] = 1;
if( $_POST["val2_0"] == $l->g(482) ) {
$_POST["val2_0"] = "stats";
}
$_SESSION["OPT"][] = $l->g(512);
}
if($_POST["sub"]==$l->g(30)) {
unset($_SESSION["selectSofts"]);
unset($_SESSION["selectRegistry"]);
unset($_SESSION["storedRequest"], $_SESSION["c"],$_SESSION["reqs"],$_SESSION["softs"]);
}
printEnTete($l->g(9));
$req = NULL;
if( !isset($_SESSION["optCol"]) ) {
$reqCol = "SHOW COLUMNS FROM accountinfo";
$resCol = mysql_query($reqCol, $_SESSION["readServer"]) or die(mysql_error($_SESSION["readServer"]));
while($colname=mysql_fetch_array($resCol)) {
if( strcasecmp($colname["Field"], TAG_NAME) != 0 )
$_SESSION["optCol"][] = $colname["Field"] ;
}
}
require("req.class.php");
$indLigne=0;
$softPresent = false;
$cuPresent = -1;
$leSelect = array_merge( array("h.id"=>"h.id", "deviceid"=>"deviceid"), $_SESSION["currentFieldList"] );
if( is_array($_SESSION["selectSofts"]) && $_POST["sub"]!=$l->g(30))
$leSelect = array_merge( $leSelect, $_SESSION["selectSofts"] );
if( is_array($_SESSION["selectRegistry"]) )
$leSelect = array_merge( $leSelect, $_SESSION["selectRegistry"] );
$selFinal ="";
if($_POST["reset"]==$l->g(41))
{
unset($_SESSION["OPT"]);
unset($_SESSION["reqs"]);
unset($_SESSION["softs"]);
}
else if($_POST["selOpt"])
{
$_POST["selOpt"] = urldecode( $_POST["selOpt"] );
if( $_POST["selOpt"]==$l->g(20) || ((! is_array($_SESSION["OPT"])) || ( !in_array($_POST["selOpt"],$_SESSION["OPT"])))) {
$_SESSION["OPT"][]=stripslashes($_POST["selOpt"]);
}
}
else if($_POST["sub"]==$l->g(30))
{
/* Creates a description of the generated query in $_SESSION["queryDescription"]
$totSofts = 0;
$totRegs = 0;
$logName = "";
$firstLog = true;
for($cpLog=0;$cpLog<$_POST["max"];$cpLog++) {
if( $_POST["val_".$cpLog] != "" && $_POST["act_".$cpLog] == "on" ) {
if( ! $firstLog )
$logName .= " &\n";
$logName .= addslashes( $_POST["chm_".$cpLog]." ".$_POST["ega_".$cpLog]." ".$_POST["val_".$cpLog] );
if( $_POST["ega_".$cpLog] == $l->g(203) )
$logName .= $l->g(582).$_POST["val2_".$cpLog];
$firstLog = false;
}
}
$_SESSION["queryDescription"] = $logName ;
*/
$i=0; $nb=0;
$laRequete="";
for($i=0;$i<$_POST["max"];$i++) {
if( urldecode($_POST["lbl_".$i]) == $l->g(20))
$_SESSION["softs"][] = array( $_POST["act_".$i], urldecode($_POST["chm_".$i]), $_POST["ega_".$i],
strtr($_POST["val_".$i],"\"","'"), strtr($_POST["val2_".$i],"\"","'"), $_POST["valreg_".$i] );
$_SESSION["reqs"][ urldecode($_POST["lbl_".$i]) ] = array( $_POST["act_".$i], urldecode($_POST["chm_".$i]), $_POST["ega_".$i],
strtr($_POST["val_".$i],"\"","'"), strtr($_POST["val2_".$i],"\"","'"), $_POST["valreg_".$i] );
if(!isset($_POST["act_".$i]))
continue;
$nb++;
}
$from = " hardware h LEFT JOIN accountinfo a ON a.hardware_id=h.id LEFT JOIN bios b ON b.hardware_id=h.id,";
//$laRequete.=" FROM hardware h,accountinfo a, bios b, ";
$softTable = false ;
$logIndex = 1;
$fromPrelim ="";
for($i=0;$i<$_POST["max"];$i++)
{
if(!isset($_POST["act_".$i]))
continue;
//jokers
if( $_POST["ega_".$i] != $l->g(410) )
$_POST["val_".$i] = strtr($_POST["val_".$i], "?*", "_%");
if( isFieldDate($_POST["chm_".$i]) ) {
$_POST["val_".$i] = dateToMysql($_POST["val_".$i]);
}
if( ($_POST["chm_".$i]=="name") && ($_POST["ega_".$i]==$l->g(129) || $_POST["ega_".$i]==$l->g(410))) {
$leSelect["s".$logIndex.".name"] = $l->g(20)." $logIndex";
$_SESSION["selectSofts"]["s".$logIndex.".name"] = $l->g(20)." $logIndex";
}
if( ($_POST["chm_".$i]=="regval" || $_POST["chm_".$i]=="regname")&&
($_POST["ega_".$i]==$l->g(129) || $_POST["ega_".$i]==$l->g(410))) {
$leSelect["r.regvalue"] = $_POST["val_".$i];
$from = substr ( $from, 0 , strlen( $from)-1 );
$from .= " LEFT JOIN registry r ON r.hardware_id=h.id AND r.name='".$_POST["val_".$i]."',";
$_SESSION["selectRegistry"]["r.regvalue"] = $_POST["val_".$i];
}
$regRes = null;
if( ($_POST["ega_".$i]==$l->g(129)||$_POST["ega_".$i]==$l->g(410)) && $_POST["chm_".$i]=="name" ) {
//$fromPrelim.=" softwares s".$logIndex.",";
$from .= " softwares s".$logIndex.",";
$logIndex++;
}
if( ($_POST["chm_".$i]=="smonitor" || $_POST["chm_".$i]=="fmonitor" || $_POST["chm_".$i]=="lmonitor") && ! $monitorTable ) {
$fromPrelim.=" monitors m,";
$monitorTable = true;
}
//Mod By Vince
if( ($_POST["chm_".$i]=="printer") && ! $PrinterTable ) {
$fromPrelim.=" printers p,";
$PrinterTable = true;
}
// End of Vince Mod
if($_POST["chm_".$i]=="free") {
$fromPrelim.=" drives dr,";
}
if(($_POST["chm_".$i]=="ipmask"||$_POST["chm_".$i]=="ipgateway"||$_POST["chm_".$i]=="ipaddr"||$_POST["chm_".$i]=="ipsubnet"||$_POST["chm_".$i]=="macaddr") && !$netTable) {
$fromPrelim.=" networks n,";
$netTable=true;
}
}
if($fromPrelim[strlen($fromPrelim)-1]==",")
$fromPrelim[strlen($fromPrelim)-1]=" ";
if($from[strlen($from)-1]==",")
$from[strlen($from)-1]=" ";
$groupReqBegin = "FROM ".$from;
if( $fromPrelim != "" )
$groupReqBegin .= ",".$fromPrelim;
$groupReqBegin .= " WHERE ";
for($i=0;$i<$_POST["max"];$i++)
{
if(!isset($_POST["act_".$i]))
continue;
if( $_POST["act_".$i]="checked" && $_POST["chm_".$i] == "ipdisc" ) {
if( ! empty($laRequete) ) $laRequete .= " AND ";
if( ! empty($groupReq) ) $groupReq .= " AND ";
$laRequete.= " h.id ";
$groupReq.= " h.id ";
switch( $_POST["val_".$i] ) {
case "elu":
$groupReq.= "IN (SELECT hardware_id FROM devices WHERE ivalue=1 AND name='IPDISCOVER') ";
$laRequete.= "IN ";
$reqIdIpd = "SELECT DISTINCT hardware_id FROM devices WHERE ivalue=1 AND name='IPDISCOVER'";
break;
case "for":
$groupReq.= "IN (SELECT hardware_id FROM devices WHERE ivalue=2 AND name='IPDISCOVER') ";
$laRequete.= "IN ";
$reqIdIpd = "SELECT DISTINCT hardware_id FROM devices WHERE ivalue=2 AND name='IPDISCOVER'";
break;
case "nelu":
$groupReq.= "NOT IN (SELECT hardware_id FROM devices WHERE ivalue=1 AND name='IPDISCOVER') ";
$laRequete.= "NOT IN ";
$reqIdIpd = "SELECT DISTINCT hardware_id FROM devices WHERE ivalue=1 AND name='IPDISCOVER'";
break;
case "eli":
$groupReq.= "NOT IN (SELECT hardware_id FROM devices WHERE ivalue=0 AND name='IPDISCOVER') ";
$laRequete.= "NOT IN ";
$reqIdIpd = "SELECT DISTINCT hardware_id FROM devices WHERE ivalue=0 AND name='IPDISCOVER'";
break;
case "neli":
$groupReq.= "IN (SELECT hardware_id FROM devices WHERE ivalue=0 AND name='IPDISCOVER') ";
$laRequete.= "IN ";
$reqIdIpd = "SELECT DISTINCT hardware_id FROM devices WHERE ivalue=0 AND name='IPDISCOVER'";
break;
}
$laRequete .= "('".getGluedIds($reqIdIpd)."')";
continue;
}
if( $_POST["act_".$i]="checked" && $_POST["chm_".$i] == "freq" ) {
if( ! empty($laRequete) ) $laRequete .= " AND ";
if( ! empty($groupReq) ) $groupReq .= " AND ";
$laRequete.= " h.id ";
$groupReq .= " h.id ";
switch( $_POST["val_".$i] ) {
case "std":
$groupReq.= "NOT IN (SELECT hardware_id FROM devices WHERE name='FREQUENCY') ";
$laRequete.= "NOT IN ";
$reqIdFre = " (SELECT DISTINCT hardware_id FROM devices WHERE name='FREQUENCY') ";
break;
case "always":
$groupReq.= "IN (SELECT hardware_id FROM devices WHERE name='FREQUENCY' AND ivalue=0) ";
$laRequete.= "IN ";
$reqIdFre = " (SELECT DISTINCT hardware_id FROM devices WHERE name='FREQUENCY' AND ivalue=0) ";
break;
case "never":
$groupReq.= "IN (SELECT hardware_id FROM devices WHERE name='FREQUENCY' AND ivalue=-1) ";
$laRequete.= "IN ";
$reqIdFre = " (SELECT DISTINCT hardware_id FROM devices WHERE name='FREQUENCY' AND ivalue=-1) ";
break;
case "custom":
$groupReq.= "IN (SELECT hardware_id FROM devices WHERE name='FREQUENCY' AND ivalue>0) ";
$laRequete.= "IN ";
$reqIdFre = " (SELECT DISTINCT hardware_id FROM devices WHERE name='FREQUENCY' AND ivalue>0) ";
break;
}
$laRequete .= "('".getGluedIds($reqIdFre)."')";
continue;
}
if( $_POST["act_".$i]="checked" && $_POST["chm_".$i] == "tele" ) {
if( ! empty($laRequete) ) $laRequete .= " AND ";
if( ! empty($groupReq) ) $groupReq .= " AND ";
$laRequete.= " h.id ";
$groupReq .= " h.id ";
if( $_POST["ega_".$i] == "ayant" ) {
$laRequete.= " IN ";
$groupReq .= " IN ";
}
else if( $_POST["ega_".$i] == "nayant" ) {
$laRequete.= " NOT IN ";
$groupReq .= " NOT IN ";
}
$reqIdDownload = "";
switch( $_POST["val2_".$i] ) {
case "suc":
$groupReq.= "(SELECT d.hardware_id FROM devices d, download_available a, download_enable e
WHERE d.name='DOWNLOAD' AND a.name='".$_POST["val_".$i].
"' AND d.tvalue like 'SUCCESS%' AND e.fileid=a.fileid AND e.id=d.ivalue UNION
SELECT dh.hardware_id FROM download_history dh, download_available da WHERE dh.pkg_id=da.fileid AND da.name='".$_POST["val_".$i].
"')";
$reqIdDownload = "SELECT DISTINCT d.hardware_id FROM devices d, download_available a, download_enable e
WHERE d.name='DOWNLOAD' AND a.name='".$_POST["val_".$i].
"' AND d.tvalue like 'SUCCESS%' AND e.fileid=a.fileid AND e.id=d.ivalue UNION
SELECT dh.hardware_id FROM download_history dh, download_available da WHERE dh.pkg_id=da.fileid AND da.name='".$_POST["val_".$i].
"'";
break;
case "nsuc":
$groupReq.= "(SELECT d.hardware_id FROM devices d, download_available a, download_enable e
WHERE d.name='DOWNLOAD' AND a.name='".$_POST["val_".$i].
"' AND (d.tvalue not like 'SUCCESS%' OR d.tvalue IS NULL) AND e.fileid=a.fileid AND e.id=d.ivalue) ";
$reqIdDownload = "SELECT DISTINCT d.hardware_id FROM devices d, download_available a, download_enable e
WHERE d.name='DOWNLOAD' AND a.name='".$_POST["val_".$i].
"' AND (d.tvalue not like 'SUCCESS%' OR d.tvalue IS NULL) AND e.fileid=a.fileid AND e.id=d.ivalue";
break;
case "ind":
$groupReq.= "(SELECT d.hardware_id FROM devices d, download_available a, download_enable e
WHERE d.name='DOWNLOAD' AND a.name='".$_POST["val_".$i].
"' AND e.fileid=a.fileid AND e.id=d.ivalue UNION SELECT dh.hardware_id FROM download_history dh, download_available da WHERE dh.pkg_id=da.fileid AND da.name='".$_POST["val_".$i].
"')";
$reqIdDownload = "SELECT DISTINCT d.hardware_id FROM devices d, download_available a, download_enable e
WHERE d.name='DOWNLOAD' AND a.name='".$_POST["val_".$i].
"' AND e.fileid=a.fileid AND e.id=d.ivalue UNION SELECT dh.hardware_id FROM download_history dh, download_available da WHERE dh.pkg_id=da.fileid AND da.name='".$_POST["val_".$i].
"'";
break;
case "stats":
$groupReq.= "(SELECT d.hardware_id FROM devices d, download_available a, download_enable e
WHERE d.name='DOWNLOAD' AND a.name='".$_POST["val_".$i].
"' AND e.fileid=a.fileid AND e.id=d.ivalue AND d.tvalue IS NULL ) ";
$reqIdDownload = "SELECT DISTINCT d.hardware_id FROM devices d, download_available a, download_enable e
WHERE d.name='DOWNLOAD' AND a.name='".$_POST["val_".$i].
"' AND e.fileid=a.fileid AND e.id=d.ivalue AND d.tvalue IS NULL";
break;
default: //standard case
$groupReq.= "(SELECT d.hardware_id FROM devices d, download_available a, download_enable e
WHERE d.name='DOWNLOAD' AND a.name='".$_POST["val_".$i].
"' AND d.tvalue='".$_POST["val2_".$i]."' AND e.fileid=a.fileid AND e.id=d.ivalue) ";
$reqIdDownload = "SELECT DISTINCT d.hardware_id FROM devices d, download_available a, download_enable e
WHERE d.name='DOWNLOAD' AND a.name='".$_POST["val_".$i].
"' AND d.tvalue='".$_POST["val2_".$i]."' AND e.fileid=a.fileid AND e.id=d.ivalue";
break;
}
$laRequete .= "('".getGluedIds($reqIdDownload)."')";
continue;
}
if( $_POST["act_".$i]="checked" && ! ( ($cuPresent != -1 ) && $_POST["chm_".$i] == "cu") )
{
// cas particulier avec LOGICIEL
if( ($_POST["chm_".$i] == "name" ) ) {
if( $_POST["ega_".$i] == $l->g(129)||$_POST["ega_".$i]==$l->g(410) )
$softsEg[] = Array( $_POST["val_".$i], urldecode($_POST["lbl_".$i]), $_POST["ega_".$i] );
else
$softsDi[] = Array( $_POST["val_".$i], urldecode($_POST["lbl_".$i]), "" );
continue ;
}
// cas particulier avec registry DIFFERENT DE
if( $_POST["chm_".$i] == "regname" && $_POST["ega_".$i] == $l->g(130) ) {
$regDiff=Array($_POST["val_".$i],$_POST["valreg_".$i]);
continue ;
}
$forceEgal=false;
if($_POST["chm_".$i]=="regname") {
if( ! empty($laRequete) ) $laRequete .= " AND ";
if( ! empty($groupReq) ) $groupReq .= " AND ";
$laRequete.= "r.hardware_id=h.id ";
$groupReq .= "r.hardware_id=h.id ";
}
$tblIneq = "h";
$reqCondition = "";
switch($_POST["chm_".$i])
{
case "ssn": $reqCondition.="b.ssn";break;
case "bmanufacturer": $reqCondition.="b.bmanufacturer";break;
case "bversion": $reqCondition.="b.bversion";break;
case "smanufacturer": $reqCondition.="b.smanufacturer";break;
case "smodel": $reqCondition.="b.smodel";break;
case "ipmask": $reqCondition.="n.hardware_id=h.id AND n.ipmask";break;
case "ipgateway": $reqCondition.="n.hardware_id=h.id AND n.ipgateway";break;
case "free": $reqCondition.="dr.hardware_id=h.id AND dr.free";$tblIneq="dr";break;
case "ipsubnet": $reqCondition.="n.hardware_id=h.id AND n.ipsubnet";break;
case "regname":
if( $_POST["valreg_".$i] != $l->g(265) ) {
if( $_POST["ega_".$i] != $l->g(410) )
$_POST["valreg_".$i] = strtr($_POST["valreg_".$i], "?*", "_%");
if( $_SESSION["usecache"] == true && $_POST["ega_".$i] == $l->g(129) ) {
$glued = getCache( "registry", "regvalue", $_POST["valreg_".$i], $totRegs );
$reqCondition.="r.regvalue IN('".$glued."') AND ";
}
else {
$comp = $_POST["ega_".$i] == $l->g(129) ? " like '%" : " = '";
$compFin = $_POST["ega_".$i] == $l->g(129) ? "%' " : "' ";
$reqCondition.="r.regvalue$comp".$_POST["valreg_".$i]."{$compFin}AND ";
}
}
$reqCondition.="r.name";
$forceEgal=true;
break;
case "name":
$reqCondition.="s.hardware_id=h.id AND s.name";
$softPresent = true;
if( $_POST["ega_".$i] == $l->g(129)||$_POST["ega_".$i]==$l->g(410) )
$unSoftnEgal = true ;
break;
case "ORDEROWNER": $reqCondition.="a.orderowner";break;
case "ORDERID": $reqCondition.="a.orderid";break;
case "PRODUCTID": $reqCondition.="a.productid";break;
case "BILLDATE": $reqCondition.="a.billnbr";break;
case "cu": $reqCondition.="a.".TAG_NAME;break;
case "processors": $reqCondition.="h.processors";break;
case "memory": $reqCondition.="h.memory";break;
case "osname": $reqCondition.="h.osname";$forceEgal=false;break;
case "oscomments": $reqCondition.="h.oscomments";$forceEgal=false;break;
case "userid": $reqCondition.="h.userid";break;
case "ipaddr": $reqCondition.="n.hardware_id=h.id AND n.ipaddress";break;
case "macaddr": $reqCondition.="n.hardware_id=h.id AND n.macaddr";break;
case "useragent": $reqCondition.="h.useragent";$forceEgal=true;break;
case "workgroup": $reqCondition.="h.workgroup";$forceEgal=true;break;
case "userdomain": $reqCondition.="h.userdomain";$forceEgal=true;break;
case "hname": $reqCondition.="h.name";break;
case "description": $reqCondition.="h.description";break;
case "lastdate": $reqCondition.="h.lastdate";break;
case "smonitor": $reqCondition.="m.hardware_id=h.id AND m.serial";break;
case "fmonitor": $reqCondition.="m.hardware_id=h.id AND m.manufacturer";break;
case "lmonitor": $reqCondition.="m.hardware_id=h.id AND m.caption";break;
// MOD by Vince
case "printer": $reqCondition.="p.hardware_id=h.id AND p.name";break;
// End Of Vince Mod
case "sversion": $reqCondition.="s1.hardware_id=h.id AND s1.version";break;
default: $reqCondition.="a.".$_POST["chm_".$i]; break;
}
if( $_POST["val_".$i] == "" ) {
switch($_POST["ega_".$i]) {
case $l->g(410):
case $l->g(129): $reqCondition.=" IS NULL "; break;
case $l->g(130):
case $l->g(346):
case $l->g(201):
case $l->g(347):
case $l->g(202):
case $l->g(203):
default: $reqCondition .=" IS NOT NULL "; break;
}
}
else {
if( ! $forceEgal ) {
switch($_POST["ega_".$i]) {
case $l->g(410): $reqCondition.=" = ";$forceEgal=true; break;
case $l->g(129): $reqCondition.=" LIKE ";$forceLike=true; break;
case $l->g(130): $reqCondition.=" NOT LIKE ";$forceLike=true; break;
case $l->g(346):
case $l->g(201): $reqCondition.="<"; $forceEgal=true; break;
case $l->g(347):
case $l->g(202): $reqCondition.=">"; $forceEgal=true; break;
case $l->g(203): $reqCondition.="<'".$_POST["val2_".$i]."' AND $tblIneq.".$_POST["chm_".$i].">"; $forceEgal=true; break;
//case $l->g(204): $reqCondition.=">'".$_POST["val2_".$i]."' OR h.".$_POST["chm_".$i]."<";break;
default: $reqCondition.=" LIKE "; $forceLike=true;break;
}
}
else {
switch($_POST["ega_".$i]) {
case $l->g(410):
case $l->g(129): $reqCondition.=" = ";break;
case $l->g(130):
case $l->g(346):
case $l->g(201):
case $l->g(347):
case $l->g(202):
case $l->g(203):
default: $reqCondition.=" <> ";break;
}
}
if( $forceEgal || !$forceLike )
$reqCondition.="'".$_POST["val_".$i]."'";
else
$reqCondition.="'%".$_POST["val_".$i]."%'";
}
if( ! empty($laRequete) ) $laRequete .= " AND ";
if( ! empty($groupReq) ) $groupReq .= " AND ";
$laRequete .= $reqCondition;
$groupReq .= $reqCondition;
}
}
if( $nb > 0 ) {
$laRequeteF=$laRequete;
$logIndexEg = 1;
for($ii=0;$ii<sizeof($softsEg);$ii++) {
$selFinal .= " AND ";
if( ! empty($laRequeteF) ) $laRequeteF .= " AND ";
if( ! empty($groupReq) ) $groupReq .= " AND ";
$comp = $softsEg[$ii][2] == $l->g(129) ? " like '%" : " = '";
$compFin = $softsEg[$ii][2] == $l->g(129) ? "%' " : "' ";
$groupReq .= " s$logIndexEg.hardware_id=h.id AND s$logIndexEg.name$comp".$softsEg[$ii][0]."$compFin";
// If cache is used AND 'like' search is used
if( $_SESSION["usecache"] == true && $softsEg[$ii][2]==$l->g(129) ) {
$gluedSofts = getCache( "softwares", "name", $softsEg[$ii][0], $totSofts );
if ($gluedSofts != ''){
$laRequeteF .= " s$logIndexEg.hardware_id=h.id AND s$logIndexEg.name IN('$gluedSofts')";
$selFinal .= " s$logIndexEg.hardware_id=h.id AND s$logIndexEg.name IN('$gluedSofts')";
}
else{
$laRequeteF .= " s$logIndexEg.hardware_id=h.id AND s$logIndexEg.name IN('SOFT NOT EXIST')";
$selFinal .= " s$logIndexEg.hardware_id=h.id AND s$logIndexEg.name IN('SOFT NOT EXIST')";
}
}
else {
$laRequeteF .= " s$logIndexEg.hardware_id=h.id AND s$logIndexEg.name$comp".$softsEg[$ii][0]."$compFin";
$selFinal .= " s$logIndexEg.hardware_id=h.id AND s$logIndexEg.name$comp".$softsEg[$ii][0]."$compFin";
}
$logIndexEg++;
}
if( $_SESSION["usecache"] == true ) {
for($ii=0;$ii<sizeof($softsDi);$ii++) {
$gluedSofts = "";
$softsDi[$ii][0] = strtr($softsDi[$ii][0], "?*", "_%");
$gluedSofts = getCache( "softwares", "name", $softsDi[$ii][0], $totSofts );
if( $gluedSofts != "" ) {
$reqSid = "SELECT DISTINCT hardware_id FROM softwares WHERE name IN('$gluedSofts')";
$resSid = mysql_query( $reqSid, $_SESSION["readServer"] );
while( $valSid = mysql_fetch_array($resSid) ) {
$idNotIn[] = $valSid["hardware_id"];
}
}
}
}
else {
for($ii=0;$ii<sizeof($softsDi);$ii++) {
if( ! empty($laRequeteF) ) $laRequeteF .= " AND ";
$laRequeteF .= " h.id NOT IN(SELECT DISTINCT(ss.hardware_id) FROM softwares ss WHERE ss.name like '%".$softsDi[$ii][0]."%')";
}
}
for($ii=0;$ii<sizeof($softsDi);$ii++) {
if( ! empty($groupReq) ) $groupReq .=" AND";
$groupReq .= " h.id NOT IN(SELECT DISTINCT(ss.hardware_id) FROM softwares ss WHERE ss.name like '%".$softsDi[$ii][0]."%')";
}
if( $_SESSION["usecache"] == true ) {
if(sizeof($regDiff)>=1) {
$regDiff[1] = strtr($regDiff[1], "?*", "_%");
$gluedRegs = getCache( "registry", "regvalue", $regDiff[1], $totRegs );
$reqSid = "SELECT DISTINCT hardware_id FROM registry WHERE name='".$regDiff[0]."' AND regvalue IN('".$gluedRegs."')";
$resSid = mysql_query( $reqSid, $_SESSION["readServer"] );
while( $valSid = mysql_fetch_array($resSid) ) {
$idNotIn[] = $valSid["hardware_id"];
}
}
}
else {
if(sizeof($regDiff)>=1) {
$valRegR = "AND rr.regvalue = '".$regDiff[1]."'";
if( ! empty($laRequeteF) ) $laRequeteF .= " AND";
$laRequeteF .= " h.id NOT IN(SELECT DISTINCT(rr.hardware_id) FROM registry rr WHERE rr.name = '".$regDiff[0]."' $valRegR)";
}
}
if(sizeof($regDiff)>=1) {
$valRegR = " AND rr.regvalue like '%".$regDiff[1]."%'";
if( ! empty($groupReq) ) $groupReq .= " AND";
$groupReq .= " h.id NOT IN(SELECT DISTINCT(rr.hardware_id) FROM registry rr WHERE rr.name = '".$regDiff[0]."' $valRegR)";
}
//modif apportées pour résoudre bug des recherches qui renvoient toutes les machines
if( ! empty($laRequeteF))
$and=" AND ";
if( (! empty($laRequeteF) || ! empty($reqSid)) && ! empty($mesMachines) ) {
$laRequeteF .= $and.$mesMachines;
}
//fin des modifs
if( sizeof( $idNotIn ) > 0 ) {
if( ! empty($laRequeteF) ) $laRequeteF .=" AND";
$idNotIn = @array_unique( $idNotIn );
$gluedId = @implode( "','", $idNotIn );
$laRequeteF .= " h.id NOT IN('".$gluedId."')";
}
if( ! empty($laRequeteF) ) $laRequeteF .= " AND ";
$laRequeteF .= " deviceid<>'_SYSTEMGROUP_' AND deviceid <> '_DOWNLOADGROUP_' ";
if( ! empty($groupReq) ) $groupReq .= " AND ";
$groupReq .= " deviceid<>'_SYSTEMGROUP_' AND deviceid <> '_DOWNLOADGROUP_' ";
$group = " h.id";
$lbl="Recherche multicritères";
$lblChmp[0]=NULL;
$selectPrelim = array("h.id"=>"h.id");
$linkId = "h.id";
$whereId = "h.id";
$countId = "h.id";
$_SESSION["groupReq"] = $groupReqBegin." " .$groupReq;
$req=new Req($lbl,$whereId,$linkId,$laRequeteF,$leSelect,$selectPrelim,$from,$fromPrelim,$group,"h.lastdate DESC",$countId,null,true,null,null,null,null,$selFinal);
}
}
else if($_GET["redo"] || $_GET["c"] || $_GET["av"] || $_GET["page"] || isset($_GET["pcparpage"]) || isset($_GET["newcol"]) )
{
$lblChmp[0]=NULL;
$req=new Req($_SESSION["storedRequest"]->label,$_SESSION["storedRequest"]->whereId,$_SESSION["storedRequest"]->linkId,$_SESSION["storedRequest"]->where,$leSelect,$_SESSION["storedRequest"]->selectPrelim,
$_SESSION["storedRequest"]->from,$_SESSION["storedRequest"]->fromPrelim,$_SESSION["storedRequest"]->group,$_SESSION["storedRequest"]->order,$_SESSION["storedRequest"]->countId,null,true,null,null,null,null,$_SESSION["storedRequest"]->selFinal); // Instanciation du nouvel objet de type "Req"
//echo $requeteCount[0];
}
if($_SESSION["debug"])
echo "<br><font color='brown'><b>".$groupReqBegin." " .$groupReq."</b></font><br><br>";
if( $totSofts > MAX_CACHED_SOFTS || $totRegs > MAX_CACHED_REGISTRY )
echo "<br><center><font color='red'><b>Trop de résultats. Merci d'être plus spécifique.</b></font></center>";
else if( $req != NULL ) {
ShowResults($req,true,false,false,true,false,false,false,true,true);
}
?>
<br>
<table border=0 width=80% align=center><tr align=right><td width=50%>
<form name='optionss' action='index.php?multi=1' method='post'><b><?php echo $l->g(31);?>: </b>
<select name=selOpt OnChange="optionss.submit();"><?php
//Mod By Vince
//$optArray = array($l->g(34), $l->g(33), $l->g(557), $l->g(20), $l->g(26), $l->g(35),
//$l->g(36), $l->g(207), $l->g(25), $l->g(24), $l->g(377), $l->g(65), $l->g(284), $l->g(64), $l->g(554),
//TAG_LBL, $l->g(357), $l->g(46),$l->g(257),$l->g(331),$l->g(209),$l->g(53),$l->g(45), $l->g(312), $l->g(286), $l->g(429), $l->g(512),$l->g(95),$l->g(555),$l->g(556));
$optArray = array($l->g(34), $l->g(33), $l->g(557), $l->g(20), $l->g(26), $l->g(35), $l->g(79),
$l->g(36), $l->g(207), $l->g(25), $l->g(24), $l->g(377), $l->g(65), $l->g(284), $l->g(64), $l->g(554),
TAG_LBL, $l->g(357), $l->g(46),$l->g(257),$l->g(331),$l->g(209),$l->g(53),$l->g(45), $l->g(312), $l->g(286), $l->g(429), $l->g(512),$l->g(95),$l->g(555),$l->g(556));
// End of Vince Mod
//If software is selected, then software version is available
if(is_array($_SESSION["OPT"]) && in_array($l->g(20),$_SESSION["OPT"]))
$optArray = array_merge( $optArray , array($l->g(19)) );
$optArray = array_merge( $optArray, $_SESSION["optCol"]);
sort($optArray);
$countHl++;
echo "<option".($countHl%2==1?" class='hi'":"").">".$l->g(32)."</option>"; $countHl++;
foreach( $optArray as $val) {
if( (!is_array($_SESSION["OPT"]) || !in_array($val,$_SESSION["OPT"])) && $val!="DEVICEID"&& $val!="HARDWARE_ID" || $val==$l->g(20)) {
$countHl++;
echo "<option".($countHl%2==1?" class='hi'":"").">$val</option>";
}
}
?>
</select>
</form></td><td align=left>
<form method=post name=res action=index.php?multi=1><input taborder=2 type=submit name=reset value=<?php echo $l->g(41);?>></form></td>
</td></tr></table>
<?php
$softVersion = false;
if( @in_array($l->g(19),$_SESSION["OPT"]))
$softVersion = true;
if($_SESSION["OPT"]!=0)
{
echo "<form name=machine action=index.php?multi=1 method=post><table border=1 class= 'Fenetre' WIDTH = '75%' ALIGN = 'Center' CELLPADDING='5'>";
$ligne[] = array( $l->g(34),"ipaddr","hardware","",2,5,"",false,true);
$ligne[] = array( $l->g(33),"workgroup","hardware","SELECT DISTINCT workgroup FROM hardware",1,1,"",false,true);
$ligne[] = array( $l->g(557),"userdomain","hardware","SELECT DISTINCT userdomain FROM hardware",1,1,"",false,true);
foreach( $_SESSION["OPT"] as $op )
if( $op == $l->g(20) ) {
$ligne[] = array( $l->g(20),"name","softwares","",2,7,"",false,true,!$softVersion);
if( $softVersion )
break;
}
$ligne[] = array( $l->g(19),"sversion","softwares","",2,1,"",false,true);
$ligne[] = array( $l->g(26),"memory","hardware","",2,3,"MO",false,false);
$ligne[] = array( $l->g(35),"hname","hardware","",2,1,"",false,true);
$ligne[] = array( $l->g(53),"description","hardware","",2,1,"",false,true);
$ligne[] = array( $l->g(46),"lastdate","hardware","",2,2,"",true);
$ligne[] = array( $l->g(357),"useragent","hardware","SELECT DISTINCT useragent FROM hardware",1,1,"",false,false);
$ligne[] = array( $l->g(36),"ssn","bios","",2,1,"",false,true);
$ligne[] = array( $l->g(64),"smanufacturer","bios","",2,1,"",false,true);
$ligne[] = array( $l->g(65),"smodel","bios","",2,1,"",false,true);
$ligne[] = array( $l->g(284),"bmanufacturer","bios","",2,1,"",false,true);
$ligne[] = array( $l->g(207),"ipgateway","networks","",2,5,"",false,true);
$ligne[] = array( $l->g(331),"ipsubnet","networks","",2,5,"",false,true);
$ligne[] = array( $l->g(95),"macaddr","networks","",2,5,"",false,true);
$ligne[] = array( $l->g(25),"osname","hardware","SELECT DISTINCT osname FROM ".($_SESSION["usecache"] == true?"hardware_osname_cache":"hardware"),1,1,"",false,false);
$ligne[] = array( $l->g(286),"oscomments","hardware","SELECT DISTINCT oscomments FROM hardware",2,1,"",false,true);
$ligne[] = array( $l->g(24),"userid","hardware","",2,1,"",false,true);
$ligne[] = array( $l->g(377),"processors","hardware","",2,3,"MHZ",false,false);
$ligne[] = array( $l->g(45),"free","drives","",2,3,"MB",false,false);
$ligne[] = array( $l->g(257),"regname","hardware","SELECT DISTINCT name FROM ".($_SESSION["usecache"] == true?"registry_name_cache":"registry"),1,6,"",false,true);
$ligne[] = array( $l->g(554),"smonitor","hardware","",2,1,"",false,true);
$ligne[] = array( $l->g(555),"fmonitor","hardware","",2,1,"",false,true);
$ligne[] = array( $l->g(556),"lmonitor","hardware","",2,1,"",false,true);
// Mod By Vince
$ligne[] = array( $l->g(79),"printer","hardware","",2,1,"",false,true);
// End mod By Vince
$ligne[] = array( $l->g(209),"bversion","bios","",2,1,"",false,true);
$ligne[] = array( TAG_LBL,"cu","accountinfo","",2,1);
//HARDCODED OPTIONS
$ligne[] = array( $l->g(312), "ipdisc");
$ligne[] = array( $l->g(429), "freq" );
$ligne[] = array( $l->g(512), "tele" );
foreach($_SESSION["optCol"] AS $col) {
if($col!="DEVICEID"&&$col!="TAG"&&$col!="HARDWARE_ID") {
$isDate = isFieldDate($col);
$ligne[] = array( $col,$col,"hardware","accountinfo",2,$isDate ? 2 : 1,"",$isDate,true);
}
}
foreach( $ligne as $laLigne) {
$colATrier[] = $laLigne[0];
}
$indLigneSoft = 0;
sort($colATrier);
foreach($colATrier as $nomLigne) {
foreach($ligne as $laLigne) {
if($laLigne[0] == $nomLigne) {
afficheLigne($laLigne);
break;
}
}
}
$color=$indLigne%2==0?"#F2F2F2":"#FFFFFF";
echo "<tr bgcolor='$color'><td colspan='3' align='right'><input type='hidden' name='max' value='$indLigne'>";
if($_SESSION["OPT"]!=0)
{
echo "<input type=submit taborder=1 name=sub value=".$l->g(30).">";
}
echo "</td></tr></table></form>";
if($_SESSION["OPT"]!=0)
{
echo "<center><i>".$l->g(358)."</i></font></center><br>";
}
}
function afficheLigne($ligne)
{
global $indLigne,$indLigneSoft,$l,$_POST;
$label = $ligne[0];
$champ = $ligne[1];
$table = $ligne[2];
$laRequete = $ligne[3];
$combo = isset($ligne[4]) ? $ligne[4] : 1 ;
$type = isset($ligne[5]) ? $ligne[5] : 1 ;
$leg = isset($ligne[6]) ? $ligne[6] : "" ;
$isDate = isset($ligne[7]) ? $ligne[7] : false ;
$allowExact = isset($ligne[8]) ? $ligne[8] : true ;
$canDisable = isset($ligne[9]) ? $ligne[9] : true ;
if(is_array($_SESSION["OPT"])) {
if(!in_array($label,$_SESSION["OPT"]))
return;
}
else
return;
$color=$indLigne%2==0?"#F2F2F2":"#FFFFFF";
$suff="_".$indLigne;
if( $type == 7) {// un soft
echo"<tr bgcolor=$color><td>";
if( ! $canDisable )
echo "<input type='hidden' name='act$suff' id='act$suff' value='on'>";
echo "<input type=checkbox ".($canDisable?"":"disabled checked")." id='act$suff' name='act$suff'".($_SESSION["softs"][$indLigneSoft][0]=="on"||$_POST["selOpt"]==$label?" checked":"")."> ".$l->g(205)."</input>
<input type=hidden name='chm$suff' value=$champ>
<input type=hidden name='lbl$suff' value='".urlencode($label)."'>
</td><td>$label</td><td>";
echo "<select OnClick='act$suff.checked=true' name='ega$suff'>";
echo "<option".($_SESSION["softs"][$indLigneSoft][2]==$l->g(129)?" selected":"").">".$l->g(129)."</option>";
if( $allowExact ) echo "<option".(($_SESSION["softs"][$indLigneSoft][2]==$l->g(410) or !isset($_SESSION["softs"][$indLigneSoft][2]))?" selected":"").">".$l->g(410)."</option>";
echo "<option".($_SESSION["softs"][$indLigneSoft][2]==$l->g(130)?" selected":"").">".$l->g(130)."</option>";
echo "</select> ";
echo "<input OnClick='act$suff.checked=true' name='val$suff' value=\"".stripslashes($_SESSION["softs"][$indLigneSoft][3])."\">";
$indLigne++;
$indLigneSoft++;
return;
}
echo"
<tr bgcolor=$color>
<td>
<input type=checkbox id='act$suff' name='act$suff'".($_SESSION["reqs"][$label][0]=="on"||$_POST["selOpt"]==$label?" checked":"")."> ".$l->g(205)."</input>
<input type=hidden name='chm$suff' value=$champ>
<input type=hidden name='lbl$suff' value='".urlencode($label)."'>
</td>
<td>
$label
</td>
<td>";
if( $champ == "ipdisc" ) {
echo "<select OnClick='act$suff.checked=true' name='val$suff'>
<option ".($_SESSION["reqs"][$label][3]=="elu"?" selected":"")." value='elu'>".$l->g(502)."</option>
<option ".($_SESSION["reqs"][$label][3]=="for"?" selected":"")." value='for'>".$l->g(503)."</option>
<option ".($_SESSION["reqs"][$label][3]=="nelu"?" selected":"")." value='nelu'>".$l->g(504)."</option>
<option ".($_SESSION["reqs"][$label][3]=="eli"?" selected":"")." value='eli'>".$l->g(505)."</option>
<option ".($_SESSION["reqs"][$label][3]=="neli"?" selected":"")." value='neli'>".$l->g(506)."</option></select></td></tr>";
$indLigne++;
return;
}
else if( $champ == "freq" ) {
echo "<select OnClick='act$suff.checked=true' name='val$suff'>
<option ".($_SESSION["reqs"][$label][3]=="std"?" selected":"")." value='std'>".$l->g(488)."</option>
<option ".($_SESSION["reqs"][$label][3]=="always"?" selected":"")." value='always'>".$l->g(485)."</option>
<option ".($_SESSION["reqs"][$label][3]=="never"?" selected":"")." value='never'>".$l->g(486)."</option>
<option ".($_SESSION["reqs"][$label][3]=="custom"?" selected":"")." value='custom'>".$l->g(487)."</option></select></td></tr>";
$indLigne++;
return;
}
else if( $champ == "tele" ) {
$resTele = @mysql_query("SELECT distinct NAME FROM download_available ORDER BY NAME", $_SESSION["readServer"]);
if( mysql_num_rows( $resTele ) >0 ) {
echo "<select OnClick='act$suff.checked=true' name='ega$suff'>
<option ".($_SESSION["reqs"][$label][2]=="ayant"?" selected":"")." value='ayant'>".$l->g(507)."</option>
<option ".($_SESSION["reqs"][$label][2]=="nayant"?" selected":"")." value='nayant'>".$l->g(508)."</option>
</select> ".$l->g(498).": <select OnClick='act$suff.checked=true' name='val$suff'>";
while( $valTele = mysql_fetch_array( $resTele )) {
echo "<option ".($_SESSION["reqs"][$label][3]==$valTele["NAME"]?" selected":"").">".$valTele["NAME"]."
</option>";
}
echo "</select> ".$l->g(546).": <select OnClick='act$suff.checked=true' name='val2$suff'>
<option ".($_SESSION["reqs"][$label][4]=="ind"?" selected":"")." value='ind'>".$l->g(509)."</option>
<option ".($_SESSION["reqs"][$label][4]=="nsuc"?" selected":"")." value='nsuc'>".$l->g(548)."</option>
<option ".($_SESSION["reqs"][$label][4]=="suc"?" selected":"")." value='suc'>SUCCESS</option>
<option ".($_SESSION["reqs"][$label][4]=="stats"?" selected":"")." value='stats'>".$l->g(482)."</option>";
$resState = @mysql_query("SELECT distinct(tvalue) FROM devices WHERE tvalue<>'SUCCESS' AND tvalue IS NOT NULL AND name='DOWNLOAD'", $_SESSION["readServer"]);
while( $valState = @mysql_fetch_array( $resState )) {
echo "<option ".($_SESSION["reqs"][$label][4]==$valState["tvalue"]?" selected":"")." value='".$valState["tvalue"]."'>".$valState["tvalue"]."</option>";
}
echo "</select>";
$indLigne++;
}
else {
echo $l->g(510);
}
return;
}
if($type != 4 && $type != 6) {
echo $_SESSION["reqs"][$label][2];
echo "<select OnClick='act$suff.checked=true' name='ega$suff'>
<option".($_SESSION["reqs"][$label][2]==$l->g(129)?" selected":"").">".$l->g(129)."</option>";
if( $allowExact ) echo "<option".(($_SESSION["reqs"][$label][2]==$l->g(410) or !isset($_SESSION["reqs"][$label][2]))?" selected":"").">".$l->g(410)."</option>";
echo "<option".($_SESSION["reqs"][$label][2]==$l->g(130)?" selected":"").">".$l->g(130)."</option>";
if( $isDate) {
echo "<option".($_SESSION["reqs"][$label][2]==$l->g(346)?" selected":"").">".$l->g(346)."</option><option".($_SESSION["reqs"][$label][2]==$l->g(347)?" selected":"").">".$l->g(347)."</option>";
}
else if( $type==2||$type==3 )
{
echo "<option".($_SESSION["reqs"][$label][2]==$l->g(201)?" selected":"").">".$l->g(201)."</option><option".($_SESSION["reqs"][$label][2]==$l->g(202)?" selected":"").">".$l->g(202)."</option>";
}
if ($type==3)
{
echo "<option".($_SESSION["reqs"][$label][2]==$l->g(203)?" selected":"").">".$l->g(203)."</option>";//<option".($_POST["ega$suff"]==$l->g(204)?" selected":"").">".$l->g(204)."</option>";
}
}
else if( $type != 6)
echo $l->g(129);
if( $type != 6)
echo "</select> ";
if($combo==1)
{
echo "<select OnClick='act$suff.checked=true' name='val$suff'>";
$res=mysql_query($laRequete, $_SESSION["readServer"]) or die(mysql_error($_SESSION["readServer"]));
$linSel = "LINUX" == $_SESSION["reqs"][$label][3] ?" selected":"";
$winSel = "WINDOWS" == $_SESSION["reqs"][$label][3] ?" selected":"";
$macOSX = "MacOSX" == $_SESSION["reqs"][$label][3] ?" selected":""; //add by WES Young
if( $champ=="osname")
echo "<option value='LINUX' $linSel>LINUX (".$l->g(547).")</option>
<option value='WINDOWS' $winSel>WINDOWS (".$l->g(547).")</option>
<option value='MacOSX' $macOSX>MacOSX (".$l->g(547).")</option>";//add by WES Young
while($row=mysql_fetch_array($res))
{
if($row[0]=="") continue;
$selected = $row[0]== $_SESSION["reqs"][$label][3] ?" selected":"";
echo "<option$selected>".$row[0]."</option>\n";
}
echo "</select>";
}
else
{
if( $isDate ) {
echo "<input READONLY ".dateOnClick("val$suff","act$suff")." OnClick='act$suff.checked=true' name='val$suff' id='val$suff' value='"./*dateFromMysql(*/$_SESSION["reqs"][$label][3]/*)*/."'>".datePick("val$suff","act$suff");
}
else
echo "<input OnClick='act$suff.checked=true' name='val$suff' value=\"".stripslashes($_SESSION["reqs"][$label][3])."\">";
if ($type==3) // deux inputs pour "entre machin et truc"
{
echo " -- <input OnClick='act$suff.checked=true' name='val2$suff' value='".$_SESSION["reqs"][$label][4]."'>";
}
}
if( $type == 6) {
echo "<select OnClick='act$suff.checked=true' name='ega$suff'>
<option".($_SESSION["reqs"][$label][2]==$l->g(129)?" selected":"").">".$l->g(129)."</option>";
if( $allowExact ) echo "<option".(($_SESSION["reqs"][$label][2]==$l->g(410) or !isset($_SESSION["reqs"][$label][2]))?" selected":"").">".$l->g(410)."</option>";
echo "<option".($_SESSION["reqs"][$label][2]==$l->g(130)?" selected":"").">".$l->g(130)."</option></select>";
/*$reqRes = mysql_query("SELECT DISTINCT(regvalue) FROM registry", $_SESSION["readServer"]) or die(mysql_error($_SESSION["readServer"])); // mesmachines
echo " ".$l->g(224).": */
echo "<input OnClick='act$suff.checked=true' name='valreg$suff' value='".($_SESSION["reqs"][$label][5])."'>";
/*while($row=mysql_fetch_array($reqRes))
{
if($row[0]=="") continue;
$selected = $row[0]== $_SESSION["reqs"][$label][5] ?" selected":"";
echo "<option$selected>".$row[0]."</option>\n";
}*/
echo "</input>";
}
echo " $leg</td></tr>";
$indLigne++;
}
function getCache( $table, $field, $value, &$count ) {
$reqCache = "SELECT ".$field." FROM ".$table."_".$field."_cache WHERE ".$field." LIKE '%".$value."%' AND ".$field." IS NOT NULL";
$resCache = mysql_query( $reqCache, $_SESSION["readServer"] );
$cached = array();
while( $valCache = mysql_fetch_array( $resCache ) ) {
if( $count > 200 )
return NULL;
$cached[] = $valCache[$field];
$count++;
}
$glued = @implode("','", $cached);
return $glued;
}
function isFieldDate($nom) {
if( $nom == "lastdate" )
return true;
$reqType = "SELECT $nom FROM accountinfo";
if( $resType = @mysql_query($reqType, $_SESSION["readServer"])) {
$valType = mysql_fetch_field($resType);
return ($valType->type == "date");
}
return false;
}
?>Enjoy ![]()
Stonedge
Last edited by Stonedge (2010-07-16 14:18:57)
Offline
I have subscribed this thread for further referance.
Regards
twose41
Offline
Pages: 1