Das AutoIndex PHP Script ist ein Website Directory Indexer und Dateimanager.
In Aktion ist das Skript unter http://rpms.serviert.de/ zu sehen, wo ein RPM Repositorium dargestellt wird.
Damit man in der Spalte Beschreibung die Ausgabe der RPM Informationen sehen kann, ist die Datei classes/Item.php anzupassen.
Es muss zusätzlich das in der Konfigurationsdatei das (webserver-)beschreibbare Verzeichnis existieren. In dieser wird die Ausgabe des rpm-Befehls gecacht. Das Verzeichnis ist ebenso in die Datei hidden_files aufzunehmen, so dass es vom Index ausgenommen wird.
excerpt of AutoIndex.conf.php
cache_dir ./cache
diff für Item.php
179c179,194
< $this -> description = ((DESCRIPTION_FILE && $descriptions -> is_set($full_name)) ? $descriptions -> __get($full_name) : ' ');
---
> global $config;
> if (substr($full_name,-3) == "rpm") {
> $mydescription="<pre><font size=1>";
> $rpm_description=$config -> __get('cache_dir')."/".md5($full_name);
> if (! file_exists($rpm_description)) {
> $mydescription .= shell_exec("rpm -qpiv ".$full_name." > ".$rpm_description);
> }
> $mydescription .= shell_exec("cat ".$rpm_description);
> $mydescription .= "</font></pre>";
> } else {
> // $mydescription=shell_exec("file ".$full_name);
> $mydescription=" ";
> }
> $this -> description = ((DESCRIPTION_FILE && $descriptions -> is_set($full_name)) \
> ? $descriptions -> __get($full_name) : $mydescription);
> // $this -> description = ((DESCRIPTION_FILE && $descriptions -> is_set($full_name)) ? $descriptions -> __get($full_name) : ' ');