CMS.Dateiablage: Unterschied zwischen den Versionen

Aus OrgaMon Wiki
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Zeile 16: Zeile 16:
* grün: die Verarbeitung wurde erfolgreich durchgeführt
* grün: die Verarbeitung wurde erfolgreich durchgeführt
* rot: bei der Verarbeitung gab es Fehler!
* rot: bei der Verarbeitung gab es Fehler!
== Internet Ablagen einrichten ==
Dabei werden auf dem OrgaMon WebServer virtuelles Host eingerichtet, einer für jeden Auftraggeber.
* Anlegen des Benutzers ~SubDomain~
Der Benutzername sollte der TopLevelDomain Prefix des Auftraggebers sein. Die Auftraggeber sei eine Zahnradfabrik. Deren Domain ist http://www.zf.com. Somit ist unser SubDomain zf. Zukünftiger Datenaustausch erfolgt über die Adresse http://zf.orgamon.de. Erster Schritt ist die Anlage des Benutzers zf. Um die Erklärung allgemein zu halten verwenden wir ab jetzt anstelle von "zf" immer ~SubDomain~.
yast
Sicherheit und Benutzer->Benutzer anlegen un bearbeiten
<ALT>&<H> für "Hinzufügen"
Bei "Benutzername": ~SubDomain~ eintragen
Bei "Passwort": Das generierte Passwort aus dem Orgamon eintragen
<ALT>&<D> für Details
Bei "Homeverzeichnis": /srv/www/htdocs/~SubDomain~
Bei "Leeres Home": eine Haken machen!
Bei "Login-Shell": /bin/false
Bei "Standardgruppe": "ftp" auswählen
Bei "weitere Gruppen": nur "www", "ftp" darf angehakt sein!
<ALT>&<W> für weiter.
<ALT>&<E> für Anlegen.
yast Verlassen
* Internetablage vor-befüllen
#
# Sicherstellen, dass samba Vollzugriff auf die Ablage
# hat.
chmod 777 /srv/www/htdocs/~SubDomain~
# für index.php sorgen
# für sort.txt sorgen
chmod 666 sort.txt
* PHP - Script zur Dateianzeige
<nowiki>
<?php
  define(SortOrderFileName,"sort.txt");
  function save($s)
  { $fp = fopen(SortOrderFileName,"w");
    fputs($fp,$s);
    fclose($fp);
  }
  function load()
  { $fp = fopen(SortOrderFileName,"r");
    $s = trim(fgets($fp,10));
    fclose($fp);
    return $s;
  }
  // Beim allerersten Skriptaufruf
  if (!file_exists(SortOrderFileName) AND !isset($sortorder))
  { $sortorder = "name";  // Standard-Einstellung
    save($sortorder);
  }
  // Beim jeweils ersten Skriptaufruf
  if (file_exists(SortOrderFileName) AND !isset($sortorder)) { $sortorder = load(); }
  // Beim erneuten Skriptaufruf
  if (file_exists(SortOrderFileName) AND isset($sortorder)) { save($sortorder); }
  ?>
  <html>
  <HEAD>
  <Title>Dateiablage</title>
  <META HTTP-EQUIV="Pragma" content="no-cache">
  <META HTTP-EQUIV="Cache-Control" content="no-cache, must-revalidate">
  <META HTTP-EQUIV="Expires" content="0">
  <STYLE TYPE="text/css">
  <!--
  P.breakhere { page-break-before: always; }
  table.border { border-color:#000000; border-style:solid; }
  td { padding-left:5px; padding-right:5px; border-color:#000000; border-style:solid; border-bottom-style:solid; border-width:0px; border-bottom-width:0px; font-family:Verdana; font-size:13px; }
  a:link    { font-family:Verdana,Arial; font-size:13px;  color:#cc0000; text-decoration:none; }
  a:visited { font-family:Verdana,Arial; font-size:13px;  color:#999999; text-decoration:none; }
  a:active  { font-family:Verdana,Arial; font-size:13px;  color:#cc0000; text-decoration:none; }
  a:hover  { font-family:Verdana,Arial; font-size:13px;  color:#cc0000; text-decoration:none; background-color:#C8D8E0; }
  a:link.head    { font-family:Verdana,Arial; font-size:13px;  color:#000040; text-decoration:underline; }
  a:visited.head { font-family:Verdana,Arial; font-size:13px;  color:#000040; text-decoration:underline; }
  a:active.head  { font-family:Verdana,Arial; font-size:13px;  color:#000040; text-decoration:underline; }
  a:hover.head  { font-family:Verdana,Arial; font-size:13px;  color:#000040; text-decoration:underline; }
  -->
  </STYLE>
  </HEAD>
  <body bgcolor="#ffffff">
  <center>
  <table class=border cellpadding=0 cellspacing=2 border=1 width=500>
  <tr><td colspan=2><b>zip Dateiablage</b><br><br></td></tr>
  <tr>
    <td width=70% bgcolor="#C8D8E0"><font face="Verdana" size=-1><a class="head" href="./<?php echo basename($PHP_SELF); ?>?sortorder=name"><b>
  <?php
  echo "Dateiname</b></a>";
  if ($sortorder=="name")
  {
    echo " v";
  }
  ?>
  </td>
    <td width=30% bgcolor="#C8D8E0"><font face="Verdana" size=-1><a class="head" href="./<?php echo basename($PHP_SELF); ?>?sortorder=date"><b>
  <?php
  echo "Ablagedatum</b></a>";
  if ($sortorder=="date")
  {
    echo " v";
  }
  ?>
  </td>
  </tr>
  <!-- BEGIN BAUSTELLE -->
  <?php
 
  $filename = array();
  $filedate = array();
  $n = 0;
  if ($handle = opendir('.'))
  { while (false !== ($file = readdir($handle)))
    { if (strpos($file,".zip")>1)
      { $filename[$n] = $file;
        $filedate[$n] = filemtime($file);
            $n++;
      }
    } closedir($handle);
  }
  // $sortorder = "name";
  switch($sortorder)
  { case("name") : array_multisort($filename, SORT_ASC, $filedate, SORT_DESC);
                  break;
    case("date") : array_multisort($filedate, SORT_DESC, $filename, SORT_ASC);
                  break;
  }
  for ($i = 0; $i < $n; $i++)
  { $fn = $filename[$i];
    $fd = $filedate[$i];
    echo "<tr>";
    // Datei-Name
    if (strpos($fn,".html")>1) {
      echo "<td bgcolor=#FFFFCC><font face=\"Verdana\" size=-1>";
      echo "<a href=$fn>";
      echo $fn;
      echo "</a></td>";
    }
    else {
      echo "<td bgcolor=#E8F4F8><font face=\"Verdana\" size=-1>";
      echo "<a href=$fn>";
      echo $fn;
      echo "</a></td>";
    }
 
    // Datei-Datum
    echo "<td bgcolor=#E8F4F8><font face=\"Verdana\" size=-1>";
    echo date ("d.m.Y", $fd);
    echo "&nbsp;&nbsp;";
    echo date ("H:i:s", $fd);
    echo "</td>";
    echo "</tr>";
  }
 
  ?>
  <!-- END BAUSTELLE -->
  <!-- INSERT BAUSTELLE -->
  </table>
  </center>
  </body>
  </html>
</nowiki>
* Virtueller Host auf die Ablage leiten
Vorbereitung: in der listen.conf
NameVirtualHost *
Im Verzeichnis /etc/apache2/vhosts.d/
#
# Datei ~SubDomain~.orgamon.de.conf
#
<VirtualHost *>
  ServerName ~SubDomain~.orgamon.de
  DocumentRoot /srv/www/htdocs/~SubDomain~
</VirtualHost>
<Directory /srv/www/htdocs/~SubDomain~>
  AuthType Basic
  AuthName "Mandant Ablage"
  AuthUserFile /srv/www/htdocs/~SubDomain~/.htpasswd
  Require user ~SubDomain~
</Directory>
<b>Verzeichnisschutz mit htpassed</b>
<br>
leider fehlte auf meinem Suse 9.2 der Befehl htpasswd. (Ich hab in mir von einem anderen Server gezogen, was ich dazu alles tun musste das Ding zum Laufen zu bringen: Ich rede nicht gerne davon!). Also ist die erste Hürde, das Ding zu installieren, danach ist es einfach
# Wechsle in das html Verzeichnis, das Du schützen willst
# Wird ~DasPasswort~ weggelassen wird über die KOmmandozeile
# 2 fach nachgefragt.
htpasswd -cb .htpasswd ~SubDomain~ ~DasPasswort~

Version vom 5. Februar 2007, 11:04 Uhr

Benutzer Hinweise

Internetablagen dienen der fortgesetzten Dokumentation der Auftragsergebnisse im InterNet. Der Auftraggeber kann jederzeit Ergebnisportionen einsehen oder in sein EDV-System herunterladen. Die Ablage der Ergebnisse erfolgt in der Regel im Rahmen der Tagwache.

Sortieren

  • Klicken Sie auf den Tabellentitel "Dateiname" um die Tabelle alphabetisch zu sortieren.
  • Klicken Sie auf den Tabellentitel "Ablagedatum" um die Tabelle nach Ablagemoment zu sortieren (neueste sind oben).

Einfärben

Sie haben die Möglichkeit einzelne Dateien farblich zu markieren. Der "Status" der Datei ändert sich nicht automatisch - sie können die Status-Farbe durch Klick auf das "Amplesymbol" ändern. Dadurch kann dauerhaft der Verarbeitungsstatus dieser Datei symbolisiert werden, dabei könnte folgende Vereinbarung getrofffen werden. Beispiel:

  • farblos: die Datei wurde noch nicht verarbeitet
  • organe: die Verarbeitung läuft mit noch unbekanntem Ausgang
  • grün: die Verarbeitung wurde erfolgreich durchgeführt
  • rot: bei der Verarbeitung gab es Fehler!