Ergebnis 1 bis 8 von 8

Thema: Bluesystems: Dateimanager

  1. #1

    Bluesystems: Dateimanager

    Hallo Community!
    Ich möchte für mich eine Art Dateimanager, auf PHP basierend, entwickeln.
    Ich bin bereits zu einigen Ergebnissen gekommen, die sich hier downloaden lassen: Blusystems: Dateimanager

    Ich hatte gedacht, ihr könntet mich noch ein bisschen dabei unterstützen, es ist ja schließlich OpenSource!^^



    Probleme sind folgende:
    • Ist es möglich, das jede zweite Zeile in einer anderen (Hintergrund-)Farbe zu sehen ist?
    • Das die Checkbox auch aktiviert wird, wenn man auf die jeweilige Zeile klickt, und das sie dann eine andere Farbe bekommt?
    • Die "Buttons" ändern noch nicht ganz korrekt ihre Zustände, das Bild für "Angeklickt" zum Beispiel...


    Wie findet ihr das Projekt, und könnt ihr mir helfen?

  2. #2

  3. #3
    Zitat Zitat von Bluescreen Beitrag anzeigen
    Ist es möglich, das jede zweite Zeile in einer anderen (Hintergrund-)Farbe zu sehen ist?
    Ja. Einfach aus
    PHP-Code:
    foreach ($Ordner as $Ordner
    PHP-Code:
    foreach ($Ordner as $i => $Ordner
    machen.

    Wenn dann $i % 2 == 0 ist, kommt die eine Farbe ran, ansonsten die andere.

    Zitat Zitat von Bluescreen Beitrag anzeigen
    Das die Checkbox auch aktiviert wird, wenn man auf die jeweilige Zeile klickt, und das sie dann eine andere Farbe bekommt?
    Dazu ist ein wenig Javascript nötig. Einfach bei onClick eine Funktion aufrufen, die dann die Checkbox und die Farbe ändert:

    Code:
    function row_toggle(id) {
      checkbox = document.getElementById("cb"+d);
      row = document.getElementById("row"+id);
    
      checkbox.checked = !checkbox.checked;
    
      if(checkbox.checked) {
        row.className = 'active';
      } else {
        row.className = 'inactive';
      }
    }
    Wenn du dann noch der Checkbox und der jeweiligen Tabellenzeile (<tr>) die entsprechenden IDs verpasst, sollte es klappen (Allerdings ist der Code nur aus der Erinnerung und ungetestet geschrieben :P).

    Beispiel:
    HTML-Code:
    <table>
      <tr id="row1">
        <td onClick="row_toggle(1)"><input type="check" id="cb1"></td>
        <td onClick="row_toggle(1)">Some text</td>
      </tr>
    </table>
    Ach ja, und entsprechende Klassen musst du noch definieren...

    Zitat Zitat von Bluescreen Beitrag anzeigen
    Die "Buttons" ändern noch nicht ganz korrekt ihre Zustände, das Bild für "Angeklickt" zum Beispiel...
    Benutz onMouseUp und onMouseDown

    Zitat Zitat von Bluescreen Beitrag anzeigen
    Wie findet ihr das Projekt, und könnt ihr mir helfen?
    Es sieht gut aus. Allerdings ist mir der Code zu deutschlastig
    Und du machst für meinen Geschmack zu viel Gebrauch vom style-Attribut - verwende lieber Klassen...

    Edit:
    Zitat Zitat von deadcox Beitrag anzeigen
    Zu erstens: http://www.webmaster-resource.de/tri...nd-aendern.php

    Hoffe das hilft dir weiter. ;]
    Das ist allerdings eine sehr unsaubere und unflexible Lösung.

  4. #4
    Zitat Zitat von deadcox Beitrag anzeigen
    Zu erstens: http://www.webmaster-resource.de/tri...nd-aendern.php

    Hoffe das hilft dir weiter. ;]
    Hmmm, ich kanns jetzt nich probieren, aber ich glaube nicht dass es klappt.
    Ich muss ja mit foreach arbeiten, da ich ein Array auslese.

    Edit: Ups, da war ich zu langsam. Bitte Post noch ignorieren!!

  5. #5
    Zitat Zitat von Bluescreen Beitrag anzeigen
    Ich muss ja mit foreach arbeiten, da ich ein Array auslese.
    Du kannst auch mit for arbeiten Es ist ja schließlich kein assoziatives Array... Das ist unter Umstaänden sogar performanter (Auch wenn foreach einfach bequemer ist)

    Du könntest sogar mit while oder einer rekursiven Funktion arbeiten xD (In Kombination mit array_unshift())



    Zitat Zitat von Bluescreen Beitrag anzeigen
    Edit: Ups, da war ich zu langsam. Bitte Post noch ignorieren!!
    Nö, das musste jetzt sein :P

  6. #6
    Also, das ganze hat mir bis jetzt sehr weitergeholfen.

    Allerdings brauch ich noch unterstützung bei der Übergabe der Informationen, wenn jemand z.B. das Häckchen bei einer Datei aktiviert hat.
    Wie kann ich diese Information übernehmen?

    Ich meine, wenn ich per Foarch das Array $_POST ausgebe, kommt bspw. nur ein style1.cssSubmit raus. Wers probieren möchte: Downloads!

  7. #7
    Zitat Zitat von Bluescreen Beitrag anzeigen
    Allerdings brauch ich noch unterstützung bei der Übergabe der Informationen, wenn jemand z.B. das Häckchen bei einer Datei aktiviert hat.
    Wie kann ich diese Information übernehmen?
    Wenn der Code für die Checkbox z.B. so aussieht:
    HTML-Code:
    <input type = "checkbox" name = "checkbox_file4" />
    dann kannst du in PHP mit
    PHP-Code:
    isset($_POST['checkbox_file4']); 
    prüfen, ob es aktiviert wurde.


    Außerdem würde ich bei dateityp.php statt den ganzen IF-ELSE-Dingern Arrays (oder evtl. ein einzelnes mehrdimensoinales) verwenden, das ist übersichtlicher und - wenn ich mich nicht irre - auch performanter. Eine Dateityp-Klasse wäre natürlich das stilistische Optimum, aber das ist schon wieder komplizierter. <___<''
    Und substring() statt explode(), wenn du eh nur die Endung willst.

    Hm, wo ist denn die Hauptseite in dem Downloadfile? o_O' Da gibt's nur index2.php, die $_POST ausgibt...

    Geändert von drunken monkey (11.06.2007 um 17:54 Uhr)

  8. #8
    Du kannst aus den Checkboxen auch einen Array machen:
    HTML-Code:
    <input type="checkbox" name="files[]" value="fu.bar">
    <input type="checkbox" name="files[]" value="fu2.bar">
    <input type="checkbox" name="files[]" value="fu.bar2">
    Wenn du die jetzt alle auswählst, bekommst du in PHP folgendes in $_POST['files']:
    PHP-Code:
    array("fu.bar""fu2.bar""fu.bar2"
    Das ist eine sehr viel elegantere und sicherere Lösung und du kannst in das Formular auch gefahrlos noch andere Inputelemente einbauen. (Im Moment befindet sich der Button ja auch noch in deiner Dateiliste )

    Edit: Ich glaube ich habe theoretisch einen Bug gefunden: Wenn das Änderungsdatum einer Datei denselben Tag aber einen anderen Monat/Jahr hat, wird kein Datum ausgegeben. Überprüf doch einfach "d.m.Y" statt jeden Teil einzeln...

    Geändert von Manni (11.06.2007 um 18:40 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •