<?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; } ?>