#i', ''); // alles ersetzen und Rückgabe... return theme_replace_parts($newheader, $part); } /** * ersetzen in jedem einzelnen Block */ function theme_replace_blocks($template, $block) { switch ($block['position']) { case 'l': $part[] = array(' bgcolor="' . $GLOBALS['bgcolor1'] . '"', ' bgcolor="' . $GLOBALS['bgcolor3'] . '"'); break; case 'c': // die Farben vom Tutorial Theme ersetzen // $part[] = array(' bgcolor="#ffffff"', ' bgcolor="' . $GLOBALS['bgcolor1'] . '"'); // $part[] = array(' bgcolor="#ffffff"', ' bgcolor="' . $GLOBALS['bgcolor2'] . '"'); // $part[] = array(' bgcolor="#CADCF2"', ' bgcolor="' . $GLOBALS['bgcolor3'] . '"'); // $part[] = array(' bgcolor="#6A92D4"', ' bgcolor="' . $GLOBALS['bgcolor4'] . '"'); break; case 'd': break; case 'r': $part[] = array(' bgcolor="' . $GLOBALS['bgcolor1'] . '"', ' bgcolor="' . $GLOBALS['bgcolor3'] . '"'); break; } // Teil fuer alle Bloecke $part['preg'][] = array('#<(?:strong|b)>·(?:strong|b)>#i', ''); // alle Bilder aus dem Onlineblock holen $part['preg'][] = array('#]+)images/maaxon/([^>]+)\.gif([^>]+)>#i', ''); if (isset($part)) { return theme_replace_parts($template, $part); } else { return $template; } } /** * ersetzen von eigenen Theme-Elementen, kann veraendert und ergaenzt werden * diese Teile werden am Ende des scriptes, in der Funktion themefooter() ersetzt */ function theme_replace_end($template) { // $part[] = array('url(images/', 'url(' . MX_BASE_URL . MX_THEME_DIR . '/images/'); // Phototabelle entfernen über die Themesettings global $statpt; if ($statpt) { theme_extract_part($template, 'no_photo_table'); } // Skyscraper Banner entfernen über Themesettings global $statbt; if ($statbt) { theme_extract_part($template, 'no_banner_table'); } // provisorische Möglichkeit, die linken Blöcke bei bestimmten Modulen zu entfernen if (MX_MODULE == 'Forum' || MX_MODULE == 'Gallery') { theme_extract_part($template, 'left_noblocks'); } // die haesslichen Rahmen um Checkboxen und Radio-Feldern entfernen, über style-sheet Klasse $pattern = '#(]*type\s*=\s*[\"\'](?:radio|checkbox)[\"\']*?[^>]*?)>#iU'; preg_match_all($pattern, $template, $matches); if (isset($matches[1])) { foreach($matches[1] as $search) { if (!preg_match('#class\s*=\s*["\'][^"\']*["\']#i', $search)) { $part[] = array($search, $search . ' class="formcheckbox"'); } } } // die haesslichen Rahmen um Checkboxen und Radio-Feldern entfernen, über style-sheet Klasse $pattern = '#(]type\s*=\s*[\"\'](?:submit|button|reset)[\"\']*?[^>]*?)>#iU'; preg_match_all($pattern, $template, $matches); if (isset($matches[1])) { foreach($matches[1] as $search) { if (!preg_match('#class\s*=\s*["\'][^"\']*["\']#i', $search)) { $part[] = array($search, $search . ' class="formbutton"'); } } } // falls xHTML-Tags zerstoert wurden, diese hier wieder reparieren $part['preg'][] = array('#/[[:space:]]?class="(formcheckbox|formbutton)">#', ' class="$1" />'); // falls die eben hinzugefügten Tageigenschaften doppelt gesetzt wurden, diese wieder vereinzeln $part['preg'][] = array('#( class="(?:formbutton|formcheckbox)"){2,}#si', '$1'); // das ist der komische rollover-effekt in den Menuebloecken: // $part['preg'][] = array('##siU', ""); // leere Tabellen Tags entfernen, wenn kein Inhalt von Modul angezeigt wird (blank_home) $part['preg'][] = array('#]*>\s*\s*\s*\s*\s*\s*\s*\s*#si', ''); $template = theme_replace_parts($template, $part); return $template; } /** * Beschreibung */ function theme_html_validate($html) { return $html; $html = preg_replace('#(?:<((?:img|input|link|meta)(?:[^>]*[^/]))>)|(?:<(br)>)#i', '<$1$2 />', $html); $html = preg_replace('~&(?![a-zA-Z]{2,6};|#[0-9]{2,3};)~', '&', $html); // TODO: muss verbessert werden, weil doppeltgemoppelt // nicht glücklich....aber nötig für die Ersetzung innerhalb von Javascripten $html = str_replace('&&', '&&', $html); return $html; } /** * Beschreibung */ function getThemeAdminname($story) { global $theme_template; if (!empty($story['url'])) { $story['aid'] = "" . $story['aid'] . ""; } else if (!empty($story['email'])) { $story['aid'] = "" . $story['aid'] . ""; } return $story['aid']; } /** * Beschreibung */ function getThemeIndexButtons($story) { global $theme_template; static $img, $isnewsadmin; if (!isset($isnewsadmin)) { $isnewsadmin = mxGetAdminPref('radminarticle'); } if (empty($img)) { // die images werden in einen statischen Variable gehalten um die Bildgroessen nicht bei jedem Artikel zu ermitteln // xx als alttext wird weiter unten dynamisch ersetzt $img[1] = mxCreateImage(MX_THEME_DIR . "/images/buttons/informant.gif", "xx", 0); $img[2] = mxCreateImage(MX_THEME_DIR . "/images/buttons/print.gif", _BMXPRINTER, 0); $img[3] = mxCreateImage(MX_THEME_DIR . "/images/buttons/friend.gif", _BMXFRIEND, 0); $img[4] = mxCreateImage(MX_THEME_DIR . "/images/buttons/counter.gif", "xx", 0); $img[6] = mxCreateImage(MX_THEME_DIR . "/images/buttons/bytesmore.gif", "xx", 0); if ($GLOBALS['articlecomm']) $img[5] = mxCreateImage(MX_THEME_DIR . "/images/buttons/comments.gif", "xx", 0); // mxdebugfuncvars($story['allmorelink']); // zum ansehen der morelink-Parameter einkommentieren // mxdebugfuncvars($story); // zum ansehen der story-Parameter der ersten story einkommentieren } // mxdebugfuncvars($story); // zum ansehen der story-Parameter aller stories einkommentieren $bmore = ($story['allmorelink']['bodycount']) ? _READMORE . " (" . $story['allmorelink']['bodycount'] . " " . _BYTESMORE . ")" : _READMORE; $adminlink = ($isnewsadmin) ? " href='admin.php?op=EditStory&sid=" . $story['sid'] . "' " : ""; $link[] = $story['allmorelink']['storylink'] . str_replace("xx", $bmore, $img[6]) . ""; if ($story['informant'] != $GLOBALS['anonymous'] && (MX_IS_USER || MX_IS_ADMIN)) { $link[] = $story['allmorelink']['informantlink'] . str_replace("xx", _USERINFO . ": " . $story['informant'], $img[1]) . ""; } $link[] = $story['allmorelink']['printerlink'] . $img[2] . ""; if (mxModuleAllowed('Recommend_Us')) { $link[] = $story['allmorelink']['friendlink'] . $img[3] . ""; } if (empty($story['acomm']) && $GLOBALS['articlecomm']) { // // Achtung!!! acomm: 0 = Ja , 1 = Nein $link[] = $story['allmorelink']['commentslink'] . str_replace("xx", _COMMENTS . " (" . $story['comments'] . ")", $img[5]) . ""; } $link[] = "" . str_replace("xx", $story['counter'] . " " . _READS, $img[4]) . ""; return $link; } /** * Beschreibung */ function mx_theme_currentpath($spacer = ' > ') { global $prefix; $maxwordlen = 18; /** * max. Number of charakters in Moduleslist */ /** * $qry = "SELECT m.mid, m.title * FROM ${prefix}_modules AS m LEFT JOIN ${prefix}_groups_modules AS g ON m.mid = g.module_id * WHERE ($queryview) * ORDER BY m.title ASC"; */ $link[] = '' . _HOME . ''; // Module if (mxModuleAllowed(MX_MODULE)) { $result = sql_query("select title, custom_title from ${prefix}_modules WHERE title='" . MX_MODULE . "'"); list($m_title, $custom_title) = sql_fetch_row($result); $m_title2 = (empty($custom_title)) ? str_replace("_", " ", $m_title) : str_replace("_", " ", $custom_title); $m_title3 = mxCutString($m_title2, $maxwordlen, "..", ""); $link[] = "" . $m_title3 . ""; } // Administration else if (defined('mxAdminFileLoaded')) { $link[] = "" . _ADMINMENU . ""; } return implode($spacer, $link); } /** * Beschreibung */ function mx_theme_searchform() { $out = ''; if (mxModuleAllowed('Search')) { $out = ' '; } return $out; } /** * Beschreibung */ function mx_theme_loginform() { global $prefix, $user_prefix, $JPCACHE_ON; $imagedir = MX_THEME_DIR . '/images'; if ($JPCACHE_ON) { return; } $out = ""; if (!MX_IS_USER) { if (!defined("mxloginblockviewed")) define("mxloginblockviewed", true); $nickname = _NICKNAME; $password = _PASSWORD; $login = _LOGIN; $check = mxGetUserLoginCheckField(); $out .= << $check Login Nick: Pass: logform; } else { $hallo = _HELLO; $logout = _AB_LOGOUT; $account = _YACCOUNT; $privatemessages = ""; $cookie = mxgetusersession(); $username = $cookie[1]; // private Nachrichten if (mxModuleAllowed('Private_Messages')) { // falls pm-modul aktiv ist $qry = "SELECT Count(msg_id) FROM ${prefix}_priv_msgs WHERE to_userid=" . $cookie[0] . " AND read_msg=0;"; $result = sql_query($qry); list($countpmunread) = sql_fetch_row($result); if ($countpmunread) { // wenn angemeldeter User $privatemessages = "" . _YOUHAVE . " " . intval($countpmunread) . " Nachricht(en)"; } } // Usergaestebuch $guestbook = ""; /* if (mxModuleAllowed("UserGuest")){ # falls gaestebuch vorhanden $qry="SELECT Count(gid) FROM ${prefix}_userguest WHERE touserid='".$cookie[0]."' AND touser = '".$username."' AND dummy=0;"; $result = sql_query($qry); list($gbnewentries) = sql_fetch_row($result); if($gbnewentries){ $msg2 = ($GLOBALS['currentlang']=='english') ? 'new guestbookentries' : 'neue Gästebucheinträge'; $guestbook = ""._YOUHAVE." ".intval($gbnewentries)." ".$msg2.""; } } */ $arrowpic = mxCreateImage(MX_THEME_DIR . '/images/arrow.gif', ''); $out .= << $hallo $username $privatemessages $guestbook [Account] [Logout] logform; } // $out .= " "._REMEMBERLOGIN.""; return $out; } /** * Beschreibung */ function mx_show_date() { // mehrsprachig ;-) $stamp = time(); // initalise String: // Gettting the months set up... $monate = array(1 => _JANUARY, 2 => _FEBRUARY, 3 => _MARCH, 4 => _APRIL, 5 => _MAY, 6 => _JUNE, 7 => _JULY, 8 => _AUGUST, 9 => _SEPTEMBER, 10 => _OCTOBER, 11 => _NOVEMBER, 12 => _DECEMBER); // Getting our Month $monat = date("n", $stamp); // Getting the Days set up.... $tage = array(_WEEKFIRSTDAY, _WEEKSECONDDAY, _WEEKTHIRDDAY, _WEEKFOURTHDAY, _WEEKFIFTHDAY, _WEEKSIXTHDAY, _WEEKSEVENTHDAY); // Getting Day.... $tag = date("w", $stamp); $out = $tage[$tag] . ", " . date("d", $stamp) . ". " . $monate[$monat] . " " . date("Y", $stamp); return $out; } /** * Beschreibung */ function mx_show_time () { $timestamp = time(); $uhrzeit = date("H:i", $timestamp); $out = $uhrzeit; return $out; } /** * Beschreibung */ function mx_total_user_online () { global $prefix, $user_prefix, $bgcolor1, $bgcolor2, $bgcolor3, $txtcolor1, $txtcolor2; $past = time() - MX_SETINACTIVE_MINS ; // Alle Gaeste ermitteln $guest_online_num = 0; $result = sql_query("SELECT Count(ip) FROM ${prefix}_visitors WHERE time>" . $past . " AND uid=0;"); list($guest_online_num) = sql_fetch_row($result); // alle Online-User ermitteln $member_online_num = 0; $result = sql_query("SELECT COUNT(uid) FROM ${user_prefix}_users WHERE (user_lastvisit >= " . $past . " AND user_stat=1 AND user_lastmod<>'logout')"); list($member_online_num) = sql_fetch_row($result); $out = ($guest_online_num + $member_online_num); return $out; } /** * Banner anzeigen */ function mx_themebanner($pos) { if ($GLOBALS['banners']) { if (!function_exists('viewbanner')) { @include_once('includes/mx_bannerfunctions.php'); } if (function_exists('viewbanner')) { $pos = intval($pos); if (empty($pos)) $pos = 1; return viewbanner($pos); } } return ' '; } /** * wechselnde Navigation */ function change_navbuttons () { global $navimpath, $navimpathcontent; if (isset($GLOBALS['home'])) { return MX_THEME_DIR . '/' . $navimpath['Home']; } else if (defined('MX_MODULE') && isset($navimpath[MX_MODULE])) { if (MX_MODULE == "Content") { if (!empty($_GET['pid']) && isset ($navimpathcontent[$_GET['pid']])) { return MX_THEME_DIR . '/' . $navimpathcontent[$_GET['pid']]; } else { return MX_THEME_DIR . '/' . $navimpath[MX_MODULE]; } } else { return MX_THEME_DIR . '/' . $navimpath[MX_MODULE]; } } else { return MX_THEME_DIR . '/' . $navimpath['Default']; } } /** * wechselnde Photos */ function photos ($im, $imcontent) { if (isset($GLOBALS['home'])) { return $im['Home']; } else if (defined('MX_MODULE') && isset($im[MX_MODULE])) { if (MX_MODULE == "Content") { if (!empty($_GET['pid']) && isset ($imcontent[$_GET['pid']])) { return $imcontent[$_GET['pid']]; } else { return $im[MX_MODULE]; } } else { return $im[MX_MODULE]; } } else if (defined("mxAdminFileLoaded") && isset($navimpath['AdminLoaded'])) { return $im['AdminLoaded']; } else { return $im['Default']; } } /** * wechselnde Farben */ function themecolor ($themecolor, $themecolorcontent) { if (isset($GLOBALS['home'])) { return $themecolor['Home']; } else if (defined('MX_MODULE') && isset($themecolor[MX_MODULE])) { if (MX_MODULE == "Content") { if (!empty($_GET['pid']) && isset ($themecolorcontent[$_GET['pid']])) { return $themecolorcontent[$_GET['pid']]; } else { return $themecolor[MX_MODULE]; } } else { return $themecolor[MX_MODULE]; } } else if (defined("mxAdminFileLoaded") && isset($navimpath['AdminLoaded'])) { return $themecolor['AdminLoaded']; } else { return $themecolor['Default']; } } /** * wechselnde Farben Blocktitel */ function blocktitlecolor ($blocktitlecolor, $blocktitlecolorcontent) { if (isset($GLOBALS['home'])) { return $blocktitlecolor['Home']; } else if (defined('MX_MODULE') && isset($blocktitlecolor[MX_MODULE])) { if (MX_MODULE == "Content") { if (!empty($_GET['pid']) && isset ($blocktitlecolorcontent[$_GET['pid']])) { return $blocktitlecolorcontent[$_GET['pid']]; } else { return $blocktitlecolor[MX_MODULE]; } } else { return $blocktitlecolor[MX_MODULE]; } } else if (defined("mxAdminFileLoaded") && isset($navimpath['AdminLoaded'])) { return $blocktitlecolor['AdminLoaded']; } else { return $blocktitlecolor['Default']; } } /** * Unternavigation */ function unav ($unav, $unavcontent) { if (isset($GLOBALS['home'])) { return $unav['Home']; } else if (defined('MX_MODULE') && isset($unav[MX_MODULE])) { if (MX_MODULE == "Content") { if (!empty($_GET['pid']) && isset ($unavcontent[$_GET['pid']])) { return $unavcontent[$_GET['pid']]; } else { return $unav[MX_MODULE]; } } else { return $unav[MX_MODULE]; } } else if (defined("mxAdminFileLoaded") && isset($navimpath['AdminLoaded'])) { return $unav['AdminLoaded']; } else { return $unav['Default']; } } /** * Slogan auf dem Photo */ function photoslogan ($photoslogan, $statps, $photoslogancontent) { if ($statps) { if (isset($GLOBALS['home'])) { return $photoslogan['Home']; } else if (defined('MX_MODULE') && isset($photoslogan[MX_MODULE])) { if (MX_MODULE == "Content") { if (!empty($_GET['pid']) && isset ($photoslogancontent[$_GET['pid']])) { return $photoslogancontent[$_GET['pid']]; } else { return $photoslogan[MX_MODULE]; } } else { return $photoslogan[MX_MODULE]; } } else if (defined("mxAdminFileLoaded") && isset($navimpath['AdminLoaded'])) { return $photoslogan['AdminLoaded']; } else { return $photoslogan['Default']; } } } /** * Farbe des Slogan auf dem Photo */ function photoslogancolor ($photoslogancolor, $statps, $photoslogancolorcontent) { if ($statps) { if (isset($GLOBALS['home'])) { return $photoslogancolor['Home']; } else if (defined('MX_MODULE') && isset($photoslogancolor[MX_MODULE])) { if (MX_MODULE == "Content") { if (!empty($_GET['pid']) && isset ($photoslogancolorcontent[$_GET['pid']])) { return $photoslogancolorcontent[$_GET['pid']]; } else { return $photoslogancolor[MX_MODULE]; } } else { return $photoslogancolor[MX_MODULE]; } } else if (defined("mxAdminFileLoaded") && isset($navimpath['AdminLoaded'])) { return $photoslogancolor['AdminLoaded']; } else { return $photoslogancolor['Default']; } } } /** * Beschreibung */ function nav_link1 ($linka) { return $linka; } /** * Beschreibung */ function nav_link2 ($linkb) { return $linkb; } /** * Beschreibung */ function nav_link3 ($linkc) { return $linkc; } /** * Beschreibung */ function nav_link4 ($linkd) { return $linkd; } /** * Beschreibung */ function nav_link5 ($linke) { return $linke; } # ################################################## function nav_link6 ($linkf) { return $linkf; } # ################################################## function nav_link7 ($linkh) { return $linkg; } # ################################################## function nav_link8 ($linkh) { return $linkh; } /** * Beschreibung */ function photoheight($photoheight) { return $photoheight; } /** * diese Funktion wird im Mx nirgends verwendet !!! * bleibt aber drin, falls fremd-Module das Ding benoetigen */ function FormatStory($thetext, $notes, $aid, $informant) { global $theme_template; $notes = (empty($notes)) ? "" : "" . _NOTE . " " . $notes . "\n"; if ($aid == $informant) { echo "" . $thetext . " " . $notes . "\n"; } else { $boxstuff = (empty($informant)) ? "" : "" . $informant . " " . _WRITES . ":"; $boxstuff .= $thetext . " " . $notes . "\n"; echo "" . $boxstuff . "\n"; } } ?>