add-template.php
См. документацию.
1 <?php
2 
3 /**
4  * @file
5  * @brief обработчик добавления нового шаблона
6  */
7 
8 isset($user) or require $_SERVER['DOCUMENT_ROOT'] . '/page/404.php';
9 
10 header("Content-type: application/json");
11 
12 array_walk_recursive($_POST, function (&$item) {
13  $item = trim(htmlspecialchars($item, ENT_QUOTES));
14 });
15 
16 if (empty($_POST['name'])) {
17  $_POST['name'] = 'Безымянный';
18 }
19 
20 if (empty($_POST['type']) || !in_array($_POST['type'], ['page', 'modal', 'incode', 'select', 'action'])) {
21  exit(json_encode(['error' => 'Тип шаблона не указан']));
22 }
23 
24 $i = 1;
25 while (Wrong\Models\Templates::find($_POST['name'], 'name')) {
26  if (preg_match('#(.+)\‍(\d+\‍)$#u', $_POST['name'], $matches)) {
27  $_POST['name'] = $matches[1] . '(' . $i . ')';
28  } else {
29  $_POST['name'] = $_POST['name'] . '(1)';
30  }
31  $i++;
32 }
33 
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']))));
35 
36 Wrong\Check\Model::create($_POST, 'templates');
37 
38 if (Wrong\Models\Templates::create($_POST)) {
39  exit(json_encode(['result' => 'ok', 'message' => 'Шаблон успешно создан']));
40 }
41 
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=[])
Definition: Model.php:29
$user
Definition: from-user.php:38
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']
Definition: from-user.php:36
if(($dbh=Connect::getInstance(true) ->dbh) && $dbh->query("SHOW TABLES") ->fetchAll() && $dbh->query("SELECT COUNT(*) FROM `users`") ->fetchColumn()) if(!empty($_POST)) exit
Definition: install.php:198