ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » FTP Modul

Geschlossen
  1. #1
    User Pic
    CellSplitter Mitglied
    Registriert seit
    24.05.2007
    Beiträge
    195
    Beitragswertungen
    3 Beitragspunkte
    Hallo liebe ilch Fans!!!

    Ich bin gerade dabei ein Modul zu entwerfen, womit man aus dem Admin Menu per Popup auf seinen FTP Server zugreifen kann und auch Dateien uploaden und downloaden kann.

    Es ist auch schon fast fertig, doch habe ich einen Fehler wo ich dran verzweifele.

    Das Symbol ist im Admin menü und das Popup öffnet auch ordnungsgemäß und man sieht seine ilch Ordner Struktur im Popup.

    Siehe Screenshot 1

    Doch klicke ich auf einen Link im Popup fenster so öffnet sich das Admin menü in dem Popup Fenster anstatt der gewünschte FTP Eintrag

    Siehe Screenshot 2

    Gibt es hier wenn der mir helfen kann??


    THX schonmal...............

    CU

    POST EDIT: Für mehr Info, bitte den dritten Beitrag beachten!!!!


    Zuletzt modifiziert von CellSplitter am 06.05.2008 - 19:11:03
    Es gibt keine dummen Fragen, nur dumme Antworten !!!
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Elmser Mitglied
    Registriert seit
    05.02.2005
    Beiträge
    362
    Beitragswertungen
    3 Beitragspunkte
    also nix für ungut aber du solltest den Code des Moduls mal posten, den in den Sreens wird man den Fehler net finden
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    CellSplitter Mitglied
    Registriert seit
    24.05.2007
    Beiträge
    195
    Beitragswertungen
    3 Beitragspunkte
    Ok dann fange ich mal an!!!

    Das Modul besteht eigendlich nur aus zwei PHP Dateien, einer CSS Datei und ein Paar Bildern

    Die erste PHP Datei:

    NAME: ftp.php

    INHALT:
    <?
    ################################################################################
    #             FTP Client für Ilch ...das Clanscript für jeden!!!               #
    ################################################################################
    # Diese Datei ist Bestandteil des Ilch FTP Clienten.                           #
    # Lizenzart: Open-Source  GPL                                                  #
    # Script-Version: 1.0.0.1 BETA                                                 #
    # File-Release-Date:  04/04/08                                                 #
    # Official Website and latest Lersion:    www.weedjunky.de                     #
    #==============================================================================#
    #           Copyright © 2008 by CellSplitter - All Rights Reserved.            #
    ################################################################################
    
    
    $startdir = '.';
    
    # Thumbnails anzeigen?   ja = true / nein = false
    
    $showthumbnails = true; 
    
    # Ordner anzeigen?  ja = true / nein = false
    $showdirs = true;
    
    # force downloads?  ja = true / nein = false
    
    $forcedownloads = true;
    
    # Dateien die nicht angezeigt werden sollen
    
    $hide = array(
    				'bilder',
    				'css',
    				'config',
    				'index.php',
    				'admin.php',
    				'Thumbs',
    				'.htaccess',
    				'.htpasswd'
    			);
    			 
    # Index Dateien anzeigen?  ja = true  |  nein = false
    			
    $displayindex = true;
    
    # Dateien uploaden?  ja = true  |  nein = false
    
    $allowuploads = true;
    
    # Dateien überschreiben?  ja = true  |  nein = false
    
    $overwrite = true;
    
    # Index Dateien
    
    $indexfiles = array (
    				'index.html',
    				'index.htm',
    				'default.htm',
    				'default.html'
    			);
    			
    # Dateibezeichnungen und deren Symbole
    
    $filetypes = array (
    				'png' => 'jpg.gif',
    				'jpeg' => 'jpg.gif',
    				'bmp' => 'jpg.gif',
    				'jpg' => 'jpg.gif', 
    				'gif' => 'gif.gif',
    				'zip' => 'zip.png',
    				'rar' => 'rar.png',
    				'exe' => 'exe.gif',
    				'setup' => 'setup.gif',
    				'txt' => 'text.png',
    				'htm' => 'html.gif',
    				'html' => 'html.gif',
    				'fla' => 'fla.gif',
    				'swf' => 'swf.gif',
    				'xls' => 'xls.gif',
    				'doc' => 'doc.gif',
    				'sig' => 'sig.gif',
    				'fh10' => 'fh10.gif',
    				'pdf' => 'pdf.gif',
    				'psd' => 'psd.gif',
    				'rm' => 'real.gif',
    				'mpg' => 'video.gif',
    				'mpeg' => 'video.gif',
    				'mov' => 'video2.gif',
    				'avi' => 'video.gif',
    				'eps' => 'eps.gif',
    				'gz' => 'archive.png',
    				'asc' => 'sig.gif',
    			);
    			
    
    error_reporting(0);
    if(!function_exists('imagecreatetruecolor')) $showthumbnails = false;
    $leadon = $startdir;
    if($leadon=='.') $leadon = '';
    if((substr($leadon, -1, 1)!='/') && $leadon!='') $leadon = $leadon . '/';
    $startdir = $leadon;
    
    if($_GET['dir']) {
    	
    	if(substr($_GET['dir'], -1, 1)!='/') {
    		$_GET['dir'] = $_GET['dir'] . '/';
    	}
    	
    	$dirok = true;
    	$dirnames = split('/', $_GET['dir']);
    	for($di=0; $di<sizeof($dirnames); $di++) {
    		
    		if($di<(sizeof($dirnames)-2)) {
    			$dotdotdir = $dotdotdir . $dirnames[$di] . '/';
    		}
    		
    		if($dirnames[$di] == '..') {
    			$dirok = false;
    		}
    	}
    	
    	if(substr($_GET['dir'], 0, 1)=='/') {
    		$dirok = false;
    	}
    	
    	if($dirok) {
    		 $leadon = $leadon . $_GET['dir'];
    	}
    }
    
    if($_GET['download'] && $forcedownloads) {
    	$file = str_replace('/', '', $_GET['download']);
    	$file = str_replace('..', '', $file);
    
    	if(file_exists($leadon . $file)) {
    		header("Content-type: application/x-download");
    		header("Content-Length: ".filesize($leadon . $file)); 
    		header('Content-Disposition: attachment; filename="'.$file.'"');
    		readfile($leadon . $file);
    		die();
    	}
    }
    
    if($allowuploads && $_FILES['file']) {
    	$upload = true;
    	if(!$overwrite) {
    		if(file_exists($leadon.$_FILES['file']['name'])) {
    			$upload = false;
    		}
    	}
    	
    	if($upload) {
    		move_uploaded_file($_FILES['file']['tmp_name'], $leadon . $_FILES['file']['name']);
    	}
    }
    
    $opendir = $leadon;
    if(!$leadon) $opendir = '.';
    if(!file_exists($opendir)) {
    	$opendir = '.';
    	$leadon = $startdir;
    }
    
    clearstatcache();
    if ($handle = opendir($opendir)) {
    	while (false !== ($file = readdir($handle))) { 
    		//first see if this file is required in the listing
    		if ($file == "." || $file == "..")  continue;
    		$discard = false;
    		for($hi=0;$hi<sizeof($hide);$hi++) {
    			if(strpos($file, $hide[$hi])!==false) {
    				$discard = true;
    			}
    		}
    		
    		if($discard) continue;
    		if (@filetype($leadon.$file) == "dir") {
    			if(!$showdirs) continue;
    		
    			$n++;
    			if($_GET['sort']=="date") {
    				$key = @filemtime($leadon.$file) . ".$n";
    			}
    			else {
    				$key = $n;
    			}
    			$dirs[$key] = $file . "/";
    		}
    		else {
    			$n++;
    			if($_GET['sort']=="date") {
    				$key = @filemtime($leadon.$file) . ".$n";
    			}
    			elseif($_GET['sort']=="size") {
    				$key = @filesize($leadon.$file) . ".$n";
    			}
    			else {
    				$key = $n;
    			}
    			$files[$key] = $file;
    			
    			if($displayindex) {
    				if(in_array(strtolower($file), $indexfiles)) {
    					header("Location: $file");
    					die();
    				}
    			}
    		}
    	}
    	closedir($handle); 
    }
    
    if($_GET['sort']=="date") {
    	@ksort($dirs, SORT_NUMERIC);
    	@ksort($files, SORT_NUMERIC);
    }
    elseif($_GET['sort']=="size") {
    	@natcasesort($dirs); 
    	@ksort($files, SORT_NUMERIC);
    }
    else {
    	@natcasesort($dirs); 
    	@natcasesort($files);
    }
    
    if($_GET['order']=="desc" && $_GET['sort']!="size") {$dirs = @array_reverse($dirs);}
    if($_GET['order']=="desc") {$files = @array_reverse($files);}
    $dirs = @array_values($dirs); $files = @array_values($files);
    
    
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Root:/<?=dirname($_SERVER['PHP_SELF']).'/'.$leadon;?></title>
    <link rel="stylesheet" type="text/css" href="include/admin/module/ftp_modul/css/styles.css" />
    <?
    if($showthumbnails) {
    ?>
    <script language="javascript" type="text/javascript">
    <!--
    function o(n, i) {
    	document.images['thumb'+n].src = 'include/admin/module/ftp_modul/info/info.php?f='+i;
    
    }
    
    function f(n) {
    	document.images['thumb'+n].src = 'include/admin/module/ftp_modul/bilder/trans.gif';
    }
    //-->
    </script>
    <?
    }
    ?>
    </head>
    <body>
    <div id="container">
      <h1>Root:/<?=dirname($_SERVER['PHP_SELF']).'/'.$leadon;?></h1>
      <div id="breadcrumbs"> <a href="<?=$_SERVER['PHP_SELF'];?>">home</a> 
      <?
     	 $breadcrumbs = split('/', $leadon);
      	if(($bsize = sizeof($breadcrumbs))>0) {
      		$sofar = '';
      		for($bi=0;$bi<($bsize-1);$bi++) {
    			$sofar = $sofar . $breadcrumbs[$bi] . '/';
    			echo ' &gt; <a href="'.$_SERVER['PHP_SELF'].'?dir='.urlencode($sofar).'">'.$breadcrumbs[$bi].'</a>';
    		}
      	}
      
    	$baseurl = $_SERVER['PHP_SELF'] . '?dir='.$_GET['dir'] . '&amp;';
    	$fileurl = 'sort=name&amp;order=asc';
    	$sizeurl = 'sort=size&amp;order=asc';
    	$dateurl = 'sort=date&amp;order=asc';
    	
    	switch ($_GET['sort']) {
    		case 'name':
    			if($_GET['order']=='asc') $fileurl = 'sort=name&amp;order=desc';
    			break;
    		case 'size':
    			if($_GET['order']=='asc') $sizeurl = 'sort=size&amp;order=desc';
    			break;
    			
    		case 'date':
    			if($_GET['order']=='asc') $dateurl = 'sort=date&amp;order=desc';
    			break;  
    		default:
    			$fileurl = 'sort=name&amp;order=desc';
    			break;
    	}
      ?>
      </div>
      <div id="listingcontainer">
        <div id="listingheader"> 
    	<div id="headerfile"><a href="<?=$baseurl . $fileurl;?>">File</a></div>
    	<div id="headersize"><a href="<?=$baseurl . $sizeurl;?>">Size</a></div>
    	<div id="headermodified"><a href="<?=$baseurl . $dateurl;?>">Last Modified</a></div>
    	</div>
        <div id="listing">
    	<?
    	$class = 'b';
    	if($dirok) {
    	?>
    	<div><a href="<?=$_SERVER['PHP_SELF'].'?dir='.urlencode($dotdotdir);?>" class="<?=$class;?>"><img src="include/admin/module/ftp_modul/bilder/dirup.png" alt="Folder" /><strong>..</strong> <em>-</em> <?=date ("M d Y h:i:s A", filemtime($dotdotdir));?></a></div>
    	<?
    		if($class=='b') $class='w';
    		else $class = 'b';
    	}
    	$arsize = sizeof($dirs);
    	for($i=0;$i<$arsize;$i++) {
    	?>
    	<div><a href="<?=$_SERVER['PHP_SELF'].'?dir='.urlencode($leadon.$dirs[$i]);?>" class="<?=$class;?>"><img src="include/admin/module/ftp_modul/bilder/folder.png" alt="<?=$dirs[$i];?>" /><strong><?=$dirs[$i];?></strong> <em>-</em> <?=date ("M d Y h:i:s A", filemtime($leadon.$dirs[$i]));?></a></div>
    	<?
    		if($class=='b') $class='w';
    		else $class = 'b';	
    	}
    	
    	$arsize = sizeof($files);
    	for($i=0;$i<$arsize;$i++) {
    		$icon = 'unknown.png';
    		$ext = strtolower(substr($files[$i], strrpos($files[$i], '.')+1));
    		$supportedimages = array('gif', 'png', 'jpeg', 'jpg');
    		$thumb = '';
    		
    		if($showthumbnails && in_array($ext, $supportedimages)) {
    			$thumb = '<span><img src="include/admin/module/ftp_modul/bilder/trans.gif" alt="'.$files[$i].'" name="thumb'.$i.'" /></span>';
    			$thumb2 = ' onmouseover="o('.$i.', \''.urlencode($leadon . $files[$i]).'\');" onmouseout="f('.$i.');"';
    			
    		}
    		
    		if($filetypes[$ext]) {
    			$icon = $filetypes[$ext];
    		}
    		
    		$filename = $files[$i];
    		if(strlen($filename)>43) {
    			$filename = substr($files[$i], 0, 40) . '...';
    		}
    		
    		$fileurl = $leadon . $files[$i];
    		if($forcedownloads) {
    			$fileurl = $_SESSION['PHP_SELF'] . '?dir=' . urlencode($leadon) . '&download=' . urlencode($files[$i]);
    		}
    
    	?>
    	<div><a href="<?=$fileurl;?>" class="<?=$class;?>"<?=$thumb2;?>><img src="bilder/<?=$icon;?>" alt="<?=$files[$i];?>" /><strong><?=$filename;?></strong> <em><?=round(filesize($leadon.$files[$i])/1024);?>KB</em> <?=date ("M d Y h:i:s A", filemtime($leadon.$files[$i]));?><?=$thumb;?></a></div>
    	<?
    		if($class=='b') $class='w';
    		else $class = 'b';	
    	}	
    	?></div>
    	<?
    	if($allowuploads) {
    		$phpallowuploads = (bool) ini_get('file_uploads');		
    		$phpmaxsize = ini_get('upload_max_filesize');
    		$phpmaxsize = trim($phpmaxsize);
    		$last = strtolower($phpmaxsize{strlen($phpmaxsize)-1});
    		switch($last) {
    			case 'g':
    				$phpmaxsize *= 1024;
    			case 'm':
    				$phpmaxsize *= 1024;
    		}
    	
    	?>
    	<div id="upload">
    		<div id="uploadtitle"><strong>File Upload</strong> (Max Filesize: <?=$phpmaxsize;?>KB)</div>
    		<div id="uploadcontent">
    			<?
    			if($phpallowuploads) {
    			?>
    			<form method="post" action="<?=$_SERVER['PHP_SELF'];?>?dir=<?=urlencode($leadon);?>" enctype="multipart/form-data">
    			<input type="file" name="file" /> <input type="submit" value="Upload" />
    			</form>
    			<?
    			}
    			else {
    			?>
    			File uploads are disabled in your index.php file. Please enable them.
    			<?
    			}
    			?>
    		</div>
    		
    	</div>
    	<?
    	}
    	?>
      </div>
    </div>
    </body>
    </html>


    Die zweite PHP Datei:

    NAME: info.php

    INHALT:
    <?php
    ################################################################################
    #             FTP Client für Ilch ...das Clanscript für jeden!!!               #
    ################################################################################
    # Diese Datei ist Bestandteil des Ilch FTP Clienten.                           #
    # Lizenzart: Open-Source  GPL                                                  #
    # Script-Version: 1.0.0.1 BETA                                                 #
    # File-Release-Date:  04/04/08                                                 #
    # Official Website and latest Lersion:    www.weedjunky.de                     #
    #==============================================================================#
    #           Copyright © 2008 by CellSplitter - All Rights Reserved.            #
    ################################################################################ 
    $filename = '../'.$_REQUEST['f'];
    
    if(!file_exists($filename)) die('Fehler: File does not exist');
    if(!function_exists('imagecreatetruecolor')) die('Error: GD2 nicht installiert oder konfiguriert');
    
    $fn_array = explode('.', $filename); 
    $type = strtolower(end($fn_array));
    
    if ($type == 'jpg' || $type == 'jpeg') $img = @imagecreatefromjpeg($filename);
    elseif ($type == 'png') $img = @imagecreatefrompng($filename);
    elseif ($type == 'gif')  {
    	if(!function_exists('imagecreatefromgif')) die('Fehler: Deine Version von GD unterstüzt keine GIF Dateien');
    	$img = @imagecreatefromgif($filename);
    }
    else die("Fehler: Bild nicht vorhanden");
    
    $x = imagesx($img);
    $y = imagesy($img);
    
    $width = 150;
    $height = round(($y/$x) * $width);
    
    $tmpimage = imagecreatetruecolor($width, $height);
    imagecopyresampled($tmpimage, $img, 0, 0, 0, 0, $width, $height, $x, $y);
    imagedestroy($img);
    $img = $tmpimage;
    
    if ($type == 'jpg' || $type == 'jpeg') {
    	header("Content-type: image/jpeg");
    	imagejpeg($img, '', 65);
    } 
    elseif ($type == 'png') {
    	header("Content-type: image/png");
    	imagetruecolortopalette($img, false, 128);
    	imagepng($img);
    } 
    elseif ($type == 'gif') {
    	header("Content-type: image/png");
    	imagetruecolortopalette($img, false, 128);
    	imagepng($img);
    }
    ?>


    So ich glaube der Post wird ein bissal zu lang.

    Fals ihr mir versuchen wollt zu helfen hier ist das nicht fertige Modul: Download

    THX schonmal...

    PS: Fals ihr was wissen wollt schreibt einfach....
    Es gibt keine dummen Fragen, nur dumme Antworten !!!
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Flomavali gelöschter User
    Worauf wurde im Adminmenü verlinkt?
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    CellSplitter Mitglied
    Registriert seit
    24.05.2007
    Beiträge
    195
    Beitragswertungen
    3 Beitragspunkte
    Also das ganze läuft über ein Popup JavaScript in der admin.php

    Das Script:

    </script>
                <script LANGUAGE="JavaScript">
    function ftp() {
    fenster = window.open("http://www.weedjunky.de/admin.php?ftp","PopUp","width=600,height=600,menubar=no,toolbar=no,scrollbars=yes,status=no,resizable=no,location=no,hotkeys=no")
    }
    </script>


    Der Link:

    <li><a href="JavaScript:ftp()"><img src="include/images/icons/admin/ftp.png" alt="">FTP-Client</a></li>
    Es gibt keine dummen Fragen, nur dumme Antworten !!!
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Flomavali gelöschter User
    Und wenn du über die verlinkung fährst, dann sollte er ja einen Link anzeigen, wo dieses Bild hin führt. Was zeigt der dann an? Außerdem solltest du die verlinkung lieber bei 'admin.php?ftp' belassen. Auch würde ich es an deiner Stelle nicht 'ftp' nennen sondern irgendwie anders. Kann man ja mal versuchen.
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Flomavali gelöschter User
    Das Modul geht bei mir gar nicht!

    Getestet mit der aktuellen Ilch CMS.
    Er leitet mich auf meinen kostenpflichtigen Hoster um und sagt dann,dass hier eine Domain registriert wurde.
    Darauf hin war meine Homepage eine Minute gar nicht zu erreichen. Dann ging sie wieder ich habe es nochmal ausgeführt und wieder alles down! Ist das ein Hacker?
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    IceT33 Mitglied
    Registriert seit
    22.10.2005
    Beiträge
    607
    Beitragswertungen
    9 Beitragspunkte
    Habe deine ftp.php mal umgeschrieben ... sollte so gehen:

    <?
    ################################################################################
    #             FTP Client für Ilch ...das Clanscript für jeden!!!               #
    ################################################################################
    # Diese Datei ist Bestandteil des Ilch FTP Clienten.                           #
    # Lizenzart: Open-Source  GPL                                                  #
    # Script-Version: 1.0.0.1 BETA                                                 #
    # File-Release-Date:  04/04/08                                                 #
    # Official Website and latest Lersion:    www.weedjunky.de                     #
    #==============================================================================#
    #           Copyright © 2008 by CellSplitter - All Rights Reserved.            #
    ################################################################################
    
    
    $startdir = '.';
    
    # Thumbnails anzeigen?   ja = true / nein = false
    
    $showthumbnails = true;
    
    # Ordner anzeigen?  ja = true / nein = false
    $showdirs = true;
    
    # force downloads?  ja = true / nein = false
    
    $forcedownloads = true;
    
    # Dateien die nicht angezeigt werden sollen
    
    $hide = array(
                                    'bilder',
                                    'css',
                                    'config',
                                    'index.php',
                                    'admin.php',
                                    'Thumbs',
                                    '.htaccess',
                                    '.htpasswd'
                            );
    
    # Index Dateien anzeigen?  ja = true  |  nein = false
    
    $displayindex = true;
    
    # Dateien uploaden?  ja = true  |  nein = false
    
    $allowuploads = true;
    
    # Dateien überschreiben?  ja = true  |  nein = false
    
    $overwrite = true;
    
    # Index Dateien
    
    $indexfiles = array (
                                    'index.html',
                                    'index.htm',
                                    'default.htm',
                                    'default.html'
                            );
    
    # Dateibezeichnungen und deren Symbole
    
    $filetypes = array (
                                    'png' => 'jpg.gif',
                                    'jpeg' => 'jpg.gif',
                                    'bmp' => 'jpg.gif',
                                    'jpg' => 'jpg.gif',
                                    'gif' => 'gif.gif',
                                    'zip' => 'zip.png',
                                    'rar' => 'rar.png',
                                    'exe' => 'exe.gif',
                                    'setup' => 'setup.gif',
                                    'txt' => 'text.png',
                                    'htm' => 'html.gif',
                                    'html' => 'html.gif',
                                    'fla' => 'fla.gif',
                                    'swf' => 'swf.gif',
                                    'xls' => 'xls.gif',
                                    'doc' => 'doc.gif',
                                    'sig' => 'sig.gif',
                                    'fh10' => 'fh10.gif',
                                    'pdf' => 'pdf.gif',
                                    'psd' => 'psd.gif',
                                    'rm' => 'real.gif',
                                    'mpg' => 'video.gif',
                                    'mpeg' => 'video.gif',
                                    'mov' => 'video2.gif',
                                    'avi' => 'video.gif',
                                    'eps' => 'eps.gif',
                                    'gz' => 'archive.png',
                                    'asc' => 'sig.gif',
                            );
    
    
    error_reporting(0);
    if(!function_exists('imagecreatetruecolor')) $showthumbnails = false;
    $leadon = $startdir;
    if($leadon=='.') $leadon = '';
    if((substr($leadon, -1, 1)!='/') && $leadon!='') $leadon = $leadon . '/';
    $startdir = $leadon;
    
    if($_GET['dir']) {
    
            if(substr($_GET['dir'], -1, 1)!='/') {
                    $_GET['dir'] = $_GET['dir'] . '/';
            }
    
            $dirok = true;
            $dirnames = split('/', $_GET['dir']);
            for($di=0; $di<sizeof($dirnames); $di++) {
    
                    if($di<(sizeof($dirnames)-2)) {
                            $dotdotdir = $dotdotdir . $dirnames[$di] . '/';
                    }
    
                    if($dirnames[$di] == '..') {
                            $dirok = false;
                    }
            }
    
            if(substr($_GET['dir'], 0, 1)=='/') {
                    $dirok = false;
            }
    
            if($dirok) {
                     $leadon = $leadon . $_GET['dir'];
            }
    }
    
    if($_GET['download'] && $forcedownloads) {
            $file = str_replace('/', '', $_GET['download']);
            $file = str_replace('..', '', $file);
    
            if(file_exists($leadon . $file)) {
                    header("Content-type: application/x-download");
                    header("Content-Length: ".filesize($leadon . $file));
                    header('Content-Disposition: attachment; filename="'.$file.'"');
                    readfile($leadon . $file);
                    die();
            }
    }
    
    if($allowuploads && $_FILES['file']) {
            $upload = true;
            if(!$overwrite) {
                    if(file_exists($leadon.$_FILES['file']['name'])) {
                            $upload = false;
                    }
            }
    
            if($upload) {
                    move_uploaded_file($_FILES['file']['tmp_name'], $leadon . $_FILES['file']['name']);
            }
    }
    
    $opendir = $leadon;
    if(!$leadon) $opendir = '.';
    if(!file_exists($opendir)) {
            $opendir = '.';
            $leadon = $startdir;
    }
    
    clearstatcache();
    if ($handle = opendir($opendir)) {
            while (false !== ($file = readdir($handle))) {
                    //first see if this file is required in the listing
                    if ($file == "." || $file == "..")  continue;
                    $discard = false;
                    for($hi=0;$hi<sizeof($hide);$hi++) {
                            if(strpos($file, $hide[$hi])!==false) {
                                    $discard = true;
                            }
                    }
    
                    if($discard) continue;
                    if (@filetype($leadon.$file) == "dir") {
                            if(!$showdirs) continue;
    
                            $n++;
                            if($_GET['sort']=="date") {
                                    $key = @filemtime($leadon.$file) . ".$n";
                            }
                            else {
                                    $key = $n;
                            }
                            $dirs[$key] = $file . "/";
                    }
                    else {
                            $n++;
                            if($_GET['sort']=="date") {
                                    $key = @filemtime($leadon.$file) . ".$n";
                            }
                            elseif($_GET['sort']=="size") {
                                    $key = @filesize($leadon.$file) . ".$n";
                            }
                            else {
                                    $key = $n;
                            }
                            $files[$key] = $file;
    
                            if($displayindex) {
                                    if(in_array(strtolower($file), $indexfiles)) {
                                            header("Location: $file");
                                            die();
                                    }
                            }
                    }
            }
            closedir($handle);
    }
    
    if($_GET['sort']=="date") {
            @ksort($dirs, SORT_NUMERIC);
            @ksort($files, SORT_NUMERIC);
    }
    elseif($_GET['sort']=="size") {
            @natcasesort($dirs);
            @ksort($files, SORT_NUMERIC);
    }
    else {
            @natcasesort($dirs);
            @natcasesort($files);
    }
    
    if($_GET['order']=="desc" && $_GET['sort']!="size") {$dirs = @array_reverse($dirs);}
    if($_GET['order']=="desc") {$files = @array_reverse($files);}
    $dirs = @array_values($dirs); $files = @array_values($files);
    
    
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Root:/<?=dirname($_SERVER['PHP_SELF']).'/'.$leadon;?></title>
    <link rel="stylesheet" type="text/css" href="include/admin/module/ftp_modul/css/styles.css" />
    <?
    if($showthumbnails) {
    ?>
    <script language="javascript" type="text/javascript">
    <!--
    function o(n, i) {
            document.images['thumb'+n].src = 'include/admin/module/ftp_modul/info/info.php?f='+i;
    
    }
    
    function f(n) {
            document.images['thumb'+n].src = 'include/admin/module/ftp_modul/bilder/trans.gif';
    }
    //-->
    </script>
    <?
    }
    ?>
    </head>
    <body>
    <div id="container">
      <h1>Root:/<?=dirname($_SERVER['PHP_SELF']).'/'.$leadon;?></h1>
      <div id="breadcrumbs"> <a href="<?=$_SERVER['PHP_SELF'];?>">home</a>
      <?
              $breadcrumbs = split('/', $leadon);
              if(($bsize = sizeof($breadcrumbs))>0) {
                      $sofar = '';
                      for($bi=0;$bi<($bsize-1);$bi++) {
                            $sofar = $sofar . $breadcrumbs[$bi] . '/';
                            echo ' &gt; <a href="'.$_SERVER['PHP_SELF'].'?ftp&dir='.urlencode($sofar).'">'.$breadcrumbs[$bi].'</a>';
                    }
              }
    
            $baseurl = $_SERVER['PHP_SELF'] . '?ftp&dir='.$_GET['dir'] . '&amp;';
            $fileurl = 'sort=name&amp;order=asc';
            $sizeurl = 'sort=size&amp;order=asc';
            $dateurl = 'sort=date&amp;order=asc';
    
            switch ($_GET['sort']) {
                    case 'name':
                            if($_GET['order']=='asc') $fileurl = 'sort=name&amp;order=desc';
                            break;
                    case 'size':
                            if($_GET['order']=='asc') $sizeurl = 'sort=size&amp;order=desc';
                            break;
    
                    case 'date':
                            if($_GET['order']=='asc') $dateurl = 'sort=date&amp;order=desc';
                            break;
                    default:
                            $fileurl = 'sort=name&amp;order=desc';
                            break;
            }
      ?>
      </div>
      <div id="listingcontainer">
        <div id="listingheader">
            <div id="headerfile"><a href="<?=$baseurl . $fileurl;?>">File</a></div>
            <div id="headersize"><a href="<?=$baseurl . $sizeurl;?>">Size</a></div>
            <div id="headermodified"><a href="<?=$baseurl . $dateurl;?>">Last Modified</a></div>
            </div>
        <div id="listing">
            <?
            $class = 'b';
            if($dirok) {
            ?>
            <div><a href="<?=$_SERVER['PHP_SELF'].'?ftp&dir='.urlencode($dotdotdir);?>" class="<?=$class;?>"><img src="include/admin/module/ftp_modul/bilder/dirup.png" alt="Folder" /><strong>..</strong> <em>-</em> <?=date ("M d Y h:i:s A", filemtime($dotdotdir));?></a></div>
            <?
                    if($class=='b') $class='w';
                    else $class = 'b';
            }
            $arsize = sizeof($dirs);
            for($i=0;$i<$arsize;$i++) {
            ?>
            <div><a href="<?=$_SERVER['PHP_SELF'].'?ftp&dir='.urlencode($leadon.$dirs[$i]);?>" class="<?=$class;?>"><img src="include/admin/module/ftp_modul/bilder/folder.png" alt="<?=$dirs[$i];?>" /><strong><?=$dirs[$i];?></strong> <em>-</em> <?=date ("M d Y h:i:s A", filemtime($leadon.$dirs[$i]));?></a></div>
            <?
                    if($class=='b') $class='w';
                    else $class = 'b';
            }
    
            $arsize = sizeof($files);
            for($i=0;$i<$arsize;$i++) {
                    $icon = 'unknown.png';
                    $ext = strtolower(substr($files[$i], strrpos($files[$i], '.')+1));
                    $supportedimages = array('gif', 'png', 'jpeg', 'jpg');
                    $thumb = '';
    
                    if($showthumbnails && in_array($ext, $supportedimages)) {
                            $thumb = '<span><img src="include/admin/module/ftp_modul/bilder/trans.gif" alt="'.$files[$i].'" name="thumb'.$i.'" /></span>';
                            $thumb2 = ' onmouseover="o('.$i.', \''.urlencode($leadon . $files[$i]).'\');" onmouseout="f('.$i.');"';
    
                    }
    
                    if($filetypes[$ext]) {
                            $icon = $filetypes[$ext];
                    }
    
                    $filename = $files[$i];
                    if(strlen($filename)>43) {
                            $filename = substr($files[$i], 0, 40) . '...';
                    }
    
                    $fileurl = $leadon . $files[$i];
                    if($forcedownloads) {
                            $fileurl = $_SESSION['PHP_SELF'] . '?ftp&dir=' . urlencode($leadon) . '&download=' . urlencode($files[$i]);
                    }
    
            ?>
            <div><a href="<?=$fileurl;?>" class="<?=$class;?>"<?=$thumb2;?>><img src="bilder/<?=$icon;?>" alt="<?=$files[$i];?>" /><strong><?=$filename;?></strong> <em><?=round(filesize($leadon.$files[$i])/1024);?>KB</em> <?=date ("M d Y h:i:s A", filemtime($leadon.$files[$i]));?><?=$thumb;?></a></div>
            <?
                    if($class=='b') $class='w';
                    else $class = 'b';
            }
            ?></div>
            <?
            if($allowuploads) {
                    $phpallowuploads = (bool) ini_get('file_uploads');
                    $phpmaxsize = ini_get('upload_max_filesize');
                    $phpmaxsize = trim($phpmaxsize);
                    $last = strtolower($phpmaxsize{strlen($phpmaxsize)-1});
                    switch($last) {
                            case 'g':
                                    $phpmaxsize *= 1024;
                            case 'm':
                                    $phpmaxsize *= 1024;
                    }
    
            ?>
            <div id="upload">
                    <div id="uploadtitle"><strong>File Upload</strong> (Max Filesize: <?=$phpmaxsize;?>KB)</div>
                    <div id="uploadcontent">
                            <?
                            if($phpallowuploads) {
                            ?>
                            <form method="post" action="<?=$_SERVER['PHP_SELF'];?>?ftp&dir=<?=urlencode($leadon);?>" enctype="multipart/form-data">
                            <input type="file" name="file" /> <input type="submit" value="Upload" />
                            </form>
                            <?
                            }
                            else {
                            ?>
                            File uploads are disabled in your index.php file. Please enable them.
                            <?
                            }
                            ?>
                    </div>
    
            </div>
            <?
            }
            ?>
      </div>
    </div>
    </body>
    </html>


    aus den ?dir= habe ich bei allen Links ein ?ftp&dir= eingefügt


    Zuletzt modifiziert von IceT33 am 07.05.2008 - 23:41:10
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Flomavali gelöschter User
    Geht dann auch nicht!:(

    Zitat:
    abookers.de
    Hier entsteht ein neuer Internetauftritt

    Diese Domain wurde bei Lycos Webhosting registriert.
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Hassmann Mitglied
    Registriert seit
    13.02.2008
    Beiträge
    1.591
    Beitragswertungen
    9 Beitragspunkte
    ich hab einen für ilch gebaut und umentwickelt (war schon fertig runtergeladen) ist gerade hochgeladen und wird demnächst zum beta test freigeben! Wenn er freigeschaltet wird im downbereich poste ich hier!
    Sub2Go.NET | Kostenlosen Webspace mit vielen features! Für Ilch-Forumsmitglieder doppelten Speicher!
    Mave1993.de Blog
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    CellSplitter Mitglied
    Registriert seit
    24.05.2007
    Beiträge
    195
    Beitragswertungen
    3 Beitragspunkte
    sorry das ich das so schreibe aber in der ganzen Zeit wo es ilch gibt ist noch keiner darauf gekommen ein FTP Modul zu erstellen und dann kommt mir die Idee eins zu erstellen und dann klappt es nicht auf anhieb. da kommt einer und sagt Jo ich hab mal eins erstellt.

    Ist kein schönes gefühl.

    Naja dann eben nicht
    Es gibt keine dummen Fragen, nur dumme Antworten !!!
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Flomavali gelöschter User
    Kann ich nachvollziehen, habe ich auch gedacht, als Hassmann mit seinem Modul kam.

    Sorry, für dich!
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    CellSplitter Mitglied
    Registriert seit
    24.05.2007
    Beiträge
    195
    Beitragswertungen
    3 Beitragspunkte
    So ich hab die umgeänderte ftp.php ausprobiert und muss sagen es funktioniert.


    Danke IceT33 ich werde dein Namen mit reinschreiben.


    THX THX THX.....
    Es gibt keine dummen Fragen, nur dumme Antworten !!!
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    CellSplitter Mitglied
    Registriert seit
    24.05.2007
    Beiträge
    195
    Beitragswertungen
    3 Beitragspunkte
    ZitatZitat geschrieben von Hassmann

    ich hab einen für ilch gebaut und umentwickelt (war schon fertig runtergeladen) ist gerade hochgeladen und wird demnächst zum beta test freigeben! Wenn er freigeschaltet wird im downbereich poste ich hier!



    Dein Name ist Programm oder wie???
    Es gibt keine dummen Fragen, nur dumme Antworten !!!
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Flomavali gelöschter User
    Bei mir hat sie trotzdem nicht gefunzt!:(
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    IceT33 Mitglied
    Registriert seit
    22.10.2005
    Beiträge
    607
    Beitragswertungen
    9 Beitragspunkte
    ZitatZitat geschrieben von CellSplitter

    So ich hab die umgeänderte ftp.php ausprobiert und muss sagen es funktioniert.


    Danke IceT33 ich werde dein Namen mit reinschreiben.


    THX THX THX.....


    Nochmals zu deinem Modul ... ich fäde es besser alles ohne popup zu lösen sondern besser als normale Adminseite ....

    GRUND: ich will nicht bei jedem ilch update unnötig viele Dateien umschreiben damit diverse Module funktionieren. Außerdem ist es ein gewisses Sicherheitsrisiko das ohne Adminabfrage laufen zu lassen.

    LÖSUNG: zum einen musst du eine Installseite erstellen um in der Datenbank prefix_modules einen adminlink zu erstellen. das sieht in etwa dann so aus:
    <table align="center">
        <tr>
          <th align="center">FTP Interface Installations-Tool</th>
        </tr>
        <tr>
          <td align="center">
              <table>
                <tr>
                  <th>Installation Abgeschlossen</th>
                </tr></table>
    
    <table width="100%" class="border" border="0" cellspacing="1" cellpadding="3" align="center">
            <tr>
            <td colspan="3" align="center">Die Datenbank vom ilch Script wurden modifiziert. Im Admin Bereich von ilch kannst du nun deine Gameserver unter "FTP Interface" eintragen.<br/><br/></td>
            </tr>
            <tr><td><br>
          Nun <b>m&uuml;ssen</b> sie unbedingt die Datei <b>"installftp.php"</b> l&ouml;schen!
          <br><br>
          Euer <a href="http://www.bimmelbommel-clan.de" target="_blank">Bimmel Bommel-Clan</a>
          </td></tr></table>
          </tr></table>
    <?php
    define ( 'main' , TRUE );
    require_once ('include/includes/config.php');
    require_once ('include/includes/loader.php');
    
    db_connect();
    
    $sql_statements = array();
    $sql_statements[] = "INSERT INTO `prefix_modules` ( `url` , `name` , `gshow` , `ashow` , `fright`) VALUES ('ftp', 'FTP Interface', '0', '1', '0');";
    
    foreach ( $sql_statements as $sql_statement ) {
      if ( trim($sql_statement) != '' ) {
        echo '<pre>'.$sql_statement.'</pre>';
        $e = db_query($sql_statement);
        if (!$e) { echo '<font color="#FF0000"><b>Es ist ein Fehler aufgetreten</b></font>, bitte alles auf dieser Seite kopieren und auf ilch.de im Forum fragen...:<div style="border: 1px dashed grey; padding: 5px; background-color: #EEEEEE">'. mysql_error().'<hr>'.$sql_statement.'</div><br /><b>Es sei denn,</b> es ist ein Fehler mit <i>duplicate entry</i> aufgetreten, das liegt einfach nur daran, dass du die Installdatei mehrmals ausgeführt hast.<br />'; }
        echo '<hr>';
            }
    }
    ?>




    Dann musst du noch in deiner ftp.php in den Header bzw Folder folgende Zeilen eintragen:
    <?php
    defined ('main') or die ( 'no direct access' );
    defined ('admin') or die ( 'only admin access' );
    
    $design = new design ( 'Admins Area', 'Admins Area', 2 );
    $design->header();
    ?>

    für den Header

    bzw
    <?php
    $design->footer();
    ?>

    für den Folder


    Leider habe ich zur Zeit nicht viel Zeit für solche sachen sonst hätte ich es selbst gemacht.

    Aber du schafst das schon


    Zuletzt modifiziert von IceT33 am 08.05.2008 - 20:13:39
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Oegli Mitglied
    Registriert seit
    11.04.2006
    Beiträge
    179
    Beitragswertungen
    0 Beitragspunkte
    Na dann warte ich einfach mal mit bis ein funktionierendes Modul da ist...
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Hassmann Mitglied
    Registriert seit
    13.02.2008
    Beiträge
    1.591
    Beitragswertungen
    9 Beitragspunkte
    sry dafür aber ich hab eins fertig was über deinwebspace.de/webftp.php geht! Aber ohne du musst halt eingeloggt sein sonst geht da nichts is wie gesagt umgeschreiebn! was mir fehlt ist das man komplette ordner laden könnte für design zwinker
    Sub2Go.NET | Kostenlosen Webspace mit vielen features! Für Ilch-Forumsmitglieder doppelten Speicher!
    Mave1993.de Blog
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten