ilch Forum » Ilch Clan 1.1 » Design und Templates » index.php statt index.htm

Geschlossen
  1. #1
    User Pic
    Zekors Mitglied
    Registriert seit
    11.09.2010
    Beiträge
    43
    Beitragswertungen
    1 Beitragspunkte
    ich würde gerne das design auf einer php-datei aufbauen, weil einige dinge sonst nicht einsetzbar sind.
    wenn ich jetzt aber statt einer index.htm einfach eine index.php einsetze, bekomme ich direkt das standart design und nicht mein eigenens.


    verwendete ilchClan Version: 1.1

    betroffene Homepage: abitur2012.bplaced.de
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Sunshine Live Mitglied
    Registriert seit
    03.06.2009
    Beiträge
    1.029
    Beitragswertungen
    109 Beitragspunkte
    Fürs nächste mal die SUCHE benutzen wurde soooo oft schon gefragrt

    externer Link
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Zekors Mitglied
    Registriert seit
    11.09.2010
    Beiträge
    43
    Beitragswertungen
    1 Beitragspunkte
    na toll.
    da steht, aber nur, dass ich was an der design.php ändern muss.
    aber nicht was denn jetzt.
    ich hab das, was mir offensichtlich erschien geändert und jetzt sieht meine seite so aus.
    abitur2012.bplaced.de/

    also, was muss ich da ändern.
    über suche finde ich das nicht.

    so sieht die design.php nu aus:
    <?php
    // Copyright by Manuel
    // Support www.ilch.de
    defined ('main') or die ('no direct access');
    
    if (!isset($ILCH_HEADER_ADDITIONS)) {
        $ILCH_HEADER_ADDITIONS = '';
    }
    if (!isset($ILCH_BODYEND_ADDITIONS)) {
        $ILCH_BODYEND_ADDITIONS = '';
    }
    class design extends tpl {
        var $html;
        var $design;
        var $vars;
        var $was;
        var $file;
    
        function design ($title, $hmenu, $was = 1, $file = null)
        {
            global $allgAr;
    
                header('Content-Type: text/html;charset=ISO-8859-1');
    
            if (!is_null($file)) {
                echo '<div style="display: block; background-color: #FFFFFF; border: 2px solid #ff0000;">!!Man konnte in einer PHP Datei eine spezielle Index angeben. Damit das Design fuer diese Datei anders aussieht. Diese Funktion wurde ersetzt. Weitere Informationen im Forum auf ilch.de ... Thema: <a href="http://www.ilch.de/forum-showposts-13758-p1.html#108812">http://www.ilch.de/forum-showposts-13758-p1.html#108812</a></div>';
            }
    
            $this->vars = array();
            $this->file = $file; # setzte das file standart 0 weil durch was definiert
            $this->was = $was; # 0 = smalindex, 1 = normal index , 2 = admin
    
            $this->design = $this->get_design();
            $link = $this->htmlfile();
    
            $tpl = new tpl ($link, 2);
            if ($tpl->list_exists ('boxleft')) {
                $tpl->set ('boxleft' , $this->get_boxes ('l', $tpl));
            }
            if ($tpl->list_exists ('boxright')) {
                $tpl->set ('boxright' , $this->get_boxes ('r', $tpl));
            }
            // ab 0.6 =  ... 5 menu listen moeglich
            for($i = 1;$i <= 5;$i++) {
                if ($tpl->list_exists ('menunr' . $i)) {
                    $tpl->set ('menunr' . $i , $this->get_boxes ($i, $tpl));
                }
            }
    
            $ar = array
                ('TITLE' => $this->escape_explode($title),
                'HMENU' => $this->escape_explode($hmenu),
                'SITENAME' => $this->escape_explode($allgAr['title']),
                'hmenuende' => '',
                'vmenuende' => '',
                'hmenubegi' => '',
                'vmenubegi' => '',
                'hmenupoint' => '',
                'vmenupoint' => '',
                'DESIGN' => $this->design
                );
            $tpl->set_ar($ar);
            $this->html = $tpl->get(0);
            $this->html .= '{EXPLODE}';
            $this->html .= $tpl->get(1);
            unset ($tpl);
    
            $zsave0 = array();
            preg_match_all ("/\{_boxes_([^\{\}]+)\}/" , $this->html , $zsave0);
    
            $this->replace_boxes($zsave0[1]);
            unset ($zsave0);
            $this->vars_replace();
            unset ($this->vars);
    
            $this->html = explode('{EXPLODE}', $this->html);
        }
    
        function addheader($text)
        {
            if (isset($this->html[0])) {
                $this->html[0] = str_replace('</head>',$text."\n</head>" , $this->html[0] );
                return true;
            } else {
                return false;
            }
        }
    
        function header ()
        {
            global $ILCH_HEADER_ADDITIONS;
            $this->addheader($ILCH_HEADER_ADDITIONS);
            echo $this->html[0];
            unset ($this->html[0]);
        }
    
        function addtobodyend($text)
        {
            if (isset($this->html[1])) {
                $this->html[1] = str_replace('</body>',$text."\n</body>" , $this->html[1] );
                return true;
            } else {
                return false;
            }
        }
    
        function footer ($exit = 0)
        {
            global $ILCH_BODYEND_ADDITIONS;
            $this->addtobodyend($ILCH_BODYEND_ADDITIONS);
            echo $this->html[1];
            unset ($this->html[1]);
            if ($exit == 1) {
                exit();
            }
        }
    
        function escape_explode ($s)
        {
            $s = str_replace('{EXPLODE}', '&#123;EXPLODE&#125;', $s);
            return ($s);
        }
    
        function htmlfile_ini ()
        {
            global $menu;
            $ma = $menu->get_string_ar();
            $ia = array();
            if (!file_exists('include/designs/' . $this->design . '/design.ini')) {
                return (false);
            }
            $ia = parse_ini_file ('include/designs/' . $this->design . '/design.ini');
            arsort($ma);
            krsort ($ia);
            foreach ($ia as $k => $v) {
                $k = preg_replace("/[^a-zA-Z0-9-*]/", "", $k);
                $k = str_replace('*', '[^-]+', $k);
                foreach ($ma as $k1 => $v1) {
                    if (preg_match("/" . $k . "/", $k1) AND file_exists('include/designs/' . $this->design . '/' . $v)) {
                        return ($v);
                    }
                }
            }
            return (false);
        }
    
        function htmlfile ()
        {
            $ini = $this->htmlfile_ini ();
            /*
                    if ( !is_null ($this->file) AND file_exists ('include/designs/'.$this->design.'/templates/'.$this->file)) {
          $f = 'designs/'.$this->design.'/templates/'.$this->file;
        } elseif ( !is_null ($this->file) AND file_exists ('include/templates/'.$this->file)) {
          $f = 'templates/'.$this->file;
                    */
            if ($this->was == 1 AND $ini !== false) {
                $f = 'designs/' . $this->design . '/' . $ini;
            } elseif ($this->was == 0 AND file_exists ('include/templates/' . $this->design . '/templates/small_index.php')) {
                $f = 'templates/' . $this->design . '/templates/small_index.php';
            } elseif ($this->was == 0) {
                $f = 'templates/small_index.php';
            } elseif ($this->was == 1) {
                $f = 'designs/' . $this->design . '/index.php';
            } elseif ($this->was == 2) {
                $f = 'admin/templates/index.php';
            }
            return ($f);
        }
    
        function replace_boxes ($zsave0)
        {
            foreach ($zsave0 as $v) {
                $dat = strtolower($v);
                $buffer = $this->get_boxcontent ($dat);
                if ($buffer !== false) {
                    $this->vars['_boxes_' . $v] = $buffer;
                }
            }
            if (!is_array($this->vars)) {
                $this->vars = array();
            }
        }
    
        function vars_replace()
        {
            foreach ($this->vars as $k => $v) {
                $this->html = str_replace('{' . $k . '}', $v, $this->html);
            }
        }
        // ####
        function get_boxes ($wo , $tpl)
        {
            global $lang, $allgAr, $menu;
            if (is_numeric($wo)) {
                $datei = 'menunr' . $wo;
            } elseif ($wo == 'l') {
                $datei = 'boxleft';
                $wo = 1;
            } elseif ($wo == 'r') {
                $datei = 'boxright';
                $wo = 2;
            }
    
            $retur = '';
            $ex_ebene = 0;
            $ex_was = 1;
            $firstmep = false;
            $hovmenup = '';
            $abf = "SELECT * FROM `prefix_menu` WHERE wo = " . $wo . " AND ( recht >= " . $_SESSION['authright'] . " OR recht = 0 ) ORDER by pos";
            $erg = db_query($abf);
            while ($row = db_fetch_assoc($erg)) {
                $subhauptx = $row['was'];
                $whileMenP = ($subhauptx >= 7 ? true : false);
                if (($row['was'] >= 7 AND $ex_was == 1) OR ($ex_ebene < ($row['ebene']-1)) OR ($ex_was <= 4 AND $row['ebene'] <> 0) OR ($row['was'] >= 7 AND !$tpl->list_exists($hovmenup))) {
                    /*
            echo '<pre>Das Menu ist Fehlerhaft, bitte benachrichtigen Sie den Administrator!';
            echo '<br /><br /><u>Informationen:</u>';
            echo '<br />Region:  '.$row['name'];
            echo '<br />Ebene:   '.$row['ebene'];
            echo '<br />exEbene: '.$ex_ebene;
            echo '<br />Typ:     '.$row['was'];
            echo '<br />exTyp:   '.$ex_was;
            echo '<br /><br /><u>Problemloesung:</u> Die Region gibt an um welchen Menupunkt, welches Menu oder welche Box es sich handelt.';
            echo '<br />Ist der Typ groesser oder 7 und der exTyp 1 wurde ein Menupunkt in einer falschen Position im Menu platziert.';
            echo '<br />Ist die exEbene 2 kleiner als die Ebene ist die Einrueckung im Menu falsch.';
            echo '<br />Sonst mit den oben gegebenen Informationen und einem Screenshot des betreffenden Menus auf <a href="http://www.ilch.de/">ilch.de</a> im Forum melden.';
            echo '<br /><br />Vielen Dank!</pre>';
    
            $retur  = '<pre>Das Menu ist Fehlerhaft, bitte benachrichtigen Sie den Administrator!';
            $retur .= '<br /><br /><u>Informationen:</u>';
            $retur .= '<br />Region:  '.$row['name'];
            $retur .= '<br />Ebene:   '.$row['ebene'];
            $retur .= '<br />exEbene: '.$ex_ebene;
            $retur .= '<br />Typ:     '.$row['was'];
            $retur .= '<br />exTyp:   '.$ex_was;
            $retur .= '<br /><br /><u>Problemloesung:</u> Die Region gibt an um welchen Menupunkt, welches Menu oder welche Box es sich handelt.';
            $retur .= '<br />Ist der Typ groesser oder 7 und der exTyp 1 wurde ein Menupunkt in einer falschen Position im Menu platziert.';
            $retur .= '<br />Ist die exEbene 2 kleiner als die Ebene ist die Einrueckung im Menu falsch.';
            $retur .= '<br />Sonst mit den oben gegebenen Informationen und einem Screenshot des betreffenden Menus auf <a href="http://www.ilch.de/">ilch.de</a> im Forum melden.';
            $retur .= '<br /><br />Vielen Dank!</pre>';
            $menuzw = '';
            */
                    continue;
                }
                // nur wenn ein menu in die variable $menuzw geschrieben wurde
                // wird in diese if abfrage gesprungen
                if (($whileMenP === false) AND !empty($menuzw)) {
                    $menuzw .= $this->get_boxes_get_menu_close ($ex_ebene, 0, $menuzw, $wmpE, $wmpTE, $wmpTEE);
                    $retur .= $tpl->list_get($datei, array (htmlentities($boxname), $menuzw . $menuzwE));
                    $menuzw = '';
                }
                if ($row['was'] == 1) {
                    // die box wird direkt in die to return variable geschrieben
                    $buffer = $this->get_boxcontent($row['path']);
                    $retur .= $tpl->list_get($datei, array ($row['name'] , $buffer));
                } elseif ($row['was'] >= 2 AND $row['was'] <= 4) {
                    // der name des menues wird gesetzt
                    // und die variable wird gesetzt.
                    $boxname = $row['name'];
                    $menuzw = '';
                    $menuzwE = '';
                    $ex_ebene = 0; # ex ebene
                    $hovmenu = '';
                    if ($row['was'] == 2 AND $tpl->list_exists('hmenupoint')) {
                        $hovmenu = 'hmenu';
                    } elseif ($row['was'] == 3 AND $tpl->list_exists('vmenupoint')) {
                        $hovmenu = 'vmenu';
                    }
                    $firstmep = true;
                    if (!empty($hovmenu)) {
                        $menuzw .= $tpl->list_get($hovmenu . 'begi', array());
                        $menuzwE .= $tpl->list_get($hovmenu . 'ende', array());
                    }
                    $hovmenup = $hovmenu . 'point';
                } elseif ($whileMenP) {
                    // menupunkt wird generiert
                    $ebene = $row['ebene'];
                    $menuTarget = ($subhauptx == 8 ? '_blank' : '_self');
                    list ($wmpA, $wmpE, $wmpTE, $wmpTEE) = explode ('|', $tpl->list_get ($hovmenup, array ($menuTarget, ($subhauptx == 8 ? '' : 'index.php?') . $row['path'], $row['name'])));
                    if (!empty($menuzw) AND $firstmep === false) {
                        $menuzw .= $this->get_boxes_get_menu_close ($ex_ebene, $ebene, $menuzw, $wmpE, $wmpTE, $wmpTEE);
                    }
                    $menuzw .= $wmpA;
                    $firstmep = false;
                }
    
                $ex_was = $row['was'];
                $ex_ebene = $row['ebene'];
            }
            if (!empty($menuzw)) {
                $menuzw .= $this->get_boxes_get_menu_close ($ex_ebene, 0, $menuzw, $wmpE, $wmpTE, $wmpTEE);
                $retur .= $tpl->list_get($datei, array (htmlentities($boxname), $menuzw . $menuzwE));
            }
            return ($retur);
        }
    
        function get_boxes_get_menu_close ($ex_ebene, $ebene, $menuzw, $wmpE, $wmpTE, $wmpTEE)
        {
            $menu1 = '';
            if ($ex_ebene == $ebene AND !empty($menuzw)) {
                $menu1 .= $wmpE . "\n";
            } elseif ($ex_ebene > $ebene) {
                $menu1 .= $wmpE . "\n";
                for($i = 0;$i < ($ex_ebene - $ebene); $i++) {
                    $menu1 .= $wmpTEE . "\n";
                }
            } elseif ($ex_ebene < $ebene) {
                $menu1 .= $wmpTE . "\n";
            }
            return ($menu1);
        }
    
        function get_boxcontent ($box)
        {
            global $lang, $allgAr, $menu,$ILCH_HEADER_ADDITIONS,$ILCH_BODYEND_ADDITIONS;
            if (file_exists('include/boxes/' . $box)) {
                $pfad = 'include/boxes/' . $box;
            } elseif (file_exists ('include/contents/selfbp/selfb/' . str_replace('self_', '', $box))) {
                $pfad = 'include/contents/selfbp/selfb/' . str_replace('self_', '', $box);
            } elseif (file_exists('include/boxes/' . $box . '.php')) {
                $pfad = 'include/boxes/' . $box . '.php';
            } elseif (file_exists('include/boxes/' . $box . '.htm')) {
                $pfad = 'include/boxes/' . $box . '.htm';
            } elseif (file_exists ('include/contents/selfbp/selfb/' . str_replace('self_', '', $box) . '.php')) {
                $pfad = 'include/contents/selfbp/selfb/' . str_replace('self_', '', $box) . '.php';
            } elseif (file_exists ('include/contents/selfbp/selfb/' . str_replace('self_', '', $box) . '.htm')) {
                $pfad = 'include/contents/selfbp/selfb/' . str_replace('self_', '', $box) . '.htm';
            } else {
                return (false);
            }
            ob_start();
            require_once($pfad);
            $buffer = $this->escape_explode(ob_get_contents());
            ob_end_clean();
            return($buffer);
        }
    }
    
    ?>



    Zuletzt modifiziert von Zekors am 20.11.2010 - 19:23:04
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Zekors Mitglied
    Registriert seit
    11.09.2010
    Beiträge
    43
    Beitragswertungen
    1 Beitragspunkte
    meine seite sieht jetzt wieder recht normal aus.
    allerdings bekomme ich statt foren, squads und anderen nur folgende fehlermeldung:

    Warning: file(include/templates/forum/showforum) [function.file]: failed to open stream: No such file or directory in /users/abitur2012/www/include/includes/class/tpl.php on line 50

    Warning: implode() [function.implode]: Invalid arguments passed in /users/abitur2012/www/include/includes/class/tpl.php on line 50
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    she Mitglied
    Registriert seit
    13.11.2010
    Beiträge
    1.115
    Beitragswertungen
    82 Beitragspunkte
    ZitatZitat geschrieben von Zekors

    Warning: file(include/templates/forum/showforum) [function.file]: failed to open stream: No such file or directory in /users/abitur2012/www/include/includes/class/tpl.php on line 50


    Warte ich mach dir es noch Sichtbarer

    include/templates/forum/showforum

    Gesehen?

    *EDIT*
    Ich soll dir sagen das die Endung fehlt.


    Zuletzt modifiziert von she am 20.11.2010 - 23:42:34
    Google+ shelfinger.eu
    Das Wissen verfolgt mich - doch ich bin schneller!
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Ithron Hall Of Fame
    Registriert seit
    21.01.2006
    Beiträge
    2.659
    Beitragswertungen
    24 Beitragspunkte
    Sag ihm doch das die Endung fehlt.
    ZitatZitat geschrieben von loW

    Ja ich habs gesehen und wenn ichs kostenlos bekomm dann zahl ich doch nix dafür oder?
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Zekors Mitglied
    Registriert seit
    11.09.2010
    Beiträge
    43
    Beitragswertungen
    1 Beitragspunkte
    habs mitlerweile hinbekommen.
    für die index.php als grundlage für das design, musste ich bei tpl.php einen wert streichen bzw gegen php austauschen.
    jetzt hab ich zwar massenhaft datein, die mit .htm.php enden, aber an sich funktioniert es.

    das problem hatte ich schon gesehen. nur die behebung war das problem.
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    she Mitglied
    Registriert seit
    13.11.2010
    Beiträge
    1.115
    Beitragswertungen
    82 Beitragspunkte
    Ich verstehe den Sinn immernoch nicht. Warum du das brauchst. Vielleicht bin ich auch zudumm um das zuverstehen. Aber wirklich sinnvoll ist die Aktion nicht oder?
    Google+ shelfinger.eu
    Das Wissen verfolgt mich - doch ich bin schneller!
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Zekors Mitglied
    Registriert seit
    11.09.2010
    Beiträge
    43
    Beitragswertungen
    1 Beitragspunkte
    der sinn war eine idee, die sich wahrscheinlich einfach umsetzen lässt.
    wollte halt direkt da php elemte einbauen.
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    she Mitglied
    Registriert seit
    13.11.2010
    Beiträge
    1.115
    Beitragswertungen
    82 Beitragspunkte
    Das hättest du vllt auch in design.php dazuschreiben können.
    Google+ shelfinger.eu
    Das Wissen verfolgt mich - doch ich bin schneller!
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Chapter Hall Of Fame
    Registriert seit
    21.10.2007
    Beiträge
    5.951
    Beitragswertungen
    229 Beitragspunkte
    Das kannst du auch mit ner Box machen, ohne die Index ändern zu müssen...
    Spamming, sinnlose Beiträge, Pushing, Doppelposting und Werbung sind verboten
    externer Link
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Design und Templates

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten