Neues Service Modul inuse-by (Version 1.3)

Gesperrt
Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Neues Service Modul inuse-by (Version 1.3)

Beitrag von Beleuchtfix »

Es stellte sich bei mir die Frage, welche Layouts / Templates / Module an welchen Stellen verwendet wurden.

Dafür habe ich ein Service-Modul geschrieben, dass diese Verbindungen anzeigen kann. Im Modul kann über eine Variable angegeben werden, welche Segmente ausgegeben werden sollen.

Moduldatei kann unter folgendem Link geladen werden:
www.f-be.de/contenido-forum/inuse-by.zip

Neue Version vom 19.03.06
Der eigentliche Code:
Beschreibung:

Code: Alles auswählen

/******************************************
    * File      :   inuse-by/
    * Project   :   Contenido
    * Descr     :   Zeige die Verbindung von Layouts und Templates /Templates und Module
    *               Templates und Kategorien / Templates und Artikel
    *
    * Author    :   Florian Behrendt/ Fehlersuche von Emergence ;-)
    * Created   :   17.03.2006
    * Modified  :   19.03.2006  erweiterte Tabelle Templates / Kategorien / Artikel
    * Version   :   1.3
    *
    * © GPL
    *****************************************/
Input: leer

Output:

Code: Alles auswählen

<?php
    /******************************************
    * File      :   inuse-by/
    * Project   :   Contenido
    * Descr     :   Zeige die Verbindung von Layouts und Templates an
    *
    * Author    :   Florian Behrendt/ Fehlersuche von Emergence ;-)
    * Created   :   17.03.2006
    * Modified  :   19.03.2006  erweiterte Tabelle Templates / Kategorien / Artikel
    * Version   :   1.3
    *
    * © GPL
    *****************************************/
// variablen, die bestimmen, welcher Abschnit ausggeben werden soll
$laytpl = true; // Layouts in Templates
$tplmod = true; // Module in Templates
$tplcat = false; // Templates in Kategorien
$tplart = false; // Templates in Artikeln
$tplcatart = true; // Gemeinsam Tabelle Templates in Kategorien und Artikeln
    
    // Bestimme Namen des Artikels und Name der Kategorie
if ($laytpl == true) {
$query = "SELECT
                    LAYOUT.name as lname,
                    TEMPLATE.name as tname
               FROM
                    " . $cfg["tab"]["lay"] . " AS LAYOUT,
                    " . $cfg["tab"]["tpl"] . " AS TEMPLATE
               WHERE
                    LAYOUT.idlay = TEMPLATE.idlay AND
                    TEMPLATE.idclient = '1'
               ORDER BY
                    LAYOUT.name,
                    TEMPLATE.name";
//        echo "$query";
        // execute query

$db->query($query);
        //Falls leer nicht ausführen
//     $fehler = (mysql_error($db));
echo "<H2>Layouts verwendet von Templates</H2><BR>";
echo "<div id=inuse><table border = \"1\"><THEAD><TR><TH>Layout</TH><TH>Template</TH></TR></THEAD>" ;
while ($db->next_record()) {
    $layname = $db->f('lname');
    $tempname = $db->f('tname');
    echo "<TR><TD>$layname</TD><TD>$tempname</TD></TR>";
    } // end while
    echo "</table></div>";

}
//     *****************************************
if ($tplmod == true) {
    // Bestimme Namen des Artikels und Name der Kategorie
$query =  "SELECT 
                MODULE.name, TEMPLATE.name
            FROM 
                " . $cfg["tab"]["tpl"] . " AS TEMPLATE,
                " . $cfg["tab"]["mod"] . " AS MODULE,
                " . $cfg["tab"]["container"] . " AS CONTAINER
            WHERE 
                MODULE.idmod = CONTAINER.idmod
                AND CONTAINER.idtpl = TEMPLATE.idtpl
                AND TEMPLATE.idclient = $client
            ORDER BY 
                MODULE.name, TEMPLATE.name";

//       echo "$query";
        // execute query

$db->query($query);
        //Falls leer nicht ausführen
//     $fehler = (mysql_error($db));
echo "<H2>Module benutzt in Templates</H2><BR>";
echo "<div id=inuse><table border = \"1\"><THEAD><TR><TH>Modul</TH><TH>Template</TH></TR></THEAD>" ;
while ($db->next_record()) {
    $modname = $db->f(0);
    $tempname = $db->f(1);
    echo "<TR><TD>$modname</TD><TD>$tempname</TD></TR>";
    } // end while
    echo "</table></div>";
}

//     *****************************************
if ($tplcat == true) {
    
 // Bestimme Namen des Artikels und Name der Kategorie
$query =    "SELECT 
                TEMPLATE.name, CAT.name
            FROM 
                " . $cfg["tab"]["tpl"] . " AS TEMPLATE,
                " . $cfg["tab"]["tpl_conf"] . " AS CONFIG,
                " . $cfg["tab"]["cat_lang"] . " AS CAT            
            WHERE 
                TEMPLATE.idtpl = CONFIG.idtpl
                AND CONFIG.idtplcfg = CAT.idtplcfg
                AND TEMPLATE.idclient = $client
            ORDER BY
                TEMPLATE.name, CAT.name";

//       echo "$query";
        // execute query

$db->query($query);
        //Falls leer nicht ausführen
//     $fehler = (mysql_error($db));
echo "<H2>Templates verwendet in Kategorien</H2><BR>";
echo "<div id=inuse><table border = \"1\"><THEAD><TR><TH>Template</TH><TH>Kategorie</TH></TR></THEAD>" ;
while ($db->next_record()) {
    $catname = $db->f(1);
    $tempname = $db->f(0);
    echo "<TR><TD>$tempname</TD><TD>$catname</TD></TR>";
    } // end while
    echo "</table></div>";
}


//     *****************************************
if ($tplart == true) {
 // Bestimme Namen des Artikels und Name der Kategorie
$query =    "SELECT 
                TEMPLATE.name, ART.title
            FROM 
                " . $cfg["tab"]["tpl"] . " AS TEMPLATE,
                " . $cfg["tab"]["tpl_conf"] . " AS CONFIG,
                " . $cfg["tab"]["art_lang"] . " AS ART
            WHERE 
                TEMPLATE.idtpl = CONFIG.idtpl
                AND CONFIG.idtplcfg = ART.idtplcfg
                AND TEMPLATE.idclient = $client
            ORDER BY
                TEMPLATE.name, ART.title";

//       echo "$query";
        // execute query

$db->query($query);
        //Falls leer nicht ausführen
//     $fehler = (mysql_error($db));
echo "<H2>Templates verwendet in Artikel</H2><BR>";
echo "<div id=inuse><table border = \"1\"><THEAD><TR><TH>Template</TH><TH>Artikel</TH></TR></THEAD>" ;
while ($db->next_record()) {
    $artname = $db->f(1);
    $tempname = $db->f(0);
    echo "<TR><TD>$tempname</TD><TD>$artname</TD></TR>";
    } // end while
    echo "</table></div>";
}
$tplcatart = true;
if ($tplcatart == true) {
 // Bestimme Namen des Artikels und Name der Kategorie
$query =    "SELECT 
                TEMPLATE.name AS Template, CAT.name AS CAT, ART.title AS Artikel
            FROM 
                " . $cfg["tab"]["tpl"] . " AS TEMPLATE,
                " . $cfg["tab"]["tpl_conf"] . " AS CONFIG
                " . "LEFT JOIN ".  $cfg["tab"]["cat_lang"] . " AS CAT ON CONFIG.idtplcfg = CAT.idtplcfg
                " . "LEFT JOIN ".  $cfg["tab"]["art_lang"] . " AS ART ON CONFIG.idtplcfg = ART.idtplcfg
            WHERE 
                TEMPLATE.idtpl = CONFIG.idtpl
                AND TEMPLATE.idclient = $client
                AND (CAT.name !="" OR ART.title !="" )
            GROUP BY TEMPLATE.name, CAT.name, ART.title
            ORDER BY
                TEMPLATE.name, CAT.name, ART.title";

//       echo "$query";
        // execute query

$db->query($query);
        //Falls leer nicht ausführen
//     $fehler = (mysql_error($db));
echo "<H2>Templates verwendet in Kategorien und Artikeln</H2><BR>";
echo "<div id=inuse><table border = \"1\"><THEAD><TR><TH>Template</TH><TH>Kategorie></TH><TH>Artikel</TH></TR></THEAD>" ;
while ($db->next_record()) {
    $tempname = $db->f(0);
    $catname = $db->f(1);
    $artname = $db->f(2);
    echo "<TR><TD>$tempname</TD><TD>$catname</TD><TD>$artname</TD></TR>";
    } // end while
    echo "</table></div>";
}
?>
Zuletzt geändert von Beleuchtfix am Mo 20. Mär 2006, 15:40, insgesamt 3-mal geändert.
kloevekorn
Beiträge: 199
Registriert: Mo 31. Okt 2005, 15:26
Wohnort: Hamburg
Kontaktdaten:

Beitrag von kloevekorn »

Klasse! Vielen Dank!
Beleuchtfix
Beiträge: 1082
Registriert: Di 22. Jul 2003, 10:14
Wohnort: Hessen
Kontaktdaten:

Beitrag von Beleuchtfix »

Gerade habe ich ein neues Update hochgeladen. (oben integriert)
Viel Spass damit
Gruß
Florian
Gesperrt