Schade, das habe ich fast befürchtet.
Danke! für die Hilfe ich werde es mir ansehen.
Gruß
G.S
Danke! für die Hilfe ich werde es mir ansehen.
Gruß
G.S
moziloCMS verwendet Cookies. Wenn Sie auf unserer Seite weitersurfen, stimmen Sie der Cookie-Nutzung zu Datenschutzerklärung
moziloCMS Layouts
moziloCMS Plugins
Dieser Abschnitt erlaubt es dir, alle Beiträge anzusehen, die von diesem Mitglied geschrieben wurden. Beachte, dass du nur Beiträge sehen kannst, die in Teilen des Forums geschrieben wurden, auf die du aktuell Zugriff hast.
Beiträge anzeigen-Menü<?php if(!defined('IS_CMS')) die();
/***************************************************************
*
* moziloCMS: Layoutumschalter für Mobilgeräte
*
* Zur Erkennung kommt das unter MIT-Lizenz stehende
* Mobile-Detect (https://github.com/serbanghita/Mobile-Detect)
* zum Einsatz.
*
***************************************************************/
class MobileLayout extends Plugin {
function getContent($value) {
global $syntax;
global $LAYOUT_DIR;
global $TEMPLATE_FILE;
global $CMS_CONF;
global $GALLERY_CONF;
// Prüfen: Ists ein Mobilgerät?
@require_once 'MobileDetect/Mobile_Detect.php';
$detect = new Mobile_Detect;
$deviceType = ($detect->isMobile() ? ($detect->isTablet() ? 'tablet' : 'phone') : 'computer');
// Mobil-/Standardlayout explizit verlangt? In der Session merken
$showmobileparam = getRequestValue("mobile", true);
if ($showmobileparam == "1") {
$_SESSION['mozilocms_mobileplugin_showmobile'] = "1";
}
else if ($showmobileparam == "0") {
$_SESSION['mozilocms_mobileplugin_showmobile'] = "0";
}
$showmobile = ($deviceType != "computer") || ($_SESSION['mozilocms_mobileplugin_showmobile'] == "1");
$dontshowmobile = ($_SESSION['mozilocms_mobileplugin_showmobile'] == "0");
// Der Switch-URL (für {MobileLayout|switchurl})
if ($value == "switchurl") {
$uri = $this->curPageURL();
if (strpos($uri,'?') !== false) {
return $uri."&mobile=".($_SESSION['mozilocms_mobileplugin_showmobile'] == "1" ? 0 : 1);
}
else {
return $uri."?mobile=".($_SESSION['mozilocms_mobileplugin_showmobile'] == "1" ? 0 : 1);
}
return $uri;
}
// mobiles Layout für alle Mobilgeräte!
if ($showmobile && !$dontshowmobile) {
$_SESSION['mozilocms_mobileplugin_showmobile'] = "1";
// Das Mobillayout aus den Plugin-Einstellungen
$mobilelayout = $this->settings->get("mobilelayout");
if ($mobilelayout != "") {
// Layout-Platzhalter im Template ersetzen
$syntax->pluginSelfPlaceholderData("-platz~LAYOUT_DIR-platzend~", "layouts/".$mobilelayout);
$syntax->pluginSelfPlaceholderData("{LAYOUT_DIR}", "layouts/".$mobilelayout);
// CMS-Variablen überschreiben
$LAYOUT_DIR = "layouts/".$mobilelayout;
$TEMPLATE_FILE = "layouts/".$mobilelayout."/template.html";
// Submenu- und Galeriespalten-Einstellung aus dem Mobillayout holen
$settingsfile = $LAYOUT_DIR."/layoutsettings.conf";
$layoutsettings = new Properties($settingsfile);
$CMS_CONF->properties["usesubmenu"] = $layoutsettings->get("usesubmenu");
$GALLERY_CONF->properties["gallerypicsperrow"] = $layoutsettings->get("gallerypicsperrow");
// Template nochmal neu parsen (nur einmal, sonst entsteht die Rekursion des Todes^^)
if ($_SESSION['mozilocms_mobileplugin_templatereparsed'] != "1") {
$_SESSION['mozilocms_mobileplugin_templatereparsed'] = "1";
readTemplate();
}
}
$_SESSION['mozilocms_mobileplugin_templatereparsed'] = "0";
}
} // function getContent
/***************************************************************
*
* Gibt die Konfigurationsoptionen als Array zurück.
* Ist keine Konfiguration nötig, ist dieses Array leer.
*
***************************************************************/
function getConfig() {
global $ADMIN_CONF;
global $BASE_DIR;
global $specialchars;
$language = $ADMIN_CONF->get("language");
$config = array();
// Alle Layouts als Radiobuttons zur Auswahl anzeigen
$layoutdirs = getDirAsArray($BASE_DIR."layouts",true);
$layouts = array();
natcasesort($layoutdirs);
foreach ($layoutdirs as $file) {
$layouts[$file] = $specialchars->rebuildSpecialChars($file, true, true);
}
$config['mobilelayout'] = array(
"type" => "radio", // Pflicht: Eingabetyp
"description" => "Welches Layout als Mobil-Layout verwenden?", // Pflicht: Beschreibung
"descriptions" => $layouts,
);
return $config;
} // function getConfig
/***************************************************************
*
* Gibt die Plugin-Infos als Array zurück - in dieser
* Reihenfolge:
* - Name und Version des Plugins
* - für moziloCMS-Version
* - Kurzbeschreibung
* - Name des Autors
* - Download-URL
* - Platzhalter für die Selectbox
*
***************************************************************/
function getInfo() {
global $ADMIN_CONF;
$language = $ADMIN_CONF->get("language");
# nur eine Sprache ---------------------------------
$info = array(
// Plugin-Name + Version
"<b>MobileLayout</b> 1.0",
// moziloCMS-Version
"2.0",
// Kurzbeschreibung nur <span> und <br /> sind erlaubt
"Layout-Umschalter für Mobilgeräte",
// Name des Autors
"Arvid Zimmermann",
// Download-URL
"http://software.azett.com",
// Platzhalter für die Selectbox in der Editieransicht
// - ist das Array leer, erscheint das Plugin nicht in der Selectbox
array(
'{MobileLayout}' => 'Aktiviert das Plugin (muss irgendwo im verwendeten Standard-Layout stehen)',
'{MobileLayout|switchurl}' => 'URL zum Umschalten in den jeweils anderen Modus (Desktop->Mobil bzw. Mobil->Desktop'
)
);
// Rückgabe der Infos.
return $info;
} // function getInfo
// Rückgabe des aktuellen URLs
function curPageURL() {
$pageURL = 'http';
if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";}
$pageURL .= "://";
if ($_SERVER["SERVER_PORT"] != "80") {
$pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"];
} else {
$pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"];
}
return $pageURL;
}
} // class MobileLayout
?>
require_once("ids.php");
erweitern.