header-xh-01 header-xh-02 header-xh-03 header-xh-04 header-xh-05 header-xh-06 header-xh-07 header-xh-08 header-xh-09 header-xh-10 header-xh-11 header-xh-12 header-xh-13 header-xh-14
Lembach's nichtkommerzielle Website rund um CMSimple_XH
Templates, Plugins, Tools, Programme
und Tips und Tricks die mir wichtig sind
Sie sind hier: Startseite > Plugins > SimplePlugins_XH Edition KRL > Function reponsive_iframe

Function reponsive_iframe

Useage : {{­{responsive_iframe($url_string[,$background_color, $border_style, $max_width, $min_width, $min_height]); }}}
Example : {{­{responsive_iframe('/ordner-im-root/zum-script/des/frame.html','#F8F8F8','3px solid #66FF66',640,280,333)}}}

Die ursprüngliche Funktion wurde durch eine allgemeine IFrame-Funktion ersetzt. Als Parameter reicht schon die URL zur Datei, die im iframe angezeigt werden soll, alle anderen sind optional.
Die URL kann sich auch auf eine Adresse im eigenen Server beziehen. Dann sollte sie als vollständige Adresse vom root des CMS aus angegeben werden.
Die Hintergrundfarbe des IFrame (default: #F8F8F8) ist als Hex-Zahl anzugeben (egal ob mit oder ohne #).
Das Styling des Rahmens (default: 1px solid #FFF) muss komplett mit Einheitenbenennung (px oder em) und Typ der Farbfestlegung (#, rgb, rgba, benannte Farbe) angegeben werden. Auch die einschließenden Anführungszeichen nicht vergessen!
Es erfolgt keine Fehlerabfangung! Fehlerhafte Angaben schießen u. U. das Template ab!
Die max. Breite (default: 1920px) und min. Breite (Mindestwert: 300px) sowie die min. Höhe (Mindestwert: 100px) können, müssen aber nicht angegeben werden.
Die Werte sind in px als reine Zahl anzugeben!

{{­{responsive_iframe($pth['folder']['plugins']."simpleplugins_xh/help/hilfe.htm","#F8F8E0","3px solid #66FF66",1024,480,333)}}} ⇒

 

Dateiname: ./plugins/simpleplugins_xh/simpleplugins_library/responsive_iframe/index.php

<?php
/*****************************************************
* Plugin name : responsive_iframe
* File name : index.php
* Summary : responsive iframe
* Version : 1.0
* Autor : Karl Richard Lembach https://lembach-cmsimple.de
* Lizenz : CC-by-SA https://creativecommons.org/licenses/by-sa/4.0/deed.de
*****************************************************
* Useage : {{{responsive_iframe($url_string [,$background_color, $border_style, $max_width, $min_width, $min_height]); }}}
* Example : {{{responsive_iframe('/ordner-im-root/zum-script/des/frame.html','#F8F8F8','3px solid #66FF66',640,280,333)}}}
******************************************************/
/*
* Prevent direct access.
*/
if (!defined('CMSIMPLE_XH_VERSION')) {
header('HTTP/1.0 403 Forbidden');
exit;
}

if (!function_exists('responsive_iframe')) {

/* Funktionsaufruf mit folgenden Parametern (Parameter 2 - 5 sind optional):
1. Parameter: aufzurufende Datei inclusive dem Pfad. Wenn Verweis auf eigenen Server zeigt, den Pfad auf den Server-root beziehen.
2. Parameter: Hindergrundfarbe des Frame, Wert als Hex-Zahl ohne #
3. Parameter: Bordereigenschaften, String mit Angaben für Rahmendicke, Rahmenart und Rahmenfarbe -> '1px dotted #f00'
4. Parameter: Maximale Breite, die das Frame einnehmen darf. Format: reine Zahl, Wert steht für px. Mindestwert = Mindestbreite.
5. Parameter: Mindestbreite, die das Frame einnehmen soll. Format: reine Zahl, Wert steht für px. Mindestwert = 300.
6. Parameter: Mindeshöhe, die das Frame einnehmen soll. Format: reine Zahl, Wert steht für px. Mindestwert = 100.
*/

function responsive_iframe($string, $back_color = '#F8F8F8', $border_style = '1px solid #FFF', $max_width = 1920 ,$min_width = 300, $min_height = 100)

{
$dec_back_color = hexdec($back_color);
$back_color = dechex($dec_back_color);
if (strlen($border_style) <= 2) {
$border_style = '1px solid #FFF';
}
$max_width = intval($max_width);
$min_width = intval($min_width);
$min_height = intval($min_height);
$max_height = 1440;
if ($min_width < 300) {
$min_width = 300;
}
if ($max_width < $min_width) {
$max_width = $min_width;
}
if ($min_height < 100) {
$min_height = 100;
}
if ($max_height < $min_height) {
$max_height = $min_height;
}

$map_wrapper =
'max-width: ' . $max_width .'px; '.
'min-width: ' . $min_width .'px; '.
'max-height: ' . $max_height .'px; '.
'min-height: ' . $min_height . 'px; '.
'margin: 0px auto; '.
'padding: 0px; '.
'border: ' . $border_style . '; '.
'background-color: #' . $back_color . '; '.
'overflow: auto;';

$framesrc =
'src="'.
$string.
'"';

$framestyle =
'style ="'.
'border: none; '.
'width: 100%; '.
'min-height: '.$min_height.'px;'.
'"';

$framescript =
'<script>
function setIframeHeight() {
var ifrm = document.getElementById("iframe");
var doc = ifrm.contentDocument? ifrm.contentDocument:
ifrm.contentWindow.document;
ifrm.style.visibility = "hidden";
ifrm.style.height = "auto";

doc = doc || document;
var body = doc.body, html = doc.documentElement;
var height = Math.max( body.scrollHeight, body.offsetHeight,
html.clientHeight, html.scrollHeight, html.offsetHeight, '.$min_height.');
ifrm.style.height = height + "px";
ifrm.style.visibility = "visible";
}'."\n".
'</script>'."\n";

$frame_string =
'<iframe id="iframe" title="'.
$string.
'" '.
$framesrc.' '.
$framestyle.' '.
'allowfullscreen onload="setIframeHeight();">'."\n".
'<p>Ihr Browser kann leider keine eingebetteten Frames anzeigen:<br>'."\n".
'Sie können die eingebettete Seite über den folgenden Verweis aufrufen:<a href="'.
$string.
'">'.
$string.
'</a></p>'."\n".'</iframe>'."\n";

$output =
'<div style="'.
$map_wrapper.
'">'."\n".
$framescript.
$frame_string.
'</div>';

return $output;

}

}
?>

| Seitenanfang | |  - - - By CrazyStat - - -