Du bist nicht angemeldet. Der Zugriff auf einige Boards wurde daher deaktiviert.

#1 04. Mai 2011 10:02

PatriziaF
kennt CMS/ms
Ort: Altheim/Österreich
Registriert: 19. Januar 2011
Beiträge: 153
Webseite

[GELÖST] Plugin List downloads oder anderer DLM?

Hallo liebe Cmsler!

habe jetzt bereits den DLM und das Plugin list downloads ausprobiert und beide sind nicht wirklich zufriedenstellend.

bitte um hilfe

probleme bei DLM:
wir haben jede Menge Dateien und werden alt wenn wir die alte per Hand hineinkopieren müssen

probleme beim plugin:
er stellt nur dateien und keine ordner dar.

1.frage daher: stimmen die fehler oder mach ich was falsch
2.frage: wenn nicht, was gibts dann für ne möglichkeit?

danke u lg
patrizia

Beitrag geändert von PatriziaF (09. Mai 2011 08:57)

Offline

#2 05. Mai 2011 05:22

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: [GELÖST] Plugin List downloads oder anderer DLM?

Ähm was willst du genau?

Willst du nur jede Menge Dateien auflisten oder müssen dazu noch Beschreibungen etc. erfasst werden können?


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#3 05. Mai 2011 06:02

owr_web
Server-Pate
Registriert: 16. Dezember 2010
Beiträge: 543

Re: [GELÖST] Plugin List downloads oder anderer DLM?

Schon mal das uploads-Modul selber auch versucht, das mit dem core mitkommt?

Offline

#4 05. Mai 2011 08:54

PatriziaF
kennt CMS/ms
Ort: Altheim/Österreich
Registriert: 19. Januar 2011
Beiträge: 153
Webseite

Re: [GELÖST] Plugin List downloads oder anderer DLM?

Also ich möchte gerne die Dateien (mit Hilfe einer Ordnerstruktur) auflisten.
Schön wäre natürlich dazu ein Icon, eine Beschreibung (also nicht der Dateiname), Erstellungsdatum, Größe der Datei

Da es aber sehr viele Dateien sind, ist das mit dem DLM zu mühsam und das Plugin "List downloads" unterstützt keine Ordnerstruktur.

Welches uploads-Modul???
bitte um Link oder ähnliches.

DANKE U LG
Patrizia

Offline

#5 05. Mai 2011 09:12

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Offline

#6 05. Mai 2011 09:36

PatriziaF
kennt CMS/ms
Ort: Altheim/Österreich
Registriert: 19. Januar 2011
Beiträge: 153
Webseite

Re: [GELÖST] Plugin List downloads oder anderer DLM?

Naja das Modul macht das gleiche wie der DLM --> zeigt mir keine Unterordner an sondern nur einzelne Dateien.

ich habe aber im ordner /uploads/file
jede Menge Ordner die wiederum Ordner und Dateien beinhalten drin
und diese möchte ich darstellen.

lg

Offline

#7 05. Mai 2011 10:11

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: [GELÖST] Plugin List downloads oder anderer DLM?

PatriziaF schrieb:

Naja das Modul macht das gleiche wie der DLM --> zeigt mir keine Unterordner an sondern nur einzelne Dateien.

ich habe aber im ordner /uploads/file
jede Menge Ordner die wiederum Ordner und Dateien beinhalten drin
und diese möchte ich darstellen.

Wie wäre eine solche Lösung:
http://www.blattertech.ch/download.html

Du hast hier zwar nur die Dateien angezeigt (keine Beschreibung), dafür werden mit diesem Script die Dateien ohne weitere Einstellungen direkt aus einem Ordner gelesen.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#8 05. Mai 2011 10:14

PatriziaF
kennt CMS/ms
Ort: Altheim/Österreich
Registriert: 19. Januar 2011
Beiträge: 153
Webseite

Re: [GELÖST] Plugin List downloads oder anderer DLM?

ja das gefällt mir - bitte will haben wo? ;-)

Offline

#9 05. Mai 2011 10:33

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: [GELÖST] Plugin List downloads oder anderer DLM?

http://dev.cmsmadesimple.org/projects/filebrowser

Hat im Moment noch ein paar Fehler drin welche ich nicht behoben habe. Lade das Zip herunter. Ersetze die function.filebrowser.php mit folgendem Inhalt

function smarty_cms_function_filebrowser($params, &$smarty)
{
    if (!$params['titlesize'])
        $params['titlesize'] = "h1";
        
    if ($params['showtitle'] == false)
        echo "<".$params['titlesize'].">Filebrowser</".$params['titlesize'].">";
    
    if     (!$params['mainname'])
        $params['mainname'] = "Home";
        
        
    $style = isset($params['style']) ? $params['style']:true;    
    $js = isset($params['js']) ? $params['js']:true;    
        
    
    global $gCms;
    $cmd = $_GET[cmd];
    
    # Benutzerberechtigungen abfragen
    # $pm = getUserInfo();
    
    $params['folder']     = checkFolderParam($params['folder']);
    $params['icon']     = checkIconParam($params['icon']);
    $thisfolder         = checkThisFolder($_GET['fol'],$params['folder']);
    
    $iconpath     = $params['icon'];
    $myfolder     = $gCms->config[root_path].$params['folder'];
    $folderIam     = $myfolder.$thisfolder;
    
    # Stylesheet einbinden
    if ($style)
        getStyleSheet();
    
    if ($js)
        echo '<script type="text/javascript" src="'.$gCms->config['root_url'].'/plugins/function.filebrowser_javascript.js"></script>';
    
    
    #Change this to the main directory name
    
    
    # URL 
    $thisfilename = $gCms->config[root_url]."/".substr(strrchr($_SERVER['SCRIPT_NAME'], "/"), 1)."?".$gCms->config[query_var]."=".$gCms->variables[page];
    
    $typetext = "<b><u>Typ:</u></b>";
    $nametext = "<b><u>Name:</u></b>";
    $fsizetext = "<b><u>Gr&ouml;sse:</u></b>";
    $lmodtext = "<b><u>Ge&auml;ndert am:</u></b>";
    $actiontext = "<b><u>Aktion:</u></b>";
    
    
    # get arrays into vars
    $files = _foldersort($folderIam, $myfolder, "files");
    $folders = _foldersort($folderIam, $myfolder, "folders");
    
    # count all files and folders
    $totalfilecount = count($files)-1;
    $totalfoldercount = count($folders)-1;
    
    ?>
    <div id="fbmain">
    <?php
    # Show path of current folder
    echo "<span class=\"cpath\">Sie sind hier : ";
    //if($thisfolder == "/") {
        echo '<a href="'.$thisfilename.'">'.$params['mainname']."</a> ";
    //} else {
    if($thisfolder != "/") {
        $thefolders = explode("/", $thisfolder);
        $thisf = "/";
    
        for($cf = 0; $cf < count($thefolders); $cf++) {
            if($thefolders[$cf] == ".") {
                echo '<a href="'.$thisfilename.'">'.$params['mainname']."</a> ";
            } 
            elseif ($thefolders[$cf] == "") {
                continue;
            } else {
                $thisf = $thisf.$thefolders[$cf]."/";
                echo '/ <a href="'.$thisfilename.'&amp;fol='.$thisf.'">'.$thefolders[$cf]."</a> ";
            }
        }
    }
    echo "</span>\n<br />\n\n";
    
    #### Display information...
    
    #asc/decs text 
    $typead = " (<a href=\"{$thisfilename}&amp;fol=".$thisfolder."&amp;sort=type&amp;ad=asc\">a</a>/<a href=\"{$thisfilename}&amp;fol=".$thisfolder."&amp;sort=type&amp;ad=dsc\">d</a>)";
    $namead = " (<a href=\"{$thisfilename}&amp;fol=".$thisfolder."&amp;sort=name&amp;ad=asc\">a</a>/<a href=\"{$thisfilename}&amp;fol=".$thisfolder."&amp;sort=name&amp;ad=dsc\">d</a>)";
    $fsizead = " (<a href=\"{$thisfilename}&amp;fol=".$thisfolder."&amp;sort=filesize&amp;ad=asc\">a</a>/<a href=\"{$thisfilename}&amp;fol=".$thisfolder."&amp;sort=filesize&amp;ad=dsc\">d</a>)";
    $lmodad = " (<a href=\"{$thisfilename}&amp;fol=".$thisfolder."&amp;sort=lastmod&amp;ad=asc\">a</a>/<a href=\"{$thisfilename}&amp;fol=".$thisfolder."&amp;sort=lastmod&amp;ad=dsc\">d</a>)";
    
    #sort into certain category
    if(isset($_GET['sort'])) {
        if(isset($_GET['ad'])) {
            switch($_GET['sort']) {
                case "name":
                    if($_GET['ad'] == "asc") {
                        sort($files);
                        sort($folders);
                        $namead = " (<a href=\"{$thisfilename}&amp;sort=name&amp;ad=dsc\">d</a>)";
                    }
                    elseif($_GET['ad'] == "dsc") {
                        rsort($files);
                        rsort($folders);
                        $namead = " (<a href=\"{$thisfilename}&amp;sort=name&amp;ad=asc\">a</a>)";
                    }
                break;
                
                case "type":
                $files = _foldersort($folderIam, $myfolder, "files", $i1="type", $i2="name");
                $folders = _foldersort($folderIam, $myfolder, "folders", $i1="type", $i2="name");
                    if($_GET['ad'] == "asc") {
                        sort($files);
                        sort($folders);
                        $typead = " (<a href=\"{$thisfilename}&amp;sort=type&amp;ad=dsc\">d</a>)";
                    }
                    elseif($_GET['ad'] == "dsc") {
                        rsort($files);
                        rsort($folders);
                        $typead = " (<a href=\"{$thisfilename}&amp;sort=type&amp;ad=asc\">a</a>)";
                    }
                break;
                
                case "filesize":
                $files = _foldersort($folderIam, $myfolder, "files", $i1="filesize", $i2="type", $i3="name");
                $folders = _foldersort($folderIam, $myfolder, "folders", $i1="filesize", $i3="name");
                    if($_GET['ad'] == "asc") {
                        sort($files);
                        sort($folders);
                        $fsizead = " (<a href=\"{$thisfilename}&amp;sort=filesize&amp;ad=dsc\">d</a>)";
                    }
                    elseif($_GET['ad'] == "dsc") {
                        rsort($files);
                        rsort($folders);
                        $fsizead = " (<a href=\"{$thisfilename}&amp;sort=filesize&amp;ad=asc\">a</a>)";
                    }
                break;
                
                case "lastmod":
                $files = _foldersort($folderIam, $myfolder, "files", $i1="lastmod", $i2="type", $i3="filesize", $i4="name");
                $folders = _foldersort($folderIam, $myfolder, "folders", $i1="lastmod", $i4="name");
                    if($_GET['ad'] == "asc") {
                        sort($files);
                        sort($folders);
                        $lmodad = " (<a href=\"{$thisfilename}&amp;sort=lastmod&amp;ad=dsc\">d</a>)";
                    }
                    elseif($_GET['ad'] == "dsc") {
                        rsort($files);
                        rsort($folders);
                        $lmodad = " (<a href=\"{$thisfilename}&amp;sort=lastmod&amp;ad=asc\">a</a>)";
                    }
                break;
            }
        }
    } else {
            sort($files);
            sort($folders);
            $namead = " (<a href=\"{$thisfilename}&amp;sort=name&amp;ad=dsc\">d</a>)";
    }
    #ascending / descending info
    if(isset($_GET['fol']) && strlen($_GET['fol']) > 0) {
        $typead = str_replace("'{$thisfilename}&amp;sort=", "'{$thisfilename}&amp;fol=".$_GET['fol']."&amp;sort=", $typead);
        $namead = str_replace("'{$thisfilename}&amp;sort=", "'{$thisfilename}&amp;fol=".$_GET['fol']."&amp;sort=", $namead);
        $fsizead = str_replace("'{$thisfilename}&amp;sort=", "'{$thisfilename}&amp;fol=".$_GET['fol']."&amp;sort=", $fsizead);
        $lmodad = str_replace("'{$thisfilename}&amp;sort=", "'{$thisfilename}?&amp;fol=".$_GET['fol']."&amp;sort=", $lmodad);
    }
    
    echo '<div class="zeilenbox boxtitel">'."\n";
    echo '<span class="titlename">'.$nametext.$namead."</span>\n";
    echo '<span class="size">'.$fsizetext.$fsizead."</span>\n";
    echo '<span class="type">'.$typetext.$typead."</span>\n";
    echo '<span class="mod">'.$lmodtext.$lmodad."</span>\n";
    if ($pm[work]== "edit" or $pm[admin]=="admin") {echo '<span class="action">'.$actiontext."</span><br />\n";}
    else {echo "\n</div>\n\n";}
    echo '<div class="minibox">'."\n";
    
    $filterfolders = array("mstuff");
    # show folders
        for ($i = 0; $i <= $totalfoldercount; $i++) {
            
            #icon
            echo '<div class="zeilenbox">'."\n".'<span class="icon">'."<img src=\"".$iconpath."/foldericon.gif\" alt=\"foldericon\" /></span>\n";
            #name and link to folder
            echo '<span class="name"><a href="'.$thisfilename.$folders[$i]['link'].'" title="'.$folders[$i]['name'].'">'.format_name($folders[$i]['name'])."</a>&nbsp;</span>\n";
            #foldersize
            echo '<span class="size">'.format_filesize($folders[$i]['filesize'])."&nbsp;</span>\n";
            #type
            echo '<span class="type">'."&nbsp;</span>\n";
            #lastmod
            echo '<span class="mod">'.format_datetime($folders[$i]['lastmod'])."&nbsp;</span>\n";
            #action
            if ($pm[work]== "edit" or $pm[admin]=="admin") {echo '<span class="action"><a href="javascript:delfolder(\''.$thisfilename.'?cmd=del&'.str_replace("//","/",str_replace("fol","folder",str_replace("?","",$folders[$i]['link']))).'\')" title="Ordner löschen"><img src="images/icon-delete.gif" border="0" alt="Löschen" title = "Ordner löschen" /></a> <a href="'.$thisfilename.'?cmd=rename&fol='.$_GET[fol].'&file='.format_name($folders[$i]['name']).'"><img src="images/icon-edit.gif" alt="umbenennen" border="0" title="umbenennen" /></a>'."</span>\n</div><br />\n\n"; } echo "\n</div><br />\n\n";
            
        }
    
    #show files        
        for ($i = 0; $i <= $totalfilecount;$i++) {
            
            #icon
            echo '<div class="zeilenbox">'."\n".'<span class="icon">'.format_filetype($files[$i]['type'],$iconpath)."</span>\n";
            #name and link to file
            echo '<span class="name">'.format_a_name($files[$i]['name'], $params['folder'].$files[$i]['link'], $folderIam, $files[$i]['type']).format_name($files[$i]['name'])."</a>&nbsp;</span>\n";
            #filesize
            echo '<span class="size">'.format_filesize($files[$i]['filesize'])."&nbsp;</span>\n";
            #type
            echo '<span class="type">'.$files[$i]['type']."</span>\n";
            #lastmod
            echo '<span class="mod">'.format_datetime($files[$i]['lastmod'])."&nbsp;</span>\n";
            #action
            if ($pm[work]== "edit" or $pm[admin]=="admin") { echo '<span class="action"><a href="javascript:delfile(\''.$thisfilename.'?cmd=del&file='.format_delete_name($files[$i]['link']).'\')" title="Datei löschen"><img src="images/icon-delete.gif" border="0" alt="Löschen" title="Datei löschen" /></a> <a href="'.$thisfilename.'?cmd=rename&fol='.$_GET[fol].'&file='.format_name($files[$i]['name']).'"><img src="images/icon-edit.gif" alt="umbenennen" border="0" title="umbenennen" /></a></span>&nbsp;'."</div>"; } echo "\n</div><br />\n\n";
        }    
    ?>
    </div>
    <? if ($pm[work] == "edit" or $pm[admin] == "admin") {?>
    <br /><br />
    <span class="fbnav"><a href="<? echo $thisfilename; ?>?cmd=add&fol=<? echo $thisf; ?>">Datei hinzufügen</a> &middot; <a href="<? echo $thisfilename; ?>?cmd=create&fol=<? echo $thisf; ?>">Ordner erstellen</a> &middot; <a href="changepw.php">Passwort ändern</a> <? } if ($pm[admin] == "admin") { ?>&middot; <a href="useradm.php">Benutzeradministration</a>  <? }  if ($pm[work] == "edit" or $pm[admin] == "admin") { ?></span> <? } ?>
    
        </div>
    
    
<?php

} // End Smarty Function


      ###############################     
##### ONLY EDIT IF YOU KNOW WHAT YOU'RE DOING ;) #####
      ###############################

## format functions
    function format_name($name) {
        if(strlen($name) > 48) {
            $name = substr($name, 0, 45)."...";
        }
        return $name;
    }


function format_filetype($type,$iconpath) {
    global $gCms;
    $iconname = $iconpath."/".strtolower($type)."icon.gif";

    if (!file_exists($gCms->config['root_path'].$iconname)) 
        $iconname = $iconpath."/othericon.gif";
    
    return "<img src=\"".$iconname."\" alt=\"".$type."-File\" />";
}
    
    function format_a_name($name, $link, $fulllink, $type) {
    $allimagetypes = array("jpg", "png", "gif", "ico", "jpeg", "bmp");
        if (substr($fulllink,-1,1) != "/") $fulllink .= "/";
        if(in_array($type, $allimagetypes)) {
            $gis = getimagesize($fulllink.$name);
            $onclick = ' onclick="window.open(this.href, null, \'height='.$gis[1].',width='.$gis[0].'\'); return false;" onmouseover="preview(this, \''.$link.'\', '.$gis[0].', '.$gis[1].');" onmouseout="hideprev();"';
        } else {
            $onclick = ' onclick="window.open(this.href); return false;"';
        }
        $link = str_replace(" ", "%20", $link);
    return '<a href="'.$link.'"'.$onclick.' title="'.$name.'">';
    }
    
    function format_delete_name($link) {
    $link = str_replace(" ", "%20", $link);
    return $link;
    }
    
    
    function format_filesize($filesize) {
        if(strlen($filesize) <= 3) {
            $filesize = round($filesize,2)." b";
        } elseif(strlen($filesize) < 7) {
            $filesize = ($filesize/1024);
            $fsplit = substr(strstr($filesize, "."), 0, 4);
            $fstart = explode(".", $filesize);
            $fstart = $fstart[0];    
            $filesize = $fstart.$fsplit;
            $filesize = round(str_replace(",",".",$filesize),2)." kb";
        } else {
            $filesize = ($filesize/1024/1024);
            $fsplit = substr(strstr($filesize, "."), 0, 4);
            $fstart = explode(".", $filesize);
            $fstart = $fstart[0];
            $filesize = $fstart.$fsplit;
            $filesize = round(str_replace(",",".",$filesize),2)." mb";
        }
        return str_replace(",",".",$filesize);
    }
    
    
    function format_datetime($datetime) {
        if(is_numeric($datetime) && strlen($datetime) == 12) {
            $Y = substr($datetime, 0, 4);
            $m = substr($datetime, 4, 2);
            $d = substr($datetime, 6, 2);
            $H = substr($datetime, 8, 2);
            $i = substr($datetime, 10, 2);
            
                return $d.".".$m.".".$Y." ".$H.":".$i;
        
        } else {
            return false;
        }
    }
    
#foldersize functions
    function getfoldersize($folder) {
        if (substr($folder,-1,1) != "/") $folder .= "/";
    
        #open dir
        $dir = opendir($folder);
        $foldersize = 0;
        #get contents of dir
        while (false !== ($contents = readdir($dir))) {
          if($contents == "." || $contents == ".." || $contents[0] == ".") { continue; }
            if(!is_dir($folder.$contents)) {
                $foldersize = $foldersize + ((int)filesize($folder.$contents));
            }
        }
        
        return $foldersize;
    }
    
    function getfolderlastmod($folder) {
        if (substr($folder,-1,1) != "/") $folder .= "/";        
        #open dir
        $dir = opendir($folder);
        $folderlastmod = array();
        #get contents of dir
        while (false !== ($contents = readdir($dir))) {
          if($contents == "." || $contents == ".." || $contents[0] == ".") { continue; }
            if(!is_dir($folder.$contents)) {
                $folderlastmod[] = date("YmdHi", filemtime($folder.$contents));
            }
        }
        
        rsort($folderlastmod);
        if($folderlastmod) {
            return $folderlastmod[0];
        } else {
            return 0;
        }
        
    }
    
# main function sorts all files in arrays
function _foldersort($thisfolder, $myfolder, $rt, $i1="name", $i2="type", $i3="filesize", $i4="lastmod"){
    
    # vars ;
    $files = array();
    $folders = array();
    $filecount = 0;
    $foldercount = 0;
    if (substr($thisfolder,-1,1) != "/") $thisfolder .= "/";

    $folderpath = str_replace($myfolder,"",$thisfolder);
    
    
    #open dir
    $dir = opendir($thisfolder);
    
    #get contents of dir
    while (false !== ($contents = readdir($dir))) {
      if($contents == "." || $contents == ".." || $contents[0] == "." || $contents == "cgi-bin") { continue; }
        if(is_dir($thisfolder.$contents)) {
            #putintoarray
            $folders[$foldercount] = array();
            switch($i1) {
                case "name":
                $folders[$foldercount][$i1] = $contents; break;
                case "type";
                $folders[$foldercount][$i1] = "&nbsp;"; break;
                case "filesize":
                $folders[$foldercount][$i1] = getfoldersize($thisfolder.$contents); break;
                case "lastmod":
                $folders[$foldercount][$i1] = getfolderlastmod($thisfolder.$contents); break;
            }
            switch($i2) {
                case "name":
                $folders[$foldercount][$i2] = $contents; break;
                case "type";
                $folders[$foldercount][$i2] = "&nbsp;"; break;
                case "filesize":
                $folders[$foldercount][$i2] = getfoldersize($thisfolder.$contents); break;
                case "lastmod":
                $folders[$foldercount][$i2] = getfolderlastmod($thisfolder.$contents); break;
            }
            switch($i3) {
                case "name":
                $folders[$foldercount][$i3] = $contents; break;
                case "type";
                $folders[$foldercount][$i3] = "&nbsp;"; break;
                case "filesize":
                $folders[$foldercount][$i3] = getfoldersize($thisfolder.$contents); break;
                case "lastmod":
                $folders[$foldercount][$i3] = getfolderlastmod($thisfolder.$contents); break;
            }
            switch($i4) {
                case "name":
                $folders[$foldercount][$i4] = $contents; break;
                case "type";
                $folders[$foldercount][$i4] = "&nbsp;"; break;
                case "filesize":
                $folders[$foldercount][$i4] = getfoldersize($thisfolder.$contents); break;
                case "lastmod":
                $folders[$foldercount][$i4] = getfolderlastmod($thisfolder.$contents); break;
            }
            
            
            $folders[$foldercount]['link'] = "&fol=".$folderpath.$contents;
            
            #foldercount
            $foldercount++;
        } else {
        
        #filetype
        $ft = substr(strtolower(strrchr($contents, ".")), 1);
        
        #filesize
        $fsize = ((int)filesize($thisfolder.$contents));
        
        #filelastmod
        $lastmod = date ("YmdHi", filemtime($thisfolder.$contents));
        
        #putintoarray
        $files[$filecount] = array();
        
        switch($i1) {
            case "name":
            $files[$filecount][$i1] = $contents; break;
            case "type";
            $files[$filecount][$i1] = $ft; break;
            case "filesize":
            $files[$filecount][$i1] = $fsize; break;
            case "lastmod":
            $files[$filecount][$i1] = $lastmod; break;
        }
        switch($i2) {
            case "name":
            $files[$filecount][$i2] = $contents; break;
            case "type";
            $files[$filecount][$i2] = $ft; break;
            case "filesize":
            $files[$filecount][$i2] = $fsize; break;
            case "lastmod":
            $files[$filecount][$i2] = $lastmod; break;
        }
        switch($i3) {
            case "name":
            $files[$filecount][$i3] = $contents; break;
            case "type";
            $files[$filecount][$i3] = $ft; break;
            case "filesize":
            $files[$filecount][$i3] = $fsize; break;
            case "lastmod":
            $files[$filecount][$i3] = $lastmod; break;
        }
        switch($i4) {
            case "name":
            $files[$filecount][$i4] = $contents; break;
            case "type";
            $files[$filecount][$i4] = $ft; break;
            case "filesize":
            $files[$filecount][$i4] = $fsize; break;
            case "lastmod":
            $files[$filecount][$i4] = $lastmod; break;
        }
        
        $files[$filecount]['link'] = $folderpath.$contents;
        
        #filecount
        $filecount++;
        }
    }
    
#return either files or folder array 
    switch($rt){
        case "files":
            return $files;
        break;
        
        case "folders";
            return $folders;
        break;
    }
}

// Diese Ordner sind ausgeschlossen vom Filebrowser
// Dies dient der dicherheit
function checkFolderParam($myfolder) {
    global $gCms;
    
    // Standardordner setzen falls der Paramenter "folder" nicht definiert ist.
    if (!$myfolder)
        $myfolder = str_replace($gCms->config['root_path'],"",$gCms->config['uploads_path']);
    
    // Slash setzen falls keiner vorhanden ist.
    if (substr($myfolder,0,1) != "/")
        $myfolder = "/".$myfolder;

    $forbidden = array(
        1 => "/".$gCms->config['admin_dir'],
        2 => "/plugins",
        3 => "/modules",
        4 => "/lib",
        5 => "/tmp"
    );
    
    // Prüfen ob ein Ordner aus der Auschlussliste verwendet wird.
    if (array_search($myfolder, $forbidden) > 0) {
        $retval = str_replace($gCms->config['root_path'],"",$gCms->config['uploads_path']);
        echo "<p style='color: red; font-weight: bold;'>Der gew&uuml;schte Ordner <span style='color: black;'>".$myfolder."</span> ist f&uuml;r die Verwendung mit dem Filebrowser gesperrt. Es wird der Standardordner ".$retval." verwendet.</p>";
        return $retval;
    }
    // Prüfen ob der Ordner vorhanden ist. Falls nein wird der Ordner erstellt.
    if (is_dir($gCms->config['root_path'].$myfolder) == false){
        $retval = str_replace($gCms->config['root_path'],"",$gCms->config['uploads_path']);
        echo "<p style='color: red; font-weight: bold;'>Der Ordner <span style='color: black;'>".$myfolder."</span> wurde nicht gefunden</p>";
        return $retval;
    }
    
    return $myfolder;
}

function checkIconParam($myicon) {
    global $gCms;
    
    if (!$myicon)
        $myicon = str_replace($gCms->config['root_path'],"",$gCms->config['image_uploads_path'])."/appicons";        

    if (substr($myicon,0,1) != "/")
        $myicon = "/".$myicon;
    
    // Prüfen ob der Ordner vorhanden ist
    if (is_dir($gCms->config['root_path'].$myicon) == false){
        mkdir ($gCms->config['root_path'].$myicon);
        if (is_dir($gCms->config['root_path'].$myicon) == false) {
            echo "<p style='color: red;'>Der Ordner <span style='color: black;'>".$myicon."</span> wurde nicht gefunden und kann nicht angelegt werden. Bitte den Ordner mit den Icons auf den Server laden.</p>";
            return $myicon = str_replace($gCms->config['root_path'],"",$gCms->config['image_uploads_path']);
        }
        else {    
            echo "<p style='color: red;'>Der Ordner <span style='color: black;'>".$myicon."</span> wurde nicht gefunden. Das Script hat den Ordner nun angelegt. Bitte die Icons in den Ordner ".$myicon." laden.</p>";
            return $myicon;
        }
    }
    return $myicon;
}

function checkThisFolder($thisfolder,$folderparam) {
    global $gCms;

    if(isset($thisfolder) && strlen($thisfolder) > 0) 
        $thisfolder = str_replace("../", "", $thisfolder); 
    else 
        $thisfolder = "/";
    
    if (substr($thisfolder,0,1) != "/")
        $thisfolder = "/".$thisfolder;
    
    if (is_dir($gCms->config['root_path'].$folderparam.$thisfolder) == false){
        echo "<p style='color: red;'>Der Ordner <span style='color: black;'>".$folderparam.$thisfolder."</span> wurde nicht gefunden.</p>";
        return "";
    }

    return $thisfolder;
}

# Deletedir inklusive Inhalt

// rec_rmdir - loesche ein Verzeichnis rekursiv
// Rueckgabewerte:
//   0  - alles ok
//   -1 - kein Verzeichnis
//   -2 - Fehler beim Loeschen
//   -3 - Ein Eintrag eines Verzeichnisses war keine Datei und kein Verzeichnis und
//        kein Link
function rec_rmdir ($path) {

    // schau' nach, ob das ueberhaupt ein Verzeichnis ist
    if (!is_dir ($path)) {
        return -1;
    }
    // oeffne das Verzeichnis
    $dir = @opendir ($path);
    
    // Fehler?
    if (!$dir) {
        return -2;
    }
    
    // gehe durch das Verzeichnis
    while (($entry = @readdir($dir)) !== false) {
        // wenn der Eintrag das aktuelle Verzeichnis oder das Elternverzeichnis
        // ist, ignoriere es
        if ($entry == '.' || $entry == '..') continue;
        // wenn der Eintrag ein Verzeichnis ist, dann 
        if (is_dir ($path.'/'.$entry)) {
            // rufe mich selbst auf
            $res = rec_rmdir ($path.'/'.$entry);
            // wenn ein Fehler aufgetreten ist
            if ($res == -1) { // dies duerfte gar nicht passieren
                @closedir ($dir); // Verzeichnis schliessen
                return -2; // normalen Fehler melden
            } else if ($res == -2) { // Fehler?
                @closedir ($dir); // Verzeichnis schliessen
                return -2; // Fehler weitergeben
            } else if ($res == -3) { // nicht unterstuetzer Dateityp?
                @closedir ($dir); // Verzeichnis schliessen
                return -3; // Fehler weitergeben
            } else if ($res != 0) { // das duerfe auch nicht passieren...
                @closedir ($dir); // Verzeichnis schliessen
                return -2; // Fehler zurueck
            }
        } else if (is_file ($path.'/'.$entry) || is_link ($path.'/'.$entry)) {
            // ansonsten loesche diese Datei / diesen Link
            $res = @unlink ($path.'/'.$entry);
            // Fehler?
            if (!$res) {
                @closedir ($dir); // Verzeichnis schliessen
                return -2; // melde ihn
            }
        } else {
            // ein nicht unterstuetzer Dateityp
            @closedir ($dir); // Verzeichnis schliessen
            return -3; // tut mir schrecklich leid...
        }
    }
    
    // schliesse nun das Verzeichnis
    @closedir ($dir);
    
    // versuche nun, das Verzeichnis zu loeschen
    $res = @rmdir ($path);
    
    // gab's einen Fehler?
    if (!$res) {
        return -2; // melde ihn
    }
    
    // alles ok
    return 0;
}


function getUserInfo($usersfile) {
    $file = file($usersfile);
        
    foreach($file as $key => $value){
        $file[$key] = explode(":",$value);
    }
    $zahl = 0;
    foreach($file as $key => $value){
        $zahl++;
        if ($_SERVER['PHP_AUTH_USER'] == $value[0]) { 
            $retval = array('user' => $value[0], 'pw' => $value[1], 'work' => $value[2], 'admin' => str_replace(array(" ", "\n", "\r"), "", $value[3]));
       }
    }
    return $retval;
}




function getStyleSheet() {

?>

<style type="text/css">
<!--


/*span,div{ 
            border: 1px dotted red;
}*/


#fbmain {
    <? if ($pm[work]== "edit" or $pm[admin]=="admin") echo "width: 710px;";
    else echo "width: 670px;";
    ?> 
    background: inherit;
    color: #000000;
    border: none;
    font: 12px Arial, Verdana, sans-serif;
    padding: 0px;
    text-align: left;
}

#fbmain .cpath {
    display: block;
    width: auto;
    background: inherit;
    padding: 3px;
    font-weight: bold;
}

#fbmain .fbnav {
    display: block;
    width: auto;
    background: inherit;
    padding: 3px;
}

#fbmain .zeilenbox {
    display: block; 
    width: 100%;
    background: inherit;
    color: #000000;    
    height: 1.0em;
}

#fbmain .icon, #fbmain .name, #fbmain .titlename, #fbmain .size, #fbmain .type, #fbmain .mod, #fbmain .action {
    display: block;
    float: left;
    color: #000;
    background: inherit;
}

#fbmain .icon {
    width: 20px;
}

#fbmain .name {
    width: 380px;
}

#fbmain .titlename {
    width: 400px;
}


#fbmain .size {
    width: 80px;
    text-align: right;
}

#fbmain .type {
    width: 65px;
    text-align: right;
}

#fbmain .mod {
    width: 120px;
    text-align: right;
}
#fbmain .action {
    width: 40px;
    text-align: right;
}

#fbmain .minibox {
    border-top: 1px dotted navy;
    padding: 0px;
    padding-top: 6px;
    padding-bottom: 6px;
}


#fbmain a { 
    background:inherit; 
    color: #000000; 
    text-decoration: none;
}

#fbmain a:hover { 
    background:inherit; 
    color: #0000ff; 
}

-->
</style>

<?
}

function smarty_cms_help_function_filebrowser() {
?>
<h3>What does this do?</h3>
<p>Displays a list of files and folder from a folder with file icon, file name, file size and file date. </p>
<h3>How do I use it?</h3>
<p>Just insert the tag into your template/page like <code>{filebrowser}</code>.</p>
<h3>What parameters does it take?</h3>
<p>
<ul>
<li><em>(optional)</em> <tt>folder</tt> - Folder to list files and folders from (default is "uploads/"). Advise you include this. The root folder is the root folder of the cms install</li>
<li><em>(optional)</em> <tt>icon</tt> - path to iconfolder.</li>
<li><em>(optional)</em> <tt>showtitle</tt> - showtitle = "false" hide the title</li>
<li><em>(optional)</em> <tt>titlesize</tt> - default size is "h1"</li>
<li><em>(optional)</em> <tt>mainname</tt> - name of the main directory (You are here: Home)</li>
</ul>
</p>
<h3>Hints and Tips</h3>
<p>
- Create a new folder within the uploads/ directory for your files instead of using the default uploads/<br />
- File list is independent of upload method. Both FTP and File Manager should work.<br />
- If you know you're only going to use a very limited number of file formats, it is possible to remove unneccessary file icons to save space.<br />
</p>
<h3>Install filebrowser</h3>
<p>
- Copy the files function.filebrowser.php and function.filebrowser_javascript.js into the plugin directory<br />
- Copy the folder appicons into the /uploads/images/ directory
- Put the tag {filebrowser} into your page.
</p>
<?php
}

function smarty_cms_about_function_filebrowser() {
?>
<p>Author: Lukas Blatter &lt;<a href="mailto:lukas.blatter@gmail.com">lukas.blatter@gmail.com</a>&gt;
</p>
<p>Version 0.1</p>
<p>Change History:<br />
0.1 - Alpha version released.
</p>
<?php
}
?>

Eingebunden wird der Filebrowser wie folgt:

{filebrowser folder="uploads/dl" showtitle="false" mainname="Downloads" js=false }

Falls was nicht klappt, melde dich.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#10 05. Mai 2011 12:12

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: [GELÖST] Plugin List downloads oder anderer DLM?

nockenfell schrieb:

http://dev.cmsmadesimple.org/projects/filebrowser

Hat im Moment noch ein paar Fehler drin welche ich nicht behoben habe. Lade das Zip herunter. Ersetze die function.filebrowser.php mit folgendem Inhalt

Dabei die Datei function.filebrowser.php als Download.
filebrowser.zip

Ganz vergessen das ich hier neu auch Dateien anhängen kann


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#11 09. Mai 2011 08:57

PatriziaF
kennt CMS/ms
Ort: Altheim/Österreich
Registriert: 19. Januar 2011
Beiträge: 153
Webseite

Re: [GELÖST] Plugin List downloads oder anderer DLM?

ein großes Danke an nockenfell.

sein Plugin ist super und er hat mir auch bei der Fehlerbehebung sehr geholfen!

GROßES DANKE!!

LG aus Österreich
Patrizia

Offline

#12 27. April 2013 05:10

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: [GELÖST] Plugin List downloads oder anderer DLM?

nockenfell schrieb:
nockenfell schrieb:

http://dev.cmsmadesimple.org/projects/filebrowser

Hat im Moment noch ein paar Fehler drin welche ich nicht behoben habe. Lade das Zip herunter. Ersetze die function.filebrowser.php mit folgendem Inhalt

Dabei die Datei function.filebrowser.php als Download.
filebrowser.zip

Gerade gesehen, dass das Plugin sowohl aus dem Forge als auch von deiner Webseite verschwunden ist - hast du 'ne Anpassung für die 1.11 da?

Btw. die Datei function.filebrowser_javascript.js ist auch nicht im angehängten Paket enthalten ...

Offline

#13 27. April 2013 12:41

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: [GELÖST] Plugin List downloads oder anderer DLM?

Nur inoffiziell. Ich habe das ganze nicht mehr weiter entwickelt. Es läuft jedoch auf der 1.11.6 auf meiner eigenen Webseite.

Hier die aktuell von mir verwendete Version. Alles ohne Gewähr. Ich habe alles direkt aus meiner Webseite kopiert (z.T. aus verschiedenen Dateien zusammenkopiert)

filebrowser.rar


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#14 29. April 2013 21:05

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: [GELÖST] Plugin List downloads oder anderer DLM?

nockenfell schrieb:

Nur inoffiziell. Ich habe das ganze nicht mehr weiter entwickelt.

Danke dir. Coole Sache, dass du btHasAccess() eingebunden hast!!

Hattest du noch irgend welche Dinge auf deiner Todo-Liste (weil du von Weiterentwicklung sprichst)?

Offline

#15 29. April 2013 21:26

nockenfell
Moderator
Ort: Gontenschwil, Schweiz
Registriert: 09. November 2010
Beiträge: 2.934
Webseite

Re: [GELÖST] Plugin List downloads oder anderer DLM?

Naja, ich habe vor einiger Zeit folgende Webseite gefunden:
http://encode-explorer.siineiolekala.net/

Die PHP Umsetzung ist Klasse. Gefällt mir echt gut. Irgendwann baue ich mir das wahrscheinlich in die ToolBox ein. Allerdings haben die CMSMS Module bei mir im Moment nicht die grösste Priorität. Somit kommt Zeit, kommt Erweiterung.


[dieser Beitrag wurde mit 100% recycled bits geschrieben]
Mein Blog  /   Diverse Links rund um CMS Made Simple
Module: btAdminer, ToolBox

Offline

#16 30. April 2013 22:17

Andynium
Moderator
Ort: Dohna / SN / Deutschland
Registriert: 13. September 2010
Beiträge: 7.018
Webseite

Re: [GELÖST] Plugin List downloads oder anderer DLM?

Bin schon ganz gespannt wink ...

Offline