Template-Konfigurationen auch mit duplizieren

Gesperrt
OliverL
Beiträge: 870
Registriert: Do 28. Jun 2007, 09:28
Kontaktdaten:

Template-Konfigurationen auch mit duplizieren

Beitrag von OliverL »

Mich stört es schon länger das beim duplizieren von Templates nur die Modul-Zuweisungen mit übernommen werden aber die wichtigen Konfigurationen nicht.

Das nervte beim duplizieren:
vom Standart-Temp.
zum Kontakt-Temp.
oder Sitemap-Temp.
...

Aus dem Gründ Beantrage ich folgende Änderung :lol:
an der Datei:
'contenido/includes/functions.tpl.php'

in der Funktion:
tplDuplicateTemplate($idtpl)

(an drei Punkten muss etwas ergänzt werden)

Code: Alles auswählen

function tplDuplicateTemplate($idtpl) {

    global $db, $client, $lang, $cfg, $sess, $auth;

    $db2 = new DB_Contenido;

    $sql = "SELECT
                *
            FROM
                ".$cfg["tab"]["tpl"]."
            WHERE
                idtpl = '".$idtpl."'";

    $db->query($sql);
    $db->next_record();

    $idclient   = $db->f("idclient");
    $idlay      = $db->f("idlay");
    $new_idtpl  = $db->nextid($cfg["tab"]["tpl"]);
# <- START Block --------
    $idtpl_conf = $db->f("idtplcfg");
		if($idtpl_conf) $new_idtpl_conf  = $db->nextid($cfg["tab"]["tpl_conf"]);        
# <- END Block --------
    $name       = sprintf(i18n("%s (Copy)"), $db->f("name"));
    $descr      = $db->f("description");
    $author     = $auth->auth["uname"];
    $created    = time();
    $lastmod    = time();


# <- ERGÄNZEN : idtplcfg ->  $new_idtpl
    $sql = "INSERT INTO
                ".$cfg["tab"]["tpl"]."
                (idclient, idlay, idtpl, ".($idtpl_conf?'idtplcfg,':'')." name, description, deletable,author, created, lastmodified)
            VALUES
                ('".$idclient."', '".$idlay."', '".$new_idtpl."', ".($idtpl_conf?"'".$new_idtpl_conf."', ":'')."'".$name."', '".$descr."', '1', '".$author."', '".$created."', '".$lastmod."')";

    $db->query($sql);

    
    
    $a_containers = array();
    $sql = "SELECT
                *
            FROM
                ".$cfg["tab"]["container"]."
            WHERE
                idtpl = '".$idtpl."'
            ORDER BY
                number";

    $db->query($sql);

    while ($db->next_record()) {
        $a_containers[$db->f("number")] = $db->f("idmod");
    }

    foreach ($a_containers as $key => $value) {

        $nextid = $db->nextid($cfg["tab"]["container"]);

        $sql = "INSERT INTO ".$cfg["tab"]["container"]."
                (idcontainer, idtpl, number, idmod) VALUES ('".$nextid."', '".$new_idtpl."', '".$key."', '".$value."')";

        $db->query($sql);

    }



# <- START Block ----------------------------------
		if($idtpl_conf) {
			$a_container_cfg = array();
			$sql = "SELECT
									*
							FROM
									".$cfg["tab"]["container_conf"]."
							WHERE
									idtplcfg = '".$idtpl_conf."'
							ORDER BY
									number";
	
			$db->query($sql);
	
			while ($db->next_record()) {
					$a_container_cfg[$db->f("number")] = $db->f("container");
			}
	
			foreach ($a_container_cfg as $key => $value) {
	
					$nextid = $db->nextid($cfg["tab"]["container_conf"]);
	
					$sql = "INSERT INTO ".$cfg["tab"]["container_conf"]."
									(idcontainerc, idtplcfg, number, container) VALUES ('".$nextid."', '".$new_idtpl_conf."', '".$key."', '".$value."')";
	
					$db->query($sql);
	
			}
    }
# <- END Block ----------------------------------






    cInclude ("includes", "functions.rights.php");
    copyRightsForElement("tpl", $idtpl, $new_idtpl);
    
    return $new_idtpl;

}
Updates:
@emergence:
($idtpl_conf = 0 ) kopiere keine Konfigs


Über Kommentare würde ich mich freuen.
Alle Kommentare werden hier ergänzt und unter Updates aufgelistet.

mfg
Oli
Zuletzt geändert von OliverL am Di 11. Dez 2007, 13:51, insgesamt 1-mal geändert.
emergence
Beiträge: 10653
Registriert: Mo 28. Jul 2003, 12:49
Wohnort: Austria
Kontaktdaten:

Beitrag von emergence »

die idee ist gut, hat mich auch schon mal gestört...

anm.:
$idtpl_conf kann 0 sein... in dem fall muss $new_idtpl_conf nicht via nextid erhöht und der teil mit container_conf kopieren muss nicht ausgeführt werden...
*** make your own tools (wishlist :: thx)
HerrB
Beiträge: 6935
Registriert: Do 22. Mai 2003, 12:44
Wohnort: Berlin
Kontaktdaten:

Beitrag von HerrB »

Mal nach Bugs verschoben, dass es eingebaut wird.

Gruß
HerrB
Bitte keine unaufgeforderten PMs oder E-Mails -> use da Forum!

Newsletter: V4.4.x | V4.6.0-15 (Module, Backend) | V4.6.22+
Standardartikelliste: V4.4.x | V4.6.x
http://www.contenido.org/forum/search.php | http://faq.contenido.org | http://www.communido.net
Gesperrt