[Dateizähler] Ein paar Tipps?

Gesperrt
ChrisD
Beiträge: 132
Registriert: Di 30. Dez 2003, 17:33
Kontaktdaten:

[Dateizähler] Ein paar Tipps?

Beitrag von ChrisD »

Hallo zusammen!
Bin gerade dabei, mein erstes Modul zu schreiben. Da gerät man schon schin schnell an seine Grenzen. :lol:
Also Grundlage hab ich mir schonmal ein bischen was aus anderen Modulen zusammengeschustert, dabei ist bisher aber ziemlicher Müll rumgekommen.
Würd mich freuen, wenn mir der ein oder andere mir vielleicht mit 'nem Codeschnippsel, vor allem für den Input, helfen könnte. Könnte ja sein, dass auch andere Interesse an einem solchen Modul hätten.
Danke schonmal im Voraus.

Hier der Code:
Beschreibung:

Code: Alles auswählen

- Ordner der zu zählenden Dateien wählbar
- Nur dieser Ordner oder + Unterordner
- Einfache Rechnungen mit dem Ergebnis
- Ausgabetext vor und nach der Zahl

Contenido: 4.4.2
Input:

Code: Alles auswählen

/*****
 * Dateizähler 1.0
 *
 * INPUT
 *
 * @autor Chris D.
 * @copyright Chris D.
*****/

// Variablen
$ordner = "CMS_VALUE[0]";   // Upload-Ordner (Dropdown)
$unterordner = "CMS_VALUE[1]";   // Mit Unterordnern? (Checkbox)
$rechnung =;   // +,-,*, oder /? (Dropdown)
$faktor =;   // Mit welcher Zahl sol die Rechnung ausgeführt werden? (Text)
$text_vor =;   // Was soll vor der Zahl stehen? (Text)
$text_nach =;   // Was soll nach der Zahl stehen?

echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
        <tr valign=\"top\">
          <td>Ordner wählen:</td>
          <td>
            <select name=\"CMS_VAR[0]\">";
            if($ordner!="0" && $ordner!=""){
             echo"<option value=\"0\">---- kein ----</option>";

            }else{
            echo"<option ordner=\"ordner\" value=\"0\">---- kein ----</option>";
            }

            // Hole alle Kategorien
            $abfrage = "SELECT A.idcat, A.level, C.name FROM ".$cfg["tab"]["cat_tree"]." AS A, ".
                     $cfg["tab"]["cat"]." AS B,  ".$cfg["tab"]["cat_lang"]." AS C WHERE A.idcat=B.idcat ".
                     "AND B.idcat=C.idcat AND C.idlang='$lang' AND B.idclient='$client' ".
                     "AND C.visible=1 ORDER BY A.idtree";
            // Abfrage ausführen
            $db->abfrage($abfrage);

            // loop result and build the options
            while ($db->next_record()) {

              // Füge ein Distanzstück ein
              $spaces = "|";

              // Zähle die Ebenen
              $levels = $db->f("level");

              for ($i = 0; $i < $levels; $i ++) {
                // Füge 2 Distanzstücke für jede Ebene ein
                $spaces = $spaces . "--";

              } // end for
              
              $spaces .= ">";


              if ($selected == $db->f("idcat")) {
                // Wähle Kategorie
                echo "<option ordner=\"ordner\" value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";

              } else {
                // Kategorie
                echo "<option value=\"". $db->f("idcat") ."\">". $spaces . $db->f("name") ."</option>";

              } // end if

            } // end while

echo "      </select>";

echo "    </td>
        </tr>";
      </table>";
echo "<table cellspacing=\"0\" cellpadding=\"10\" border=\"0\">
        <tr valign=\"top\">
          <td>Mit Unterordnern?</td>
          <td>  
          <INPUT TYPE=\"radio\" NAME=\"CMS_VAR[0]\" VALUE=\"1\" "; 
          if("CMS_VALUE[1]" == 1){ echo "checked=checked"; };
Output:

Code: Alles auswählen

<?
/***********************************************
* CONTENIDO MODUL - OUTPUT
*
* Modulname :     Dateizähler 1.0
* Author          :     
* Copyright    :     Contenido - four for business
* Created       :     08-05-2004
* Modified      :     08-05-2004 /
************************************************/

$dateizahl


function getDirList ($ordner) {
       global $dateizahl;
       $d = dir($ordner);
       while($entry = $d->read()) {
           if ($entry != "." && $entry != "..") {
               if (is_dir($ordner."/".$entry)) {
                   getDirList($ordner."/".$entry);   // Unterverzeichnis gefunden?
               } else {
                   $dateizahl++;
               }
           }
       }
       $d->close();
   }
   $dateizahl = 0;
   getDirList("$ordner");   // Zielordner
   echo $text_vor.$dateizahl.$text_nach   // Ausgabetext
?>
Gruß
Chris
Zuletzt geändert von ChrisD am Mo 21. Mai 2007, 22:52, insgesamt 1-mal geändert.
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

tipps:
CMS_VALUE und CMS_VAR ansehen -> damit kannst du die konfiguration in den outputbereich übernehmen.
ordner der zu zählenden dateien wirst du mit dem query im input bereich nicht rausbekommen -> machs mit einem input feld.
das mit dem rechnen im inputbereich würd ich lassen. schreib das lieber in den outputbereich.
*** make your own tools (wishlist :: thx)
Gesperrt