$modname, 'dependacy' => $depends, 'version' => $version, 'parms' => $parms, 'file' => $file, 'modprobe' => $modprobe, 'plugin' => $pluginfile, 'state' => $state, 'type' => $dir, 'support' => $support, 'supporturl' => $supporturl, 'description' => $desc ]; } function modtoplg() { global $modtoplgfile,$kernel; $files = $list = []; $kernelsplit = explode('-',$kernel); $kernelvers = trim($kernelsplit[0],"\n"); $files = glob('/boot/config/plugins/*/packages/'.$kernelvers.'/*.{txz,tgz}', GLOB_BRACE); foreach ($files as $f) { $plugin = str_replace("/boot/config/plugins/", "", $f); $plugin = substr($plugin,0,strpos($plugin,'/') ); $tar = []; exec("tar -tf $f | grep -E '.ko.xz|.ko' ",$tar); foreach ($tar as $t) { $p = pathinfo($t); $filename = str_replace(".ko","",$p["filename"]); $list[$filename] = $plugin; } } file_put_contents($modtoplgfile,json_encode($list,JSON_PRETTY_PRINT)); } function createlist() { global $modtoplgfile, $sysdrvfile, $lsmod, $kernel,$arrModules, $modplugins,$arrModtoPlg; $arrModtoPlg = json_decode(file_get_contents($modtoplgfile) ,TRUE); $builtinmodules = file_get_contents("/lib/modules/$kernel/modules.builtin"); $builtinmodules = explode(PHP_EOL,$builtinmodules); $procmodules =file_get_contents("/lib/modules/$kernel/modules.order"); $procmodules = explode(PHP_EOL,$procmodules); $arrModules = []; $list = scandir('/var/log/plugins/'); foreach($list as $f) $modplugins[plugin("name" , @readlink("/var/log/plugins/$f"))] = @readlink("/var/log/plugins/$f"); foreach($builtinmodules as $bultin) { if (!$bultin) continue; getmodules(pathinfo($bultin)["filename"]); } foreach($procmodules as $line) { if (!$line) continue; getmodules(pathinfo($line)["filename"]); } $lsmod2 = explode(PHP_EOL,$lsmod); foreach($lsmod2 as $line) { if (!$line) continue; $line2 = explode(" ",$line); getmodules($line2['0']); } unset($arrModules['null']); file_put_contents($sysdrvfile,json_encode($arrModules,JSON_PRETTY_PRINT)); } ?>