84 lines
2.0 KiB
PHP
84 lines
2.0 KiB
PHP
|
<?php
|
||
|
|
||
|
|
||
|
/**
|
||
|
* dir = cartella dove pescare i file .ini
|
||
|
* id_list = componenti già applicati
|
||
|
*/
|
||
|
function get_componenti( $dir, $id_list='' ){
|
||
|
//lettura dei files della cartella dove risiede il file con lo script
|
||
|
$file_trovati = array();
|
||
|
$componenti_trovati = array();
|
||
|
$cmp = array();
|
||
|
|
||
|
if ($id_list=='0' || $id_list==''){
|
||
|
$gia_installati = array();
|
||
|
}else{
|
||
|
$gia_installati = array();
|
||
|
$gia_installati = explode(',',$id_list);
|
||
|
}
|
||
|
|
||
|
if (is_dir($dir)) {
|
||
|
if ($dh = opendir($dir)) {
|
||
|
while( ($file = readdir($dh)) !== false ){
|
||
|
if( $file<>"." && $file<>".." ){
|
||
|
$ext = estensione_del_file($file);
|
||
|
|
||
|
if ($ext == "ini") { // vengono accettati solo i files con estensione ini
|
||
|
$file_trovati[] = $file;
|
||
|
$ini_array = parse_ini_file( $dir.$file, true );
|
||
|
$componenti_trovati[] = $ini_array['Nome']['valore'];
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
closedir($dh);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//Ordino alfabeticamente il <select>
|
||
|
array_multisort( $componenti_trovati, $file_trovati );
|
||
|
|
||
|
|
||
|
//visualizzazione di quanto è stato letto
|
||
|
if( is_array($file_trovati) && sizeof($file_trovati) > 0 ){
|
||
|
|
||
|
//controllo se ho già aggiunto tutti i componenti
|
||
|
if( sizeof($file_trovati) > sizeof($gia_installati) ){
|
||
|
|
||
|
//per tutti i componenti di possibile installazione
|
||
|
for( $i=0; $i<sizeof($file_trovati); $i++ ){
|
||
|
$found = false;
|
||
|
|
||
|
// controllo che non siano già stati installati
|
||
|
for( $j=0; $j<sizeof($gia_installati); $j++ ){
|
||
|
if( $file_trovati[$i] == $gia_installati[$j] ){
|
||
|
$found = true;
|
||
|
$j = sizeof($gia_installati);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
if( !$found )
|
||
|
array_push( $cmp, array($file_trovati[$i], $componenti_trovati[$i]) );
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return $cmp;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
/**
|
||
|
* Legge il contenuto del componente del file .ini
|
||
|
*/
|
||
|
function get_contenuto_componente( $ini ){
|
||
|
global $docroot;
|
||
|
$file = file_get_contents( $docroot."/files/my_impianti/".$ini, true );
|
||
|
return $file;
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
?>
|