Seite 2 von 4

Verfasst: Mo 31. Okt 2005, 16:19
von morpheus
Naja die Fehlermeldung besagt das es ein unerwartetes ; Zeichen in deinem Code gibt. Dies muss nicht unbedingt im Downloadmodul sein, es kann sich auch im Layout, im Template oder in einem anderen Modul befinden, das auch auf dieser Seite benutzt wird.

Nimm mal auf der Seite alle Module raus und sollte es dann gehen probiere die Seite mit jedem Modul einzeln. Tritt der Fehler dann auf, weißt du zumindest in welchem Modul du suchen musst.

Ich habe auch die Version 4.4.5. Daran liegt es also nicht.

Sollte es wirklich das Downloadmodul sein, sende mir doch mal den Input und Output per PM. Ich kann ihn dann mal auf meiner Seite testen!

MfG

:(

Verfasst: Mi 2. Nov 2005, 12:56
von MiND
Also, habs weiterhin versucht, alles nochmals runtergahaun und alles frisch draufgespielt, dennoch kommt der gleiche Fehler :/
PHP Parse error: parse error, unexpected T_STRING in /srv/www/htdocs/web13/html/CMS/contenido/includes/include.con_editcontent.php(571) : eval()'d code on line 951
Er zeigt bei mir auch nichts an, obwohl ich dateien in dem Ordner hab...
safe_mode is weiterhin aus... :/

@morpheus, du hast gleich post ^^

Gruß
MiND

Downloadmodul

Verfasst: Fr 4. Nov 2005, 15:37
von MiND
Für alle, die vielleicht auch noch fehler bekommen, bzw. Probleme haben, möchte ich hier ein paar Tipps geben:

Also, erstma sollte man ein Ordner "download" unter contenido/cms/ erstellen.
Danach kann man beim Verzeichnis bei der Konfiguration "/download/" angeben.

Jetz noch der Code (Ausgabe/Output), mit dem es bei mir (danke der Hilfe von Morpheus!!!) funktioniert:
<?php
/*****************************************************************************\
* myExplorer
* http://www.bmitt.com/files/webauthoring/php/
* -------------------------------------------------------------------------
* written by : Bernhard Mitterer @: admin@bmitt.com
* last modified : 2004-11-25
*****************************************************************************
/*****************************************************************************\
* Configuration (adapt this section to your needs) *
\*****************************************************************************/

$su = false;
# paths
$rootDir = 'CMS_VALUE[1]';
/*if ($idcat == 22)
$indexDir = 'office';
if ($idcat == 23)
$indexDir = 'screensaver';
if ($idcat == 24)
$indexDir = 'wallpaper';
*/
$printCwd = false;
$printStat = CMS_VALUE[2];
# labels for tableheader
$hPic = '&nbsp;';
$hName = 'CMS_VALUE[4]';
$hSize = 'CMS_VALUE[5]';
$hType = 'Typ';
$hLastMod = 'CMS_VALUE[6]';
# show attributes
$showPic = CMS_VALUE[3];
$showName = true; # must always be 'true'
$showSize = true;
$showType = false;
$showLastMod = true;
# pic-names
$picUp = 'images/folderup.gif';
$picFolder = 'images/folder.gif';
$picFile = true;
# filter
$showFiles = '*.zip,*.rar,*.pdf,*.jpg,*.gif,*.txt';
$hideFiles = '.*,index*,*.php';
$showFolders = '*';
$hideFolders = '.*';
# mode
$xAction = 0;
# filetypes
$picIcons = array(
'.*' => 'cms/images/file.gif',
'.bz2' => 'cms/images/rarfile.gif',
'.c' => 'cms/images/cfile.gif',
'.cpp' => 'cms/images/cppfile.gif',
'.doc' => 'cms/images/docfile.gif',
'.exe' => 'cms/images/exefile.gif',
'.h' => 'cms/images/hfile.gif',
'.htm' => 'cms/images/htmfile.gif',
'.html' => 'cms/images/htmfile.gif',
'.gif' => 'cms/images/imgfile.gif',
'.gz' => 'cms/images/zipfile.gif',
'.jpg' => 'cms/images/imgfile.gif',
'.js' => 'cms/images/jsfile.gif',
'.m' => 'cms/images/mfile.gif',
'.mp3' => 'cms/images/mpgfile.gif',
'.mpg' => 'cms/images/mpgfile.gif',
'.pdf' => 'cms/images/pdffile.gif',
'.png' => 'cms/images/imgfile.gif',
'.ppt' => 'cms/images/pptfile.gif',
'.rar' => 'cms/images/rarfile.gif',
'.swf' => 'cms/images/swffile.gif',
'.txt' => 'cms/images/txtfile.gif',
'.xls' => 'cms/images/xlsfile.gif',
'.zip' => 'cms/images/zipfile.gif',
);


/*****************************************************************************\
* prepare variables *
\*****************************************************************************/


// Check Path Formats ---------------------------------------------------------
$rootDir = formatDir($rootDir,true,true);
$indexDir = formatDir($indexDir);
$referer = addLinker($referer);
// ----------------------------------------------------------------------------

// Handle (given) Directory ---------------------------------------------------
# initialize
$dir = $indexDir;

# make lokal variable from HTTP_GET_VARS
if(isset($_GET['dir']))
$dir = formatDir(rawParam('dir'));

# check given directory if it is valid/allowed
if( !isValidDir("$rootDir$dir") )
$dir = $indexDir;

# real path ($dir is just fake [relative to $rootDir] for display)
$ldir = formatDir("$rootDir$dir",true);
// ----------------------------------------------------------------------------

// Get Directory Content ------------------------------------------------------
$files = array();
$folders = array();

# unfiltered directory content
getDirContent( $ldir );

# filter (and sort) arrays
$files = filterArray( $files, $showFiles, $hideFiles );
$folders = filterArray( $folders, $showFolders, '.,..,'.$hideFolders );
// ----------------------------------------------------------------------------


/*****************************************************************************\
* Output (print table) *
\*****************************************************************************/

echo '<table cellspacing="3" class="expl" summary="Content of /'.htmlentities($dir).'">',"\n";

// print current directory ----------------------------------------------------
if($printCwd)
{
echo ' <tr class="path">',"\n";
echo ' <td colspan="'.($showPic+$showName+$showSize+$showType+$showLastMod).'"><em>/'.htmlentities($dir).'</em></td>',"\n";
echo ' </tr>',"\n";
}
// ----------------------------------------------------------------------------

// draw tableheader -----------------------------------------------------------
echo ' <tr class="hExpl">',"\n";
if($showPic)
echo ' <td class="hPic">&nbsp;'.$hPic.'&nbsp;</td>',"\n";
if($showName)
echo ' <td class="hName">&nbsp;'.$hName.'&nbsp;</td>',"\n";
if($showSize)
echo ' <td class="hSize">&nbsp;'.$hSize.'&nbsp;</td>',"\n";
if($showType)
echo ' <td class="hType">&nbsp;'.$hType.'&nbsp;</td>',"\n";
if($showLastMod)
echo ' <td class="hLastMod">&nbsp;'.$hLastMod.'&nbsp;</td>',"\n";
echo ' </tr>',"\n";
// ----------------------------------------------------------------------------

// handle up-button -----------------------------------------------------------
if( $su && (!$dir || (substr($dir,-2)=='..')) )
$up = formatDir($dir,true).'..';
else
$up = substr($dir,0,strrpos($dir,'/'));

#if( $su || ($dir && ($up!==false)) )
#{
# echo ' <tr class="folder">',"\n";
# if($showPic)
# echo ' <td class="pic"><a href="'.$referer.'dir='.$up.'"><img src="'.$picUp.'" alt="up" /></a></td>',"\n";
# if($showName)
# echo ' <td class="name"><a href="'.$referer.'dir='.$up.'"><em>..</em></a></td>',"\n";
# if($showSize)
# echo ' <td class="size">&nbsp;-&nbsp;</td>',"\n";
# if($showType)
# echo ' <td class="type">&nbsp;dir&nbsp;</td>',"\n";
# if($showLastMod)
# echo ' <td class="lastmod">&nbsp;-&nbsp;</td>',"\n";
# echo ' </tr>',"\n";
#}
// ----------------------------------------------------------------------------

// print directories ----------------------------------------------------------
foreach ($folders as $folder)
{
echo ' <tr class="folder">',"\n";
if($showPic)
echo ' <td class="pic"><a href="front_content.php?idart='.$idart.'&lang='.$lang.'&client='.$client.'&'.$referer.'idcat='.$idcat.'&dir='.formatDir($dir,true).$folder.'"><img src="'.$picFolder.'" alt="'.htmlentities($folder).'" /></a></td>',"\n";
if($showName)
echo ' <td class="name"><a href="front_content.php?idart='.$idart.'&lang='.$lang.'&client='.$client.'&'.$referer.'idcat='.$idcat.'&dir='.formatDir($dir,true).$folder.'"><em>'.htmlentities($folder).'</em></a></td>',"\n";
if($showSize)
echo ' <td class="size">&nbsp;-&nbsp;</td>',"\n";
if($showType)
echo ' <td class="type">&nbsp;'.filetype("$ldir$folder").'&nbsp;</td>',"\n";
if($showLastMod)
echo ' <td class="lastmod">&nbsp;-&nbsp;</td>',"\n";
echo ' </tr>',"\n";
}
// ----------------------------------------------------------------------------

// print files ----------------------------------------------------------------
foreach ($files as $file)
{
$type = filetype("$ldir$file"); // get 'type of file'
$modDate = filemtime("$ldir$file"); // get 'last modified date' of file
#$modDate = date('Y-m-d',$modDate); // format date in ISO-Style
$modDate = date('d.m.Y',$modDate); // format date in ISO-Style
$size = filesize("$ldir$file"); // get 'size of file' in bytes
$dirsize += $size; // total filesize in current dir
$size = ceil($size/1024); // convert from byte to kilobyte
$size = "$size kb"; // add unit

echo ' <tr class="file">',"\n";
if($showPic)
echo ' <td class="pic"><a href="'.makeLink("$ldir$file").'"><img src="'.getIcon($file).'" alt="'.htmlentities($file).'" /></a></td>',"\n";
if($showName)
echo ' <td class="name"><a href="'.makeLink("$ldir$file").'">'.htmlentities($file).'</a></td>',"\n";
if($showSize)
echo ' <td class="size">&nbsp;'.$size.'&nbsp;</td>',"\n";
if($showType)
echo ' <td class="type">&nbsp;'.$type.'&nbsp;</td>',"\n";
if($showLastMod)
echo ' <td class="lastmod">&nbsp;'.$modDate.'&nbsp;</td>',"\n";
echo ' </tr>',"\n";
}
// ----------------------------------------------------------------------------

// print statistics -----------------------------------------------------------
if($printStat)
{
echo ' <tr class="stats">',"\n";
echo ' <td colspan="'.($showPic+$showName+$showSize+$showType+$showLastMod).'">&nbsp;<em>'.count($folders).' Verzeichnis(se) | '.count($files).' Datei(en) | '.ceil($dirsize/1024).' kByte total</em>&nbsp;</td>',"\n";
echo ' </tr>',"\n";
}
// ----------------------------------------------------------------------------

echo '</table>',"\n";


/*****************************************************************************\
* Functions *
\*****************************************************************************/

// ----------------------------------------------------------------------------
// getDirContent() fills, filter and sort Arrays of files and folders
function getDirContent($dir)
{
global $files, $folders;

# fill arrays
$handle = @opendir($dir);
while( $file = readdir($handle) ) {
if( is_dir("$dir/$file") )
$folders[] = $file;
elseif( is_file("$dir/$file") )
$files[] = $file;
}
@closedir($handle);
}

// ----------------------------------------------------------------------------
// addLinker() adds '?' or '&' to the referer
function addLinker($referer)
{
// assume that last char is not '?' or '&'
return strchr($referer,'?') ? "$referer&" : "$referer?";
}

// ----------------------------------------------------------------------------
// formatDir() skip trailing and leading "/" in given $dir-string
// add
function formatDir($dir, $trailing=false, $leading=false)
{
$dir = trim($dir,' /');
if( $trailing && $dir )
$dir = "$dir/";
if( $leading ) #&& ($dir[0]!='/') )
$dir = "./$dir";

return $dir;
}

// ----------------------------------------------------------------------------
// filterArray() make regular expression from $filter-string
function filterArray( $array, $allow, $hide )
{
$allow = makeRegex($allow);
$hide = makeRegex($hide);

$tmp = array();
foreach( $array as $val )
if( ereg($allow,$val) && !ereg($hide,$val) )
$tmp[] = $val;

natcasesort( $tmp );
return $tmp;
}

// ----------------------------------------------------------------------------
// makeRegex() make regular expression from $filter-string
function makeRegex( $filter )
{
$regex = str_replace('.', '\.', $filter);
$regex = str_replace('*', '.+', $regex);
$regex = str_replace(',', '$|^', $regex);

return "^$regex$";
}

// ----------------------------------------------------------------------------
// isValidDir() return true if directory is valid/allowed
function isValidDir($dir)
{
global $su;

$strErr = "<p>Requested Directory Not Found</p>\n";
$strErr .= "<\/body></html>"; #close open tags
// check if folder exists (when manipulated manually)
is_dir($dir) or die($strErr);

// prevent cd with relative path '../'
return $su ? true : !(strpos($dir,'..')!==false);
}

// ----------------------------------------------------------------------------
// rawParam()
function rawParam( $param )
{
return ini_get('magic_quotes_gpc') ? stripslashes($_GET[$param]) : $_GET[$param];
}

// ----------------------------------------------------------------------------
// makeLink() return target of click
function makeLink( $target )
{
global $xAction, $xFilename;

$target = str_replace('%2F', '/', rawurlencode($target));

return $xAction ? "$xFilename?file=$target" : $target;
}

// ----------------------------------------------------------------------------
// getIcon() return icon-image based on filename extension
function getIcon( $filename )
{
global $picIcons, $picFile;

// extract filename extension
$ext = strtolower( strrchr( $filename, '.' ) );
// return default image if $picFile = false
// or extension is unknown
if( !$picFile || !array_key_exists($ext,$picIcons) )
return $picIcons['.*'];

// return matching image
return $picIcons[$ext];
}

?>
Gruß
MiND

Verfasst: Fr 4. Nov 2005, 16:24
von MiND
Hm... Schon wieder ein kleines Problemchen :/

Wie bekommt man den nervenden Rand bei den Bildern weg?
Sieht derzeit so aus:
Bild

Im Stylesheet gehts irgendwie net, habs schon probiert. Da ist auch nirgendwo ein "border" also Rahmen definiert.. Wo muss ich suchen?
Tipp?

Danke :D


\\-edit: Wenn ich grad schonma frag, wie bekomm ich den Folder-Up-button rein?

Gruß
MiND

Verfasst: Fr 4. Nov 2005, 17:47
von rezeptionist
neues stylesheet

img {border:none}

Verfasst: Sa 5. Nov 2005, 10:17
von MiND
danke! hat funktioniert :D
Jetz fehlt nur noch der Folderup-Icon bzw. der folder-icon zum navigieren :/

Vielleicht bekomm ichs ja selber raus, ma probieren...

Gruß
MiND

Verfasst: Mo 7. Nov 2005, 09:22
von morpheus
kleiner Tipp: schau dir mal den Abschnitt

Code: Alles auswählen

// handle up-button ----------------------------------------------------------- 
if( $su && (!$dir || (substr($dir,-2)=='..')) ) 
$up = formatDir($dir,true).'..'; 
else 
$up = substr($dir,0,strrpos($dir,'/')); 

#if( $su || ($dir && ($up!==false)) ) 
#{ 
# echo ' <tr class="folder">',"\n"; 
# if($showPic) 
# echo ' <td class="pic"><a href="'.$referer.'dir='.$up.'"><img src="'.$picUp.'" alt="up" /></a></td>',"\n"; 
# if($showName) 
# echo ' <td class="name"><a href="'.$referer.'dir='.$up.'"><em>..</em></a></td>',"\n"; 
# if($showSize) 
# echo ' <td class="size">&nbsp;-&nbsp;</td>',"\n"; 
# if($showType) 
# echo ' <td class="type">&nbsp;dir&nbsp;</td>',"\n"; 
# if($showLastMod) 
# echo ' <td class="lastmod">&nbsp;-&nbsp;</td>',"\n"; 
# echo ' </tr>',"\n"; 
#} 
// ---------------------------------------------------------------------------- 
an. Hier ist die Behandlung noch auskommentiert. Einfach mal die #-Zeichen entfernen :wink:

Ob das Bild für den Hochsprung da ist weiß ich jetzt nicht...


MfG

Verfasst: Mo 7. Nov 2005, 13:15
von MiND
so habs jetz hinbekommen, danke =)

ne kleine Anregung wäre vielleicht noch ne Beschreibungs- oder Info-funktion, die unter oder über dem File-Download angebracht ewrden könnte.

leider verfüge ich nicht über solche coder-kenntnisse, ansonsten würd ichs machen ^^

Gruß
MiND

Verfasst: Di 8. Nov 2005, 16:25
von Simone
Hallo an alle, die sich am Download-Modul ausprobieren.

Tolle Sache das Modul. Dank an busi!!!

Habs auch im wesentlichen dank der Hinweise zum Laufen gebracht. Den blauen Linkrand habe ich auch wegbekommen dank img border:none,

Auch daß man die # wegmachen muß (morpheus!), um die Icons zu sehen, habe ich alles gemacht. Aber die Icons sehe ich immer noch nicht - stattdessen den Dateititel. Nu könnt ich ja die Icons ausschalten, aber probieren würde ich es trotzdem gern.

Okay. Meine Icons (entnommen dem Zip von bfdesign) habe ich in cms/images gelegt und hochgeladen.
Dann habe ich unter upload einen download-Ordner und drei Probe pfdfs reingelegt und 777 vergeben.
Wird auch alles angezeigt - nur die Bildchen nicht. :roll:

Gibts noch was - was ich nicht gemacht habe.

Simone

Verfasst: Di 8. Nov 2005, 16:54
von Simone
Dank der Hilfe von MiND hab ich das Problem lösen können.

Am Anfang des OUTPUt stehen die ganzen Varianten von Download-Dateien. z.B. '.*' => 'cms/images/file.gif',
'.bz2' => 'cms/images/rarfile.gif',
'.c' => 'cms/images/cfile.gif',
'.cpp' => 'cms/images/cppfile.gif',
'.doc' => 'cms/images/docfile.gif',
'.exe' => 'cms/images/exefile.gif', usw.

Den Pfad bitte in 'images/file.gif', wenn man die Icons einfach schnöde in den images-Ordner gepackt hat. So hatte das Dokument die Anweisung, im Ordner cms noch einen Ordner cms und darin den Ordner images zu suchen.

Danke MiND!

Verfasst: Di 8. Nov 2005, 18:06
von Simone
Nun hab ich das nächste Problem:

ich habe entdeckt, daß man auch Ordner hochschicken kann, die man dann anklicken kann und sieht darin die Dateien. Sehr praktisch, damit erspart man sich bei Bedarf eine neue Kategorie anlegen zu müssen.

Ich habe auf dem Rückpfad aber das auf Seite 1 des Threads beschriebene
http://www.meinedomain.de/cms/front_content.php?dir=
Problem; sprich, das Link führt nicht auf meine Download-Seite. Im Input habe ich als Pfad /upload/download/ angegeben.

Kann mir nochmal jemand helfen?

Gruß Simone

Verfasst: Mi 9. Nov 2005, 07:22
von Simone
Ich habe das Problem selbst gelöst.

Okay, was war falsch?

Im OUTPUT stehen ganz oben die IDcats von busis Seiten, also 22, 23 und 24 (samt dazugehörenden Ordnern). Die habe ich natürlich nicht und eine andere Nummer für meinen einzigen Ordner "download" habe ich auch.

Also habe ich das im Code erstmal geändert und den Rest (23, 24) rausgeschmissen.

Code: Alles auswählen

$rootDir = 'CMS_VALUE[1]';
/*if ($idcat == bitte eure ID-Nummer eintragen)
$indexDir = 'download';
*/


Dann habe ich beim up-Befehl einfach den Rückpfad ein wenig geändert. Jetzt gehts.

Nachtrag: Code rausgenommen, Code siehe unten.

Verfasst: Mi 9. Nov 2005, 08:30
von Simone

Code: Alles auswählen

// handle up-button -----------------------------------------------------------
if( $su && (!$dir || (substr($dir,-2)=='..')) )
$up = formatDir($dir,true).'..';
else
$up = substr($dir,0,strrpos($dir,'/'));

if( $su || ($dir && ($up!==false)) )
{
 echo ' <tr class="folder">',"\n";
 if($showPic)
 echo ' <td class="pic"><a href="front_content.php?idart='.$idart.'"><img src="'.$picUp.'" alt="up" /></a></td>',"\n";
 if($showName)
 echo ' <td class="name"><a href="front_content.php?idart='.$idart.'"><em>..</em></a></td>',"\n";
 if($showSize)
 echo ' <td class="size">&nbsp;-&nbsp;</td>',"\n";
 if($showType)
 echo ' <td class="type">&nbsp;dir&nbsp;</td>',"\n";
 if($showLastMod)
 echo ' <td class="lastmod">&nbsp;-&nbsp;</td>',"\n";
 echo ' </tr>',"\n";
} // ----------------------------------------------------------------------------
Und natürlich muß ich erwähnen, daß wahrscheinlich - ich habe es nicht ausprobiert, aber ich vermute mal - das Ineinanderverschachteln von Ordnern zwar möglich ist, jedoch der up-Pfad immer zur Hauptdownloadseite führt. Das ist bei mir kein Problem, weil ich ein ausgesprochener Gegner der x-maligen Unterordner bin, wo sich der User durchklickt und durchklickt und erst auf der 5. Seite 1 Datei zum Downloaden bekommt.

Verfasst: Di 7. Feb 2006, 13:06
von Zeitgeist
rezeptionist hat geschrieben:neues stylesheet

img {border:none}

hmm? Wie ist das denn nun zu verstehen?

Blick ich nicht, erbitte Aufklärung :)

Ansonsten hab ich das DL Modul mit dem IFrame Modul kombiniert (von dem IFrame komm ich NIEEEEEE wieder los) :P
Skyblader: DU bist SCHULD! :twisted:

gefällt mir so klasse, n Fenster in der seite mit der Dateiliste zum runterscrollen OHNE die ganze Seite zu scrollen.

Wenn ich nun den doofen Border auch noch weg bekomme, bin ich zufrieden.

Kombi DL + Iframe Module zu begutachten unter
www.tropenhaus-hamburg.de
"Infothek"

(für die eiligen; Link direkt in eine Kategorie: http://www.tropenhaus-hamburg.de/front_ ... ?idcat=68
have a nice Day
Zeitgeist

Verfasst: Di 7. Feb 2006, 13:14
von rezeptionist
Zeitgeist hat geschrieben:
rezeptionist hat geschrieben:neues stylesheet

img {border:none}

hmm? Wie ist das denn nun zu verstehen?

Blick ich nicht, erbitte Aufklärung :)

Ansonsten hab ich das DL Modul mit dem IFrame Modul kombiniert (von dem IFrame komm ich NIEEEEEE wieder los) :P

gefällt mir so klasse, n Fenster in der seite mit der Dateiliste zum runterscrollen OHNE die ganze Seite zu scrollen.
Naja geschmackssache wenn ich nen Iframe sehe flüchte ich und werde die Seite nie mehr besuchen.Und erst recht wenn man mir dann noch ein POPUP aufdrängen will :wink:

So zu der erkläreung

Logge dich in contenido ein klicke auf
Style dann auf Styleeditor dann klicke deine css datei an auf die dein Layout verweisst und trage dann dort fogendes ein




Code: Alles auswählen

img {border:none;}
nun klicke auf den grünen button unten links und wie von Zauberhand erscheint nie mehr (außer du gibst es explizit an) ein Rahmen (border) um ein verlinktes Bild


Ich hoffe diese Erklärung hat die geholfen ansonsten empfehle ich 2 Std Zeit und die dann auf dieser Seite verbringen

www.css4you.de

und danach vielleicht noch 2std auf dieser seite

http://de.selfhtml.org/

:wink: