ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Uploadmodul modifizieren

Geschlossen
  1. #1
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    Hi, ich hätte gern, dass beim Uploadmodul, statt des angezeigten bb-codes fürs forum, der eigentlich so aussieht:
    [url=http://LinkzumBild.jpg]Bild.JPG (1297.3 k)[/url]
    dieser Code für die "greybox" erweitert wird.
    also mit kleiner Bildvorschau, und wenn man draufklickt, dass es in der Greybox angezeigt würd. denke dass es in der upload.php und in noch einer datei geändert werden muss, oder??
    <?php
    defined ('main') or die ('no direct access');
    $title = $allgAr['title'] . ' :: Upload';
    $hmenu = 'Upload';
    $design = new design ($title , $hmenu);
    $design->header();
    
    include_once('include/includes/func/upload.php');
    // Optionen aus der Datenbank auslesen
    $opt = db_fetch_assoc(db_query("SELECT * FROM `prefix_allg` WHERE k = 'uploadmodul' LIMIT 1"));
    $ordner = $opt['v1'];
    $uploadordner = $ordner . "/";
    $extlimit = intval($opt['v4']);
    $sizelimituser = intval($opt['v3']);
    $sizebytes = intval($opt['v2']);
    $right = intval($opt['v5']);
    $limitedext = explode(',', $opt['t1']);
    $upload_htaccess = intval($opt['v6']);
    
    if (!is_dir($ordner)) {
        echo 'Uploadverzeichnis existiert nicht - Bitte einen Admin fragen ;)';
    } elseif (!is_writeable($ordner)) {
        echo 'Uploadverzeichnis ist nicht beschreibbar - Bitte einen Admin fragen ;)';
    } elseif (loggedin() AND $_SESSION['authright'] <= $right) {
        $name = escapeshellcmd($_SESSION['authname']);
        $uploadordner .= $name . '/';
        if (file_exists($uploadordner) AND !file_exists($uploadordner . '.htaccess') AND $upload_htaccess) {
            dir_access($uploadordner, 'remove');
        }
        $server = 'http://' . $_SERVER['HTTP_HOST'] . str_replace('index.php', '', $_SERVER['PHP_SELF']);
        // Upload
        if (!empty($_FILES['file']['name'])) {
            if (!file_exists($uploadordner)) {
                @mkdir(substr($uploadordner,0,-1), 0777) or die('Konnte verzeichnis nicht erstellen (CHMOD)');
                dir_access($uploadordner, 'remove');
            }
            $ext = strrchr($_FILES['file']['name'], '.');
            $ext = strtolower(substr($ext, 1));
            $fname = escape($_FILES['file']['name'], 'string');
            $fname = str_replace(' ', '', $fname);
            if ($sizebytes != 0 AND ($_FILES['file']['size'] > $sizebytes)) {
                echo "Die Datei ist zu groß. MAX $sizebytes bytes .";
            } elseif ($sizelimituser != 0 AND (dirsize($uploadordner) + $_FILES['file']['size']) > $sizelimituser) {
                echo "Der freie Speicherplatz reicht leider für diese Datei nicht aus";
            } elseif ($extlimit AND !in_array($ext, $limitedext)) {
                echo "Diese Datei hat ein unerlaubtes Dateiformat";
            }
            // falls im Ordner der Name der Datei schon existiert, dann soll eine Fehlermeldung kommen.
            elseif (file_exists($uploadordner . $fname)) {
                echo "Eine Datei mit diesem Namen existiert bereits";
            }
            // ansonsten wird die Datei im Ordner images kopiert
            elseif (move_uploaded_file($_FILES['file']['tmp_name'], $uploadordner . $fname)) {
                @chmod($uploadordner . $fname, 0777);
                $link = $server . $uploadordner . $fname;
                echo '<p><br />
      Dein Link:<br>
      <textarea cols="60" rows="2">' . $link . '</textarea>
      <br>
      HTML-Code:<br>
      <textarea cols="60" rows="2"> <a href="' . $link . '" target="_blank">'. $fname .'</a></textarea>
      <br>
    BB-Code<br>
    <textarea cols="60" rows="2"> [url=' . $link . ']'. $fname .'[/url]</textarea>
      <br />
    </p>';
            }
        }
        // Datei löschen
        if ($menu->getA(1) == 'd') {
            $files = scandir($uploadordner);
            $filenr = $menu->getE(1);
            $del = unlink($uploadordner . $files[$filenr]);
            if ($del == true) echo "Datei <b>{$files[$filenr]}</b> erfolgreich gelöscht<br />";
            else "Konnte Datei nicht löschen {$files[$menu->getE(1)]} <br />";
        }
        // Formular
        ?>
      <form name="mf" action="index.php?upload" method="post" enctype="multipart/form-data" style="border-style:dotted; border-width:medium; border">
      <table>
      <tr><td>Datei wählen:</td><td><input type="file" name="file" value="suchen"></td></tr>
      <tr><td><input type="submit" name="submit" value="upload"></td></tr>
      </table>
      </form><br />
      <?php
        // Verzeichnissichtbarkeit ändern
        if ($menu->getA(1) == 'c') {
            dir_access($uploadordner, ($menu->getE(1) == 0 ? 'give' : 'remove'));
        }
        // Verzeichnisinhalt auflisten
        if (file_exists($uploadordner)) {
            $dsize = 0;
            $pfiles = 0;
            $bool = true;
            $files = scandir($uploadordner);
            while ($bool AND substr(current($files), 0, 1) == '.') {
                $pfiles++;
                $bool = next($files);
            }
            $files = array_slice($files, $pfiles);
            if (!$upload_htaccess AND ($i = array_search('index.html',$files)) !== false) {
                unset($files[$i]);
            }
    
    
    #######################################
            $dirvis = (dir_access($uploadordner) == true ? 1 : 0);
            echo "<b>Dateien im Userverzeichnis  <a href=\"$server$uploadordner\" target=\"_blank\">" . short_string($server . $uploadordner, 70) . "</a>:</b><br />
      Verzeichnis ist <a href=\"?upload-c$dirvis\">" . ($dirvis == 1 ? '' : 'not') . " sichtbar</a> für andere User.<br />
      <table width=\"100%\">
      <tr class=\"Chead\" align=\"center\"><th>Datei</th><th width=\"70\">Groesse</th><th width=\"50\">loeschen</th><th>Codes</th></tr>";
    ################# 
            foreach ($files as $filenr => $file) {
                $fsize = filesize($uploadordner . $file);
                $dsize += $fsize;
    ##########
    $codepost = '';
    if (isset($_POST['bbcode'])) {
    	$codepost = '<textarea rows="3">[url='.$server.''.$uploadordner.''.$file.']'. short_string($file, 43) .' ('. round( $fsize / 1024, 1) .' k)[/url]</textarea>';
    }
    if (isset($_POST['htmlcode'])) {
    	$codepost = '<textarea rows="3"><a href="'.$server.''.$uploadordner.''.$file.'" target="_blank">'. short_string($file, 43) .' ('. round( $fsize / 1024, 1) .' k)</a></textarea>';
    }
    #########################
    
       echo "<tr class=\"Cnorm\">
    			<td><a href=\"$server$uploadordner$file\" target=\"_blank\">" . short_string($file, 43) . "</a><br>
    			".$codepost."</td>
    			<td align=\"right\">" . round( $fsize / 1024, 1) . " K</td><td align=\"center\"><a href=\"?upload-d" . ($filenr + $pfiles) . "\"><img src=\"include/images/icons/del.gif\" alt=\"delete\" border=\"0\" \></a>
    			<td><center>
    <form method='post'>	
    <input type='submit' 	value='BB' 		name='bbcode'></input>
    <input type='submit' 	value='HTML' 	name='htmlcode'></input></form>
    			</center></td>
    ";
    
    
    			
    ##############
            }
    
            if ($sizelimituser > 1) {
                $percentage = intval( $dsize / $sizelimituser * 100);
                $percentage2 = 100-$percentage;
                $rest = round( ($sizelimituser - $dsize) / 1024, 1) . " K";
            }
            $dsize = round( $dsize / 1024, 1) . " K";
            echo "<tr class=\"Cdark\"><td>".( $sizelimituser == 0 ? '' : "<table width=\"100%\" height=\"10\" title=\"Dein Verzeichnis ist zu $percentage% ausgelastet, Du hast noch $rest zur Verfügung\"><tr><td bgcolor=\"red\" width=\"$percentage%\"></td><td width=\"$percentage2%\"></td></tr></table>")."</td><td align=\"right\">$dsize</td><td></td></tr>";
            echo "</table>";
        } else echo 'Verzeichnis ist leer<br />';
    } else
        echo 'keine Bereichtigung<br />';
    $design->footer();
    ?>


    betroffene Homepage: bridgecamforum.ch.vu
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Dann musst du den Code bei Zeile 60 nehme ich mal an, mit einfügen.

    sollte sowas wie <a href="'.$link.'" rel="greybox"><img src="'.$link.'" width="200"></a>
    einfügen, allerdings sollte man dabei beachten, dass vielleicht nicht nur Bilder hochgeladen werden können, oder hast du das auf Bilder beschränkt.

    Ich kenne Greybox nicht, deswegen ist das lediglich eine Annahme, wie der Code am Ende aussehen muss, weiß ich nicht.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    ist laut adminbereich nur auf bilder beschränkt lächeln
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    wie müsste denn das ganze für denn BB-Code (zeile64) aussehen? denn irgendwie wird bei mir im forum diese a href geschichte nicht angezeigt, bzw nur eben der code steht dann da.
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Ach du willst das für BBCode, dann hab ich das falsch verstanden und es nicht wirklich was mit dem Uploadmodul zu tun, sondern mit dem BBCode, allerdings bevor ich mir jetzt hier die Arbeit mache, möchte ich gern wissen, ob ich dich diesmal richtig verstanden hab, und ob die Greybox nur für die Bilder aus dem Upload benutzt werden sollen oder generell. Dann wäre ein Link zu dieser Greybox auch nicht verkehrt, und welchen BBcode du einsetzt.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    aaaaalso :-)
    das uploadmodul zeigt ja den bbcode an der fürs forum vorgesehen ist, allerdings wird dann nur n link zum bild angezeigt, welches durch klicken in einem neuen fenster angezeigt wird.
    ich hätte es aber wenns geht so, dass ein vorschaubild angezeigt wird, und durch klicken in der greybox geöffnet wird....
    bzw so wie du sagst "alle" bilder automatisch im forum mit vorschau und dann in der greybox geöffnet wird.

    soll übrigens nicht heissen dass du dich hinsetzen musst und dir meinetwegen den kopf zerbrichst zwinker

    aber wär cool wenn das irgendwie zu bewerkstelligen ist. habe übrigens den aktuellsten bbcode.. glaube sogar von deiner seite^^
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    hmmmm, isses nun doch nicht zu bewerkstelligen?
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Naja ersten braucht das wohl etwas Zeit und 2. wo ist z.B. ein Link zur Grey Box, um den ich gebeten hab?
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    trejay Mitglied
    Registriert seit
    09.04.2009
    Beiträge
    372
    Beitragswertungen
    0 Beitragspunkte
    So wars nicht gemeint zwinker... und die sache mit dem Link hab ich tat der Sache überlesen...
    orangoo.com/labs/GreyBox/
    Nebenbei dachte ich ja auch daran dass evtl auch andere Leute sich schonmal mit dem Thema auseinandergesetzt haben^^
    XFire: Trejay
    Skype: Trejay2
    HP: www.socclan.1x.de
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten