Letzte Webseitenänderung

Gesperrt
derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Letzte Webseitenänderung

Beitrag von derSteffen » Fr 21. Jan 2011, 22:49

Hallo Community,

ich suche eine Möglich anzeigen zu lassen, wann die letzte Änderung allgemein auf der Webseite vorgenommen wurde. Nicht wann zu letzt der Artikel geändert wurde.

Hiermit klappt das schon mal wunderbar (habe ich hier im Forum gefuden)

Code: Alles auswählen

<?php
          echo "Letzte Änderung ".date("d.m. Y H:i" ,filectime("front_content.php"))." von xxx xxxx";
          ?> 
Jetzt meine Frage!
Kann man auch den Author ausgeben lassen (Realname) der zuletzt an der Webseite gearbeitet hat? Kann man vielleicht sogar den Artikel (mit Verlinkung), und Seitentitel oder Seitenname anzeigen lassen?

MfG Steffen

mfweb
Beiträge: 270
Registriert: Mo 12. Sep 2005, 18:31
Kontaktdaten:

Re: Letzte Webseitenänderung

Beitrag von mfweb » Sa 22. Jan 2011, 03:35

Du könntest eine Anfrage der Form
SELECT A.idart, B.idclient, A.idlang
FROM `con_art_lang` AS A, `con_art` AS B
WHERE B.idclient = $client AND A.online = 1 AND A.idart = B.idart
ORDER BY A.lastmodified DESC
LIMIT 1
absetzen und danach über die Klasse Article die benötigten Informationen holen.
(Achtung: die Abfrage ist nicht in "Contenido-Syntax"! Wie man die Abfrage in ein Modul steckt, kann man fast in jedem beliebigen Modul abschauen. Ansonsten noch einmal melden.)

Alternativ kannst du die Abfrage auch um weitere Tabellen ergänzen und direkt die Infos holen. Das spart zwar eine Datenbankabfrage, ist aber nicht ganz so elegant.

Wenn der aktuellste Artikel doch mit Board-Mitteln auslesbar ist, möge man mich bitte korrigieren. :-)
Immer mal ein Blick wert: Contenido Wiki ... auch schreibender Zugriff ist erlaubt!

derSteffen
Beiträge: 847
Registriert: Mi 14. Dez 2005, 16:15
Wohnort: Königs Wusterhausen bei Berlin
Kontaktdaten:

Letzte Webseitenänderung & Artikelaktualisierung

Beitrag von derSteffen » Sa 22. Jan 2011, 12:44

Hallo,

ich habe etwas gefunden und zwei Module zusammengetragen und etwas modifiziert!

Dieses Modul gibt allgemein die letzte Webseitenänderung aus. Dabei kann das Datum, die Uhrzeit, der Seitentitel, der Artikelname, der Benutzername und der Link zum letzten geänderten Artikel angezeigt werden. Denn Benutzernamen habe ich leider nicht hinbekommen. Der Seitentitel wird/kann gekürzt ausgegeben werden. Der Artikelname kann ebenfalls beeinflusst werden.

Des Weiteren gibt dieses Modul auch an, wann der gerade geöffnete Artikel von wem (Benutzername) das letzte mal geändert wurde.

Code: Alles auswählen

<?php
    /***********************************************
    * CONTENIDO MODUL - OUTPUT
    *
    * Modulname   :     Übersicht der zuletzt geänderten Artikel
    * Author          :     Christa Tabara
    * Copyright     :      Christa Tabara
    * Created        :     24-06-2004
    * Modified       :      12-07-2004
    * Modified       :      22-01-2011 von derSteffen (getestet mit einer 4.8.14)    
    ************************************************/
    //  $anzahl = Wie Viele Artikel sollen angezeigt werden.
        $anzahl='1';
    $db = new DB_Contenido;
    $sql = "SELECT DISTINCT ARTLANG.title, ARTLANG.pagetitle, ARTLANG.author, ARTLANG.lastmodified, ARTLANG.idart, CAT.idcat
               FROM {$cfg['tab']['art_lang']} AS ARTLANG,
                        {$cfg['tab']['cat_art']} AS CATART,
                        {$cfg['tab']['cat']} AS CAT,
                        {$cfg['tab']['content']} AS CONTENT
               WHERE ARTLANG.online = '1' AND ARTLANG.idlang= '$lang'
                          AND ARTLANG.idart = CATART.idart
                          AND CATART.idcat = CAT.idcat
                          AND ARTLANG.idartlang = CONTENT.idartlang
                          AND CAT.idclient = '$client'
               ORDER BY lastmodified desc
               LIMIT 0,".$anzahl;

    $db->query($sql);

           echo '<div class="aenderung">Letzte &Auml;nderung der Webseite: ';
    for ($zeilen = 0; $zeilen<$anzahl; $zeilen++)
         {
           $db->next_record();
           $title = $db->f("title");
           $pagetitle = $db->f("pagetitle");
           $author = $db->f("author");
           $datumausdb = $db->f("lastmodified");
           $datum_uhrzeit = explode (" ",$datumausdb);
           $uhrzeit = $datum_uhrzeit[1];
           $datum = explode ("-",$datum_uhrzeit[0]);
           $jahr = $datum[0];
           $monat = $datum[1];
           $tag = $datum[2];
           $idcat_lc = $db->f("idcat");
           $idart_lc = $db->f("idart");
           /*
           // Ausgabe des Titels wird mit den folgenden Zeilen beeinflusst
           $title = eregi_replace("(Startartikel - nicht löschen)", "...", $title);
           $title = eregi_replace("(Startartikel - nicht löschen, kann konfiguriert werden)", "...", $title);
           $title = eregi_replace("(nicht löschen, kann konfiguriert werden)", "...", $title);
           */
           // Den Seitentitel kuerzen
           $pagetitle = capiStrTrimAfterWord($pagetitle, 15)."...";
           $link = $sess->url("front_content.php?client=$client&lang=$lang&idcat=$idcat_lc&idart=$idart_lc");
           // Die Ausgabe
           // Optionen: $tag, $monat, $jahr, $uhrzeit, $link, $title, $pagetitle   
           echo ''.$tag.'.'.$monat.'.'.$jahr.', '.$uhrzeit.' Uhr'.' <a href="'.$link.'">'.$pagetitle.'</a>';
          }
    echo '';

  // Ab hier beginnt die Ausgabe fuer die letzte Aenderung des gerade angezeigten Artikels
    cInclude('classes', 'class.user.php');
    cInclude('classes', 'class.article.php');

    $oArticle = new Article($idart, $client, $lang);
    $oUser    = new User();

    $author = $oArticle->get('modifiedby'); // loginname
    if ($author == '') {
        $author = $oArticle->get('author');
    }
    $realname = $oUser->getRealnameByUserName($author); // realname
    if ($realname != '') {
        $author = $realname;
     // Mit dieser Zeile wird der Realname und der Benutzername ausgegeben  $author = $realname . ' (' . $author . ')';
    }
    $lastmodified = strtotime($oArticle->get('lastmodified'));
    $lastmodified = date("d.m.Y", $lastmodified);

    echo "<br /><span>Letzte &Auml;nderung an diesem Artikel: ".$lastmodified." von " . $author;
    echo "</span></div>";

    ?>
Mit Sicherheit kann man das auch sehr viel intelligenter lösen. Würde mich freuen, wenn sich ein Profi von euch der Sache kurz annehmen würde.

MfG Steffen

Gesperrt