Ändern der $bgcolor

Begonnen von xisax2012, 11 April 2012, 05:47:32

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 2 Gäste betrachten dieses Thema.

xisax2012

Hallo zuammen

Seit einigen Tagen verwende ich nun PragmaMX (davor ein anderes CMS) und komme bisher eigentlich
sehr gut voran mit dem Umbau des Designs.
Nun steht ich aber vor einen Problem und da meine PHP Kenntnisse nicht 100% sind frage ich einfach mal bei
euch nach  ;)

..und zwar möchte ich die Farben der

global $bgcolor1;
$bgcolor1 = "#252525";
global $bgcolor2;
$bgcolor2 = "#1E1E1E";
global $bgcolor3;
$bgcolor3 = "#181818";
global $bgcolor4;
$bgcolor4 = "#292929";
global $textcolor1;
$textcolor1 = "#ffffff";
global $textcolor2;
$textcolor2 = "#ffffff";


(function.php) ändern. Statt einer Farbe möchte ich ein Hintergrundbild einfügen. Jetzt steh ich aber auf der Leitung
und weiß nicht wie ich das umsetzen soll  :gruebel: Hoffe ihr könnt mir hier weiterhelfen, danke

Gruß xisax

reddragon

Hi  :)

:heartpump:  :viannen_01:

Es ist immer sehr hilfreich, wenn du das verwendete Theme nennst.

du wirst wahrscheinlich eine index.html eine theme.html oder eine theme.php haben, in der der eigentliche Quellcode hinterlegt ist.


Dort wird wahrscheinlich die Hintergrundfarbe als bg-color mit Verweis auf die Variable angegeben sein.

Normalerweise sieht das im html so aus:
style="background-color:#252525"

In der theme.php sollte das so aussehen:
Die Variable verweist dann auf die entsprechende functions.php
bgcolor=\"$bgcolor1\"


Nun muss der transfair von der Farbe "color" zum Bild "image" geschaffen werden.
Der Standard-Code sieht so aus:
<div style="background-image:url(background2.gif); ......


Sollen die Bilder regelmäßig geändert werden? Wenn nicht, dann würde ich die Verknüpfungen zwischen den Variabeln löschen, und in der entsprechen den theme.php den Befehl mit Variable gegen das neue tauschen ;)


xisax2012

Hiho und danke für deine Antwort  ;)


Sorry das hab ich total vergessen zu erwähnen welches Theme ich da verwende  :red:
Zur Umgestaltung verwende ich das MX-Darkbreak http://www.pragmamx.org/Downloads-Theme-mx-darkbreak-view-686.html

Dort ist eine theme.html und eine theme.php vorhanden. Aber in beiden find ich jetzt irgendwie nichts was mit bgcolor zu tun hat  :red: Eben nur in der function.php das was oben gepostet hab.

Die Bilder sollen gleichbleiben.

theme.php
<?php
defined
('mxMainFileLoaded') or die('access denied');
// alles beginnt, mit dem include der mx_themes.php am Ende dieser Datei

// in $newheader ist der gesamte angepasste header enthalten
function theme_header($newheader)
{
    global 
$theme_template;
    
// den body-Tag hinter head-Ende setzen
    
$newheader .= "\n</head>\n\n" $theme_template['body_tag'] . "\n\n";
    
// ersetzen von eigenen Theme-Elementen, kann veraendert und ergaenzt werden
    // diese Teile werden vor der Ausgabe des headers im Headbereich ersetzt
    
if (function_exists('theme_replace_header')) {
        
$newheader theme_replace_header($newheader);
    }
    return 
$newheader;
}

function 
themesidebox($title$content$block = array(), $noecho 0)
{
    global 
$theme_template;
    if (empty(
$block)) {
        
$block['position'] = "l";
    }
    if (empty(
$block['hidestat'])) {
        
$out = ($block['position'] == "r") ? $theme_template['block_right'] : $theme_template['block_left'];
        
$out str_replace('{BLOCK_CONTENT}' $content $out);
        
$block['hidestat'] = 0;
    }
    if (
$block['hidestat'] == 1) {
        
$out = ($block['position'] == "r") ? $theme_template['block_right_minimized'] : $theme_template['block_left_minimized'];
    }
    
$out str_replace('{BLOCK_TITLE}' $title $out);
    if (
$noecho) {
        return 
$out;
    } else {
        echo 
$out;
    }
}

function 
thememiddlebox($title$content$block = array(), $noecho 0)
{
    global 
$theme_template;
    if (empty(
$block)) {
        
$block['position'] = "c";
    }
    if (empty(
$block['hidestat'])) {
        
$out = ($block['position'] == "d") ? $theme_template['block_center_down'] : $theme_template['block_center_top'];
        
$out str_replace('{BLOCK_CONTENT}' $content $out);
        
$block['hidestat'] = 0;
    }
    if (
$block['hidestat'] == 1) {
        
$out = ($block['position'] == "d") ? $theme_template['block_center_down_minimized'] : $theme_template['block_center_top_minimized'];
    }
    
$out str_replace('{BLOCK_TITLE}' $title $out);
    if (
$noecho) {
        return 
$out;
    } else {
        echo 
$out;
    }
}

function 
themeindex($x$x$x$x$x$x$x$x$x$x$x$x$story = array())
{
    
// $x bedeutet: nicht verwendet, nur zur nuke-Modulkompatibilitaet
    
global $theme_template;
    static 
$viewcounter;
    
// nur eine Spalte zulassen :-)
    
$GLOBALS['storyhome_cols'] = 1;
    if (!isset(
$viewcounter) || ($viewcounter == 2)) $viewcounter 0;
    
$viewcounter++;
    
// mxDebugFuncVars($story);
    
$buttons getThemeIndexButtons($story);
    
$story['buttons'] = "<table width='20' border='0' cellspacing='0' cellpadding='0'><tr><td width='1%' valign='top'>" implode("</td>\n<td width='1%' valign='top'>"$buttons) . "</tr></table>";
    
$bmore = ($story['allmorelink']['bodycount']) ? "(" $story['allmorelink']['bodycount'] . " " _BYTESMORE ")" "";
    
$story['readmore'] = (empty($bmore)) ? "" "<span title='" $bmore "'>" $story['allmorelink']['more'] . "</span>";
    
$topicimage_pos = ($viewcounter == 1) ? 'left' 'right';
    
$topicimage = ($GLOBALS['storyhome_cols'] == 1) ? mxCreateImage($GLOBALS['tipath'] . $story['topicimage'], _TOPIC ": " $story['topictext'], 0"align=\"" $topicimage_pos "\" class='topicimage_" $topicimage_pos "'") : "";
    
$cattitle = (empty($story['cattitle'])) ? "" " <span style='font-weight: normal;'>(" $story['allmorelink']['categorie'] . ")</span>";
    
$authorinfo = (empty($story['informant']) || $story['informant'] == $GLOBALS['anonymous']) ? getThemeAdminname($story) : " " $story['allmorelink']['informantlink'] . $story['informant'] . "</a>";
    
$story['content'] = "<a href='modules.php?name=News&amp;new_topic=" $story['topic'] . "'>" $topicimage "</a>\n" $story['hometext'] . "\n";
    
$story['infoline'] = ($GLOBALS['storyhome_cols'] == 1) ? _NEWSSUBMITED " " $authorinfo " " $story['allmorelink']['datetime'] : $story['datetime'];
    
$story['title'] = strip_tags($story['title']) . $cattitle;
    
// die oben definierten Variablen in dem passenden templateteil ersetzen
    
$artvars theme_define_content();
    echo 
theme_replace_vars($theme_template[$artvars['themeindex'][$viewcounter]], $story);
    return;
}

function 
themearticle($x$x$x$x$x$x$x$x$x$story = array())
{
    
// $x bedeutet: nicht verwendet, nur zur nuke-Modulkompatibilitaet
    
global $theme_template;
    
// mxDebugFuncVars($story);
    // das Topic-Bild
    
$topicimage mxCreateImage($GLOBALS['tipath'] . $story['topicimage'], $story['topictext'], 0"align='left' class='topicimage_left'");
    
$notes = (empty($story['notes'])) ? "" '<div style="font-style: italic;">' $story['notes'] . '</div>';
    
$authorinfo = (empty($story['informant']) || $story['informant'] == $GLOBALS['anonymous']) ? getThemeAdminname($story) : " " $story['allmorelink']['informantlink'] . $story['informant'] . "</a>";
    
$story['infoline'] = ($GLOBALS['storyhome_cols'] == 1) ? _NEWSSUBMITED " " $authorinfo " " $story['allmorelink']['datetime'] : $story['datetime'];
    
$story['title'] = strip_tags($story['title']);
    
$story['content'] = "<a href='modules.php?name=News&amp;new_topic=" $story['topic'] . "'>" $topicimage "</a>\n" $story['hometext'] . "<br>\n" $story['bodytext'] . "" $notes;
    
// die oben definierten Variablen in dem passenden templateteil ersetzen
    
echo theme_replace_vars($theme_template['themearticle'], $story);
    return;
}

// hier geht es los :)
// diesen Themeordner definieren
if (!defined('MX_THEME')) define('MX_THEME'basename(dirname(__FILE__)));
if (!
defined('MX_THEME_DIR')) define('MX_THEME_DIR'"themes/" MX_THEME);
// spezielle Themefunktionen und Konfigurationseinstellungen
include_once(MX_THEME_DIR '/functions.php');
// die themeEngine laden
if (file_exists(MX_THEME_DIR '/mx_themes.php')) {
    include_once(
MX_THEME_DIR '/mx_themes.php');
} else {
    include_once(
'includes/mx_themes.php');
}


theme.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>mx-darkbreak</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <meta http-equiv="pragma" content="no-cache" />
    <link type="text/css" href="style/style.css" rel="StyleSheet" />
    <!-- START more_header -->
    <!-- Design by Dzinerstudio.com ported to PragmaMx by Diabolo [)-(] -->
    <!--[if  IE 7]>
<link type="text/css" href="style/styleIE7.css" rel="StyleSheet">
<![endif]-->
<!--[if  IE 6]>
<link type="text/css" href="style/styleIE6.css" rel="StyleSheet">
<![endif]-->
    <!-- END more_header -->
</head>
  <body>
    <div class="wrapper">
      <div id="hdr-l">
        <div id="hdr-r">
          <div id="header">
            <div id="userarea"> {LOGINFORM} </div>
            <a href="./" title=""><span id="logo">&nbsp;</span></a>
          </div>
          <div id="toolbar">
            <div id="nav">
              <ul>
                <li>{MENUITEM_1}
                </li>
                <li>{MENUITEM_2}
                </li>

                <li>{MENUITEM_3}
                </li>
              </ul>
            </div>
          </div>
          <div id="bnr"></div>
        </div>
      </div>
      <div id="bdy-l">
        <div id="bdy-r">
          <div id="bdy-tl">
            <div id="bdy-tr">
              <div id="bodyarea">
                <table width="100%" cellpadding="0" cellspacing="0" border="0">
                  <tr>
                    <!-- START left_noblocks -->
                    <td width="185" style="padding: 4px; padding-top: 8px;padding-right: 1ex;" valign="top">
                      <div id="leftbarHeader" style="padding-top: 5px; width: 185px;">
                        <!-- START blocks_left_loop -->
                        <!-- START block_left -->
                        <div class="tborder" style="margin-bottom: 2px;">
                          <div class="titlebg" style="padding: 4px; font-weight: bold;">
                            {BLOCK_TITLE}
                          </div>
                          <div class="windowbg" style="padding:4px;">
                            {BLOCK_CONTENT} <!-- START comment -->
                             Lorem ipsum dolor sit amet, consectetur adipisici elit, sed do eiusmod tempor incididunt
                            ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation
                            ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
                            reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur
                            sint occaecat <!-- END comment -->
                          </div>
                        </div>
                        <!-- END block_left -->
                        <!-- END blocks_left_loop -->
                      </div>
                    </td>
                    <!-- END left_noblocks -->
                    <td width="100%" align="left" valign="top" style="padding-top: 12px; padding-bottom: 10px;">
                      <table cellpadding="0" cellspacing="0" border="0" width="100%" style="table-layout: fixed;">
                        <tr>
                          <td valign="top">
                          <!-- START blocks_center_top_loop -->
                      <!-- START block_center_top -->
                            <div class="tborder" style="margin-bottom: 2px;">
                              <div style="padding: 3px 6px 3px 6px;" class="titlebg">
                                {BLOCK_TITLE}
                              </div>
                              <table width="100%" cellpadding="0" cellspacing="0">
                                <tr>
                                  <td valign="top" class="windowbg2" style="padding: 4px;">
                                    <div style="_height: 1%; overflow: auto;">
                                      <div>
                                        <div style="padding: 1em;">
                                          {BLOCK_CONTENT} <!-- START comment -->
                                           Lorem ipsum dolor sit amet, consectetur adipisici elit, sed do eiusmod
                                          tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
                                          quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
                                          consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
                                          cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
                                          <!-- END comment -->
                                        </div>
                                      </div>
                                    </div>
                                  </td>
                                </tr>
                              </table>
                            </div>
                            <!-- END block_center_top -->
                            <!-- END blocks_center_top_loop -->
                            <!-- START script_output -->
                            <!-- START opentable -->
                            <div class="openclosetable">
                              {OPENCLOSE_TABLE}
                            </div>
                            <!-- END opentable -->
                            <!-- START opentable2 -->
                            <div class="openclosetable2">
                              {OPENCLOSE_TABLE_2}
                            </div>
                            <!-- END opentable2 -->
                            <!-- START opentableal -->
                            <div class="openclosetable_al">
                              {OPENCLOSE_TABLE_AL}
                            </div>
                            <!-- END opentableal -->
                            <!-- START themeindex_1 -->
                            <div class="tborder" style="margin-bottom: 2px;">
                              <div style="padding: 3px 6px 3px 6px;" class="catbg">
                                <img src="images/xx.gif" align="middle" alt="xx" border="0" />
                                {$title}
                              </div>
                              <table width="100%" cellpadding="0" cellspacing="0">
                                <tr>
                                  <td valign="top" class="windowbg2" style="padding: 4px;">
                                    <span class="smalltext"><em>{$infoline}</em></span>
                                    <div style="_height: 1%;">
                                      <div>
                                        {$content} <!-- START comment -->
                                         Lorem ipsum dolor sit amet, consectetur adipisici elit, sed do eiusmod tempor
                                        incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
                                        nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                                        Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
                                        fugiat nulla pariatur. Excepteur sint occaecat <!-- END comment -->
                                      </div>
                                      <p style="text-align: right; margin-top: 1ex;">
                                        <span class="smalltext">{$readmore}</span>
                                      </p>
                                    </div>
                                  </td>
                                </tr>
                              </table>
                            </div>
                            <!-- END themeindex_1 -->
                            <!-- START themeindex_2 -->
                            <div class="tborder" style="margin-bottom: 2px;">
                              <div style="padding: 3px 6px 3px 6px;" class="catbg">
                                <img src="images/xx.gif" align="middle" alt="xx" border="0" />
                                {$title}
                              </div>
                              <table width="100%" cellpadding="0" cellspacing="0">
                                <tr>
                                  <td valign="top" class="windowbg2" style="padding: 4px;">
                                    <span class="smalltext"><em>{$infoline}</em></span>
                                    <div style="_height: 1%;">
                                      <div>
                                        {$content} <!-- START comment -->
                                         Lorem ipsum dolor sit amet, consectetur adipisici elit, sed do eiusmod tempor
                                        incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
                                        nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                                        Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
                                        fugiat nulla pariatur. Excepteur sint occaecat <!-- END comment -->
                                      </div>
                                      <p style="text-align: right; margin-top: 1ex;">
                                        <span class="smalltext">{$readmore}</span>
                                      </p>
                                    </div>
                                  </td>
                                </tr>
                              </table>
                            </div>
                            <!-- END themeindex_2 -->
                            <!-- START themearticle -->
                            <div class="tborder" style="margin-bottom: 2px;">
                              <div style="padding: 3px 6px 3px 6px;" class="catbg">
                                <img src="images/xx.gif" align="middle" alt="xx" border="0" />
                                {$title}
                              </div>
                              <table width="100%" cellpadding="0" cellspacing="0">
                                <tr>
                                  <td valign="top" class="windowbg2" style="padding: 4px;">
                                    <span class="smalltext"><em>{$infoline}</em></span>
                                    <div style="_height: 1%; overflow: auto;">
                                      <div>
                                        {$content} <!-- START comment -->
                                         Lorem ipsum dolor sit amet, consectetur adipisici elit, sed do eiusmod tempor
                                        incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis
                                        nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
                                        Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu
                                        fugiat nulla pariatur. Excepteur sint occaecat <!-- END comment -->
                                      </div>
                                    </div>
                                  </td>
                                </tr>
                              </table>
                            </div>
                            <!-- END themearticle -->
                            <!-- END script_output -->
                            <!-- START blocks_center_down_loop -->
                            <!-- START block_center_down -->
                            <div class="tborder" style="margin-bottom: 2px;">
                              <div style="padding: 3px 6px 3px 6px;" class="titlebg">
                                {BLOCK_TITLE}
                              </div>
                              <table width="100%" cellpadding="0" cellspacing="0">
                                <tr>
                                  <td valign="top" class="windowbg2" style="padding: 4px;">
                                    <div style="_height: 1%; overflow: auto;">
                                      <div>
                                        <div style="padding: 1em;">
                                          {BLOCK_CONTENT} <!-- START comment -->

                                           Lorem ipsum dolor sit amet, consectetur adipisici elit, sed do eiusmod
                                          tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,
                                          quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo
                                          consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse
                                          cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat
                                          <!-- END comment -->
                                        </div>
                                      </div>
                                    </div>
                                  </td>
                                </tr>
                              </table>
                            </div>
                            <!-- END block_center_down -->
                            <!-- END blocks_center_down_loop -->
                          </td>
                        </tr>
                      </table>
                    </td>
                    <!-- START index_on -->
                    <td style="padding: 4px; padding-top: 8px; padding-left: 1ex;" valign="top" align="right">
                      <!-- START blocks_right_loop -->
                      <!-- START block_right -->
                      <div style="width: 195px; text-align: left; padding-top: 5px;">
                        <div class="tborder" style="margin-bottom: 2px;">
                          <div class="titlebg" style="padding: 4px; font-weight: bold;">
                            {BLOCK_TITLE}
                          </div>
                          <div class="windowbg" style="padding:4px;">
                            <div style="width: 100%;">
                              {BLOCK_CONTENT} <!-- START comment -->
                               Lorem ipsum dolor sit amet, consectetur adipisici elit, sed do eiusmod tempor incididunt
                              ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation
                              ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
                              reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur
                              sint occaecat <!-- END comment -->
                            </div>
                          </div>
                        </div>
                      </div>
                      <!-- END block_right -->
                      <!-- END blocks_right_loop -->
                    </td>
                    <!-- END index_on -->
                  </tr>
                </table>
              </div>
            </div>
          </div>
        </div>
      </div>
      <!-- Footer -->
      <div id="ftr">
        <div id="ftr-l">
          <div id="ftr-r">
            <div id="footerarea">
              {FOOTMESSAGE}
            </div>
          </div>
        </div>
      </div>
      <!-- \Footer-->
    </div>
  </body>
</html>



Gruß xisax

reddragon

Hi,

na, da hast du dir ein Theme ausgesucht.... :puzzled:

die Variable "bgcolor1-4" findet nur in der functions.php Gebrauch. Dann noch zusätzlich in den Modulen.

Die Variablen werden einmal aufgerufen bei "Popupfenstern", dann sollen die einmal auf den linken und rechten Block Einfluss nehmen und zum Schluss ganz unten bei einer Beschreibung ob der user online ist.... :gruebel:

Im Bereich der Blöcke ist der Codeabschnitt, de ich meinte, den man ändern könnte:
    switch ($block['position']) {
        case 'l':
            $part[] = array(' bgcolor="' . $GLOBALS['bgcolor1'] . '"', ' bgcolor="' . $GLOBALS['bgcolor3'] . '"');
            break;


Aber die bgcolor wird im Theme gar nicht aufgerufen!

<!-- START block_left -->
                        <div class="tborder" style="margin-bottom: 2px;">
                          <div class="titlebg" style="padding: 4px; font-weight: bold;">
                            {BLOCK_TITLE}
                          </div>
                          <div class="windowbg" style="padding:4px;">
                            {BLOCK_CONTENT} <!-- START comment -->
                             Lorem ipsum dolor sit amet, consectetur adipisici elit, sed do eiusmod tempor incididunt
                            ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation
                            ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in
                            reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur
                            sint occaecat <!-- END comment -->
                          </div>
                        </div>
                        <!-- END block_left -->


Man könnte es anpassen, aber es wird keine Änderung an den Blöcken verursachen.


In meinen allgemeinen Notizen für phpnuke heißt es schon 2002, dass textcolcor1/2 Überbleibsel aus vorhergegangenen Nuke-Versionen sind, und gar nicht mehr verwendet werden.
Dieses Theme widerlegt das, da sehr viel Text im Adminbereich darüber gesteuert wird.....

Weiter heißt es zu bgcolor3/4 dass diese derzeit keine Anwendung gefunden haben. Für den Adminbereich ist das hier auch als überholt zu betrachten... :puzzled:



Ich denke, es ist einfacher, wenn du den konkreten Änderungswunsch äußerst, so dass man da direkt eingreift  :BD: ;)

xisax2012

Moin Moin

Ohje, na da hab ich mir ja dann was "unpassendes" ausgesucht an Theme  :red:

Also mir geht darum, das ich die Farbe der Webseite von Grau umgestellt hab auf Rot.
Nun ist es aber so, das bei gewissen Modulen wie z.B. das Gästebuch, Arikel Übersicht die Tabellen
mit grauen Hintergrund noch angezeigt werden und diese möchte ich eben anpassen.

In der index.php vom Gästebuch wird mir z.B. das so angezeigt, drum dachte ich das man das evtl. in der function .php gleich so abändern kann, das statt den Farben (#1E1E1E) eine Bildzuweisung eingetragen werden kann.

global $bgcolor1, $bgcolor2, $bgcolor3, $bgcolor4, $textcolor1, $textcolor2;



defined('mxMainFileLoaded') or die('access denied');

$module_name = basename(dirname(__FILE__));
mxGetLangfile($module_name);

include_once(PMX_MODULES_DIR . DS . "$module_name/include/lib.inc.php");
// / Konfiguration auslesen
$NB_setting = NB_GetSettings();
$index = $NB_setting['rightblocks'];

function NB_Head()
{
    global $module_name, $NB_setting, $textcolor2;
    $total = NB_GetTotalCount();
    $dopost = '';
    if (NB_isPostAllowed()) {
        $dopost = '<font class="content">
<a href="modules.php?name=' . $module_name . '&amp;op=AddEntry">' . mxCreateImage("modules/$module_name/images/edit.png", _NBSIGNGUESTBOOK, 0, 'hspace="5"') . '</a>
<b><a href="modules.php?name=' . $module_name . '&amp;op=AddEntry">' . _NBSIGNGUESTBOOK . '</a></b></font><br />

';
    }
    $admin = '';
    if (MX_IS_ADMIN && mxGetAdminPref('radminsuper')) {
        $admin = '<div align="left" class="tiny">
<a href="admin.php?op=GuestBookAdmin">' . _NBPOSTADMINTITLE . '</a></div>
';
    }

    OpenTable();
    echo '<div align="center" class="title">' . _NBTITLE . '</div>
<table cellspacing="0" cellpadding="5" width="100%">
<tr valign="top">
<td colspan="2" align="left">' . _NBWELCOME . '</td>
<td rowspan="2" align="right"><a href="modules.php?name=' . $module_name . '" id="nb_top" name="nb_top">' . mxCreateImage("modules/$module_name/images/g_book.png", _NBTITLE) . '</a>' . $admin . '</td>
</tr>
<tr>
<td>' . $dopost . '<span class="tiny" style="white-space: nowrap;">
' . _NBTOTALRECORDS . '&nbsp;<b>' . $total . '</b>&nbsp;&nbsp;' . _NBRECORDSPERPAGE . '&nbsp;<b>' . $NB_setting['entries_per_page'] . '</b>
</span></td>
<td align="center">' . NB_NaviForm() . '</td>
</tr>
</table>
';
    CloseTable();
    echo '<br />
';
}

/**
* ==================================================
* function ShowNukeBook
* This function is used to display the guestbook
* with all its posts etc. This is the "main" screen
* ==================================================
*/
function ShowNukeBook()
{
    global $bgcolor1, $bgcolor2, $bgcolor3, $bgcolor4, $textcolor1, $textcolor2;
    global $prefix, $user_prefix;
    global $module_name, $NB_setting;

    $item = (isset($_REQUEST['item'])) ? intval($_REQUEST['item']) : 0;
    $total = NB_GetTotalCount();
    $thread = $total - $item;

    $qry = "SELECT G.*, G.name AS nbname, U.uid AS uid
FROM {$prefix}_{$NB_setting['dbtable']} AS G
LEFT JOIN {$user_prefix}_users AS U
ON G.name = U.uname
ORDER BY G.date DESC, G.id DESC
LIMIT " . intval($item) . ", " . intval($NB_setting['entries_per_page']);
    $results = sql_query($qry);

    include('header.php');
    NB_Head();
    if ($total) {
        echo '
<table width="100%" border="0" cellspacing="0" cellpadding="2">
';
        while ($entry = sql_fetch_assoc($results)) {
            $entry['thread'] = $thread;
            $entry['item'] = $item;
            NB_ViewEntry($entry);
            $thread--;
        }
        echo '</table>
';
        // $html_code = ($NB_setting['allow_html'] == 1) ? _NBHTMLENABLED : _NBHTMLDISABLED;
        // echo '<center><div class="tiny">' . mxCreateImage('modules/'.$module_name.'/images/point2.gif', '', 0, 'width="9" height="9"') . $html_code.'</div></center>';
        $next_item = $item + $NB_setting['entries_per_page'];
        $prev_item = $item - $NB_setting['entries_per_page'];
        $navigation = '';
        if ($prev_item >= 0) {
            $navigation .= '<span class="content">
<a href="modules.php?name=' . $module_name . '&amp;item=' . $prev_item . '">' . mxCreateImage(PMX_IMAGE_PATH . 'previous.png', _NBPREVPAGE, 0, 'style="margin: 0 .5em"') . _NBPREVPAGE . '</a>
</span>';
        }
        if ($prev_item >= 0 && $next_item < $total) {
            $navigation .= '&nbsp;&nbsp;';
        }
        if ($next_item < $total) {
            $navigation .= '<span class="content">
<a href="modules.php?name=' . $module_name . '&amp;item=' . $next_item . '">' . _NBNEXTPAGE . mxCreateImage(PMX_IMAGE_PATH . 'next.png', _NBNEXTPAGE, 0, 'style="margin: 0 .5em"') . '</a>
</span>
';
        }
        if ($navigation) {
            OpenTable();
            echo '<center><div class="content">' . $navigation . '</div></center>';
            CloseTable();
        }
    }
    include('footer.php');
}

/**
* ==================================================
* function AddEntry
* This function displays the form for the user to
* sign the guestbook
* ==================================================
*/
function AddEntry()
{
    global $bgcolor1, $bgcolor2, $bgcolor3, $bgcolor4, $textcolor1, $textcolor2;
    global $module_name, $NB_setting;

    if (!NB_isPostAllowed()) {
        gb_error(_NBREGONLY);
    }

    $entry = array();
    if (MX_IS_USER) {
        $userinfo = mxGetUserData();
        $entry['uid'] = $userinfo['uid'];
        $entry['nbname'] = $userinfo['uname'];
        $entry['url'] = $userinfo['url'];
        $entry['nukeuser'] = 1;
    } else {
        $entry['uid'] = 0;
        $entry['nbname'] = '';
        $entry['nukeuser'] = 0;
    }

    include('header.php');
    NB_Head();
    NB_SubmitForm($entry, _NBADDENTRY);
    include('footer.php');
}

/**
* ==================================================
* function PreviewEntry
* Funciton to display a preview of the information
* the user has written. Gives the user the option
* to submit or go back and correct
* ==================================================
*/
function PreviewEntry()
{
    global $bgcolor1, $bgcolor2, $bgcolor3, $bgcolor4, $textcolor1, $textcolor2;
    global $module_name, $NB_setting;

    if (!NB_isPostAllowed()) {
        gb_error(_NBREGONLY);
    }

    $entry = NB_CheckEntry(mxStripSlashes($_POST));
    // Immer die IP speichern, siehe Bug-ID 933
    // $entry['host'] = @gethostbyaddr (MX_REMOTE_ADDR);
    $entry['host'] = MX_REMOTE_ADDR;
    $entry['date'] = time();
    $entry['id'] = 1;

    include('header.php');
    NB_Head();
    echo '
<table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr><td colspan="2" class="bgcolor2">
<font class="content"><b>' . _NBPREVIEW . '</b></font><br />

<font class="tiny">' . _NBGUESTBOOKENTRY . '</font>
</td></tr>
';
    NB_ViewEntry($entry);
    echo '</table>
';
    NB_SubmitForm($entry, _NBADDENTRY);
    include('footer.php');
}

/**
* ==================================================
* function SubmitPost
* This function inserts the guestbook entry into
* the database, but first it checks for special
* characters and format, such as HTML code & NBCode
* ==================================================
*/
function SubmitPost()
{
    global $bgcolor1, $bgcolor2, $bgcolor3, $bgcolor4, $textcolor1, $textcolor2;
    global $module_name, $NB_setting, $prefix;

    if (!NB_isPostAllowed()) {
        gb_error(_NBREGONLY);
    }

    $captcha_object = load_class('Captcha', 'guestbookon');
    if (!$captcha_object->check($_POST, 'captcha')) {
        gb_error(_CAPTCHAWRONG, $_POST);
    }

    $entry = NB_CheckEntry($_POST);
    // Immer die IP speichern, siehe Bug-ID 933
    // $host = @gethostbyaddr (MX_REMOTE_ADDR);
    $host = MX_REMOTE_ADDR;
    $time = time();
    $table = ($NB_setting['confirmation']) ? "{$prefix}_{$NB_setting['dbtable']}_queue" : "{$prefix}_{$NB_setting['dbtable']}";
    $checkdate = time() - intval($NB_setting['waitseconds']);

    $result = sql_query("SELECT id FROM ${table} where date >= " . $checkdate . " AND (host = '" . mxAddSlashesForSQL($host) . "' OR name = '" . mxAddSlashesForSQL($entry['nbname']) . "')");
    if (sql_num_rows($result)) {
        gb_error(_NBWAITTOPOST);
        die();
    }

    $result = sql_query("INSERT INTO {$table} (name,email,url,date,host,comment,nukeuser) VALUES ('" . mxAddSlashesForSQL($entry['nbname']) . "','" . mxAddSlashesForSQL($entry['email']) . "','" . mxAddSlashesForSQL($entry['url']) . "','" . $time . "','" . mxAddSlashesForSQL($host) . "','" . mxAddSlashesForSQL($entry['comment']) . "','" . intval(MX_IS_USER) . "')");

    if ($result) {
        $msg = ($NB_setting['confirmation'] == 1) ? _NBCONFIRMTXT : _NBTHANKYOU;
        if (!empty($NB_setting['gbnotify'])) {
            $link = PMX_HOME_URL . (($NB_setting['confirmation']) ? '/admin.php?op=GuestBookAdmin' : '/modules.php?name=' . $module_name . '&item=0');
            $website = (empty($NB_setting['showurl'])) ? '' : "\nwebsite: " . $entry['url'];
            $notify_message = ("-- " . _NBGUESTBOOK . " --\n" . $GLOBALS['notify_message'] . "\n\n========================================================\n" . $link . "\n\nat: " . strftime(_SHORTDATESTRING . ' %H:%M', $time) . "\nip/host:" . $host . "\nfrom: " . $entry['nbname'] . "\nmail: " . $entry['email'] . $website . "\nentry:\n" . $entry['comment'] . "");
            mxMail($GLOBALS['notify_email'], $GLOBALS['notify_subject'] . ' (' . _NBGUESTBOOK . ')', $notify_message, $GLOBALS['notify_from']);
        }
        mxRedirect('modules.php?name=' . $module_name , $msg, 2);
        return;
    } else {
        include('header.php');
        title(_NBTITLE);
        OpenTable();
        echo '<font class="content">' . _ERRNOSAVED . '</font>';
        CloseTable();
        include('footer.php');
        return;
    }
}

/**
* ==================================================
* function gb_error
* Error Display function. This outputs a nice
* error message, displaying what's wrong with the
* users input (eg. no name or message)
* ==================================================
*/
function gb_error($nberror, $entry = array())
{
    global $bgcolor1, $bgcolor2, $bgcolor3, $bgcolor4, $textcolor1, $textcolor2;
    global $module_name;

    include('header.php');
    NB_Head();
    OpenTableAl();
    echo '<br /><div class="title">' . _NBERRORTITLE . '</div><br /><div class="content">' . $nberror . '</div><br />';
    CloseTableAl();
    if (is_array($entry) && count($entry)) {
        echo '<br />';
        NB_SubmitForm($entry, _NBADDENTRY);
    }
    include('footer.php');
    exit;
}

/**
* ==================================================
* Switch case - decide what to do based on
* $op (short for module op)
* ==================================================
*/

if (empty($op)) $op = '';
switch ($op) {
    case "AddEntry":
        $pagetitle = _NBTITLE . ', ' . _NBADDENTRY;
        AddEntry();
        break;

    case _NBPREVIEW:
        $pagetitle = _NBTITLE . ', ' . _NBADDENTRY;
        PreviewEntry();
        break;

    case _NBSUBMIT:
        $pagetitle = _NBTITLE . ', ' . _NBADDENTRY;
        SubmitPost();
        break;

    default:
        $pagetitle = _NBTITLE;
        ShowNukeBook();
        break;
}

?>



Gruß xisax