Erste lauffähige Umgebung
This commit is contained in:
@@ -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';
|
||||
$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');
|
||||
|
||||
@@ -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);
|
||||
@@ -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);
|
||||
/**
|
||||
* 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('<h2>', '</h2>'), '', $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('<h1>', '</h1>'), '', $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);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user