Danke ich werd mir das mal anschauen.
Ich hab grad ein Problem, mein System ist soweit fertig dachte ich und da wollte ich mal den ersten Hack als Plugin umschreiben.
Aber sagt mal wie soll ich das den als Hook machen:
Code:
suche in global.php
-----------------------
$tpl = new tpl(0,intval($style['subvariablepackid']));
-----------------------
und ersetze es durch
-----------------------
$tpl = new tpl(intval($style['templatepackid']),intval($style['subvariablepackid']));
##############################################################################################################################
suche in acp/lib/class_tpl_file.php
-----------------------
function tpl($templatepackid=0,$subvariablepackid=1,$prefix="") {
$this->subvariablepackid = $subvariablepackid;
$this->templatefolder = $prefix."templates";
}
-----------------------
und ersetze es durch
-----------------------
function tpl($templatepackid=0,$subvariablepackid=1,$prefix="") {
global $db, $n;
$this->subvariablepackid = $subvariablepackid;
if(!$templatepackid) $this->templatefolders[] = $prefix."templates";
$result = $db->query("SELECT * FROM bb".$n."_templatepacks");
while($row = $db->fetch_array($result)) $templatepacks[$row['templatepackid']] = $row;
while($templatepackid != 0) {
$this->templatefolders[] = $prefix.$templatepacks[$templatepackid]['templatefolder'];
if($templatepacks[$templatepackid]['parent_templatepackid']==-1) {
$this->templatefolders[] = $prefix."templates";
break;
}
else $templatepackid = $templatepacks[$templatepackid]['parent_templatepackid'];
}
$result = $db->query("SELECT * FROM bb".$n."_subvariablepacks LEFT JOIN bb".$n."_subvariables USING (subvariablepackid) WHERE variable = '{imagefolder}'");
while($row = $db->fetch_array($result)) $subvariablepacks[$row['subvariablepackid']] = $row;
$varlist = "''";
while($subvariablepackid != 0) {
$this->imagefolders[] = $subvariablepacks[$subvariablepackid]['substitute'];
$subvariablepackid = $subvariablepacks[$subvariablepackid]['parent_subvariablepackid'];
}
}
-----------------------
suche
-----------------------
var $templatefolder = "";
-----------------------
und ersetze es durch
-----------------------
var $templatefolders = array();
var $imagefolders = array();
var $images = array();
-----------------------
suche
-----------------------
if(file_exists($this->templatefolder."/$templatename.tpl")) $this->templates[$templatename]=str_replace("\"","\\\"",implode("",file($this->templatefolder."/$templatename.tpl")));
-----------------------
und ersetze es durch
-----------------------
for ($j=0;$j<count($this->templatefolders);$j++) {
if(file_exists($this->templatefolders[$j]."/$templatename.tpl")) {
$this->templates[$templatename]=str_replace("\"","\\\"",implode("",file($this->templatefolders[$j]."/$templatename.tpl")));
break;
}
}
-----------------------
suche
-----------------------
case "{!DOCTYPE}": $template = $this->str_replace($row['variable'],$row['substitute'],$template); break;
-----------------------
und füge darunter ein
-----------------------
case "{imagefolder}": break;
-----------------------
Die anderen Codestellen gingen problemlos.
Also ich mein wie kann ich das machen ohne die Original Codestellen zu verändern?