gest366/modules/gestione_componenti/modutil.php

84 lines
2.0 KiB
PHP
Raw Normal View History

2021-02-24 20:40:04 +00:00
<?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;
}
?>