MODUL :: Typ: Content :: Name: Download All v 1.1

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von rethus » Di 17. Jul 2007, 13:52

sorry wosch, da hatte ich wohl den falschen Quellcode im Auge... wollte dich keiner Geschlechtsumwandlung unterziehen :lol:

wayfearer
Beiträge: 84
Registriert: Fr 13. Apr 2007, 17:37
Wohnort: Siegen
Kontaktdaten:

Template Version

Beitrag von wayfearer » Di 17. Jul 2007, 18:47

Alsoooo, erst mal wieder Danke für das Feedback:

Zur kommenden Version:

- Wird komplett auf Templates basierend
- Eingebauter Downloadcounter mit Hottest Download Funktion
- Anpassbarer Iconpfad für individuelle Icons
- Autoupdate der DB für FTP-Uploads
- Allgemeine Bugfixe und Verbesserungen

Wer sonst noch Ideen und Anregungen hat bitte posten, Hilfe auch gerne gesehen. Also wosch, wenn du willst mach du schonmal ne Templateversion draus und poste mal hier, wäre echt cool.

Wie lange ich noch brauche kann ich nicht genau sagen, da ich zur Zeit voll im Bewerbungsstress bin muss mal sehen das ich endlich ein Job bekommen und wenn das alles in trockenen Tüchern ist dann wird das auch nicht mehr lange dauern.


Mfg,

Marcel

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von rethus » Mi 18. Jul 2007, 15:31

Also ich bin auf dein Modul erst gestoßen, weil ich danach gesucht habe: http://contenido.org/forum/viewtopic.ph ... highlight=

Vielleicht findest du da ja noch ein paar Anreungen, was man mit aufnehmen kann.

Bei der Umsetzung in die Richtung unterstütze ich dich gerne, sobald ich wieder etwas Luft hab... momentan ist hier "Land unter" :D

wayfearer
Beiträge: 84
Registriert: Fr 13. Apr 2007, 17:37
Wohnort: Siegen
Kontaktdaten:

Beitrag von wayfearer » Mi 18. Jul 2007, 15:47

rethus hat geschrieben:... momentan ist hier "Land unter" :D
Ja das geht mir ähnlich :P , aber ich werde mir mal ein paar Gedanken machen. Erklär mir nur noch mal das mit der Versionierung genauer, wie du dir das genau vorstellst.

Marcel

greenhorn2006
Beiträge: 16
Registriert: Mi 27. Sep 2006, 13:04
Kontaktdaten:

Download-Verzeichnis auswählen

Beitrag von greenhorn2006 » Do 19. Jul 2007, 10:39

Kompliment - Super Modul - Vielen Dank!

Nun habe ich noch eine Frage zur Verzeichnisauswahl. Wenn ich das Drop-Down-Menü anklicke, dann zeigt es bei mir nur 14 Verzeichnisse an, obwohl ich über 20 habe. Wie kann ich eines der restlichen Verzeichnisse als Downloadverzeichnis festlegen?

Dalamar
Beiträge: 298
Registriert: Di 16. Nov 2004, 15:43
Wohnort: Arnstadt / Thüringen
Kontaktdaten:

Beitrag von Dalamar » Do 19. Jul 2007, 11:21

Indem Du über die Dateiverwaltung das Verzeichnis anwählst und mind. eine Datei reinlegst. Dann sollten die Verzeichnisse auch auswählbar sein.
Beruflich: eComradeGroup und Media Atoll
Privat: Fantasybuch.net ;)

greenhorn2006
Beiträge: 16
Registriert: Mi 27. Sep 2006, 13:04
Kontaktdaten:

Beitrag von greenhorn2006 » Do 19. Jul 2007, 11:28

Perfekt! Vielen Dank.

rethus
Beiträge: 1851
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Beitrag von rethus » Do 19. Jul 2007, 12:00

Mit der Versionierung ist es folgendermaßen gemeint:

1. Möglichkeit:
Ideal wäre eine Versionierung natürlich direkt in der Dateiverwaltung.
Wenn man z.B. einen Zusatzlink bei der Dateiübersicht hat (hinter jeder Datei) - z-B- "neue Version". Wenn man darauf klickt, kann man von dieser Datei eine neue version hochladen... müsste halt irgendwie intern verknüpft werden.
Standardmäßig wird dann immer die neuste Version der Datei ausgegeben, und - über ne bestimmte Funktion (oder Modul) könnte man dann auf Wunsch auch die ältere Version einer Datei ausgeben.
Sowas müsste aber als so na Art AddOn zur Dateiverwaltung programmiert werden denke ich.

2. Möglichkeit:
Man wählt in einem Versionierungs-Modul mehrere Dateien aus der Dateiverwaltung aus, und kann diese in bestimmter Reihenfolge miteinander verknüpfen. Vielleicht noch entsprechende Hinweistexte zu jeder Version hinterlegen.

roverman
Beiträge: 10
Registriert: Mi 13. Apr 2005, 11:34
Kontaktdaten:

Beitrag von roverman » Di 24. Jul 2007, 15:32

Hallo,

Erst mal, danke für dein Super Modul!

Ich habe aber noch eine kleine Frage:

mann kann ja für jede Datei in der Dateiverwaltung einen "Medienname" angeben. Ich würde gerne bei der ausgegeben liste nun diesen Medienname verwenden statt der Filename (sieht schöner aus..).
hat jemand einen Typ für mich wie ich dies anzeigen kann?
der meidienname ist ja in der con_properties abgelegt, doch wie komme ich da einfach ran?





danke

Remco

wosch

Beitrag von wosch » Mi 25. Jul 2007, 14:50

So, hier eine Template-Version.

Diese Version basiert auf die 1. Version von wayfearer.
Obwohl ich am Input nichts verändert habe hier trotzdem (und sicherheitshalber) auch der Input.

Code: Alles auswählen

/*********************************************** 
* CONTENIDO MODUL  
* 
* Modulname   :     Download All v 1.0 
* Author(s)   :     Marcel Bensch, info@marcelbensch.de 
* Copyright   :     Marcel Bensch, www.marcelbensch.de 
* http://www.contenido.de/forum/viewtopic.php?t=16786
* Created     :     23.04.2007 
* zur Templateversion umgebaut:  25.07.2007 von wosch
************************************************/ 
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. 
- Bug bei der Verlinkung gefixt 
Modul Input:

Code: Alles auswählen

?><?php 
/*********************************************** 
* CONTENIDO MODUL - INPUT 
* 
* Modulname   :     Download All v 1.0 
* Author(s)   :     Marcel Bensch, info@marcelbensch.de 
* 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&auml;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.'">&nbsp;'.$dirname.'</option>'; 
   } else { 
      $selected = true; 
      echo '<option value="'.$dirname.'" selected="selected">&nbsp;'.$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>&nbsp;<input type="image" src="images/submit.gif">'; 
echo '</td></tr>'; 
echo '</table>'; 
?><?php
Modul Output:

Code: Alles auswählen

<?php 
/************************************************************************ 
* CONTENIDO MODUL - OUTPUT 
* 
* Modulname   :     Download All v 1.0 
* Author(s)   :     Marcel Bensch, info@marcelbensch.de 
* Copyright   :     Marcel Bensch, www.marcelbensch.de 
* Created     :     23.04.2007 
* zur Templateversion umgebaut:  25.07.2007 von wosch
*************************************************************************/ 

// Überschriften im Template
$ugroesse = "Größe";
$uname = "Filename";
$utyp = "Typ";
$ubeschreibung = "Beschreibung";

// Template-Version
if (!is_object($tpl)) {
	$tpl = new Template;
}

$tpl->reset();

$template = "download.html";


//Variablen werden festgelegt 

$dirname = "CMS_VALUE[1]"; 
$specificfolder = "CMS_VALUE[2]"; 
$fileicon  = array( 
                 '*'    => 'contenido/images/file.gif', 
                 'bz2'  => 'contenido/images/rarfile.gif', 
                 'c'    => 'contenido/images/cfile.gif', 
                 'cpp'  => 'contenido/images/cppfile.gif', 
                 'doc'  => 'contenido/images/docfile.gif', 
                 'exe'  => 'contenido/images/exefile.gif', 
                 'h'    => 'contenido/images/hfile.gif', 
                 'htm'  => 'contenido/images/htmfile.gif', 
                 'html' => 'contenido/images/htmfile.gif', 
                 'gif'  => 'contenido/images/imgfile.gif', 
                 'gz'   => 'contenido/images/zipfile.gif', 
                 'jpg'  => 'contenido/images/imgfile.gif', 
                 'js'   => 'contenido/images/jsfile.gif', 
                 'm'    => 'contenido/images/mfile.gif', 
                 'mp3'  => 'contenido/images/mpgfile.gif', 
                 'mpg'  => 'contenido/images/mpgfile.gif', 
                 'pdf'  => 'contenido/images/filetypes/pdf.gif', 
                 'png'  => 'contenido/images/imgfile.gif', 
                 'ppt'  => 'contenido/images/pptfile.gif', 
                 'rar'  => 'contenido/images/rarfile.gif', 
                 'swf'  => 'contenido/images/swffile.gif', 
                 'txt'  => 'contenido/images/txtfile.gif', 
                 'xls'  => 'contenido/images/xlsfile.gif', 
                 'zip'  => 'contenido/images/filetypes/zip.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 filename"; 
} else { 
$sql = "SELECT filename, description, filetype, size, dirname FROM con_upl WHERE dirname = '$dirname' ORDER BY filename"; 
} 

//Datenbank abfragen 

$db->query($sql); 

//Tabelle und Überschriften generieren 

			$tpl->set('s', 'utyp', $utyp);
			$tpl->set('s', 'uname', $uname);
			$tpl->set('s', 'ubeschreibung', $ubeschreibung);
			$tpl->set('s', 'ugroesse', $ugroesse);


// 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.'&nbsp;MB'; } 
else { $printsize = $size.'&nbsp;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 

$icon = '<img src="'.$fileicon[$filetype].'"/>';
$linktarget = "$linktarget$filename"; 
// $description  wird direkt aus der Datenbank gelesen
// $printsize wird direkt aus der Datenbank gelesen

                            //Template mit Daten wird ausgegeben 


			$tpl->set('d', 'icon', $icon);
			$tpl->set('d', 'beschreibung', $description);
			$tpl->set('d', 'href', $linktarget);
			$tpl->set('d', 'name', $filename);
			$tpl->set('d', 'groesse', $printsize);
			
			$tpl->next();

} 

		$tpl->generate('templates/'.$template);

// Der Query wird geleert und die Datenbankverbindung geschlossen 

$db->free(); 

?>
Das Modul-HTML-Template - Name: download.html

Code: Alles auswählen

<table border="1" width="400" cellspacing="0" cellpadding="5">
<tr>
<td>&nbsp;{utyp}&nbsp;</td>
<td>&nbsp;{uname}&nbsp;</td>
<td>&nbsp;{ubeschreibung}&nbsp;</td>
<td>&nbsp;{ugroesse}&nbsp;</td>
</tr>
<!-- BEGIN:BLOCK -->
<tr>
<td valign="top">{icon}</td>
<td valign="top"><a href="{href}">{name}</a></td>
<td valign="top">{beschreibung}</td>
<td valign="top">{groesse}</td>
</tr>
<!-- END:BLOCK -->
</table>
Zum Output noch ein Hinweis, ich habe die Grafik-Icon aus dem Contenido-Verzeichnis genommen, wer ein separates Verzeichnis möchte muß den Pfade entsprechend abändern.
Zuletzt geändert von wosch am Do 26. Jul 2007, 18:09, insgesamt 2-mal geändert.

wayfearer
Beiträge: 84
Registriert: Fr 13. Apr 2007, 17:37
Wohnort: Siegen
Kontaktdaten:

Beitrag von wayfearer » Do 26. Jul 2007, 14:20

Super sache, danke wosch !!!

rok°!
Beiträge: 47
Registriert: Do 17. Nov 2005, 18:17
Kontaktdaten:

Beitrag von rok°! » Fr 27. Jul 2007, 12:32

Hallo!
Super Modul! Vielen Dank!
Ich hätte da noch einen Wunsch/Vorschlag:

Momentan werden alle Dateien auch aus den Untervereichnissen angezeigt. Könnte man das Modul nicht so bauen, dass man selbst durch die Verzeichnisse navigiert?

Jamest
Beiträge: 137
Registriert: Mi 2. Aug 2006, 09:29
Kontaktdaten:

Beitrag von Jamest » Do 2. Aug 2007, 14:49

Hallo zusammen,

erstmal tolles Modul, aber dann gleich dazu zwei Fragen:

1. Woher holt sich das Modul die Beschreibung, oder anders gesagt, wie kann ich die definieren.?

2. Kann ich das mit diesem Modul auch so handeln, das nur eingeloggte user die dateien herunterladen können? wenn ja, wie genau mach ich das?

Danke im voraus.

Grüße

Jamest

wosch

Beitrag von wosch » Do 2. Aug 2007, 14:55

Jamest hat geschrieben:1. Woher holt sich das Modul die Beschreibung, oder anders gesagt, wie kann ich die definieren.?
Du mußt die Dateien über die Datenvewaltung hochladen,
Und dort gibt es eine Maske wo du alle Angaben, also auch die Beschreibung, eingeben kannst.
Jamest hat geschrieben:2. Kann ich das mit diesem Modul auch so handeln, das nur eingeloggte user die dateien herunterladen können? wenn ja, wie genau mach ich das?
Nein, das kann dieses Modul nicht.
Dann mußt du das Modul von tinof verwenden, das sollte es können:
http://www.contenido.de/forum/viewtopic.php?t=17769

tinof
Beiträge: 197
Registriert: Mi 24. Jan 2007, 20:38
Wohnort: Kirchberg / Sa.
Kontaktdaten:

Beitrag von tinof » Do 2. Aug 2007, 15:16

Dann mußt du das Modul von tinof verwenden, das sollte es können
Vorsicht!
In der gegenwärtigen Version liest das Modul ausschließlich die Informationen (Dateinamen, Größe usw.) aus einem (beliebigen) Ordner iim Filesystem.
Eine Verknüpfung mit der Contenido - Dateiverwaltung ist derzeit nicht implementiert. Das Auslesen der Download - Beschreibung ist leider nicht möglich.

Grüße
Tino
Für die Freizeit : www.hobbybrauer.de

Gesperrt