MODUL :: Typ: Content :: Name: Download All v 1.1
Verfasst: Mo 23. Apr 2007, 23:42
Hallo Leute,
hier noch ein weiteres Downloadmodul von mir. Nähre Informationen entnehmt ihr bitte der Beschreibung.
Die benötigten Icons findet ihr hier:
http://www.marcelbensch.de/upload/downloads/icons.zip
Diese müssen nach cms/images entpackt werden.
Download All v 1.1
Greetz,
Wayfearer
EDIT: 15.07.2007 -----------------------
- Downloadlink für Icons funktioniert wieder
- Bug bei der Verlinkung gefixt, Danke an wosch
hier noch ein weiteres Downloadmodul von mir. Nähre Informationen entnehmt ihr bitte der Beschreibung.
Die benötigten Icons findet ihr hier:
http://www.marcelbensch.de/upload/downloads/icons.zip
Diese müssen nach cms/images entpackt werden.
Download All v 1.1
Viel Spaß damit, für Anregungen, Fragen, Lob, Kritik und sonstige konstruktive Kommentare bin ich immer offen !Modulbeschreibung:Modul Input:Code: Alles auswählen
Download All v 1.1 Modul um eine Downloadliste zu generieren, die unbegrenzt viele Files unterstützt und auf beide Dateisysteme zugreifen kann. Man kann einen speziellen Ordner auswählen oder den Inhalt aller Ordner anzeigen lassen die im Datenbankdateisystem liegen und im verzeichnis uploads/Downloads. Eingeblendet werden Symbol, Dateiname, Beschreibung und Größe. Für die richtige Funktionalität müssen alle Dateien über die Dateiverwaltung eingepflegt werden. Autor: Marcel André Bensch Created: 23.04.2007 Info unter: public[at]marcelbensch.de www.marcelbensch.de Changelog: 15.07.2007: - Bug bei der Verlinkung gefixt, Danke an wosch !
Modul Output:Code: Alles auswählen
?><?php /*********************************************** * CONTENIDO MODUL - INPUT * * Modulname : Download All v 1.0 * Author(s) : Marcel Bensch * Copyright : Marcel Bensch, www.marcelbensch.de * Created : 23.04.2007 ************************************************/ #Selected Download directory $cms_dirname = "CMS_VALUE[1]"; $specificfolder = "CMS_VALUE[2]"; if ($cms_dirname == '' || $cms_dirname == '0') { $cms_dirname = '--- Bitte wählen ---'; } #Get paths $sql = "SELECT htmlpath, frontendpath FROM ".$cfg["tab"]["clients"]." WHERE idclient = ".$client." "; $db->query($sql); if ($db->next_record()) { $htmlpath = $db->f('htmlpath'); $frontendpath = $db->f('frontendpath'); } #Choose image folder echo '<table cellpadding="0" cellspacing="0" border="0"> <tr><td class="text_medium" style="padding:5px;"> <label> <input name="CMS_VAR[2]" type="checkbox" value="1"'; if ( $specificfolder == "1") { echo 'checked';} echo '/>Nur Dateien aus speziellem Verzeichnis anzeigen</label></td></tr> <tr><td class="text_medium" style="padding:5px">'; echo '<select name="CMS_VAR[1]" style="width:200px">'; #Get upload directories $sql = "SELECT DISTINCT dirname FROM ".$cfg["tab"]["upl"]." WHERE idclient='$client' ORDER BY dirname"; $db->query($sql); $selected = false; while ($db->next_record()) { $dirname = $db->f('dirname'); if ($cms_dirname != $dirname) { echo '<option value="'.$dirname.'"> '.$dirname.'</option>'; } else { $selected = true; echo '<option value="'.$dirname.'" selected="selected"> '.$dirname.'</option>'; } } if (!$selected) { echo '<option value="0" selected="selected">'.i18n("Bitte wählen").'</option>'; } else { echo '<option value="0">'.i18n("Bitte wählen").'</option>'; } echo '</select> <input type="image" src="images/submit.gif">'; echo '</td></tr>'; echo '</table>'; ?><?php
Code: Alles auswählen
<?php /************************************************************************ * CONTENIDO MODUL - OUTPUT * * Modulname : Download All v 1.0 * Author(s) : Marcel Bensch * Copyright : Marcel Bensch, www.marcelbensch.de * Created : 23.04.2007 *************************************************************************/ //Variablen werden festgelegt $dirname = "CMS_VALUE[1]"; $specificfolder = "CMS_VALUE[2]"; $fileicon = array( '*' => 'images/file.gif', 'bz2' => 'images/rarfile.gif', 'c' => 'images/cfile.gif', 'cpp' => 'images/cppfile.gif', 'doc' => 'images/docfile.gif', 'exe' => 'images/exefile.gif', 'h' => 'images/hfile.gif', 'htm' => 'images/htmfile.gif', 'html' => 'images/htmfile.gif', 'gif' => 'images/imgfile.gif', 'gz' => 'images/zipfile.gif', 'jpg' => 'images/imgfile.gif', 'js' => 'images/jsfile.gif', 'm' => 'images/mfile.gif', 'mp3' => 'images/mpgfile.gif', 'mpg' => 'images/mpgfile.gif', 'pdf' => 'images/pdffile.gif', 'png' => 'images/imgfile.gif', 'ppt' => 'images/pptfile.gif', 'rar' => 'images/rarfile.gif', 'swf' => 'images/swffile.gif', 'txt' => 'images/txtfile.gif', 'xls' => 'images/xlsfile.gif', 'zip' => 'images/zipfile.gif', ); // Abfrage ob ein spezielles Verzeichnis verwendet wird if ( $specificfolder == '1' ) { $dir = $dirname; } else { $dirname = '0';} // Datenbankabfrage generieren if ($dirname == "0") { $sql = "SELECT filename, description, filetype, size, dirname FROM con_upl WHERE dirname = 'dbfs:/' OR dirname LIKE 'dbfs:/%' OR dirname = 'downloads/' OR dirname LIKE 'downloads/%' ORDER BY idupl"; } else { $sql = "SELECT filename, description, filetype, size, dirname FROM con_upl WHERE dirname = '$dirname' ORDER BY idupl"; } //Datenbank abfragen $db->query($sql); //Tabelle und Überschriften generieren echo '<table width="600" cellspacing="5"><tr style="color:white; background-color:#00377d; font-face:verdana; size: 10pt; font-weight:bold;"> <td> Typ </td> <td> Name </td> <td> Beschreibung </td> <td> Größe </td> </tr>'; // Daten aus Datenbank auslesen while ($db->next_record()) { $filename = $db->f('filename'); //--> Dateiname wird ausgelesen $description = $db->f('description'); //--> Dateibeschreibung wird ausgelesen $description = urldecode($description); //--> Dateibeschreibung wird in HTML konvertiert $filetype = $db->f('filetype'); //--> Dateityp wird ausgelesen $size_ = $db->f('size'); //--> Dateigröße wird ausgelesen $dirs = $db->f('dirname'); //--> Es werden die Verzeichnisse des Querys ausgelesen für den Fall, das kein spezielles definiert wurde // Dateigröße wird gerundet und als kb oder MB ausgeben $size = round($size_/1000, 2); if ($size >= 1000) { $size = round($size/1000, 2); $printsize = $size.' MB'; } else { $printsize = $size.' kb';} // Es wird überprüft ob ein spezielles Verzeichnis angegeben wurde, // dann wird selektiert nach Dateien aus dem Datenbanksystem und Dateien // aus dem normalen Filesystem und dann werden die Links generiert if ($dirname == '0'){ if ($dirs == 'dbfs:/'){ $linktarget = 'dbfs.php?file=dbfs:/'; } else {$linktarget = 'upload/'.$dirs;} } else { if ($dir == 'dbfs:/'){ $linktarget = 'dbfs.php?file=dbfs:/';} else { $linktarget = 'upload/'.$dir;} } // Der Code für den letztendlichen download wird ausgegeben echo '<tr><td valign="top"><img src="'.$fileicon[$filetype].'"/></td> <!-- Icon wird ausgegeben --> <td valign="top"><a href="'.$linktarget.$filename.'">'.$filename.'</a></td> <!-- Dateiname mit Link wird ausgegeben --> <td valign="top">'.$description.'</td> <!-- Dateibeschreibung wird ausgegeben ---> <td valign="top">'.$printsize.'</td>',"\n"; //Dateigröße wird ausgegeben } // Die Tabelle wird abgeschlossen echo '</tr></table>'; // Der Query wird geleert und die Datenbankverbindung geschlossen $db->free(); ?>
Greetz,
Wayfearer
EDIT: 15.07.2007 -----------------------
- Downloadlink für Icons funktioniert wieder
- Bug bei der Verlinkung gefixt, Danke an wosch