From 30efdc809c1afcdb6b6cbbed89b371cecdb7d4ec Mon Sep 17 00:00:00 2001 From: Christian Steinle Date: Mon, 9 Jan 2017 07:12:57 +0000 Subject: [PATCH] =?UTF-8?q?Erste=20lauff=C3=A4hige=20Umgebung?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .config/config_global.php | 2 + backend/editor/.config/editor_config.php | 16 +- backend/editor/index.php | 1 + backend/editor/webservice/requestData.php | 219 +++++++++++- css/ahd.css | 18 + css/ahd.min.css | 2 +- images/header_upload.jpg | Bin 0 -> 168607 bytes index.php | 10 +- js/ahd.js | 367 ++++++++++++++++++++ js/npm.js | 13 - rendering/Controller/FrontendController.php | 31 +- rendering/Helper/Database.php | 315 +++++++++++++++-- rendering/Helper/Text.php | 23 ++ rendering/Model/ImageModel.php | 348 ++++++++++++++++++- rendering/Model/ImageTextModel.php | 57 ++- rendering/Model/NavigationModel.php | 174 ++++++++++ rendering/Model/SublineModel.php | 23 ++ rendering/Model/TextModel.php | 23 ++ rendering/View/NavigationView.php | 20 +- rendering/View/StandardView.php | 2 +- templates/imagetext.phtml | 37 +- templates/index.phtml | 113 +++--- templates/keyvisual.phtml | 121 ++++--- templates/subline.phtml | 14 + templates/text.phtml | 14 + 25 files changed, 1770 insertions(+), 193 deletions(-) create mode 100644 images/header_upload.jpg create mode 100644 js/ahd.js delete mode 100644 js/npm.js create mode 100644 rendering/Helper/Text.php create mode 100644 rendering/Model/SublineModel.php create mode 100644 rendering/Model/TextModel.php create mode 100644 templates/subline.phtml create mode 100644 templates/text.phtml diff --git a/.config/config_global.php b/.config/config_global.php index b70856f..613f72b 100644 --- a/.config/config_global.php +++ b/.config/config_global.php @@ -98,5 +98,7 @@ define('DB_PASS', '2YcEOiFRUhk5ELeT9gZ3'); define('TBL_FRONT_NAVIGATION', 'ahd_navigation'); define('TBL_IMAGE_TEXT', 'ahd_image_text'); define('TBL_IMAGE', 'ahd_image'); +define('TBL_TEXT', 'ahd_text'); +define('TBL_SUBLINE', 'ahd_subline'); require_once(PATH_CNF . 'config_version.php'); \ No newline at end of file diff --git a/backend/editor/.config/editor_config.php b/backend/editor/.config/editor_config.php index 7a8d1d3..3fde2e1 100644 --- a/backend/editor/.config/editor_config.php +++ b/backend/editor/.config/editor_config.php @@ -10,7 +10,7 @@ $editor['name'] = 'AHD Allradhaus GmbH'; if (ENVIRONMENT === 'local') { - $editor['editorUrl'] = SCHEME . '://csteinle.ddns.net/rist-editors/'; + $editor['editorUrl'] = SCHEME . '://csteinle.ddnss.de/rist-editors/'; $editor['editorVersion'] = '2.0.0'; } elseif (ENVIRONMENT === 'production') @@ -22,10 +22,18 @@ $editor['webserviceUrl'] = HOST_URL . str_replace(PATH_ROOT, '', dirname(__DIR__ $editor['imageTypes'] = array('image/png', 'image/jpeg', 'image/gif'); $editor['imageDimension']['image'] = array('width' => 480, 'height' => null, 'standardImage' => HTML_IMG . 'standard_upload.jpg', 'quality' => 95); -$editor['imageDimension']['keyVisual'] = array('width' => 1368, 'height' => 342, 'standardImage' => HTML_IMG . 'standard_upload.jpg', 'quality' => 95, ); +$editor['imageDimension']['keyVisual'] = array('width' => 1368, 'height' => 342, 'standardImage' => HTML_IMG . 'header_upload.jpg', 'quality' => 95); $editor['imageDimension']['thumb'] = array('width' => 152, 'quality' => 90); -$editor['imageDimension']['orig'] = array('width' => 2560, 'height' => 2560, 'quality' => 97); +$editor['imageDimension']['orig'] = array('width' => 1920, 'height' => 1920, 'quality' => 93); $editor['contentElements'] = array('subline', 'text', 'textimage'); $editor['backendPrefix'] = PATH_PREFIX . '/' . str_replace(PATH_ROOT, '', dirname(__DIR__)); -$editor['backendUrl'] = HOST_URL . str_replace(PATH_ROOT, '', dirname(__DIR__)) . '/webservice/requestData.php'; \ No newline at end of file +$editor['backendUrl'] = HOST_URL . str_replace(PATH_ROOT, '', dirname(__DIR__)) . '/webservice/requestData.php'; + +$editor['linkReplacements'] = array('AHD'); +$editor['editorPrefix'] = 'ahd'; + +$editor['mediaPath'] = PATH_ROOT . 'media/' . $editor['editorPrefix'] . '/'; +$editor['mediaPrefix'] = HTML_MED . $editor['editorPrefix'] . '/'; + +$editor['fileExtensions'] = array('image/png' => 'png', 'image/jpeg' => 'jpg', 'image/gif' => 'gif'); diff --git a/backend/editor/index.php b/backend/editor/index.php index 001f5c4..b36f601 100644 --- a/backend/editor/index.php +++ b/backend/editor/index.php @@ -22,5 +22,6 @@ $loader = require PATH_ROOT . '/vendor/autoload.php'; $registry = \Helper\Registry::getInstance(); $registry->editorConfig = $editor; $registry->editorConfig['token'] = session_id(); +$registry->editorConfig['sessionLanguage'] = $_SESSION['lang']; $route = new \Route\FrontendRoute($siteID, true); \ No newline at end of file diff --git a/backend/editor/webservice/requestData.php b/backend/editor/webservice/requestData.php index 5326af1..cc49a78 100644 --- a/backend/editor/webservice/requestData.php +++ b/backend/editor/webservice/requestData.php @@ -6,22 +6,231 @@ * * @copyright CS medien- & kommunikationssysteme (http://www.steinle-computer.de) */ - +//file_put_contents(__DIR__ . '/request.log', var_export($_POST, true) . "\n\n", FILE_APPEND); +/** + * Fehlende Authentifizierung abfangen + */ if (!isset($_POST['token']) || !is_string($_POST['token']) || empty($_POST['token'])) { die(); } +$token = $_POST['token']; +unset($_POST['token']); -session_start($_POST['token']); +/** + * Fehlende SESSION abfangen + */ +session_start($token); if (!isset($_SESSION['userID']) || !is_numeric($_SESSION['userID']) || $_SESSION['userID'] < 1) { die(); } - if (!isset($_SESSION['isLoggedIn']) || $_SESSION['isLoggedIn'] !== true) { die(); } -file_put_contents(__DIR__ . '/request.log', var_export($_POST, true) . "\n\n", FILE_APPEND); -echo json_encode(1); \ No newline at end of file +/** + * Fehlende Variablen abfangen + */ +if (!isset($_POST['request']) || $_POST['request'] === '') +{ + die(); +} +$request = $_POST['request']; +unset($_POST['request']); + +$pathRoot = dirname(dirname(dirname(__DIR__))) . '/'; + +require_once($pathRoot . '.config/config_global.php'); +require_once(dirname(__DIR__) . '/.config/editor_config.php'); +$loader = require PATH_ROOT . '/vendor/autoload.php'; + +$registry = Helper\Registry::getInstance(); +$registry->editorConfig = $editor; +if (isset($_POST['navID'])) +{ + $registry->navID = $_POST['navID']; +} + +$modelData = array(); +$dbData = $_POST; +switch ($request) +{ + case 'getText': + $modelData = Model\TextModel::getItem($dbData['ID']); + break; + + case 'updateText': + $dbData['text'] = Helper\Text::prepareText($dbData['text']); + $modelData = Model\TextModel::update($dbData); + break; + + case 'getSubline': + $modelData = Model\SublineModel::getItem($dbData['ID']); + break; + + case 'updateSubline': + $dbData['text'] = trim(str_replace(array('

', '

'), '', $dbData['text'])); + $modelData = Model\SublineModel::update($dbData); + break; + + case 'getImageText': + $modelData = Model\ImageTextModel::getItem($dbData['ID']); + break; + + case 'updateImageText': + $dbData['text'] = Helper\Text::prepareText($dbData['text']); + $modelData = Model\ImageTextModel::update($dbData); + break; + + case 'getNavigation': + Model\NavigationModel::setFilter('1=1'); + $modelData = Model\NavigationModel::getStructuredIndex(); + break; + + case 'updateNavigation': + $modelData = Model\NavigationModel::update($dbData); + break; + + case 'insertNavigation': + $dbData['navLink'] = Model\NavigationModel::getUniqueNavLink($dbData['navStart'], $dbData['navName']); + $dbData['navHeadline'] = $dbData['navName']; + $dbData['navID'] = Model\NavigationModel::insert($dbData); + + $mediaPath = $registry->editorConfig['mediaPath'] . $dbData['navID'] . '/'; + $imageName = end(explode('/', $registry->editorConfig['imageDimension']['keyVisual']['standardImage'])); + Model\ImageModel::copyStandardImage($mediaPath, $imageName, 'keyVisual'); + + $modelData = Model\NavigationModel::updateSortAfterInsert($dbData); + break; + + case 'updateNavigationSort': + $sortData = explode(',', $dbData['sortOrder']); + $modelData = Model\NavigationModel::updateSort($sortData); + break; + + case 'getHeadline': + $modelData = Model\NavigationModel::getItem($dbData['ID']); + break; + + case 'updateHeadline': + $dbData['navHeadline'] = trim(str_replace(array('

', '

'), '', $dbData['navHeadline'])); + $modelData = Model\NavigationModel::update($dbData); + break; + + case 'insertContent': + $sortData = explode(',', $dbData['sortOrder']); + + $navData = array(); + foreach ($sortData as $key => $contentElement) + { + $contentData = explode('_', $contentElement); + $contentData[1] = intval($contentData[1]); + if ($contentData[1] === 0) + { + switch ($contentData[0]) + { + case 'Text': + $newID = $modelData = Model\TextModel::insert(array('text' => 'Text')); + $contentData[1] = $newID; + break; + + case 'Subline': + $newID = $modelData = Model\SublineModel::insert(array('text' => 'Überschrift')); + $contentData[1] = $newID; + break; + + case 'ImageText': + $newID = $modelData = Model\ImageTextModel::insert(array('text' => 'Text', 'type' => 'small', 'navID' => $dbData['navID'])); + $contentData[1] = $newID; + break; + } + } + $navData[] = array('Controller' => $contentData[0], 'ID' => $contentData[1]); + } + $navContent = json_encode($navData); + + Model\NavigationModel::update(array('navID' => $dbData['navID'], 'navContent' => $navContent)); + break; + + case 'updateContentSort': + $sortData = explode(',', $dbData['sortOrder']); + + $navData = array(); + foreach ($sortData as $key => $contentElement) + { + $contentData = explode('_', $contentElement); + $navData[] = array('Controller' => $contentData[0], 'ID' => $contentData[1]); + } + $navContent = json_encode($navData); + + $modelData = Model\NavigationModel::update(array('navID' => $dbData['navID'], 'navContent' => $navContent)); + break; + + case 'deleteContentElement': + Model\NavigationModel::init(array($dbData['navID']), true); + + $navContent = Model\NavigationModel::getContents(); + foreach ($navContent as $key => $contentElement) + { + if ($contentElement['Controller'] === $dbData['editorType'] && $contentElement['ID'] === intval($dbData['editorDataID'])) + { + unset($navContent[$key]); + } + } + + $newNavData = array_values($navContent); + $navContent = json_encode($newNavData); + $modelData = Model\NavigationModel::update(array('navID' => $dbData['navID'], 'navContent' => $navContent)); + + switch ($dbData['editorType']) + { + case 'Subline': + Model\SublineModel::delete($dbData['editorDataID']); + break; + case 'Text': + Model\TextModel::delete($dbData['editorDataID']); + break; + case 'ImageText': + Model\ImageTextModel::delete($dbData['editorDataID']); + break; + } + break; + + case 'getKeyVisual': + Model\NavigationModel::init(array($dbData['ID']), true); + $keyVisualContent = Model\NavigationModel::getKeyVisual(); + Model\ImageModel::setFilter('imageID IN (' . implode(', ', $keyVisualContent['IDs']) . ')'); + $images = Model\ImageModel::getIndex(); + $modelData = $keyVisualContent; + $modelData['images'] = $images; + break; + + case 'updateKeyVisual': + Model\NavigationModel::init(array($dbData['navID']), true); + $keyVisualContent = Model\NavigationModel::getKeyVisual(); + $keyVisualContent['Type'] = $dbData['Type']; + $keyVisualJSON = json_encode($keyVisualContent, JSON_UNESCAPED_UNICODE); + $modelData = Model\NavigationModel::update(array('navID' => $dbData['navID'], 'navKeyVisual' => $keyVisualJSON)); + break; + + case 'updateImage': + $modelData = Model\ImageModel::update($dbData); + break; + + case 'appendKeyVisual': + $imageID = Model\ImageModel::insert($dbData); + Model\NavigationModel::init(array($dbData['navID']), true); + $keyVisualContent = Model\NavigationModel::getKeyVisual(); + $keyVisualContent['IDs'][] = $imageID; + $keyVisualJSON = json_encode($keyVisualContent, JSON_UNESCAPED_UNICODE); + $modelData = Model\NavigationModel::update(array('navID' => $dbData['navID'], 'navKeyVisual' => $keyVisualJSON)); + break; +} + +if (!empty($modelData)) +{ + echo json_encode($modelData); +} + diff --git a/css/ahd.css b/css/ahd.css index b5c3680..4585446 100644 --- a/css/ahd.css +++ b/css/ahd.css @@ -63,6 +63,24 @@ h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6 { margin-left: 30px; } +.keyvisual { + height: 285px; + overflow: hidden; + position: relative; +} + +.carousel-inner { + height: 100%; +} + +.keyvisual img { + position: absolute; +} + +.slider img:not(:first-of-type) { + display: none; +} + @media screen and (min-width: 768px) { .subaru_logo { margin-top: 12px; diff --git a/css/ahd.min.css b/css/ahd.min.css index 21cfe3a..6f6634d 100644 --- a/css/ahd.min.css +++ b/css/ahd.min.css @@ -1 +1 @@ -body{padding:50px 0;font-family:Verdana,Arial,sans-serif;text-align:justify}li.dropdown-submenu{position:relative}li.dropdown-submenu:hover>ul.dropdown-menu{display:block}li.dropdown:hover>ul.dropdown-menu{display:block}ul.dropdown-menu.pull-left{margin-top:-6px;border-top-left-radius:0;border-bottom-left-radius:0;border-left:0;top:0;left:100%}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-weight:bold}#footer h3{text-decoration:underline}#footer:hover .navbar-brand{height:auto}#footer .navbar-brand{margin-left:0}#footer .navbar-brand p{font-size:14px}.container-fluid{max-width:1600px}.container-fluid .img-responsive{margin:0 auto}.caret.rotate-left{transform:rotate(270deg)}.navbar-fixed-top .pull-right img{margin-top:15px;margin-left:30px}@media screen and (min-width:768px){.subaru_logo{margin-top:12px;width:149px;height:25px;background-image:url('../images/subaru/subaru_logo.png')}.daihatsu_logo{width:150px;height:25px;margin-left:15px;margin-top:12px;background-image:url('../images/daihatsu_logo.png')}}@media(max-width:767px){#main-navbar{position:absolute;left:80px} .navbar-collapse.in{overflow-y:visible} #main-navbar a.dropdown-toggle{display:block} #main-navbar ul.dropdown-menu{float:left} .container>.navbar-header{margin:0} .subaru_logo{margin-top:12px;width:48px;height:25px;background-image:url('../images/subaru/subaru_logo.png')} .daihatsu_logo{width:42px;height:25px;margin-left:15px;margin-top:12px;background-image:url('../images/daihatsu_logo.png')}}@media(max-width:642px){#footer .ahd{display:none}} \ No newline at end of file +body{padding:50px 0;font-family:Verdana,Arial,sans-serif;text-align:justify}li.dropdown-submenu{position:relative}li.dropdown-submenu:hover>ul.dropdown-menu{display:block}li.dropdown:hover>ul.dropdown-menu{display:block}ul.dropdown-menu.pull-left{margin-top:-6px;border-top-left-radius:0;border-bottom-left-radius:0;border-left:0;top:0;left:100%}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-weight:bold}#footer h3{text-decoration:underline}#footer:hover .navbar-brand{height:auto}#footer .navbar-brand{margin-left:0}#footer .navbar-brand p{font-size:14px}.container-fluid{max-width:1600px}.container-fluid .img-responsive{margin:0 auto}.caret.rotate-left{transform:rotate(270deg)}.navbar-fixed-top .pull-right img{margin-top:15px;margin-left:30px}.keyvisual{height:285px;overflow:hidden;position:relative}.carousel-inner{height:100%}.keyvisual img{position:absolute}.slider img:not(:first-of-type){display:none}@media screen and (min-width:768px){.subaru_logo{margin-top:12px;width:149px;height:25px;background-image:url('../images/subaru_logo.png')}.daihatsu_logo{width:150px;height:25px;margin-left:15px;margin-top:12px;background-image:url('../images/daihatsu_logo.png')}}@media(max-width:767px){#main-navbar{position:absolute;left:80px}.navbar-collapse.in{overflow-y:visible}#main-navbar a.dropdown-toggle{display:block}#main-navbar ul.dropdown-menu{float:left}.container>.navbar-header{margin:0}.subaru_logo{margin-top:12px;width:48px;height:25px;background-image:url('../images/subaru_logo.png')}.daihatsu_logo{width:42px;height:25px;margin-left:15px;margin-top:12px;background-image:url('../images/daihatsu_logo.png')}}@media(max-width:642px){#footer .ahd{display:none}} \ No newline at end of file diff --git a/images/header_upload.jpg b/images/header_upload.jpg new file mode 100644 index 0000000000000000000000000000000000000000..d3855016e609c7c9952453f6b68b2ee35a2731f9 GIT binary patch literal 168607 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

AV`Sc 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%0DU6VXEZ(quhI=r(1o3#Uvoa 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 a_h-JdkmsdlG6fsLOqUn_Ol+0>_xXQRAab7o literal 0 HcmV?d00001 diff --git a/index.php b/index.php index 17eaa41..e5549f3 100644 --- a/index.php +++ b/index.php @@ -7,14 +7,14 @@ * @copyright CS medien- & kommunikationssysteme (http://www.steinle-computer.de) */ -$url = (!isset($_GET['url']) || empty($_GET['url'])) ? 'allradhaus' : '/' . $_GET['url']; +$url = (!isset($_GET['url']) || empty($_GET['url'])) ? 'ahd_allradhaus' : '/' . $_GET['url']; $pathRoot = __DIR__ . '/'; require_once($pathRoot . '.config/config_global.php'); +require_once($pathRoot . 'backend/editor/.config/editor_config.php'); $loader = require __DIR__ . '/vendor/autoload.php'; -$route = new \Route\FrontendRoute($url); +$registry = \Helper\Registry::getInstance(); +$registry->editorConfig = $editor; -//$array = array(0 => array('Model' => 'ImageText', 'ID' => 1)); -//echo '

';
-//var_dump(json_encode($array));
\ No newline at end of file
+$route = new \Route\FrontendRoute($url);
\ No newline at end of file
diff --git a/js/ahd.js b/js/ahd.js
new file mode 100644
index 0000000..2a06fed
--- /dev/null
+++ b/js/ahd.js
@@ -0,0 +1,367 @@
+/**
+ * Created by CS medien- & kommunikationssysteme.
+ * @author Christian Steinle
+ * @date 24.12.2016
+ *
+ * @copyright CS medien- & kommunikationssysteme (http://www.steinle-computer.de)
+ */
+
+$(document).ready(function () {
+    slider.init();
+    kenBurns.init();
+});
+
+$(window).resize(function () {
+    slider.initVariables();
+    kenBurns.initVariables();
+});
+
+var slider = {
+    interval: null,
+    displayTime: 4000,
+    animationTime: 400,
+
+    actualImageID: -1,
+    actualImage: null,
+    nextImageID: 0,
+    nextImage: null,
+    countImages: 0,
+
+    animationWidth: 0,
+    animationHeight: 0,
+
+    sliderElement: null,
+    sliderImages: null,
+
+    availableAnimations: [
+        'left',
+        'top',
+        'width',
+        'height',
+        'opacity'
+    ],
+    animation: {},
+
+
+    init: function () {
+        slider.initElements();
+        slider.initVariables();
+        slider.interval = window.setInterval(slider.doAnimation, slider.displayTime);
+    },
+
+
+    initElements: function () {
+        slider.sliderElement = $('.slider');
+        slider.sliderImages = $('img', slider.sliderElement);
+    },
+
+
+    initVariables: function () {
+        slider.countImages = slider.sliderImages.length;
+        if (slider.countImages === 0) {
+            return false;
+        }
+        slider.animationWidth = slider.sliderElement.width();
+        slider.animationHeight = keyVisualData.height * slider.animationWidth / keyVisualData.width;
+        slider.sliderElement.css('height', slider.animationHeight);
+        slider.setNextImages();
+    },
+
+
+    setNextImages: function () {
+        ++slider.actualImageID;
+        ++slider.nextImageID;
+
+        if (slider.actualImageID === slider.countImages) {
+            slider.actualImageID = 0;
+        }
+
+        if (slider.nextImageID === slider.countImages) {
+            slider.nextImageID = 0;
+        }
+
+        slider.actualImage = $(slider.sliderImages[slider.actualImageID]);
+        slider.nextImage = $(slider.sliderImages[slider.nextImageID]);
+    },
+
+
+    doAnimation: function () {
+        if (slider.countImages < 2) {
+            return false;
+        }
+
+        var animationKey = Math.floor(Math.random() * slider.availableAnimations.length);
+        var animationName = slider.availableAnimations[animationKey];
+
+        slider.resetUnusedImages();
+
+        switch (animationName) {
+            case 'left':
+                slider.getShiftLeft();
+                break;
+            case 'top':
+                slider.getShiftTop();
+                break;
+            case 'width':
+                slider.getWidth();
+                break;
+            case 'height':
+                slider.getHeight();
+                break;
+            case 'opacity':
+                slider.getOpacity();
+                break;
+            default:
+                slider.getShiftLeft();
+                break;
+        }
+
+        slider.actualImage.show().animate(slider.animation.actual, slider.animationTime);
+        slider.nextImage.show().animate(slider.animation.next, slider.animationTime);
+
+        slider.setNextImages();
+    },
+
+    resetUnusedImages: function () {
+        slider.sliderImages.each(function (imageID, imageElement) {
+            var image = $(imageElement);
+
+            if (imageID !== slider.actualImageID && imageID !== slider.nextImageID) {
+                image.hide();
+            }
+
+            image.css({
+                left: 0,
+                top: 0,
+                width: slider.animationWidth,
+                height: slider.animationHeight,
+                opacity: 1
+            });
+
+        });
+    },
+
+
+    getShiftLeft: function () {
+        slider.nextImage.css({left: slider.animationWidth});
+        slider.animation.next = {left: 0};
+        slider.animation.actual = {left: -1 * slider.animationWidth, opacity: 0};
+    },
+
+
+    getShiftTop: function () {
+        slider.nextImage.css({top: slider.animationHeight});
+        slider.animation.next = {top: 0};
+        slider.animation.actual = {top: -1 * slider.animationHeight, opacity: 0};
+    },
+
+
+    getWidth: function () {
+        slider.nextImage.css({width: 0, left: slider.animationWidth / 2, opacity: 0});
+        slider.animation.next = {width: slider.animationWidth, left: 0, opacity: 1};
+        slider.animation.actual = {width: 0, left: slider.animationWidth / 2, opacity: 0};
+    },
+
+
+    getHeight: function () {
+        slider.nextImage.css({height: 0, top: slider.animationHeight / 2, opacity: 0});
+        slider.animation.next = {height: slider.animationHeight, top: 0, opacity: 1};
+        slider.animation.actual = {height: 0, top: slider.animationHeight / 2, opacity: 0};
+    },
+
+
+    getOpacity: function () {
+        slider.nextImage.css({opacity: 0});
+        slider.animation.next = {opacity: 1};
+        slider.animation.actual = {opacity: 0};
+    }
+};
+
+
+var kenBurns = {
+    interval: null,
+    displayTime: 5000,
+    animationTime: 400,
+    scaleFactor: 1.2,
+
+    actualImageID: -1,
+    actualImage: null,
+    nextImageID: 0,
+    nextImage: null,
+    countImages: 0,
+
+    animationWidth: 0,
+    animationHeight: 0,
+
+    kenBurnsElement: null,
+    kenBurnsImages: null,
+
+    animationParams: {},
+
+
+    init: function () {
+        kenBurns.initElements();
+        kenBurns.initVariables();
+        kenBurns.resetUnusedImages(true);
+        kenBurns.doAnimation();
+        kenBurns.interval = window.setInterval(kenBurns.doAnimation, kenBurns.displayTime);
+    },
+
+
+    initElements: function () {
+        kenBurns.kenBurnsElement = $('.kenburns');
+        kenBurns.kenBurnsImages = $('img', kenBurns.kenBurnsElement);
+    },
+
+
+    initVariables: function () {
+        kenBurns.countImages = kenBurns.kenBurnsImages.length;
+        if (kenBurns.countImages === 0) {
+            return false;
+        }
+        kenBurns.animationWidth = kenBurns.kenBurnsElement.width();
+        kenBurns.animationHeight = keyVisualData.height * kenBurns.animationWidth / keyVisualData.width;
+        kenBurns.kenBurnsElement.css('height', kenBurns.animationHeight);
+        kenBurns.setNextImages();
+    },
+
+
+    setNextImages: function () {
+        ++kenBurns.actualImageID;
+        ++kenBurns.nextImageID;
+
+        if (kenBurns.actualImageID === kenBurns.countImages) {
+            kenBurns.actualImageID = 0;
+        }
+
+        if (kenBurns.nextImageID === kenBurns.countImages) {
+            kenBurns.nextImageID = 0;
+        }
+
+        kenBurns.actualImage = $(kenBurns.kenBurnsImages[kenBurns.actualImageID]);
+        kenBurns.nextImage = $(kenBurns.kenBurnsImages[kenBurns.nextImageID]);
+    },
+
+
+    doAnimation: function () {
+        if (kenBurns.countImages < 2) {
+            return false;
+        }
+
+        kenBurns.resetUnusedImages(false);
+        kenBurns.getAnimationParams();
+
+        kenBurns.setNextImages();
+    },
+
+
+    resetUnusedImages: function (doAll) {
+        kenBurns.kenBurnsImages.each(function (imageID, imageElement) {
+            var image = $(imageElement);
+
+            if ((imageID !== kenBurns.actualImageID && imageID !== kenBurns.nextImageID) || doAll === true) {
+
+                var imageWidth = kenBurns.animationWidth;
+                var imageHeight = kenBurns.animationHeight;
+                if (image.data('zoom') === 'out') {
+                    imageWidth = kenBurns.animationWidth * kenBurns.scaleFactor;
+                    imageHeight = kenBurns.animationHeight * kenBurns.scaleFactor;
+                }
+
+                switch (image.data('start')) {
+                    case 'nw' :
+                        image.css({left: 0, top: 0, right: '', bottom: ''});
+                        break;
+
+                    case 'n':
+                        image.css({left: (kenBurns.animationWidth - imageWidth) / 2, top: 0, right: '', bottom: ''});
+                        break;
+
+                    case 'ne':
+                        image.css({left: '', top: 0, right: 0, bottom: ''});
+                        break;
+
+                    case 'e':
+                        image.css({left: '', top: (kenBurns.animationHeight - imageHeight) / 2, right: 0, bottom: ''});
+                        break;
+
+                    case 'se':
+                        image.css({left: '', top: '', right: 0, bottom: 0});
+                        break;
+
+                    case 's' :
+                        image.css({left: (kenBurns.animationWidth - imageWidth) / 2, top: '', right: '', bottom: 0});
+                        break;
+
+                    case 'sw':
+                        image.css({left: 0, top: '', right: '', bottom: 0});
+                        break;
+
+                    case 'w':
+                        image.css({left: 0, top: (kenBurns.animationHeight - imageHeight) / 2, right: '', bottom: ''});
+                        break;
+
+                    case 'c':
+                        image.css({
+                            left: (kenBurns.animationWidth - imageWidth) / 2,
+                            top: (kenBurns.animationHeight - imageHeight) / 2,
+                            right: '',
+                            bottom: ''
+                        });
+                        break;
+                }
+
+                image.css({width: imageWidth, height: imageHeight, opacity: 0, zIndex: 0});
+            }
+
+
+        });
+    },
+
+
+    getAnimationParams: function () {
+        var cssObject = {};
+        var image = kenBurns.actualImage;
+        image.css('zIndex', 1);
+        cssObject.width = kenBurns.animationWidth;
+        cssObject.height = kenBurns.animationHeight;
+        if (image.data('zoom') === 'in') {
+            cssObject.width = kenBurns.animationWidth * kenBurns.scaleFactor;
+            cssObject.height = kenBurns.animationHeight * kenBurns.scaleFactor;
+        }
+
+        switch (image.data('start')) {
+            case 'n':
+                cssObject.left = (kenBurns.animationWidth - cssObject.width) / 2;
+                break;
+
+            case 'e':
+                cssObject.top = (kenBurns.animationHeight - cssObject.height) / 2;
+                break;
+
+            case 's' :
+                cssObject.left = (kenBurns.animationWidth - cssObject.width) / 2;
+                break;
+
+            case 'w':
+                cssObject.top = (kenBurns.animationHeight - cssObject.height) / 2;
+                break;
+
+            case 'c':
+                cssObject.left = (kenBurns.animationWidth - cssObject.width) / 2;
+                cssObject.top = (kenBurns.animationHeight - cssObject.height) / 2;
+                break;
+        }
+
+        cssObject.opacity = 4;
+
+        image.animate(
+            cssObject
+            , 7000, 'swing', function () {
+                image.animate({
+                    opacity: 0
+                }, 1000, 'swing')
+            })
+    }
+
+};
\ No newline at end of file
diff --git a/js/npm.js b/js/npm.js
deleted file mode 100644
index bf6aa80..0000000
--- a/js/npm.js
+++ /dev/null
@@ -1,13 +0,0 @@
-// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
-require('../../js/transition.js')
-require('../../js/alert.js')
-require('../../js/button.js')
-require('../../js/carousel.js')
-require('../../js/collapse.js')
-require('../../js/dropdown.js')
-require('../../js/modal.js')
-require('../../js/tooltip.js')
-require('../../js/popover.js')
-require('../../js/scrollspy.js')
-require('../../js/tab.js')
-require('../../js/affix.js')
\ No newline at end of file
diff --git a/rendering/Controller/FrontendController.php b/rendering/Controller/FrontendController.php
index 359090a..14f29d5 100644
--- a/rendering/Controller/FrontendController.php
+++ b/rendering/Controller/FrontendController.php
@@ -10,6 +10,7 @@
 namespace Controller;
 
 use Helper\Database;
+use Helper\Registry;
 use Model\NavigationModel;
 use View\NavigationView;
 use View\StandardView;
@@ -45,19 +46,18 @@ class FrontendController
 		$navigation->setEditable($this->isEditable);
 		$navigation->init();
 
+		$registry = Registry::getInstance();
+		$registry->navID = NavigationModel::getActiveNavID();
+		$registry->navigationPath = NavigationModel::getNavigationPath();
+
 		$this->contents['title'] = NavigationModel::getTitle();
 		$this->contents['navigation'] = $navigation->render();
 
 		$this->contents['headline'] = NavigationModel::getHeadline();
-		$this->contents['navID'] = NavigationModel::getActiveNavID();
 		$this->contents['content'] = '';
-		$this->contents['keyVisual'] = '';
 
-		$tmpKeyVisual = NavigationModel::getKeyVisual();
-		foreach ($tmpKeyVisual as $data)
-		{
-			$this->contents['keyVisual'] .= $this->buildContents($data);
-		}
+		$keyVisual = NavigationModel::getKeyVisual();
+		$this->contents['keyVisual'] = $this->buildContents($keyVisual);
 
 		$tmpContents = NavigationModel::getContents();
 		/**
@@ -80,9 +80,18 @@ class FrontendController
 	 */
 	protected function buildContents(array $data)
 	{
+		/**
+		 * Abfangen von nicht behandelbaren Abfragen durch den mod_rewrite
+		 * z.B. nicht vorhandene Bilder
+		 */
+		if (!isset($data['Controller']))
+		{
+			return '';
+		}
 		/**
 		 * @var Database $modelClass
 		 */
+		$modelData = array();
 		$modelClass = 'Model\\' . $data['Controller'] . 'Model';
 		$viewClass = 'View\\' . $data['Controller'] . 'View';
 		if (class_exists($modelClass, true))
@@ -99,7 +108,6 @@ class FrontendController
 				$modelClass::setFilter($data['IDs']);
 				$modelData = $modelClass::getIndex();
 				$modelData = array_merge($modelData, $tmpModelData);
-				$modelData['navID'] = $this->contents['navID'];
 			}
 		}
 		else
@@ -109,6 +117,13 @@ class FrontendController
 			 */
 			return '';
 		}
+		if (empty($modelData))
+		{
+			/**
+			 * TODO: ErrorHandler bauen
+			 */
+			return '';
+		}
 		if (class_exists($viewClass, true))
 		{
 			$dataView = new $viewClass($modelData, $data['Controller']);
diff --git a/rendering/Helper/Database.php b/rendering/Helper/Database.php
index a822bd4..264e193 100644
--- a/rendering/Helper/Database.php
+++ b/rendering/Helper/Database.php
@@ -36,6 +36,19 @@ class Database
 	 */
 	static $filter = '1=1';
 
+	/**
+	 * Die Beziehung einer Datenbank-Tabelle zu einer anderen
+	 *     $relations = array(
+	 *         0 => array(
+	 *             'ownKey' => 'Spaltenname der eigenen Tabelle',
+	 *             'foreignTable' => 'Tabellenname der "Fremd"-Tabelle',
+	 *             'foreignKey' => 'Spaltenname der "Fremd"-Tabelle
+	 *         ),
+	 *     );
+	 * @var array
+	 */
+	static $relations = array();
+
 	/**
 	 * Hier werden die Daten von getIndex() gespeichert
 	 * @var array
@@ -48,18 +61,68 @@ class Database
 	protected static $db = null;
 
 
+	/**
+	 * Konstruktor schützen, weil Singleton
+	 * @author Christian Steinle
+	 */
 	protected function __construct()
 	{
 	}
 
-
-	protected function __clone()
+	/**
+	 * Liefert ein mehrdimensionales, assoziatives Array mit allen Datensätzen, die zum Filter passen
+	 *     als Schlüssel der ersten Dimension dient der Wert des Primär-Schlüssels der Datenbank-Tabelle
+	 * Legt alle Daten in self::$data ab
+	 * @author Christian Steinle
+	 *
+	 * @see self::query()
+	 * @see self::$data
+	 *
+	 * TODO: getIndex für static::$relations analog zu getItem
+	 *
+	 * @return array
+	 */
+	final public static function getIndex()
 	{
+		static::setRelations();
+		$sql = 'SELECT * FROM ' . static::TBL_NAME . ' WHERE ' . static::$filter . ' ' . static::ORDER_BY . ';';
+		self::$data = self::query($sql);
+		return self::$data;
 	}
 
+	/**
+	 * Setzt die Variable zur Verbindung verschiedener Datenbank-Tabellen
+	 */
+	public static function setRelations()
+	{
+		static::$relations = array();
+	}
+
+	/**
+	 * Liefert ein mehrdimensionales, assoziatives Array mit allen Datensätzen, die zum SQL-Query passen
+	 *     als Schlüssel der ersten Dimension dient der Wert des Primär-Schlüssels der Datenbank-Tabelle
+	 * @author Christian Steinle
+	 *
+	 * @param string $sql
+	 * @return array
+	 */
+	final protected static function query($sql)
+	{
+		self::getInstance();
+		$result = self::$db->query($sql);
+		$data = array();
+
+		while ($tmpData = $result->fetch_assoc())
+		{
+			$data[$tmpData[static::PRIMARY_KEY]] = $tmpData;
+		}
+
+		return $data;
+	}
 
 	/**
 	 * Stellt die Datenbank-Verbindung her
+	 * @author Christian Steinle
 	 *
 	 * return void
 	 */
@@ -72,56 +135,254 @@ class Database
 		}
 	}
 
+	/**
+	 * Macht das Update für den Eintrag in einer Datenbank-Tabelle
+	 * @author Christian Steinle
+	 *
+	 * @param array $request
+	 * @return int
+	 */
+	final public static function update(array $request)
+	{
+		static::beforeUpdate($request);
+		static::setRelations();
+
+		/**
+		 * @var Database $class
+		 */
+		foreach (static::$relations as $relation)
+		{
+			$class = $relation['foreignModel'];
+			$request[$relation['ownKey']] = $class::update($request);
+		}
+
+
+		$primaryKey = intval($request[static::PRIMARY_KEY]);
+		unset($request[static::PRIMARY_KEY]);
+
+		$model = self::queryModel(static::TBL_NAME, true);
+		$updateData = array();
+
+		foreach ($request as $fieldName => $fieldValue)
+		{
+			if (in_array($fieldName, $model))
+			{
+				$updateData[] = $fieldName . ' = "' . self::$db->real_escape_string($fieldValue) . '"';
+			}
+		}
+
+		if (empty($updateData))
+		{
+			return -1;
+		}
+
+		$sql = 'UPDATE ' . static::TBL_NAME . ' SET ' . implode(', ', $updateData) . ' WHERE ' . static::PRIMARY_KEY . ' = ' . $primaryKey . ' LIMIT 1;';
+		$result = self::$db->query($sql);
+		if ($result !== true)
+		{
+			return -1;
+		}
+
+		return $primaryKey;
+	}
+
+	/**
+	 * Liefert die Spalten einer Datenbank-Tabelle
+	 * @author Christian Steinle
+	 *
+	 * @param string $tableName
+	 * @param bool $fieldsOnly
+	 * @return array
+	 */
+	final protected static function queryModel($tableName, $fieldsOnly = false)
+	{
+		self::getInstance();
+		$sql = 'SHOW COLUMNS FROM ' . $tableName . ';';
+		$result = self::$db->query($sql);
+		$data = array();
+
+		while ($tmpData = $result->fetch_assoc())
+		{
+			if ($fieldsOnly === true)
+			{
+				$data[] = $tmpData['Field'];
+			}
+			else
+			{
+				$data[] = $tmpData;
+			}
+		}
+
+		return $data;
+	}
+
+	/**
+	 * Schreibt einen neuen Eintrag in einer Datenbank-Tabelle
+	 * @author Christian Steinle
+	 *
+	 * @param array $request
+	 * @return int
+	 */
+	final public static function insert(array $request)
+	{
+		static::beforeInsert($request);
+		static::setRelations();
+
+		/**
+		 * @var Database $class
+		 */
+		foreach (static::$relations as $relation)
+		{
+			$class = $relation['foreignModel'];
+			$request[$relation['ownKey']] = $class::insert($request);
+		}
+
+		$model = self::queryModel(static::TBL_NAME, true);
+		$updateData = array();
+
+		foreach ($request as $fieldName => $fieldValue)
+		{
+			if (in_array($fieldName, $model))
+			{
+				$updateData[$fieldName] = '"' . self::$db->real_escape_string($fieldValue) . '"';
+			}
+		}
+
+		if (empty($updateData))
+		{
+			return -1;
+		}
+
+		$keys = implode(', ', array_keys($updateData));
+		$values = implode(', ', $updateData);
+		$sql = 'INSERT INTO ' . static::TBL_NAME . ' (' . $keys . ') VALUES (' . $values . ');';
+		$result = self::$db->query($sql);
+
+		if ($result !== true)
+		{
+			return -1;
+		}
+
+		return self::$db->insert_id;
+	}
+
+	/**
+	 * Entfernt einen Eintrag aus einer Datenbank-Tabelle
+	 * @author Christian Steinle
+	 *
+	 * @param int $id
+	 * @return int
+	 */
+	final public static function delete($id)
+	{
+		static::beforeDelete($id);
+		static::setRelations();
+
+		if (!empty(static::$relations))
+		{
+			$data = static::getItem($id);
+
+			/**
+			 * @var Database $class
+			 */
+			foreach (static::$relations as $relation)
+			{
+				$class = $relation['foreignModel'];
+				$relationID = intval($data[$relation['foreignKey']]);
+				$class::delete($relationID);
+			}
+		}
+
+		$query = 'DELETE FROM ' . static::TBL_NAME . ' WHERE ' . static::PRIMARY_KEY . ' = ' . $id . ' LIMIT 1;';
+		$result = self::$db->query($query);
+
+		return (($result) ? 1 : 0);
+	}
 
 	/**
 	 * Liefert ein assoziatives Array des Datensatzes mit der übergebenen ID
+	 * @author Christian Steinle
 	 *
 	 * @param int $id
 	 * @return array
 	 */
 	final public static function getItem($id)
 	{
-		$sql = 'SELECT * FROM ' . static::TBL_NAME . ' WHERE ' . static::PRIMARY_KEY . ' = ' . $id . ';';
+		static::setRelations();
+
+		if (empty(static::$relations))
+		{
+			$sql = 'SELECT * FROM ' . static::TBL_NAME . ' WHERE ' . static::PRIMARY_KEY . ' = ' . $id . ';';
+		}
+		else
+		{
+			$tables = array(static::TBL_NAME);
+			$matches = array();
+			foreach (static::$relations as $relation)
+			{
+				$class = $relation['foreignModel'];
+				$tables[] = $class::TBL_NAME;
+				$matches[] = static::TBL_NAME . '.' . $relation['ownKey'] . ' = ' . $class::TBL_NAME . '.' . $relation['foreignKey'];
+			}
+
+			$sql = 'SELECT * FROM ' . implode(', ', $tables) . ' WHERE ' . static::PRIMARY_KEY . ' = ' . $id . ' AND ' . implode(' AND ', $matches);
+		}
+
 		$data = self::query($sql);
 		return (!is_array($data) || empty($data)) ? array() : current($data);
 	}
 
 
 	/**
-	 * Liefert ein mehrdimensionales, assoziatives Array mit allen Datensätzen, die zum Filter passen
-	 *     als Schlüssel der ersten Dimension dient der Wert des Primär-Schlüssels der Datenbank-Tabelle
-	 * Legt alle Daten in self::$data ab
+	 * Setzt den Filter für die Datenbank zur späteren Verwendung
+	 * @author Christian Steinle
 	 *
-	 * @see self::query()
-	 * @see self::$data
-	 *
-	 * @return array
+	 * @param string $filter
 	 */
-	final public static function getIndex()
+	public static function setFilter($filter)
 	{
-		$sql = 'SELECT * FROM ' . static::TBL_NAME . ' WHERE ' . static::$filter . ' ' . static::ORDER_BY . ';';
-		self::$data = self::query($sql);
-		return self::$data;
+		static::$filter = $filter;
 	}
 
 
 	/**
-	 * Liefert ein mehrdimensionales, assoziatives Array mit allen Datensätzen, die zum SQL-Query passen
-	 *     als Schlüssel der ersten Dimension dient der Wert des Primär-Schlüssels der Datenbank-Tabelle
+	 * Funktion, die vor dem Erstellen eines Datenbank-Eintrags ausgeführt wird
+	 * @author Christian Steinle
 	 *
-	 * @param string $sql
-	 * @return array
+	 * @param array $request
 	 */
-	final protected static function query($sql)
+	protected static function beforeInsert(array &$request)
 	{
-		self::getInstance();
-		$result = self::$db->query($sql);
-		$data = array();
-		while ($tmpData = $result->fetch_assoc())
-		{
-			$data[$tmpData[static::PRIMARY_KEY]] = $tmpData;
-		}
+	}
 
-		return $data;
+
+	/**
+	 * Funktion, die vor dem Löschen eines Datenbank-Eintrags ausgeführt wird
+	 * @author Christian Steinle
+	 *
+	 * @param int $id
+	 */
+	protected static function beforeDelete($id)
+	{
+	}
+
+
+	/**
+	 * Funktion, die vor dem Update eines Datenbank-Eintrags ausgeführt wird
+	 * @author Christian Steinle
+	 *
+	 * @param array $request
+	 */
+	protected static function beforeUpdate(array &$request)
+	{
+	}
+
+
+	/**
+	 * Schützen, um das Klonen des Singletons zu vermeiden
+	 * @author Christian Steinle
+	 */
+	final protected function __clone()
+	{
 	}
 }
\ No newline at end of file
diff --git a/rendering/Helper/Text.php b/rendering/Helper/Text.php
new file mode 100644
index 0000000..2e01ef0
--- /dev/null
+++ b/rendering/Helper/Text.php
@@ -0,0 +1,23 @@
+/', '', $text, 1));
+		$text = preg_replace('/>p\/editorConfig['mediaPath'] . $navID . '/';
+		if (!is_dir($mediaPath))
+		{
+			mkdir($mediaPath, 0775, true);
+		}
+
+		ImageModel::createOrigImage($mediaPath, $request);
+		ImageModel::createWebImage($mediaPath, $request, 'keyVisual');
+	}
+
+	/**
+	 * Erzeugt einen Unique-Filename in einem vorgegebenen Pfad
+	 * @author Christian Steinle
+	 * @param string $path
+	 * @param string $filename
+	 * @return string
+	 */
+	public static function getUniqueFilename($path, $filename)
+	{
+		$filenameArray = self::filenameToArray($filename);
+		$filesInPath = glob($path . $filenameArray['filename'] . '*_orig.' . $filenameArray['extension']);
+		if (count($filesInPath) === 0)
+		{
+			return $filenameArray['filename'];
+		}
+		else
+		{
+			$newFilename = $filenameArray['filename'] . '_' . count($filesInPath);
+			return $newFilename;
+		}
+	}
+
+	/**
+	 * Liefert ein Array zum übergebenen Dateinamen
+	 * - 'filename' => Dateiname ohne Erweiterung
+	 * - 'extension' => Datei-Erweiterung
+	 * @author Christian Steinle
+	 *
+	 * @param string $filename
+	 * @return array
+	 */
+	public static function filenameToArray($filename)
+	{
+		$tmpData = explode('.', $filename, -1);
+		$newFilename = implode('.', $tmpData);
+		$extension = str_replace($newFilename . '.', '', $filename);
+		return array('filename' => $newFilename, 'extension' => $extension);
+	}
+
+	/**
+	 * Kopiert das Standard-Bild oder -KeyVisual
+	 * @author Christian Steinle
+	 *
+	 * @param string $newPath
+	 * @param string $filename
+	 * @param string $type
+	 */
+	public static function copyStandardImage($newPath, $filename, $type)
+	{
+		$registry = Registry::getInstance();
+		switch ($type)
+		{
+			case 'image':
+				$imageData = $registry->editorConfig['imageDimension']['image'];
+				break;
+
+			case 'keyVisual':
+				$imageData = $registry->editorConfig['imageDimension']['keyVisual'];
+				break;
+
+			default:
+				return;
+		}
+
+		if (!is_dir($newPath))
+		{
+			mkdir($newPath, 0777, true);
+		}
+
+		$standardImagePath = substr(str_replace(PATH_PREFIX, '', PATH_ROOT), 0, -1) . $imageData['standardImage'];
+		$filenameArray = self::filenameToArray($filename);
+
+		copy($standardImagePath, $newPath . $filename);
+		copy($standardImagePath, $newPath . $filenameArray['filename'] . '_orig.' . $filenameArray['extension']);
+		self::createThumb($newPath, $filename);
+	}
+
+	/**
+	 * Erstellt ein Thumbnail von einem Bild
+	 * @author Christian Steinle
+	 *
+	 * @param string $path
+	 * @param string $file
+	 */
+	public static function createThumb($path, $file)
+	{
+		$registry = Registry::getInstance();
+		$imageData = $registry->editorConfig['imageDimension']['thumb'];
+		$newWidth = $imageData['width'];
+		$newQuality = $imageData['quality'];
+		$filenameArray = self::filenameToArray($file);
+
+		list($width, $height) = getimagesize($path . $file);
+		$newHeight = $height * $newWidth / $width;
+
+		$newImage = imagecreatetruecolor($newWidth, $newHeight);
+		switch ($filenameArray['extension'])
+		{
+			case 'jpg':
+				$origImage = imagecreatefromjpeg($path . $file);
+				imagecopyresampled($newImage, $origImage, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
+				imagejpeg($newImage, $path . $filenameArray['filename'] . '_thumb.jpg', $newQuality);
+				break;
+
+			case 'png':
+				$origImage = imagecreatefrompng($path . $file);
+				imagecopyresampled($newImage, $origImage, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
+				imagepng($newImage, $path . $filenameArray['filename'] . '_thumb.png');
+				break;
+
+			case 'gif':
+				$origImage = imagecreatefromgif($path . $file);
+				imagecopyresampled($newImage, $origImage, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
+				imagegif($newImage, $path . $filenameArray['filename'] . '_thumb.gif');
+				break;
+
+			default:
+				return;
+		}
+	}
+
+	/**
+	 * Löscht vorhandene Bilder vor entfernen aus der Datenbank
+	 * @author Christian Steinle
+	 *
+	 * @param int $id
+	 */
+	protected static function beforeDelete($id)
+	{
+		$registry = Registry::getInstance();
+		$data = self::getItem($id);
+
+		$mediaPath = $registry->editorConfig['mediaPath'] . $registry->navID . '/';
+		ImageModel::deleteImages($mediaPath, $data['imageName'], $data['imageExtension']);
+	}
+
+	/**
+	 * Löscht die Bilder aus dem Medienpfad
+	 * @author Christian Steinle
+	 *
+	 * @param $mediaPath
+	 * @param $imageName
+	 * @param $imageExtension
+	 */
+	public static function deleteImages($mediaPath, $imageName, $imageExtension)
+	{
+		unlink($mediaPath . $imageName . '.' . $imageExtension);
+		unlink($mediaPath . $imageName . '_orig.' . $imageExtension);
+		unlink($mediaPath . $imageName . '_thumb.' . $imageExtension);
+	}
+
+	/**
+	 * Verschiebt / Erzeugt Bilder und generiert Derivate
+	 * @author Christian Steinle
+	 *
+	 * @param array $request
+	 */
+	protected static function beforeUpdate(array &$request)
+	{
+		$registry = Registry::getInstance();
+		$mediaPath = $registry->editorConfig['mediaPath'] . $registry->navID . '/';
+
+		$imageType = 'image';
+		if (isset($request['keyVisualID']))
+		{
+			$imageType = 'keyVisual';
+		}
+
+		$oldData = self::getItem($request[static::PRIMARY_KEY]);
+
+		if (isset($_FILES['changeUploadFile']) && $_FILES['changeUploadFile']['tmp_name'] !== '' && $_FILES['changeUploadFile']['error'] === 0)
+		{
+			ImageModel::deleteImages($mediaPath, $oldData['imageName'], $oldData['imageExtension']);
+			$request['imageName'] = ImageModel::getUniqueFilename($mediaPath, $request['imageName'] . '.' . $request['imageExtension']);
+			ImageModel::createOrigImage($mediaPath, $request);
+			ImageModel::createWebImage($mediaPath, $request, $imageType);
+		}
+		elseif (isset($_FILES['changeUploadFile']) && $_FILES['changeUploadFile']['tmp_name'] === '' && $oldData['imageName'] !== $request['imageName'])
+		{
+			$request['imageName'] = ImageModel::getUniqueFilename($mediaPath, $request['imageName'] . '.' . $request['imageExtension']);
+			rename($mediaPath . $oldData['imageName'] . '_orig.' . $oldData['imageExtension'], $mediaPath . $request['imageName'] . '_orig.' . $request['imageExtension']);
+			rename($mediaPath . $oldData['imageName'] . '.' . $oldData['imageExtension'], $mediaPath . $request['imageName'] . '.' . $request['imageExtension']);
+			rename($mediaPath . $oldData['imageName'] . '_thumb.' . $oldData['imageExtension'], $mediaPath . $request['imageName'] . '_thumb.' . $request['imageExtension']);
+		}
+
+		if (isset($_FILES['changeUploadFile']) &&
+			$_FILES['changeUploadFile']['tmp_name'] === '' &&
+			(abs($oldData['imageTop'] - $request['imageTop']) > .5 ||
+				abs($oldData['imageLeft'] - $request['imageLeft']) > .5 ||
+				abs($oldData['imageHeight'] - $request['imageHeight']) > .5 ||
+				abs($oldData['imageWidth'] - $request['imageWidth']) > .5)
+		)
+		{
+			unlink($mediaPath . $request['imageName'] . '.' . $request['imageExtension']);
+			unlink($mediaPath . $request['imageName'] . '_thumb.' . $request['imageExtension']);
+			ImageModel::createWebImage($mediaPath, $request, $imageType);
+		}
+	}
+
+	/**
+	 * Legt ein hochgeladenes Bild im Medienpfad ab und verkleinert es, falls die Abmessungen zu groß sind
+	 * @author Christian Steinle
+	 *
+	 * @param $mediaPath
+	 * @param $request
+	 */
+	public static function createOrigImage($mediaPath, &$request)
+	{
+		$registry = Registry::getInstance();
+		$origData = $registry->editorConfig['imageDimension']['orig'];
+
+		$tmpName = $request['imageName'] . '__tmp__.' . $request['imageExtension'];
+
+		if (!is_dir($mediaPath))
+		{
+			mkdir($mediaPath, 0777, true);
+		}
+
+		move_uploaded_file($_FILES['changeUploadFile']['tmp_name'], $mediaPath . $tmpName);
+
+		list($width, $height) = getimagesize($mediaPath . $tmpName);
+		if ($width > $origData['width'] || $height > $origData['height'])
+		{
+			$newWidth = $origData['width'];
+			$newHeight = $height * $newWidth / $width;
+
+			$newImage = imagecreatetruecolor($newWidth, $newHeight);
+			switch ($request['imageExtension'])
+			{
+				case 'jpg':
+					$origImage = imagecreatefromjpeg($mediaPath . $tmpName);
+					imagecopyresampled($newImage, $origImage, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
+					imagejpeg($newImage, $mediaPath . $request['imageName'] . '_orig.jpg', $origData['quality']);
+					break;
+
+				case 'png':
+					$origImage = imagecreatefrompng($mediaPath . $tmpName);
+					imagecopyresampled($newImage, $origImage, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
+					imagepng($newImage, $mediaPath . $request['imageName'] . '_orig.png');
+					break;
+
+				case 'gif':
+					$origImage = imagecreatefromgif($mediaPath . $tmpName);
+					imagecopyresampled($newImage, $origImage, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
+					imagegif($newImage, $mediaPath . $request['imageName'] . '_orig.gif');
+					break;
+
+				default:
+					return;
+			}
+
+			unlink($mediaPath . $tmpName);
+		}
+		else
+		{
+			rename($mediaPath . $tmpName, $mediaPath . $request['imageName'] . '_orig.' . $request['imageExtension']);
+		}
+	}
+
+	/**
+	 * Erzeugt das WebImage mit dem passenden Ausschnitt aus dem Original
+	 * @author Christian Steinle
+	 * TODO: Transparenz bei pngs
+	 *
+	 * @param $mediaPath
+	 * @param $request
+	 * @param $type
+	 */
+	public static function createWebImage($mediaPath, $request, $type)
+	{
+		$registry = Registry::getInstance();
+		switch ($type)
+		{
+			case 'image':
+				$imageData = $registry->editorConfig['imageDimension']['image'];
+				break;
+
+			case 'keyVisual':
+				$imageData = $registry->editorConfig['imageDimension']['keyVisual'];
+				break;
+
+			default:
+				return;
+		}
+
+		$origName = $request['imageName'] . '_orig.' . $request['imageExtension'];
+		$webName = $request['imageName'] . '.' . $request['imageExtension'];
+		list($width, $height) = getimagesize($mediaPath . $origName);
+		$newWidth = $imageData['width'];
+		$newHeight = $newWidth * $request['imageHeight'] / $request['imageWidth'];
+
+		$newImage = imagecreatetruecolor($newWidth, $newHeight);
+		switch ($request['imageExtension'])
+		{
+			case 'jpg':
+				$origImage = imagecreatefromjpeg($mediaPath . $origName);
+				imagecopyresampled($newImage, $origImage, 0, 0, $request['imageLeft'] * $width / $newWidth, $request['imageTop'] * $width / $newWidth, $newWidth, $newHeight, $width * $request['imageWidth'] / $newWidth, $width * $request['imageWidth'] * $newHeight / ($newWidth * $newWidth));
+				imagejpeg($newImage, $mediaPath . $webName, $imageData['quality']);
+				break;
+
+			case 'png':
+				$origImage = imagecreatefrompng($mediaPath . $origName);
+				imagecopyresampled($newImage, $origImage, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
+				imagepng($newImage, $mediaPath . $webName);
+				break;
+
+			case 'gif':
+				$origImage = imagecreatefromgif($mediaPath . $origName);
+				imagecopyresampled($newImage, $origImage, 0, 0, 0, 0, $newWidth, $newHeight, $width, $height);
+				imagegif($newImage, $mediaPath . $webName);
+				break;
+
+			default:
+				return;
+		}
+
+		self::createThumb($mediaPath, $webName);
+	}
 }
\ No newline at end of file
diff --git a/rendering/Model/ImageTextModel.php b/rendering/Model/ImageTextModel.php
index dae5c40..6201fc5 100644
--- a/rendering/Model/ImageTextModel.php
+++ b/rendering/Model/ImageTextModel.php
@@ -11,10 +11,65 @@ namespace Model;
 
 
 use Helper\Database;
+use Helper\Registry;
 
 class ImageTextModel extends Database
 {
 	const TBL_NAME = TBL_IMAGE_TEXT;
 
-	const PRIMARY_KEY = 'ID';
+	const PRIMARY_KEY = 'imageTextID';
+
+
+	/**
+	 * Setzt die Relationen zu anderen Modellen
+	 * @author Christian Steinle
+	 */
+	public static function setRelations()
+	{
+		static::$relations = array(
+			0 => array(
+				'ownKey' => 'imageID',
+				'foreignModel' => 'Model\\ImageModel',
+				'foreignKey' => 'imageID'
+			)
+		);
+	}
+
+
+	/**
+	 * Erzeugt die benötigten Bilder im Medien-Pfad und bereitet den Request auf
+	 * @author Christian Steinle
+	 *
+	 * @param array $request
+	 */
+	protected static function beforeInsert(array &$request)
+	{
+		$registry = Registry::getInstance();
+		$imageData = $registry->editorConfig['imageDimension']['image'];
+		$standardImagePath = substr(str_replace(PATH_PREFIX, '', PATH_ROOT), 0, -1) . $imageData['standardImage'];
+		$navID = $request['navID'];
+		unset($request['navID']);
+
+		$mediaPath = $registry->editorConfig['mediaPath'] . $navID . '/';
+		if (!is_dir($mediaPath))
+		{
+			mkdir($mediaPath, 0775, true);
+		}
+
+		$filename = end(explode('/', $standardImagePath));
+		$newFilename = ImageModel::getUniqueFilename($mediaPath, $filename);
+		$fileArray = ImageModel::filenameToArray($filename);
+		$request['imageOrigName'] = $fileArray['filename'];
+		$request['imageExtension'] = $fileArray['extension'];
+		$request['imageName'] = $newFilename;
+		list($width, $height) = getimagesize($standardImagePath);
+		$request['imageTop'] = 0;
+		$request['imageLeft'] = 0;
+		$request['imageHeight'] = $height;
+		$request['imageWidth'] = $width;
+		$request['imageTextModel'] = true;
+		ImageModel::copyStandardImage($mediaPath, $newFilename . '.' . $fileArray['extension'], 'image');
+	}
+
+
 }
\ No newline at end of file
diff --git a/rendering/Model/NavigationModel.php b/rendering/Model/NavigationModel.php
index 3bd07fa..aa33818 100644
--- a/rendering/Model/NavigationModel.php
+++ b/rendering/Model/NavigationModel.php
@@ -12,6 +12,7 @@ namespace Model;
 
 
 use Helper\Database;
+use Helper\Registry;
 
 class NavigationModel extends Database
 {
@@ -39,6 +40,8 @@ class NavigationModel extends Database
 
 	/**
 	 * Setzt später benötigte Variablen für den FrontendController, so dass die Datenmodelle und die Views instanziiert werden können
+	 * @author Christian Steinle
+	 *
 	 * @param array $routeParts
 	 * @param bool $isEditable
 	 */
@@ -56,6 +59,13 @@ class NavigationModel extends Database
 	}
 
 
+	/**
+	 * Initialisierung für das Backend ohne ModRewrite
+	 * @author Christian Steinle
+	 *
+	 * @param int $siteID
+	 * @param int $depth
+	 */
 	protected static function initBackend($siteID, $depth)
 	{
 		foreach (self::$data as $navID => $navItem)
@@ -74,6 +84,9 @@ class NavigationModel extends Database
 	}
 
 	/**
+	 * Umbau der Datenbank-Tabellenwerte in ein Mehrdimensionales Array
+	 * @author Christian Steinle
+	 *
 	 * @param string $navKeyVisual
 	 */
 	protected static function initKeyVisual($navKeyVisual)
@@ -89,6 +102,9 @@ class NavigationModel extends Database
 	}
 
 	/**
+	 * Umbau der Datenbank-Tabellenwerte in ein Mehrdimensionales Array
+	 * @author Christian Steinle
+	 *
 	 * @param string $navContents
 	 */
 	protected static function initContent($navContents)
@@ -103,6 +119,11 @@ class NavigationModel extends Database
 		}
 	}
 
+
+	/**
+	 * Baut den Navigationspfad als Array
+	 * @author Christian Steinle
+	 */
 	protected static function buildNavigationPath()
 	{
 		$navStart = $navStartPath[] = self::$activeNavID;
@@ -110,13 +131,22 @@ class NavigationModel extends Database
 		{
 			$navStart = $navStartPath[] = self::$data[$navStart]['navStart'];
 		}
+		$navStartPath[] = '0';
 		array_pop($navStartPath);
 		self::$navigationPath = array_reverse($navStartPath);
 	}
 
+
+	/**
+	 * Initialisiert das Frontend unter Verwendung des ModRewrites
+	 * @author Christian Steinle
+	 *
+	 * @param array $routeParts
+	 */
 	protected static function initFrontend(array $routeParts)
 	{
 		$navStart = 0;
+		self::$navigationPath[] = 0;
 		foreach ($routeParts as $navLink)
 		{
 			foreach (self::$data as $navID => $navItem)
@@ -134,7 +164,10 @@ class NavigationModel extends Database
 		}
 	}
 
+
 	/**
+	 * Liefert den Navigationspfad als Array
+	 *
 	 * @return array
 	 */
 	public static function getNavigationPath()
@@ -144,6 +177,8 @@ class NavigationModel extends Database
 
 
 	/**
+	 * Liefert die NavigationsID des aktuellen gewählten Menüpunkts
+	 *
 	 * @return int
 	 */
 	public static function getActiveNavID()
@@ -153,6 +188,7 @@ class NavigationModel extends Database
 
 
 	/**
+	 * Liefert den Seiten-Titel
 	 * @return string
 	 */
 	public static function getTitle()
@@ -162,6 +198,7 @@ class NavigationModel extends Database
 
 
 	/**
+	 * Liefert das Array für das KeyVisual
 	 * @return array
 	 */
 	public static function getKeyVisual()
@@ -171,6 +208,7 @@ class NavigationModel extends Database
 
 
 	/**
+	 * Liefert die Überschrift der Seite
 	 * @return string
 	 */
 	public static function getHeadline()
@@ -180,6 +218,7 @@ class NavigationModel extends Database
 
 
 	/**
+	 * Liefert die Seiteninhalte
 	 * @return array
 	 */
 	public static function getContents()
@@ -189,10 +228,145 @@ class NavigationModel extends Database
 
 
 	/**
+	 * Liefert die Navigationsdaten als flaches Array
 	 * @return array
 	 */
 	public static function getData()
 	{
 		return self::$data;
 	}
+
+
+	/**
+	 * Liefert die Navigationsdaten, sortiert nach ihrem Elternknoten
+	 * @return array
+	 */
+	public static function getStructuredIndex()
+	{
+		$tmpData = self::getIndex();
+		$structuredData = array();
+		foreach ($tmpData as $navID => $navData)
+		{
+			$structuredData['navStart_' . $navData['navStart']]['navID_' . $navID] = $navData;
+		}
+		return $structuredData;
+	}
+
+
+	/**
+	 * Liefert einen Link, der innerhalb des NavStarts unique ist
+	 * @author Christian Steinle
+	 *
+	 * @param int $navStart
+	 * @param string $navName
+	 * @return string
+	 */
+	public static function getUniqueNavLink($navStart, $navName)
+	{
+		$commonReplacements = array('ä' => 'ae', 'ö' => 'oe', 'ü' => 'ue', 'ß' => 'ss', ' ' => '_', '"', '', '\'' => '');
+		$registry = Registry::getInstance();
+		$replacements = $registry->editorConfig['linkReplacements'];
+		$navLink = trim(str_replace($replacements, '', $navName));
+		$navLink = mb_convert_case($navLink, MB_CASE_LOWER);
+		$navLink = str_replace(array_keys($commonReplacements), array_values($commonReplacements), $navLink);
+
+		self::$filter = 'navStart = ' . $navStart;
+		$existingNavLinks = 0;
+		$tmpData = self::getIndex();
+
+		foreach ($tmpData as $navPoint)
+		{
+			if ($navPoint['navLink'] == $navLink)
+			{
+				++$existingNavLinks;
+			}
+		}
+
+		if ($existingNavLinks === 0)
+		{
+			return $navLink;
+		}
+		return $navLink . '_' . $existingNavLinks;
+	}
+
+
+	/**
+	 * Sortiert die Navigationspunkte eines übergebenen Elternelements
+	 * @author Christian Steinle
+	 *
+	 * @param array $navPointData
+	 * @return int
+	 */
+	public static function updateSortAfterInsert(array $navPointData)
+	{
+		if (!isset($navPointData['navStart']) || $navPointData['navStart'] === '')
+		{
+			return -1;
+		}
+
+		self::$filter = 'navStart = ' . $navPointData['navStart'];
+		$sortOrder = $navPointData['navSort'];
+		$tmpData = self::getIndex();
+		unset($tmpData[$navPointData['navID']]);
+		if ($sortOrder != 0)
+		{
+			array_splice($tmpData, 0, $sortOrder);
+		}
+
+		foreach($tmpData as $navData)
+		{
+			++$sortOrder;
+			self::update(array('navID' => $navData['navID'], 'navSort' => $sortOrder));
+		}
+
+		return 1;
+	}
+
+
+	/**
+	 * Sortiert die Navigationspunkte eines Elternelements um
+	 * @author Christian Steinle
+	 *
+	 * @param $sortData
+	 * @return int
+	 */
+	public static function updateSort($sortData)
+	{
+		foreach($sortData as $navSort => $navID)
+		{
+			self::update(array('navID' => $navID, 'navSort' => $navSort));
+		}
+
+		return 1;
+	}
+
+
+	/**
+	 * Legt die Bilddaten des Keyvisuals an, und liefert den passenden JSON-String für den Eintrag in die Datenbank-Tabelle
+	 * @author Christian Steinle
+	 *
+	 * @param array $request
+	 */
+	protected static function beforeInsert(&$request)
+	{
+		$registry = Registry::getInstance();
+		$imageData = $registry->editorConfig['imageDimension']['keyVisual'];
+		$standardImagePath = substr(str_replace(PATH_PREFIX, '', PATH_ROOT), 0, -1) . $imageData['standardImage'];
+
+		$filename = end(explode('/', $standardImagePath));
+		$fileArray = ImageModel::filenameToArray($filename);
+		$imageData = array();
+		$imageData['imageOrigName'] = $fileArray['filename'];
+		$imageData['imageExtension'] = $fileArray['extension'];
+		$imageData['imageName'] = $fileArray['filename'];
+		$imageData['imageTitle'] = $fileArray['filename'];
+		list($width, $height) = getimagesize($standardImagePath);
+		$imageData['imageTop'] = 0;
+		$imageData['imageLeft'] = 0;
+		$imageData['imageHeight'] = $height;
+		$imageData['imageWidth'] = $width;
+
+		$imageID = ImageModel::insert($imageData);
+		$request['navKeyVisual'] = json_encode(array('Controller' => 'KeyVisual', 'Type' => 'Single', 'IDs' => array($imageID)));
+	}
 }
\ No newline at end of file
diff --git a/rendering/Model/SublineModel.php b/rendering/Model/SublineModel.php
new file mode 100644
index 0000000..96dda99
--- /dev/null
+++ b/rendering/Model/SublineModel.php
@@ -0,0 +1,23 @@
+isEditable)
 			{
-				$this->navigationHtml .= '' . $navItem['navName'] . $span . '';
+				$link = $linkPrefix . '/index.php?siteID=' . $navItem['navID'];
+				$target = '';
+				if($navItem['navType'] === 'material')
+				{
+					$registry = Registry::getInstance();
+					$link = $registry->editorConfig['mediaPrefix'] . $navItem['navID'] . '/' . $navItem['navLink'];
+					$target = ' target="_blank"';
+				}
+				$this->navigationHtml .= '' . $navItem['navName'] . $span . '';
 			}
 			else
 			{
-				$this->navigationHtml .= '' . $navItem['navName'] . $span . '';
+				$link = $linkPrefix . '/' . $navItem['navLink'];
+				$target = '';
+				if($navItem['navType'] === 'material')
+				{
+					$registry = Registry::getInstance();
+					$link = $registry->editorConfig['mediaPrefix'] . $navItem['navID'] . '/' . $navItem['navLink'];
+					$target = ' target="_blank"';
+				}
+				$this->navigationHtml .= '' . $navItem['navName'] . $span . '';
 			}
 			if (isset($this->orderedNavigation[$navItem['navID']]))
 			{
diff --git a/rendering/View/StandardView.php b/rendering/View/StandardView.php
index e31f199..6f8f03a 100644
--- a/rendering/View/StandardView.php
+++ b/rendering/View/StandardView.php
@@ -82,7 +82,7 @@ class StandardView
 	public function render()
 	{
 		ob_start();
-		include_once($this->template);
+		include($this->template);
 
 		$templateContent = ob_get_contents();
 		ob_end_clean();
diff --git a/templates/imagetext.phtml b/templates/imagetext.phtml
index a1dbddd..b0ca959 100644
--- a/templates/imagetext.phtml
+++ b/templates/imagetext.phtml
@@ -1,24 +1,27 @@
 data['type'] === 'small')
-	{
-		$imageClass = 'col-md-4';
-		$textClass = 'col-md-8';
-	}
-	else
-	{
-		$imageClass = 'col-md-8';
-		$textClass = 'col-md-4';
-	}
+$registry = Helper\Registry::getInstance();
+if ($this->data['type'] === 'small')
+{
+	$imageClass = 'col-md-4';
+	$textClass = 'col-md-8';
+}
+else
+{
+	$imageClass = 'col-md-8';
+	$textClass = 'col-md-4';
+}
+
+$editorData = '';
+if ($this->isEditable === true)
+{
+	$editorData = ' data-editor="ImageText" data-id="' . $this->data['imageTextID'] . '" data-element="ImageText_' . $this->data['imageTextID'] . '"';
+}
 
-	$editorData = '';
-	if ($this->isEditable === true)
-	{
-		$editorData = ' data-editor="ImageText" data-id="' . $this->data['ID'] . '" data-element="ImageText_' . $this->data['ID'] . '"';
-	}
 ?>
-
 
> -
+
+ +

data['text']); ?>

diff --git a/templates/index.phtml b/templates/index.phtml index 5cd6feb..8e9fc92 100644 --- a/templates/index.phtml +++ b/templates/index.phtml @@ -8,18 +8,25 @@ + + + isEditable) { - $registry = \Helper\Registry::getInstance(); - $registry->editorConfig['navID'] = $this->data['navID']; + $registry->editorConfig['navID'] = $registry->navID; + $registry->editorConfig['navigationPath'] = $registry->navigationPath; ?> + + - -
- data['keyVisual']; - $editorData = ''; - if ($this->isEditable === true) - { - $editorData = ' data-editor="Headline" data-id="' . $this->data['navID'] . '" data-element="Headline_' . $this->data['navID'] . '"'; - } - ?> -
>

data['headline']; ?>

-
- data['content']; ?> -
+
- \ No newline at end of file diff --git a/templates/keyvisual.phtml b/templates/keyvisual.phtml index 2538fe1..b63c66f 100644 --- a/templates/keyvisual.phtml +++ b/templates/keyvisual.phtml @@ -2,70 +2,79 @@ if (isset($this->data['Type'])) { + $registry = Helper\Registry::getInstance(); + $mediaPath = $registry->editorConfig['mediaPrefix'] . $registry->navID . '/'; + $editorData = ''; if ($this->isEditable === true) { - $editorData = ' data-editor="' . $this->data['Type'] . '" data-id="' . $this->data['navID'] . '" data-element="' . $this->data['Type'] . '_' . $this->data['navID'] . '"'; + $editorData = ' data-editor="KeyVisual" data-id="' . $registry->navID . '" data-element="' . $this->data['Type'] . '_' . $registry->navID . '"'; } - if ($this->data['Type'] === 'slider') - { - ?> -
> -
- data as $key => $data) - { - if (!is_numeric($key)) - { - continue; - } - else - { - ?> - - -
-
- data['Type'] === 'kenburns') - { - ?> -
> -
- data as $key => $data) - { - if (!is_numeric($key)) - { - continue; - } - else - { - ?> - - -
-
- data['Type'] === 'single') + if ($this->data['Type'] === 'Slider') { ?>
> -
- +
+ +
+
+ data['Type'] === 'Kenburns') + { + ?> +
> +
+ +
+
+ data['Type'] === 'Single') + { + ?> +
> +
+
isEditable === true) +{ + $editorData = ' data-editor="Subline" data-id="' . $this->data['sublineID'] . '" data-element="Subline_' . $this->data['sublineID'] . '"'; +} + +?> +
> +
+

data['text']; ?>

+
+
\ No newline at end of file diff --git a/templates/text.phtml b/templates/text.phtml new file mode 100644 index 0000000..a136595 --- /dev/null +++ b/templates/text.phtml @@ -0,0 +1,14 @@ +isEditable === true) +{ + $editorData = ' data-editor="Text" data-id="' . $this->data['textID'] . '" data-element="Text_' . $this->data['textID'] . '"'; +} + +?> +
> +
+

data['text']; ?>

+
+
\ No newline at end of file