Changeset 247

Show
Ignore:
Timestamp:
05/22/07 16:19:12 (2 years ago)
Author:
ludo
Message:

lots of small bugs fixed. initial glpi support. (from r4423)

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/webmin/lrs-inventory/agent/transfertNG.php

    r208 r247  
    8686                        } 
    8787                } 
    88  
     88                 
     89                /* GLPI import */ 
     90                if (1) { 
     91                        $mach = ereg_replace('-[0-9]{4}-[0-9]{2}-[0-9]{2}-[0-9]{2}-[0-9]{2}-[0-9]{2}$', '', $DEVICEID); 
     92                        system("/var/lib/lrs/php ./importGLPI.php $mach >/tmp/glpi.log 2>&1"); 
     93                } 
    8994        } 
    9095 
  • trunk/webmin/lrs-inventory/classes/Components/Bios.php

    r133 r247  
    1313        { 
    1414                $this->m_Properties = array(    'Serial'=>'' ,  
    15                                                                                'Version'=>'' , 
    16                                                                                'Vendor'=>'' , 
    17                                                                                'Chipset'=>'' , 
    18                                                                                'ChipsetSerial'=>'' , 
    19                                                                                'ChipsetVendor'=>'' , 
    20                                                                                'MachineType'=>'' ); 
     15                                                'Version'=>'' , 
     16                                                'Vendor'=>'' , 
     17                                                'Chipset'=>'' , 
     18                                                'ChipsetSerial'=>'' , 
     19                                                'ChipsetVendor'=>'' , 
     20                                                'TypeMachine'=>'' ); 
    2121        } 
    2222 
     
    148148        function getMachineType() 
    149149        { 
    150                 return $this->getProperty('MachineType'); 
     150                return $this->getProperty('TypeMachine'); 
    151151        } 
    152152 
     
    158158        function setMachineType($machinetype) 
    159159        { 
    160                 $this->setProperty('MachineType',$machinetype); 
     160                $this->setProperty('TypeMachine',$machinetype); 
    161161        } 
    162162 
  • trunk/webmin/lrs-inventory/classes/Components/Hardware.php

    r133 r247  
    1212        function Hardware() 
    1313        { 
    14                 $this->m_Properties = array(    'ProcessorType'=>'' , 
     14                $this->m_Properties = array(    'Description'=>'', 
     15                                                'Type'=>'', 
     16                                                'ProcessorType'=>'' , 
    1517                                                'ProcessorFrequency'=>'' , 
    1618                                                'ProcessorCount'=>'' , 
  • trunk/webmin/lrs-inventory/classes/Components/Input.php

    r133 r247  
    1313        { 
    1414                $this->m_Properties = array(    'Type'=>'' ,  
    15                                                                                 'StandardDescription'=>'' , 
    16                                                                                 'ExpandedDescription'=>'' , 
    17                                                                                 'Connector'=>'' ); 
     15                                                'StandardDescription'=>'' , 
     16                                                'ExpandedDescription'=>'' , 
     17                                                'Manufacturer'=>'' , 
     18                                                'PointType'=>'' , 
     19                                                'Connector'=>'' ); 
    1820        } 
    1921         
  • trunk/webmin/lrs-inventory/classes/Components/Memory.php

    r133 r247  
    1414                $this->m_Properties = array(    'Type'=>'' ,  
    1515                                                'ExtendedDescription'=>'' , 
     16                                                'Description'=>'' , 
    1617                                                'Size'=>'' , 
    1718                                                'ChipsetType'=>'' , 
  • trunk/webmin/lrs-inventory/classes/DataSource.php

    r133 r247  
    1818        var $m_Sources; 
    1919        var $m_SourceConfigurations; 
     20        var $m_ClassPrefix; 
    2021 
    2122        /** 
     
    2829                $this->m_Sources = array(); 
    2930                $this->m_SourceConfigurations = DataSourceConfiguration::loadFromFile($DATASOURCECONFIGURATION); 
     31                $this->m_ClassPrefix = ""; 
    3032        } 
    3133         
     
    228230        } 
    229231         
     232        /* 
     233         * Load a component class 
     234         */ 
    230235        function loadComponentClass($classname) 
    231236        { 
     
    233238 
    234239                global $INCLUDE_PATH; 
    235  
    236                 include_once($INCLUDE_PATH .'Components/'. $classname .'.php'); 
     240                 
     241                $pre = $this->m_ClassPrefix; 
     242                if (class_exists($pre.$classname)) 
     243                        return; 
     244 
     245                if ($pre == "" || $classname == "Component" || $classname == "Object") { 
     246                        include_once($INCLUDE_PATH .'Components/'. $classname .'.php'); 
     247                } else { 
     248                        // rename the class name 
     249                        ini_set("include_path", ".:".$INCLUDE_PATH .'Components/'); 
     250                        $class = join("", file($INCLUDE_PATH .'Components/'. $classname .'.php')); 
     251                        $class = preg_replace("/class ".$classname." extends /", "class ".$pre.$classname." extends ", $class); 
     252                        $class = preg_replace("/function ".$classname."\(\)/", "function ".$pre.$classname."()", $class); 
     253                        $class = preg_replace("/^<.php/", "// $0", $class); 
     254                        $class = preg_replace("/\\?>/", "// $0", $class); 
     255                        eval($class); 
     256                } 
    237257        } 
    238258 
  • trunk/webmin/lrs-inventory/classes/Drivers/Sql/SqlDriver.php

    r208 r247  
    2222        var $m_InvIdDate; 
    2323        var $m_InvIdTime; 
     24        var $m_DBName; 
    2425 
    2526        /** 
     
    3839                $this->m_CachedMachines = array(); 
    3940                $this->m_LatestMachineInventory = array(); 
     41                $this->m_DBName = $parameters['Database']; 
    4042        } 
    4143 
     
    602604                                if ( $machine == "*ALL*")  
    603605                                        $getall = 1; 
     606                                else  
     607                                        $getall = 0; 
    604608                                // if it is a MAC address 
    605609                                if ( eregi('^[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}:[0-9a-f]{2}$', $machine) ) 
     
    720724        { 
    721725                global $datasource; 
     726 
     727                $pre = $datasource->m_ClassPrefix; 
    722728                $datasource->loadComponentClass($type); 
    723729 
     
    797803                                $objectid = $connection->Record['id']; 
    798804         
    799                                 $object = new $type; 
     805                                $pretype = $pre.$type; 
     806                                $object = new $pretype; 
    800807         
    801808                                // Update host<=>component link 
     
    10141021                $newname = eregi_replace("[^0-9a-z-]", "_", $name); 
    10151022                 
    1016                 $sql = "ALTER TABLE Custom ADD $newname $type;";  
     1023                $def = "DEFAULT 0"; 
     1024                if (strstr($type, "varchar")) $def = "DEFAULT \"\""; 
     1025                $sql = "ALTER TABLE Custom ADD $newname $type $def;"; 
    10171026                $this->m_Connection->query($sql); 
    1018  
    10191027        }  
     1028         
     1029        /** 
     1030         * Delete a field in the Custom table 
     1031         * 
     1032         * @param name  
     1033         */ 
     1034        function delCustomField($name) 
     1035        { 
     1036                $newname = eregi_replace("[^0-9a-z-]", "_", $name); 
     1037                 
     1038                $sql = "ALTER TABLE Custom DROP COLUMN $newname;";  
     1039                $this->m_Connection->query($sql); 
     1040        } 
    10201041         
    10211042        /** 
     
    10511072        }  
    10521073         
    1053  
     1074        /* Send a 'USE db' query to WA some PHP/Mysql bugs */ 
     1075        function forceUse() 
     1076        { 
     1077                $connection = $this->m_Connection; 
     1078                $connection->query("USE ".$this->m_DBName); 
     1079        } 
    10541080} 
    10551081 
  • trunk/webmin/lrs-inventory/classes/Drivers/Xml/Maps/OcsNGMap.xml

    r208 r247  
    2222                <MappedField from="WINOWNER" to="RegisteredName" /> 
    2323                <MappedField from="WINPRODID" to="OSSerialNumber" /> 
     24                <MappedField from="DESCRIPTION" to="Description" /> 
     25                <MappedField from="TYPE" to="Type" /> 
    2426 
    2527        </MappedObject> 
     
    2729        <MappedObject name="BIOS" class="Bios"> 
    2830 
    29                 <MappedField from="SMANUFACTURER" to="SmbManufacturer" /> 
    30                 <MappedField from="SMODEL" to="SmbProduct" /> 
    31                 <MappedField from="SSN" to="SmbSerial" /> 
     31                <MappedField from="SMANUFACTURER" to="ChipVendor" /> 
     32                <MappedField from="SMODEL" to="Chipset" /> 
     33                <MappedField from="SSN" to="Serial" /> 
    3234                <MappedField from="BMANUFACTURER" to="BiosVendor" /> 
    3335                <MappedField from="BVERSION" to="BiosVersion" /> 
    3436                <MappedField from="BDATE" to="ChipSerial" /> 
     37                <MappedField from="TYPE" to="TypeMachine" /> 
    3538 
    3639        </MappedObject> 
     
    5457                <MappedField from="DESCRIPTION" to="ExpandedDescription" /> 
    5558                <MappedField from="INTERFACE" to="Connector" /> 
     59                <MappedField from="MANUFACTURER" to="Manufacturer" /> 
     60                <MappedField from="POINTTYPE" to="PointType" /> 
    5661 
    5762        </MappedObject> 
     
    6570                <MappedField from="SPEED" to="Frequency" /> 
    6671                <MappedField from="NUMSLOTS" to="SlotCount" /> 
     72                <MappedField from="DESCRIPTION" to="Description" /> 
    6773 
    6874        </MappedObject> 
  • trunk/webmin/lrs-inventory/classes/Drivers/Xml/XmlDriver.php

    r208 r247  
    324324        function characterDataXmlParser($parser, $data) 
    325325        { 
    326 exec("echo \"==D\" >>/tmp/log");                         
    327326                if ( trim($data) != "" && $data!='N/A' && isset($GLOBALS['CURRENTOBJECT'])) 
    328327                {                
     
    334333                        $machine = & $GLOBALS['CURRENTMACHINE']; 
    335334 
    336 exec("echo \"==C\" >>/tmp/log");                         
    337335                        // Sets the machine name 
    338336                        if ( ($GLOBALS['CURRENTFIELD']=='Host' || $GLOBALS['CURRENTFIELD']=='NAME') && $GLOBALS['CURRENTTAG']=='HARDWARE') { 
  • trunk/webmin/lrs-inventory/custom.cgi

    r133 r247  
    1818        $driver = $datasource->getDefaultSourceDriver(); 
    1919        $types = $driver->getFields('Custom');  
    20  
    2120        # SQL types for new fields 
    2221        $newtypes = array( 
     
    3938                        // A field has to be delete 
    4039                        case 'delete': 
    41                                 //$machine->deleteCustomField( $_GET['field'] ); 
     40                                $driver->delCustomField( $_GET['field'] ); 
    4241                                break; 
    4342 
     
    102101        if (!$cust) $cust = $empty; 
    103102        $props = $cust->getProperties(); 
    104  
    105103        foreach ( $props as $key => $value ) 
    106104        { 
     
    119117                $template->set_var('ROWCLASS', $parity); 
    120118                $template->set_var('delme', ''); 
    121                 // delete not activated 
    122                 if (0) { 
    123                         // can delete non standard fields only 
    124                         if (!array_key_exists( $key, $empty->m_Properties)) { 
    125                                 $template->parse('delme', 'candelete'); 
    126                                 $template->set_var('DELETE_URL', $deleteurl); 
    127                         } 
     119 
     120                // can delete non standard fields only 
     121                if (!array_key_exists( $key, $empty->m_Properties)) { 
     122                        $template->set_var('DELETE_URL', $deleteurl); 
     123                        $template->parse('delme', 'candelete'); 
    128124                } 
    129125                $template->parse('rows', 'row', true); 
  • trunk/webmin/lrs-inventory/debian/changelog

    r208 r247  
    1 webmin-lrs-inventory (2.1.4) stable; urgency=low 
     1webmin-lrs-inventory (2.1.5) stable; urgency=low 
    22 
    33  * First package. Replaces webmin-lbs-inventory 
  • trunk/webmin/lrs-inventory/module.info

    r208 r247  
    33desc_fr=LRS : Inventaire 
    44depends=1.030 lbs_common 
    5 version=2.1.4 
     5version=2.1.5 
  • trunk/webmin/lrs-inventory/sql/create-db.sh

    r208 r247  
    55 
    66# lastest db version 
    7 TOVER=6 
     7TOVER=7 
    88 
    99#