Реализовано открытие и закрытие вкладок на нажатие трех полосок, добавлена вкладка структуры страницы с возможностью вставки плагинов, подключена библиотека MarkedJS, исправлены баги, управление центральными блоками через CDATA.
This commit is contained in:
@@ -11,23 +11,20 @@
|
||||
* @throws Exception В случае проблем с сохранением контента
|
||||
*/
|
||||
function savePageCenterBlock($params) {
|
||||
global $config, $path, $_SESSION;
|
||||
global $config, $path, $_SESSION;
|
||||
|
||||
$saveContentIdXml = $path . $_SESSION['page_url'] . ".page.php";
|
||||
$saveContentIdData = $params['saveContentIdData'] ?? '';
|
||||
$saveContentIdData = html_entity_decode($params['saveContentIdData'] ?? '', ENT_QUOTES, 'UTF-8');
|
||||
|
||||
$xml = file_get_contents($saveContentIdXml);
|
||||
|
||||
$xml = file_get_contents($saveContentIdXml);
|
||||
$xml = preg_replace('#<' . $_SESSION['lng'] . '>.*?</' . $_SESSION['lng'] . '>#s', '<' . $_SESSION['lng'] . '></' . $_SESSION['lng'] . '>', $xml);
|
||||
$xml = preg_replace('#(<' . $_SESSION['lng'] . '>)#', "$1\n" . $saveContentIdData . "\n", $xml, 1);
|
||||
|
||||
if (preg_match('#<' . $_SESSION['lng'] . '>#', $xml, $pos)) {
|
||||
$xml = preg_replace('#(<' . $_SESSION['lng'] . '>)#', '$1' . "\n" . $saveContentIdData . "\n", $xml, 1);
|
||||
}
|
||||
|
||||
if (file_put_contents($saveContentIdXml, $xml) !== false) return 'true';
|
||||
throw new Exception("Problem saving content", -32003);
|
||||
if (file_put_contents($saveContentIdXml, $xml) !== false) return 'true';
|
||||
throw new Exception("Problem saving content", -32003);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Сохраняет левый и правый блоки страницы
|
||||
* @param array $params Массив с данными блоков, ключ 'floatsBlock' содержит массив левых и правых блоков
|
||||
@@ -255,6 +252,20 @@ function getPlugin($params) {
|
||||
return ob_get_clean();
|
||||
}
|
||||
|
||||
/**
|
||||
* Возвращает список доступных плагинов в виде JSON
|
||||
* @param array $params Входные параметры запроса (не используются)
|
||||
* @return string JSON-массив с названиями плагинов
|
||||
* @throws Exception Если глобальная переменная $pluginBlocks не определена или пуста
|
||||
*/
|
||||
function getPluginBlocks($params) {
|
||||
global $pluginBlocks;
|
||||
if (!isset($pluginBlocks) || !is_array($pluginBlocks) || empty($pluginBlocks)) {
|
||||
throw new Exception("Нет доступных плагинов", -1);
|
||||
}
|
||||
return $pluginBlocks;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Загружает изображение пользователя из Base64 и сохраняет на сервер
|
||||
* @param array $params Массив с данными изображения, включая 'userImgBase64' и 'userImgName'
|
||||
|
||||
Reference in New Issue
Block a user