Beiträge von EinfachMax

    Sehr Geehrte Damen & Herren,


    in diesem Thread biete ich euch die Individuelle Entwicklung von HTML /- Woltlab Design ´s an.
    Individuelle Entwicklung bedeutet das wir auf euren Wunsch was ihr euch Vorstellt ein Design Designen und Coden zu einem Niedrigen Preis.
    Das ganze werde ich mit dem Profi Designer "Devine_" anstellen. Ich denke das ihr die Werke von Devine kennt aber ich werde hier noch ein paar Vorstellen.


    Spoiler anzeigen
    Control Panel
     

    Spoiler anzeigen
    Thuglife Wallpaper
     

    Spoiler anzeigen
    Signaturen
     

    Spoiler anzeigen
    Youtube Design


    Werke von mir bis her nur das SA:MP Control Panel .


    Preise:

    • Kommt auf das Design an! | Bugfix & Update ´s vorhanden.


    Zahlungsweise:

    • Paypal & Paysafecard


    Kunden:


    Bei weiteren Fragen könnt ihr euch an mich per PN wenden!


    Mit freundlichen Grüßen,
    Maax



    edit


    Keine Post ´s von Bewertungen o.A. nur was mit dem Kauf und Entwicklung zu tun hat!
    [Folgendes muss im Thema enthalten sein und darf nicht entfernt werden:]
    ______
    Unverbindlicher Hinweis: Die Sicherheit einer Transaktion kann am besten durch die Einschaltung eines Mittelsmannes gewährleistet werden. Weitere Informationen dazu gibt es hier.

    Danke für die Daten, hab das ganze mir mal angeschaut und irgendwie find ich einfach keine unterschiede vom Funktions Umfang im Vergleich zu der Original Version von Westi...


    Ist ja auch nur der Code und kein Design im erstellen. Sobald du einen Nutzer erstellst wird direkt ein Ordner angelegt mit den Notwendigen Daten. Das ist z.B. eine Funktion die nicht dabei war.

    [video]

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.
    [/video]

    Duty du wirst bestimmt verstehen das es in diesem Forum 80 % gibt die immer scheiße damit anstellen,
    ich hatte die Funktion "Passwort Ändern" zu Verfügung und dann war das PW verändert. Ich schreibe dir per Privaten Nachricht die Admin Control Daten :)

    Hallo lieber Community,


    ich möchte gerne für einige Reallife Server ein FBI Control Panel schreiben, aber leider bin ich nicht gerade ein einfallsreicher Mensch ^^


    Was ich derzeit reinsetze?

    • Member Hinzufügen /- Löschen zum FBI
    • Member Verwalten (Rank setzen o.Ä)
    • Wanted Liste (Verwaltung der Wanted´s von den Spielern)
    • Wanted Bearbeitung (Wanted ´s setzen z.B. schwerverbecher und den Lohn für jemanden der ihn überführt)
    • Fraktionskasse
    • Rangliste
    • Top 10 der meist gesuchten


    Grüße

    Ja die Basis ist von Westi wie ich es schon oft gesagt habe, Umgeschrieben wurden die Systeme wie Start, Stop, Status, Server.cfg.
    Neu ist z.B. Admins können Automatisch Server erstellen und löschen die Server Logs Server Bans Style Rcon Console usw.

    Ich hab jetzt mal gegooglet und nix derartiges gefunden, nur so fertig "Web FTP" Seiten, welche man dann wie ein FTP Client nutzt. Etwas ähnliches wie in deinem Panel vorhanden ist hab ich nicht gefunden.


    Hab mir auch mal Westi's Panel angeschaut und festgestellt das man ohne weiteres das da gar nicht so einfach raus bekommt, dann frag ich mich wieso du dir soviel mühe machst um sowas angeblich rauszubauen anstatt einfach selbst etwas zu machen, wenn der rest ja sowieso von dir ist...

    Hey,


    ich gebe nicht an ein eigenes gemacht zu haben, das WebFTP script von Westi blieb so wie es war nur ein wenig ein dem Quellentext (style Mäsig) editiert.
    Ich habe viele dinge neu geschrieben und natürlich auch verändert.


    Ich werde später dir das Web FTP geschichten zeugs von dort raus kopieren :)


    Neuer demo Link:
    http://95.115.255.24/555/index.php?mode=login


    Die WebFTP Funktion: (Hoffe das sie dir was bringt)

    Spoiler anzeigen

    class FileManagerCore
    {
    function RemoveFolder($dir, $DeleteMe = true)
    {
    if(!$dh = @opendir($dir)) return;
    while(false !== ($obj = readdir($dh)))
    {
    if($obj == '.' || $obj == '..') continue;
    if(!@unlink($dir.'/'.$obj)) FileManagerCore::RemoveFolder($dir.'/'.$obj, true);
    }

    Spoiler anzeigen
    closedir($dh);
    if ($DeleteMe)
    {
    @rmdir($dir);
    }

    Spoiler anzeigen
    MiscCore::SuccessFunc('Der Ordner wurde erfolgreich gelöscht. <br /><a href="?mode=files&dir='.$_GET['redir'].'">Zurück</a><br />');
    }

    Spoiler anzeigen
    function RemoveFile($folder, $path)
    {
    $filepath = $folder.'/'.$path;
    $filepath = str_replace("../", "", $filepath);

    Spoiler anzeigen
    @unlink($filepath) or MiscCore::ErrorFunc("Sorry, there was an undisclosed error. Probably the file doesn't exist.");
    MiscCore::SuccessFunc('Die Datei wurde erfolgreich gelöscht. ('.$path.') <br /><a href="?mode=files&dir='.$_GET['redir'].'">Zurück</a><br />');
    }
    function EditFiles($path, $file, $returnurl = false)
    {
    if(!isset($file) || !isset($path))
    {
    MiscCore::ErrorFunc('Diese Datei existiert nicht.');
    }

    Spoiler anzeigen
    $dir = explode('/', $_GET['edit']);

    Spoiler anzeigen
    if(!FileManagerCore::CheckBlackList($dir[0]) || !FileManagerCore::CheckBlackList($dir[1]))
    {
    MiscCore::ErrorFunc("Sie können diese Datei nicht bearbeiten.");
    }

    Spoiler anzeigen
    $filepath = $path.$file;
    $filepath = str_replace("../", "", $filepath);

    Spoiler anzeigen
    if(!FileManagerCore::CheckExtBlackList($filepath))
    {
    MiscCore::ErrorFunc("Diese Datei existiert nicht.", true);
    }

    Spoiler anzeigen
    if ($_SERVER['REQUEST_METHOD'] == 'POST')
    {
    if(!isset($_POST['newfile']))
    {
    MiscCore::ErrorFunc('Bitte geben sie neue Daten für diese Datei ein.');
    }

    Spoiler anzeigen
    if(!file_exists($filepath))
    {
    MiscCore::ErrorFunc("Diese Datei existiert nicht.", true);
    }

    Spoiler anzeigen
    $f = fopen($filepath, 'w') ;
    $result = stripslashes($_POST['newfile']);
    fwrite($f, $result);
    fclose($f);

    Spoiler anzeigen
    MiscCore::SuccessFunc('Die Datei wurde erfolgreich gespeichert.<br /><a href="?mode=files&dir='.$_GET['redir'].'">Zurück</a> <a href="?mode=files&edit='.$_GET['edit'].'&redir='.$_GET['redir'].'">Bearbeiten</a><br />');
    }
    else
    {
    if(!file_exists($filepath))
    {
    MiscCore::ErrorFunc("Diese Datei existiert nicht.", true);
    }

    Spoiler anzeigen
    $f = fopen($filepath, 'r');
    $data = @fread($f, filesize($filepath));
    fclose($f);

    Spoiler anzeigen
    echo '<h3>Bearbeitungs Datei: '.htmlentities($file).'</h3>';

    Spoiler anzeigen
    echo '<form method="POST">';
    echo '<textarea name="newfile" rows="20" cols="78" style="font-family: Consolas, \'Courier New\'; font-size: 12px;">'.htmlentities($data).'</textarea>';
    echo '<br />';
    echo '<input type="submit" class="button" name="submit" value="Speichern" />&nbsp;&nbsp;<a href="?mode=files&dir='.$_GET['redir'].'"><span class="button">Abbrechen</span></a>';
    echo '</form>';
    }
    }

    Spoiler anzeigen
    function CreateFile($basedir, $path)
    {
    $filepath = $basedir.'/'.$path;
    $filepath = str_replace("../", "", $filepath);

    Spoiler anzeigen
    $handle = fopen($filepath, 'x+');
    fwrite($handle, '');
    fclose($handle);
    }

    Spoiler anzeigen
    function CreateFolder($path, $folder)
    {
    $oldumask = umask(0);
    mkdir ($path.''.$folder, 0777);
    umask($oldumask);
    }

    Spoiler anzeigen
    function UploadFiles($path)
    {
    $returnage = "";

    Spoiler anzeigen
    if($_SERVER['REQUEST_METHOD'] == 'POST')
    {
    if (isset($_FILES['file']) == false OR $_FILES['file']['error'] == UPLOAD_ERR_NO_FILE)
    {
    MiscCore::ErrorFunc('Sie haben keine Datei zum Hochladen ausgewählt.');
    }

    Spoiler anzeigen
    if ($_FILES['file']['error'] != UPLOAD_ERR_OK || !FileManagerCore::CheckExtBlackList($_FILES['file']['name']))
    {
    $_SESSION['file_error'] = true;
    MiscCore::ErrorFunc('Die Datei die sie Hochladen wollen ist zu groß.', true);
    }

    Spoiler anzeigen
    $newfile = $path.'/'.$_FILES['file']['name'];
    move_uploaded_file($_FILES['file']['tmp_name'], $newfile);

    Spoiler anzeigen
    MiscCore::SuccessFunc('Die Datei wurde erfolgreich Hochgeladen. <br /><a href="?mode=files&dir='.$_GET['redir'].'">Zurück</a><br />');
    }
    else
    {
    $returnage .= '<form action="" method="POST" enctype="multipart/form-data">';
    $returnage .= '<input type="file" name="file" size="30">';
    $returnage .= '<input type="submit" class="button" value="Datei Hochladen" />';
    $returnage .= '</form>';
    return $returnage;
    }
    }

    Spoiler anzeigen
    function DownloadFile($basedir, $file)
    {
    $backup = $basedir.'/'.$file;
    header('Content-type: application/octet-stream');
    header("Content-Length: ".filesize($backup));
    header('Content-Disposition: attachment; filename="'.$file.'"');
    readfile($backup);
    exit;
    }

    Spoiler anzeigen
    function RenameFile($oldpath, $newpath)
    {
    rename($oldpath, $newpath);
    }

    Spoiler anzeigen
    function ViewDirectory($basedir, $folder = "")
    {
    global $file_folder_blacklist;

    Spoiler anzeigen
    $_SESSION['f_folder'] = $basedir.'/'.$folder;

    Spoiler anzeigen
    $path = $basedir.'/'.$folder;

    Spoiler anzeigen
    $disallowed = array("../", "..");
    $path = MiscCore::WeedKiller($path, $disallowed);

    Spoiler anzeigen
    $dir = explode('/', $_GET['dir']);

    Spoiler anzeigen
    echo '<strong>Datei/Ordner Pfad:</strong> /';
    print '<a href="?mode=files">~</a>/';
    $string = "";
    $msg = "";
    $i = 0;

    Spoiler anzeigen
    foreach($dir as $content)
    {
    str_replace("/", "", $content);
    $i++;
    if($i == 1) $string .= $content;
    else $string .= '/'.$content;

    Spoiler anzeigen
    if(strlen($string) < 4) continue;
    $msg .= '<a href="?mode=files&dir='.$string.'">'.$content.'</a>/';
    }

    Spoiler anzeigen
    echo $msg;

    Spoiler anzeigen
    foreach($dir as $blocked)
    {
    if(!FileManagerCore::CheckBlackList($blocked)) MiscCore::ErrorFunc("Der Zugang zu diesem Bereich ist von ihrer Ip Adresse verweigert!", true);
    }

    Spoiler anzeigen
    echo '<br /><br />';

    Spoiler anzeigen
    echo '<strong>Zeige Optionen:</strong> <input type="checkbox" name="" value="1" onclick="ShowBox(\'filemgr_toolbar\', this)">';
    echo '<div id="filemgr_toolbar" style="display:none;">';

    Spoiler anzeigen
    MiscCore::InfoFunc('<form name="filecreate" method="post" action="">
    <label>Name: <input type="text" name="textfield">&nbsp;&nbsp;&nbsp;</label>
    <label>Ordner: <input name="result" type="radio" value="folder">&nbsp;&nbsp;&nbsp;</label>
    <label>Datei: <input name="result" type="radio" value="file">&nbsp;&nbsp;&nbsp;</label>
    <input name="create" type="submit" value="Erstellen" class="button">
    </form>'.
    FileManagerCore::UploadFiles($_SESSION['f_folder']));
    echo "<br /><strong>Hilfe:</strong> Öffne die Option in dem sie auf das Bild klicken. <br />Schliese die Option in dem sie nochmals auf das Bild klicken.";
    echo "</div>";

    Spoiler anzeigen
    $index = 0;
    if($handle = @opendir($path))
    {
    echo '<br /><br />'; /*<strong>Directories</strong><br />';*/
    while(false !== ($file = readdir($handle)))
    {
    if ($file != "." && $file != "..")
    {
    $fName = $file;

    Spoiler anzeigen
    /* Getting teh folders: */
    if(is_dir($path.'/'.$file))
    {

    Spoiler anzeigen
    $dis[1] = true;
    if(!FileManagerCore::CheckBlackList($fName)) continue;
    if(!FileManagerCore::CheckExtBlackList($fName)) continue;
    if(!is_readable($path.'/'.$file) || !is_writeable($path.'/'.$file)) continue;
    echo '<table width="570" border="0" cellpadding="3" cellspacing="0">
    <tr>
    <td width="4%">
    <div id="fileicon-a'.$index.'" style="display: block;">
    <a style="cursor: crosshair;" alt="Klicken sie hier um die Optionen zu zeigen." onclick="ShowBoxRaw(\'filecontent-'.$index.'\', this, \'block\'); ShowBoxRaw(\'fileicon-a'.$index.'\', this, \'none\'); ShowBoxRaw(\'fileicon-b'.$index.'\', this, \'block\');">
    <img src="index.php?image_create=folder" alt="" style="border: 0px; padding: 0px; margin: 0px;" />
    </a>
    </div>
    <div id="fileicon-b'.$index.'" style="display: none;">
    <a style="cursor: crosshair;" alt="Klicken sie hier um die Optionen zu schließen." onclick="ShowBoxRaw(\'filecontent-'.$index.'\', this, \'none\'); ShowBoxRaw(\'fileicon-a'.$index.'\', this, \'block\'); ShowBoxRaw(\'fileicon-b'.$index.'\', this, \'none\');">
    <img src="index.php?image_create=folder" alt="" style="border: 0px; padding: 0px; margin: 0px;" />
    </a>
    </div>
    </td>
    <td width="96%"><a href="?mode=files&dir='.$_GET['dir'].'/'.$file.'">'.$file.'</a></td>
    </table>';

    Spoiler anzeigen
    echo '<div class="filecontent" id="filecontent-'.$index.'" ondblclick="ShowBoxRaw(\'filecontent-'.$index.'\', this, \'none\'); ShowBoxRaw(\'fileicon-a'.$index.'\', this, \'block\'); ShowBoxRaw(\'fileicon-b'.$index.'\', this, \'none\');">'.
    "\n".'<div class="filepadding"><table width="290" border="0" cellspacing="0" cellpadding="2">'.
    "\n".'<tr>'.
    "\n".'<td width="16"><a href="?mode=files&fdelete='.$_GET['dir'].'/'.$file.'&redir='.$_GET['dir'].'"><img src="index.php?image_create=_delete" alt="Löschen" style="border: 0px; padding: 0px; margin: 0px; a:link { border: 0px; }" /></a></td>'.
    "\n".'<td width="65">Löschen</td>'.
    "\n".'<td><strong>Bearbeitet am:</strong> '.date("d/m/Y H:i:s", filemtime(_DIRECTORY.'/'.$_GET['dir'].'/'.$file)).'</td>'.
    "\n".'</tr><tr>'.
    "\n".'<td width="16"><a href="?mode=files&dir='.$_GET['dir'].'/'.$file.'"><img src="index.php?image_create=folder" alt="" style="border: 0px; padding: 0px; margin: 0px;" /></a></td>'.
    "\n".'<td width="65">Öffnen</td>'.
    "\n".'<td><strong>Dateiberechtigung:</strong> '.FileManagerCore::ViewPermsColour(_DIRECTORY.'/'.$_GET['dir'].'/'.$file).'</td>'.
    "\n".'</tr><tr>'.
    "\n".'<td width="16"></td>'.
    "\n".'<td width="65"></td>'.
    "\n".'<td>&nbsp;</td>'.
    "\n".'</tr>'.
    "\n".'</table></div>'.
    "\n".'</div>';
    $index++;
    }
    }
    }
    closedir($handle);
    }

    Spoiler anzeigen
    if($handle = @opendir($path))
    {
    //echo '<br /><strong>Files</strong><br />';
    echo "<br />";
    while($file = readdir($handle))
    {
    if ($file != "." && $file != "..")
    {
    $fName = $file;
    /* Getting teh files */
    if(!is_dir($path.'/'.$file))
    {
    if(!FileManagerCore::CheckBlackList($fName)) continue;
    if(!FileManagerCore::CheckExtBlackList($fName)) continue;
    if(!is_readable($path.'/'.$file) || !is_writeable($path.'/'.$file)) continue;
    echo '<table width="570" border="0" cellpadding="3" cellspacing="0">
    <tr>
    <td width="4%">
    <div id="fileicon-a'.$index.'" style="display: block;">
    <a style="cursor: crosshair;" alt="Klicken sie hier um die Optionen zu zeigen." onclick="ShowBoxRaw(\'filecontent-'.$index.'\', this, \'block\'); ShowBoxRaw(\'fileicon-a'.$index.'\', this, \'none\'); ShowBoxRaw(\'fileicon-b'.$index.'\', this, \'block\');">
    <img src="index.php?image_create='.MiscCore::ReturnExtension($fName).'" alt="" style="border: 0px; padding: 0px; margin: 0px;" />
    </a>
    </div>
    <div id="fileicon-b'.$index.'" style="display: none;">
    <a style="cursor: crosshair;" alt="Klicken sie hier um die Optionen zu schließen." onclick="ShowBoxRaw(\'filecontent-'.$index.'\', this, \'none\'); ShowBoxRaw(\'fileicon-a'.$index.'\', this, \'block\'); ShowBoxRaw(\'fileicon-b'.$index.'\', this, \'none\');">
    <img src="index.php?image_create='.MiscCore::ReturnExtension($fName).'" alt="" style="border: 0px; padding: 0px; margin: 0px;" />
    </a>
    </div>
    </td>
    <td width="96%">'.$fName.'</td>
    </tr>
    </table>';
    echo '<div class="filecontent" id="filecontent-'.$index.'" ondblclick="ShowBoxRaw(\'filecontent-'.$index.'\', this, \'none\'); ShowBoxRaw(\'fileicon-a'.$index.'\', this, \'block\'); ShowBoxRaw(\'fileicon-b'.$index.'\', this, \'none\');">'.
    '<div class="filepadding"><table width="290" border="0" cellspacing="0" cellpadding="2">'.
    '<tr>'.
    '<td width="16"><a href="?mode=files&download='.$_GET['dir'].'/'.$file.'"><img src="index.php?image_create=_download" alt="Download File" style="border: 0px; padding: 0px; margin: 0px; a:link { border: 0px; }" /></a></td>'.
    '<td width="65">Download</td>'.
    '<td><strong>Größe:</strong> '.FileManagerCore::GetFileSize(_DIRECTORY.'/'.$_GET['dir'].'/'.$file).'</td>'.
    '</tr><tr>'.
    '<td width="16"><a href="?mode=files&edit='.$_GET['dir'].'/'.$file.'&redir='.$_GET['dir'].'"><img src="index.php?image_create=_edit" alt="Edit File" style="border: 0px; padding: 0px; margin: 0px; a:link { border: 0px; }" /></a></td>'.
    '<td width="65">Bearbeiten</td>'.
    '<td><strong>Bearbeitet am:</strong> '.date("d/m/Y H:i:s", filemtime(_DIRECTORY.'/'.$_GET['dir'].'/'.$file)).'</td>'.
    '</tr><tr>'.
    '<td width="16"><a href="?mode=files&delete='.$_GET['dir'].'/'.$file.'&redir='.$_GET['dir'].'"><img src="index.php?image_create=_delete" alt="Delete File" style="border: 0px; padding: 0px; margin: 0px;" /></a></td>'.
    '<td width="65">Löschen</td>'.
    '<td><strong>Dateiberechtigung:</strong> '.FileManagerCore::ViewPermsColour(_DIRECTORY.'/'.$_GET['dir'].'/'.$file).'</td>'.
    '</tr>'.
    '</table></div>'.
    '</div>';
    $index++;
    }
    }
    }
    closedir($handle);
    }
    else
    {
    MiscCore::ErrorFunc("Die Konfigurationen/Einstellungen sind nicht abgeschlossen!<br>
    Bitte Überprüfen sie ihre einstellungen.");
    }
    }

    Spoiler anzeigen
    function CheckBlackList($file)
    {
    if (FILEBLACKLIST != "")
    {
    $blacklist = explode(" ", FILEBLACKLIST);

    Spoiler anzeigen
    if(in_array(strtolower($file), $blacklist)) return false;
    else return true;
    }
    else return true;
    }

    Spoiler anzeigen
    function CheckExtBlackList($file)
    {
    if (EXTBLACKLIST != "")
    {
    $blacklist = explode(" ", EXTBLACKLIST);

    Spoiler anzeigen
    foreach ($blacklist as $black)
    {
    if(preg_match("/$black\$/i", $file))
    {
    return false;
    }
    }
    return true;
    }
    else return true;
    }

    Spoiler anzeigen
    function FileManagerCheckVar()
    {
    if($_GET['create'] || $_GET['delete'] || $_GET['edit'] || $_GET['copy'] || $_GET['dir']) return 0;
    else return 1;
    }

    Spoiler anzeigen
    function ParsePerms($mode)
    {
    if (($mode & 0xC000) === 0xC000) {$t = "s";}
    elseif (($mode & 0x4000) === 0x4000) {$t = "d";}
    elseif (($mode & 0xA000) === 0xA000) {$t = "l";}
    elseif (($mode & 0x8000) === 0x8000) {$t = "-";}
    elseif (($mode & 0x6000) === 0x6000) {$t = "b";}
    elseif (($mode & 0x2000) === 0x2000) {$t = "c";}
    elseif (($mode & 0x1000) === 0x1000) {$t = "p";}
    else {$t = "?";}
    $o["r"] = ($mode & 00400) > 0; $o["w"] = ($mode & 00200) > 0; $o["x"] = ($mode & 00100) > 0;
    $g["r"] = ($mode & 00040) > 0; $g["w"] = ($mode & 00020) > 0; $g["x"] = ($mode & 00010) > 0;
    $w["r"] = ($mode & 00004) > 0; $w["w"] = ($mode & 00002) > 0; $w["x"] = ($mode & 00001) > 0;
    return array("t"=>$t,"o"=>$o,"g"=>$g,"w"=>$w);
    }

    Spoiler anzeigen
    function ViewPerms($mode)
    {
    if (($mode & 0xC000) === 0xC000) {$type = "s";}
    elseif (($mode & 0x4000) === 0x4000) {$type = "d";}
    elseif (($mode & 0xA000) === 0xA000) {$type = "l";}
    elseif (($mode & 0x8000) === 0x8000) {$type = "-";}
    elseif (($mode & 0x6000) === 0x6000) {$type = "b";}
    elseif (($mode & 0x2000) === 0x2000) {$type = "c";}
    elseif (($mode & 0x1000) === 0x1000) {$type = "p";}
    else {$type = "?";}

    Spoiler anzeigen
    $owner["read"] = ($mode & 00400)?"r":"-";
    $owner["write"] = ($mode & 00200)?"w":"-";
    $owner["execute"] = ($mode & 00100)?"x":"-";
    $group["read"] = ($mode & 00040)?"r":"-";
    $group["write"] = ($mode & 00020)?"w":"-";
    $group["execute"] = ($mode & 00010)?"x":"-";
    $world["read"] = ($mode & 00004)?"r":"-";
    $world["write"] = ($mode & 00002)? "w":"-";
    $world["execute"] = ($mode & 00001)?"x":"-";

    Spoiler anzeigen
    if ($mode & 0x800) {$owner["execute"] = ($owner["execute"] == "x")?"s":"S";}
    if ($mode & 0x400) {$group["execute"] = ($group["execute"] == "x")?"s":"S";}
    if ($mode & 0x200) {$world["execute"] = ($world["execute"] == "x")?"t":"T";}

    Spoiler anzeigen
    return $type.join("",$owner).join("",$group).join("",$world);
    }

    Spoiler anzeigen
    function ViewPermsColour($file)
    {
    $o = $file;
    if(!is_readable($o)) { return "<font color=red><acronym title=\"Diese Datei ist nicht lesbar!\">".FileManagerCore::ViewPerms(fileperms($o))."</acronym></font>"; }
    elseif(!is_writable($o)) { return "<font color=white><acronym title=\"Diese Datei ist nicht schreibbar!\">".FileManagerCore::ViewPerms(fileperms($o))."</acronym></font>"; }
    else { return "<font color=green><acronym title=\"Diese Datei ist nicht les- und schreibbar.\">".FileManagerCore::ViewPerms(fileperms($o))."</acronym></font>"; }
    }

    Spoiler anzeigen
    function CreateFileDirectoryImage($type = "NULL")
    {
    global $base64redirects, $base64images;

    Spoiler anzeigen
    foreach($base64redirects as $extension=>$rawnames)
    {
    if(in_array($type, $rawnames))
    {
    $type = $extension; $found = true;
    break;
    }
    }
    if(!$found) $type = "unknown";

    Spoiler anzeigen
    $image = $base64images[$type];

    Spoiler anzeigen
    header("Content-type: image/gif");
    header("Cache-control: public");
    header("Expires: ".date("r",mktime(0,0,0,1,1,2030)));
    header("Cache-control: max-age=".(60*60*24*7));
    header("Last-Modified: ".date("r", filemtime(__FILE__)));
    echo base64_decode($image);
    exit;
    }

    Spoiler anzeigen
    function GetFileSize($file)
    {
    $size = filesize($file);
    if (!is_numeric($size))
    {
    return false;
    }
    else
    {
    if ($size >= 1073741824) {$size = round($size/1073741824*100)/100 ." GB";}
    elseif ($size >= 1048576) {$size = round($size/1048576*100)/100 ." MB";}
    elseif ($size >= 1024) {$size = round($size/1024*100)/100 ." KB";}
    else {$size = $size . " B";}
    return $size;
    }
    }
    }