8 isset(
$user) or require
$_SERVER[
'DOCUMENT_ROOT'] .
'/page/404.php';
10 header(
"Content-type: application/json");
12 array_walk_recursive(
$_POST,
function (&$item) {
13 $item = trim(htmlspecialchars($item, ENT_QUOTES));
16 if (empty(
$_POST[
'name'])) {
17 $_POST[
'name'] =
'Безымянный';
20 if (empty(
$_POST[
'type']) || !in_array(
$_POST[
'type'], [
'page',
'modal',
'incode',
'select',
'action'])) {
21 exit(json_encode([
'error' =>
'Тип шаблона не указан']));
25 while (Wrong\Models\Templates::find(
$_POST[
'name'],
'name')) {
26 if (preg_match(
'#(.+)\(\d+\)$#u',
$_POST[
'name'], $matches)) {
27 $_POST[
'name'] = $matches[1] .
'(' .
$i .
')';
34 $_POST[
'groups'] = array_map(
'intval', array_values(array_intersect(array_column(Wrong\Rights\Group::$groups_not_system,
'id'), empty(
$_POST[
'groups']) ? [] : array_keys(
$_POST[
'groups']))));
38 if (Wrong\Models\Templates::create(
$_POST)) {
39 exit(json_encode([
'result' =>
'ok',
'message' =>
'Шаблон успешно создан']));
42 exit(json_encode([
'error' =>
'Неизвестная ошибка! Возможно что-то не так с правами на создание файлов и каталогов.']));
while(Wrong\Models\Templates::find($_POST['name'], 'name')) $_POST['groups']
if(empty($_POST['name'])) if(empty($_POST['type'])||!in_array($_POST['type'], ['page', 'modal', 'incode', 'select', 'action'])) $i
static create($arr, $table, $replace_path=[])
setcookie('FROM_UID', $uid, [ 'expires'=> time()+31536000, 'path'=> '/', 'domain'=> $_SERVER['HTTP_HOST'], 'secure'=> Wrong\Start\Env::$e->IS_SECURE, 'httponly'=> false, 'samesite'=> Wrong\Start\Env::$e->IS_SECURE ? 'None' :'Lax']) or setcookie('FROM_UID' $_SERVER['HTTP_HOST']
if(($dbh=Connect::getInstance(true) ->dbh) && $dbh->query("SHOW TABLES") ->fetchAll() && $dbh->query("SELECT COUNT(*) FROM `users`") ->fetchColumn()) if(!empty($_POST)) exit