Erste lauffähige Umgebung
This commit is contained in:
@@ -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