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

derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Beitrag von derSteffen » Sa 8. Sep 2007, 10:10

Oh man! So winfach ist das?! Danke rok°! - hat gestimmt, allerdings reicht die Angabe

Code: Alles auswählen

upload/downloads
ohne das letzte Slash.

So nun habe ich das Problem, dass bei eingeschaltetem ModRewrite ich die Datei runterladen kann, dass aber die Verlinkung bei den Ordnern nicht mehr hinahaut. Folgende Links werden nun generiert:

Code: Alles auswählen

http://www.meineDomain.de/cms/front_content.php?idart=&idcat=&d=L1VudGVybmVobWVu
anstatt:

Code: Alles auswählen

http://www.meineDomain.de/cms/front_content.php?idart=&idcat=29&d=L1VudGVybmVobWVu
Wobei das ja nun nicht an ModRewrite liegt, sondern eher an die verwendete .htaccess.

Hm - nun könnte man ja versuchen eine Regel in der .htaccess zu formulieren, dass die URL mit &idcat=29&d davon ausgenommen wird, aber dann werden ja wieder alle Links meiner Downloadseite (also auch Menü) ausgenommen. Ein weiterer Nachteil ist natürlich, dass man immer die .htaccess anpassen muss, wenn man dieses Downloadmodul in andern Kategorien verwenden möchte.

Soviel zu meinen Gedankengängen. Hat denn jemand eine andere Idee oder das schon mal im ModRewrite unter Verwendung! Wäre natürlich Klasse, wenn man diese beiden starken Komponenten (dieses DownloadModul + ModRewrite) miteinander nutzen könnte.

Danke schonmal.

Nachtrag: Bei dem Downloadmodul von stese "Modul: Download Liste 4.6." (http://www.contenido.org/forum/viewtopic.php?t=11165) klappt die Verlinkung bei eingeschaltetem MR. Hier werden auch die Leerzeichen bei einer Downloaddatei nicht durch ein Underscore ersetzt sondern durch %20 - ist ja auch nicht so schlecht. Kann man daraus nicht was basteln?! Wäre schön wenn Ihr mir hilft.

MfG

Andyk
Beiträge: 38
Registriert: Sa 14. Okt 2006, 11:56
Kontaktdaten:

Beitrag von Andyk » Mo 10. Sep 2007, 15:29

Wie kann ich es einstellen dass die Suche das Modul auch durchsucht?

Gruß
andy

derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Beitrag von derSteffen » Mo 17. Sep 2007, 09:51

Andyk hat geschrieben:Wie kann ich es einstellen dass die Suche das Modul auch durchsucht?

Gruß
andy
Na geht das Überhaupt? Hier ist ein Beitrag zur Problematik PDF-Dokumente mit der Contenido-Suche zu erfassen ( http://www.contenido.org/forum/viewtopi ... =pdf+suche ). Sprich, das hat nicht wirklich was mit diesem Modul zu tun, sondern eher mit der Suchfunktion des CMS.

MfG

derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Beitrag von derSteffen » Mi 19. Sep 2007, 13:38

Hat jemand von Euch schon das Download-Modul von rok° unter 6.8.15 MR zum laufen gebracht?

Würde mich über Feedback freuen.

MfG

stefkey
Beiträge: 556
Registriert: Mi 19. Okt 2005, 16:10
Wohnort: Heidelberg
Kontaktdaten:

Beitrag von stefkey » Mo 24. Sep 2007, 00:19

Hallo,

ja das wäre toll mit MR! Ich kanns leider nett :-(


Viele Grüße und gute Ideen :-)
stefkey

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

Beitrag von rok°! » Mo 24. Sep 2007, 07:31

MR?

derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Beitrag von derSteffen » Mo 24. Sep 2007, 07:57

Hallo rok :-)
rok°! hat geschrieben:MR?
= Modrewrite - die erweiterung von stese welche hieroglyphische URLS in suchmaschinenfreundliche (spoken) URLS umwandelt.

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

Beitrag von rok°! » Mo 24. Sep 2007, 08:11

Muss dafür eine vorgegebene regexp genutzt werden, die überall in Contenido angewendet wird, oder darfs eine sein, die speziell dafür gedacht ist? (Wenn ersteres, dann bitte mal hier posten.)

derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Beitrag von derSteffen » Mi 26. Sep 2007, 19:58

rok°! hat geschrieben:Muss dafür eine vorgegebene regexp genutzt werden, die überall in Contenido angewendet wird, oder darfs eine sein, die speziell dafür gedacht ist? (Wenn ersteres, dann bitte mal hier posten.)
Hallo rok°,

also das mit der regexp kann ich dir gar nicht genau sagen, da ja die MR-Version schon ein komplett gebündeltes CMS-Paket ist. Also es ist kein Modul zum installieren.

Also MR baut natürlich auf die mitgelieferte htaccess-Datei auf. Hier werden die Anweisungen (Regeln) ausgeben wie man mit den hieroglyphische URLs umgehen soll.

Aber vieleicht kann ja jemand anderes die Frage von rok° beantworten?

MfG

kreativsteffi
Beiträge: 40
Registriert: Di 13. Mär 2007, 14:21
Wohnort: Jena
Kontaktdaten:

Beitrag von kreativsteffi » Fr 19. Okt 2007, 01:53

Hallo zusammen,

da ich nicht viel Ahnung habe von PHP hier mal meine Fragen/Probleme. Ich benutze das Download-Modul von rok (Das war das einzige, was bei mir gleich am Anfang funktioniert hat und schön ist es natürlich auch :D )

1. Die Icons, der Dateiname und auch die Dateigröße werden mir angezeigt, nicht aber meine Beschreibung der Datei, die ich in der Dateiverwaltung unter Editieren reingeschrieben habe. Außerdem möchte ich gerne noch das Datum da rein haben, wenn es möglich ist.
Ich glaube, dass ist der "Verursacher", bin mir aber auch nicht sicher:

Code: Alles auswählen

//echo "filename: $file : filetype: " . filetype($dirname . $file) . "\n";
Fehlt ja irgendwie description ?!

2. Gibt es eine Template-Variante? Ich habe selbst versucht mal ein Template anhand von wosch`s Variante einzubauen - bin aber gänzlich gescheitert :(

3. Ich würde gerne einen relativen Pfad haben, also nicht dass da steht "Downloads" oder sowas. Kann das Modul den Namen meines aktuellen Navigationspunkt auslesen?
Ich denke, dass geht irgendwie in der Zeile

Code: Alles auswählen

$subdir_path = '<strong>Pfad:</strong> <a href="'.$_SERVER['PHP_SELF'] . '?idart=' . $_REQUEST['idart'] . '&idcat=' . $_REQUEST['idcat'] . '">Downloads</a>';

Hab für Downloads mehrere Varianten eingesetzt, aber keine hat funktioniert.

Wäre schön, wenn mir jemand helfen könnte. Danke schonmal im vorraus.
Liebe Grüße und alles Gute Steffi

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

Beitrag von rok°! » Fr 19. Okt 2007, 07:48

Die Beschreibung lässt sich nicht anzeigen. Ganz einfach aus dem Grund, da nicht die Datenbank genutzt wird um an die Informationen zu kommen, sondern direkt das Dateisystem!
Mit datum meinst du bestimmt die Änderungszeit der Datei, oder?

kreativsteffi
Beiträge: 40
Registriert: Di 13. Mär 2007, 14:21
Wohnort: Jena
Kontaktdaten:

Beitrag von kreativsteffi » Fr 19. Okt 2007, 14:47

aso mhh die Beschreibung geht gar nicht. Das ist natürlich nicht so gut. Ja ich meine die Änderungszeit. Muss jetzt leider doch versuchen ein anderes Modul einzubauen, weil ich ohne Beschreibung nicht leben kann :D Danke trotzdem für deine Antwort

wosch

Beitrag von wosch » Fr 19. Okt 2007, 15:57

kreativsteffi hat geschrieben:Muss jetzt leider doch versuchen ein anderes Modul einzubauen, weil ich ohne Beschreibung nicht leben kann :D Danke trotzdem für deine Antwort
Leider ? :twisted:

:lol:
Welches Problem hast du den mit der Version von wayfearer oder meiner?

kreativsteffi
Beiträge: 40
Registriert: Di 13. Mär 2007, 14:21
Wohnort: Jena
Kontaktdaten:

Beitrag von kreativsteffi » Sa 3. Nov 2007, 17:29

Hey,
sorry hab hier schon Ewigkeiten nicht mehr drauf geschaut aus Zeitmangel und weil ich immer die Antwortbenachrichtung vergess anzuklicken :) Jetzt hat ich mal wieder Zeit mich mit dem Modul zu beschäftigen. Kriege es immernoch nicht zum Laufen.
Bin erstmal zur ersten Variante von wayfearer übergegangen. Wenn die funktioniert geht ja sicherlich auch die Template-Variante :wink:

So was habe ich getan:
1. Code eingebaut:

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

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
*************************************************************************/

//Variablen werden festgelegt

$dirname = "CMS_VALUE[1]";
$specificfolder = "CMS_VALUE[2]";
$fileicon  = array(
                 '*'    => 'images/icons/file.gif',
                 'bz2'  => 'images/icons/rarfile.gif',
                 'c'    => 'images/icons/cfile.gif',
                 'cpp'  => 'images/icons/cppfile.gif',
                 'doc'  => 'images/icons/docfile.gif',
                 'exe'  => 'images/icons/exefile.gif',
                 'h'    => 'images/icons/hfile.gif',
                 'htm'  => 'images/icons/htmfile.gif',
                 'html' => 'images/icons/htmfile.gif',
                 'gif'  => 'images/icons/imgfile.gif',
                 'gz'   => 'images/icons/zipfile.gif',
                 'jpg'  => 'images/icons/imgfile.gif',
                 'js'   => 'images/icons/jsfile.gif',
                 'm'    => 'images/icons/mfile.gif',
                 'mp3'  => 'images/icons/mpgfile.gif',
                 'mpg'  => 'images/icons/mpgfile.gif',
                 'pdf'  => 'images/icons/pdffile.gif',
                 'png'  => 'images/icons/imgfile.gif',
                 'ppt'  => 'images/icons/pptfile.gif',
                 'rar'  => 'images/icons/rarfile.gif',
                 'swf'  => 'images/icons/swffile.gif',
                 'txt'  => 'images/icons/txtfile.gif',
                 'xls'  => 'images/icons/xlsfile.gif',
                 'zip'  => 'images/icons/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>&nbsp;Typ&nbsp;</td>
<td>&nbsp;Name&nbsp;</td>
<td>&nbsp;Beschreibung&nbsp;</td>
<td>&nbsp;Gr&ouml;&szlig;e&nbsp;</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.'&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

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();

?> 
2. Template erstellt
3. Artikel konfiguriert
4. heul :( es geht nicht / wird nur die Tabelle angezeigt, nicht aber die Dateien

Bild

Hat irgendwer ne Idee, warum das nicht geht?
Bitte helft mir! Liebe Grüße und dankeschön Steffi

wosch

Beitrag von wosch » Sa 3. Nov 2007, 17:53

kreativsteffi hat geschrieben:Hat irgendwer ne Idee, warum das nicht geht?
Nein eigentlich keine. Das Modul läuft so eigentlich wie es auf den Shots zu sehen ist.
kreativsteffi hat geschrieben:Bitte helft mir!
Bitte hilf dir erstmal selber.
Du hast eine ältere Version 1.0, mittlerweile gibt es die Version 1.1 -> Modul-Code austauschen.
con_code leeren (leeren, nicht löschen !!!)
Neu konfigurieren dabei auch den kleinen blauen Pfeil benutzen, probieren, Error-Log ansehen wenn es nicht geht.
Dann eventuell:
Anderes Verzeichnis für die Dateien mal nehmen, mal eine Beschreibung eingebenen, Quelltext ansehen, ...

Bischen schwierig dir zu helfen, Kristalkugel zeigt auch Nebel an.

Gesperrt