<?php
$sql_query = 'DELETE FROM `' . $config["table_prefix"] . 'calc_template`';
run_query($sql_query);
$sql_query = 'INSERT INTO `' . $config["table_prefix"] . 'calc_template`';
$sql_query .= <<<'EOT'
(`id`, `name`, `calculate_tpl`, `params`, `type`, `tpl_name`, `javascript_tpl`, `tpl_category`) VALUES
(1,	'Сумма из подтаблицы в основную запись',	'if ($line[\'{$gen_field.link_field_id}\'][\'raw\'] > 0) {\r\n    if ($event[\'type\'] == \'delete\') {\r\n        $sql = \' AND id <> \' . $ID;\r\n    }\r\n    $result = data_select_field($table_id, \"sum({$cur_field}) as f_sum\", \"status = 0 AND {$gen_field.link_field_id} = \" . $line[\'{$gen_field.link_field_id}\'][\'raw\'] . $sql);\r\n    $row = sql_fetch_assoc($result);\r\n    $line[\'{$gen_field.link_field_id}\'][\'{$gen_field.field}\'] = $row[\'f_sum\'];\r\n}',	'{\r\n    \"title\": \"Сумма из подтаблицы в основную запись\",\r\n    \"help\": \"tpl_sum_from_subtable\",\r\n    \"parameters\": {\r\n        \"cur_field\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"cur_field\",\r\n            \"description\": \"Выберите поле, по которому считать сумму\",\r\n            \"type_field\": 1\r\n        },\r\n        \"gen_field\": {\r\n            \"type\": \"TableField\",\r\n            \"name\": \"gen_field\",\r\n            \"description\": \"Выберите основную таблицу\",\r\n            \"field_description\": \"Выберите поле, в которое подтягивать сумму\",\r\n            \"only_parent\": true,\r\n            \"type_field\": 1\r\n        }\r\n    }\r\n}',	'calc',	'calc_1.tpl',	'',	1),
(2,	'Заполнение поля значением другого',	'if (!$line[\'{$cur_field1}\']) {\r\n    $line[\'{$cur_field1}\'] = $line[\'{$cur_field2}\'];\r\n}',	'{\r\n    \"title\": \"Заполнение поля значением другого\",\r\n    \"help\": \"tpl_field_to_field\",\r\n    \"parameters\": {\r\n        \"cur_field1\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"cur_field1\",\r\n            \"description\": \"Выберите поле-получатель\"\r\n        },\r\n        \"cur_field2\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"cur_field2\",\r\n            \"description\": \"Выберите поле-источник\"\r\n        }\r\n    }\r\n}',	'calc',	'calc_2.tpl',	'',	5),
(3,	'Изменение поля типа дата на количество дней',	'$line[\'{$cur_field3}\'] = date(\'Y-m-d H:i:s\', strtotime($line[\'{$cur_field1}\']) {$operand} $line[\'{$cur_field2}\'] * 3600 * 24);',	'{\n    \"title\": \"Изменение поля типа дата на количество дней\",\n    \"help\": \"tpl_add_to_date\",\n    \"parameters\": {\n        \"cur_field1\": {\n            \"type\": \"Field\",\n            \"name\": \"cur_field1\",\n            \"description\": \"Выберите исходную дату\",\n            \"type_field\": [\n                2,\n                12\n            ]\n        },\n        \"operand\": {\n            \"type\": \"List\",\n            \"name\": \"operand\",\n            \"description\": \"Выберите опцию\",\n            \"values\": {\n              \"+\": \"Прибавить\",\n              \"-\": \"Отнять\"\n            }\n        },\n        \"cur_field2\": {\n            \"type\": \"Field\",\n            \"name\": \"cur_field2\",\n            \"description\": \"Выберите поле с числом дней\",\n            \"type_field\": 1\n        },\n        \"cur_field3\": {\n            \"type\": \"Field\",\n            \"name\": \"cur_field3\",\n            \"description\": \"Выберите поле для записи результата\",\n            \"type_field\": 2\n        }\n    }\n}',	'calc',	'calc_3.tpl',	'',	2),
(4,	'Значение по умолчанию',	'if ($event[\'is_new_line\']) {\r\n    $line[\'{$cur_field}\'] = $line[\'{$gen_field.link_field_id}\'][\'{$gen_field.field}\'];\r\n}',	'{\r\n    \"title\": \"Значение по умолчанию\",\r\n    \"help\": \"tpl_default_value\",\r\n    \"parameters\": {\r\n        \"cur_field\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"cur_field\",\r\n            \"description\": \"Выберите поле, в которое подставлять значение\",\r\n            \"no_system\": true\r\n        },\r\n        \"gen_field\": {\r\n            \"type\": \"TableField\",\r\n            \"name\": \"gen_field\",\r\n            \"description\": \"Выберите основную таблицу\",\r\n            \"field_description\": \"Выберите поле, из которого тянуть значение\",\r\n            \"only_parent\": \"true\"\r\n        }\r\n    }\r\n}',	'calc',	'calc_4.tpl',	'',	3),
(5,	'Заполнение поля из поля связи',	'$line[\'{$cur_field}\'] = $line[\'{$gen_field.link_field_id}\'][\'{$gen_field.field}\'];',	'{\r\n    \"title\": \"Заполнение поля из поля связи\",\r\n    \"help\": \"tpl_link_to_field\",\r\n    \"parameters\": {\r\n        \"cur_field\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"cur_field\",\r\n            \"description\": \"Выберите поле, в которое сохранять значение\",\r\n            \"no_system\": true\r\n        },\r\n        \"gen_field\": {\r\n            \"type\": \"TableField\",\r\n            \"name\": \"gen_field\",\r\n            \"description\": \"Выберите таблицу, из которой тянуть значение\",\r\n            \"field_description\": \"Выберите поле, из которого тянуть значение\",\r\n            \"only_parent\": \"true\"\r\n        }\r\n    }\r\n}',	'calc',	'calc_5.tpl',	'',	4),
(6,	'Подстановка текущей даты',	'$line[\'{$cur_field}\'] = date(\'Y-m-d H:i:s\');',	'{\r\n    \"title\": \"Заполнение поля текущей датой\",\r\n    \"help\": \"tpl_cur_date\",\r\n    \"parameters\": {\r\n        \"cur_field\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"cur_field\",\r\n            \"description\": \"Выберите поле, в которое сохранять дату\",\r\n            \"type_field\": 2,\r\n            \"no_system\": true\r\n        }        \r\n    }\r\n}',	'button',	'cur_date.tpl',	'',	2),
(7,	'Заполнение поля значением другого',	'$line[\'{$cur_field1}\'] = $line[\'{$cur_field2}\'];',	'{\r\n    \"title\": \"Заполнение поля значением другого\",\r\n    \"help\": \"tpl_field_to_field\",\r\n    \"parameters\": {\r\n        \"cur_field1\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"cur_field1\",\r\n            \"description\": \"Выберите поле-получатель\"\r\n        },\r\n        \"cur_field2\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"cur_field2\",\r\n            \"description\": \"Выберите поле-источник\"\r\n        }\r\n    }\r\n}',	'button',	'change_field.tpl',	'',	6),
(8,	'Заполнение поля из поля связи',	'$line[\'{$cur_field}\'] = $line[\'{$gen_field.link_field_id}\'][\'{$gen_field.field}\'];',	'{\r\n    \"title\": \"Заполнение поля из поля связи\",\r\n    \"help\": \"tpl_link_to_field\",\r\n    \"parameters\": {\r\n        \"cur_field\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"cur_field\",\r\n            \"description\": \"Выберите поле, в которое сохранять значение\",\r\n            \"no_system\": true\r\n        },\r\n        \"gen_field\": {\r\n            \"type\": \"TableField\",\r\n            \"name\": \"gen_field\",\r\n            \"description\": \"Выберите таблицу, из которой тянуть значение\",\r\n            \"field_description\": \"Выберите поле, из которого тянуть значение\",\r\n            \"only_parent\": \"true\"\r\n        }\r\n    }\r\n}',	'button',	'change_field_on_link.tpl',	'',	4),
(9,	'Смена значения поля типа «Список» при изменении поля',	'$line[\'{$put_field}\'] = \'{$put_value}\';',	'{\n    \"title\": \"Смена значения поля типа «Список» при изменении поля\",\n    \"help\": \"tpl_link_change\",\n    \"parameters\": {\n        \"put_field\": {\n        \"type\": \"Field\",\n            \"name\": \"put_field\",\n            \"type_field\": 4,\n            \"description\": \"Выберите для замены значения поле типа «Список»\",\n            \"no_system\": true\n        },\n        \"put_value\": {\n        \"type\": \"String\",\n            \"name\": \"put_value\",\n            \"description\": \"Введите значение, которое должно быть присвоено полю типа «Список»\"\n        }\n    }\n}',	'calc',	'calc_7.tpl',	'',	6),
(10,	'Дата (или время) из поля типа «Дата/время» в другое поле',	'if(\'{$put_value}\' == 1){\r\n    $line[\'{$put_field}\'] = date(\'d.m.Y\',strtotime($line[\'{$cond_field}\']));\r\n} elseif(\'{$put_value}\' == 2){\r\n    $line[$params[\'put_field\']] = date(\'H:m:s\',strtotime($line[$params[\'cond_field\']]));\r\n}',	'{\r\n    \"title\": \"Дата (или время) из поля типа «Дата/время» в другое поле\",\r\n    \"help\": \"tpl_date_to_field\",\r\n    \"parameters\": {\r\n        \"cond_field\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"cond_field\",\r\n            \"type_field\": \"2\",\r\n            \"description\": \"Выберите поле, из которого будут тянутся данные\"\r\n        },\r\n        \"put_field\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"put_field\",\r\n            \"type_field\": \"3\",\r\n            \"description\": \"Выберите поле, которое должно быть заполнено данными\",\r\n            \"no_system\": true\r\n        },\r\n        \"put_value\": {\r\n            \"type\": \"List\",\r\n            \"name\": \"put_value\",\r\n            \"values\":{\"1\":\"Дата\",\"2\":\"Время\"},\r\n            \"description\": \"Выберите данные, которые должны быть переданы\"\r\n        }\r\n    }\r\n}',	'calc',	'calc_8.tpl',	'',	2),
(11,	'Поиск и замена значений поля',	'$line[\'{$cond_field}\'] = str_replace(\'{$give_value}\', \'{$put_value}\', $line[\'{$cond_field}\']);',	'{\r\n    \"title\": \"Поиск и замена значений поля\",\r\n    \"help\": \"tpl_replace\",\r\n    \"parameters\": {\r\n        \"cond_field\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"cond_field\",\r\n            \"type_field\": \"3\",\r\n            \"description\": \"Выберите поле, которое должно быть изменено\"\r\n        },\r\n        \"give_value\": {\r\n            \"type\": \"String\",\r\n            \"name\": \"give_value\",\r\n            \"description\": \" Введите значение для поиска\"\r\n        },\r\n        \"put_value\": {\r\n            \"type\": \"String\",\r\n            \"name\": \"put_value\",\r\n            \"description\": \"Введите значение для замены\"\r\n        }\r\n    }\r\n}',	'calc',	'calc_9.tpl',	'',	5),
(12,	'Среднее значение из подтаблицы в основную запись',	'if($event[\'type\'] === \'delete\'){\r\n    $not_id = \' and id != \' . $line[\'id\'];\r\n}\r\n$res = data_select_field($table[\'id\'],\'COUNT(id) AS cnt, SUM(\' . \'{$cond_field}\' . \') AS sum\',\'status = 0 AND \' . \'{$cond_table.link_field_id}\' . \' = \' . $line[\'{$cond_table.link_field_id}\'][\'raw\'] . $not_id);\r\nif ($row = sql_fetch_assoc($res)) {\r\n    $line[\'{$cond_table.link_field_id}\'][\'{$cond_table.field}\'] = $row[\'sum\'] / $row[\'cnt\'];\r\n} else {\r\n    $line[\'{$cond_table.link_field_id}\'][\'{$cond_table.field}\'] = 0;\r\n}\r\n',	'{\r\n    \"title\": \"Среднее значение из подтаблицы в основную запись\",\r\n    \"help\": \"tpl_average\",\r\n    \"parameters\": {\r\n        \"cond_table\": {\r\n            \"type\": \"TableField\",\r\n            \"name\": \"cond_table\",\r\n            \"only_parent\": \"true\",\r\n            \"description\": \"Выберите таблицу, в которую будет записан результат\",\r\n            \"field_description\": \"Выберите поле, в которое будет записан результат\"\r\n        },\r\n        \"cond_field\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"cond_field\",\r\n            \"type_field\": \"1\",\r\n            \"description\": \"Выберите поле, по которому будет считаться среднее арифметическое\"\r\n        }\r\n    }\r\n}',	'calc',	'calc_10.tpl',	'',	1),
(13,	'Выбор имени или имени и отчества из ФИО',	'$array = explode(\" \", $line[\'{$cond_field}\']);\r\nif (\'{$put_value}\' === \'1\') {\r\n    $line[\'{$cond_field}\'] = $array[\'1\'];\r\n} else {\r\n    $line[\'{$cond_field}\'] = $array[\'1\'] . \' \' . $array[\'2\'];\r\n}',	'{\r\n    \"title\": \"Выбор имени или имени и отчества из ФИО\",\r\n    \"help\": \"tpl_explode_name\",\r\n    \"parameters\": {\r\n        \"cond_field\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"cond_field\",\r\n            \"type_field\": \"3\",\r\n            \"description\": \"Выберите поле, содержащее ФИО\"\r\n        },\r\n        \"put_value\": {\r\n            \"type\": \"List\",\r\n            \"name\": \"put_value\",\r\n            \"values\":{\"1\":\"Имя\",\"2\":\"Имя и отчество\"},\r\n            \"description\": \"Выберите данные, которые останутся в поле.\"\r\n        }\r\n    }\r\n}',	'calc',	'calc_11.tpl',	'',	5),
(14,	'Отмена редактирования поля',	'$line[\'{$field}\'] = $event[\'changed\'][substr(\'{$field}\',1)][\'old\'];',	'{\r\n    \"title\": \"Отмена редактирования поля\",\r\n    \"help\": \"tpl_disabled_edit_field Вычисление на отмену редактирования некоторого поля\",\r\n    \"parameters\": {\r\n        \"field\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"field\",\r\n            \"description\": \"Запрет редактирования поля\",\r\n            \"no_system\": true\r\n        }\r\n    }\r\n}',	'calc',	'disabled_edit_field.tpl',	'',	7),
(15,	'Перевод суммы из числа в текст',	'$line[\'{$field2}\'] = num2str($line[\'{$field1}\'], \"\", \"\", 0, 0, 0, \"\");\r\n',	'{\r\n    \"title\": \"Перевод суммы из числа в текст\",\r\n    \"help\": \"tpl_num_to_text\",\r\n    \"parameters\": {\r\n        \"field1\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"field1\",\r\n            \"type_field\": \"1\",\r\n            \"description\": \"Выберите исходное поле(число)\",\r\n            \"no_system\": true\r\n        },\r\n        \"field2\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"field2\",\r\n            \"type_field\": \"3\",\r\n            \"description\": \"Выберите поле записи суммы (текст)\",\r\n            \"no_system\": true\r\n        }\r\n    }\r\n}',	'calc',	'intsum_to_stringsum.tpl',	'',	5),
(16,	'Изменение даты на текущую при изменении поля ',	'$line[\'{$field2}\'] = date(\'Y-m-d H:i:s\');',	'{\r\n    \"title\": \"Изменение даты на текущую при изменении поля\",\r\n    \"help\": \"tpl_change_date\",\r\n    \"parameters\": {\r\n        \"field2\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"field2\",\r\n            \"description\": \"Выберите поле, в котором будет изменена дата\",\r\n            \"type_field\": {\"2\":\"2\"}\r\n        }\r\n    }\r\n}',	'calc',	'calc_13.tpl',	'',	2),
(17,	'Очистка поля при изменении/очистке другого',	'$line[\'{$field1}\'] = \'\';',	'{\r\n    \"title\": \"Очистка поля при изменении/очистке другого\",\r\n    \"help\": \"tpl_clear_field\",\r\n    \"parameters\": {\r\n        \"field1\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"field1\",\r\n            \"description\": \"Выберите поле для замены значения\",\r\n            \"no_system\": true\r\n        }\r\n    }\r\n}',	'calc',	'calc_14.tpl',	'',	6),
(18,	'Разница между двумя датами',	'$datetime1 = date_create($line[\'{$field}\']);\r\n$datetime2 = date_create($line[\'{$field1}\']);\r\n$interval = date_diff($datetime1, $datetime2);\r\n$date = $interval->format(\'%a д. %H ч. %I м.\');\r\n$result = str_replace(\'0 д.,\',\'\',$date);\r\n$result = str_replace(\'0 м.,\',\'\',$result);\r\n$result = str_replace(\'0 ч.,\',\'\',$result);\r\n$line[\'{$value}\'] = $result;',	'{\r\n    \"title\": \"Разница между двумя датами\",\r\n    \"help\": \"tpl_diff_dates\",\r\n    \"parameters\": {\r\n        \"field\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"field\",\r\n            \"type_field\": 2,\r\n            \"description\": \"Выберите поле первой даты\",\r\n            \"no_system\": true\r\n        },\r\n        \"field1\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"field1\",\r\n            \"type_field\": 2,\r\n            \"description\": \"Выберите поле второй даты\",\r\n            \"no_system\": true\r\n        },\r\n        \"value\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"value\",\r\n            \"type_field\": 3,\r\n            \"description\": \"Выберите поле, в которое сохранять значение\",\r\n            \"no_system\": true\r\n        }\r\n    }\r\n}',	'calc',	'calc_15.tpl',	'',	2),
(19,	'Сохранение даты изменения поля',	'$field = str_replace(\'f\',\'\', \'{$field}\');\r\nif (isset($event[\'changed\'][$field])) {\r\n    $line[\'{$value}\'] = date(\'Y-m-d H:i:s\');\r\n}',	'{\r\n    \"title\": \"Сохранение даты изменения поля\",\r\n    \"help\": \"tpl_date_changed_field\",\r\n    \"parameters\": {\r\n        \"field\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"field\",\r\n            \"description\": \"Выберите поле, которое будет проверяться на изменение\"\r\n        },\r\n        \"value\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"value\",\r\n            \"type_field\": 2,\r\n            \"description\": \"Выберите поле, в которое сохранять значение\",\r\n            \"no_system\": true\r\n        }\r\n    }\r\n}',	'calc',	'calc_16.tpl',	'',	2),
(20,	'Сохранение пользователя, который измененил поле',	'$line[\'{$value}\'] = $user[\'id\'];',	'{\r\n    \"title\": \"Сохранение пользователя, который измененил поле\",\r\n    \"help\": \"tpl_save_user_changed_field\",\r\n    \"parameters\": {\r\n        \"value\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"value\",\r\n            \"type_field\": 7,\r\n            \"description\": \"Выберите поле, в которое сохранять значение\",\r\n            \"no_system\": true\r\n        }\r\n    }\r\n}',	'calc',	'calc_17.tpl',	'',	6),
(21,	'Математические формулы',	'$keys = [];\r\n$values = [];\r\n$fields = explode(\'&\', \'{$flex_data}\');\r\nforeach ($fields as $field => $value) {\r\n    $parts = explode(\'=\', $value);\r\n    array_push($keys, $parts[0]);\r\n    array_push($values, $parts[1]);\r\n}\r\n$func_row = str_replace($keys, $values, \'{$func_row}\');\r\n$keys = [\r\n  \'{\',\r\n  \'}\'\r\n];\r\n$values = [\r\n    \'$line[\"\',\r\n    \'\"]\'\r\n];\r\n$func_row = str_replace($keys, $values, $func_row);\r\n$func = \'$line[\"{$result}\"\"] = \' . $func_row . \';\';\r\neval($func);\r\n\r\n',	'{\r\n     \"title\": \"Математические формулы\",\r\n     \"help\": \"tpl_math_formulas\",\r\n     \"parameters\": {\r\n         \"field1\": {\r\n             \"type\": \"Field\",\r\n             \"name\": \"field1\",\r\n             \"description\": \"Выберите поле\",\r\n             \"type_field\": 1\r\n         },\r\n         \"func_row\": {\r\n             \"type\": \"String\",\r\n             \"name\": \"func_row\",\r\n             \"description\": \"Поле записи функции\"\r\n         },\r\n         \"result\": {\r\n             \"type\": \"Field\",\r\n             \"name\": \"result\",\r\n             \"description\": \"Выберите поле записи результата\",\r\n             \"type_field\": 1\r\n         },\r\n         \"flex_data\": {\r\n             \"type\": \"String\",\r\n             \"name\": \"flex_data\",\r\n             \"description\": \"\"\r\n         }\r\n     }\r\n}\r\n',	'calc',	'math_functions.tpl',	'',	7),
(22,	'Сброс нумерации с нового года',	'if ($event[\'line_id\'] === \'new\') {\r\n    $res = data_select($table_id,\'status=0 and id!=\' . $line[\'id\'] . \' ORDER BY id DESC LIMIT 1\');\r\n    $row = sql_fetch_assoc($res);\r\n    if (date(\'Y\',strtotime($row[\'add_time\'])) >= date(\'Y\')) {\r\n        $line[\'{$field}\'] = $row[\'{$field}\'] + 1;\r\n    } else {\r\n        $line[\'{$field}\'] = 1;\r\n    }\r\n}\r\n',	'{\r\n    \"title\": \"Сброс нумерации с нового года\",\r\n    \"help\": \"tpl_calc_numeric\",\r\n    \"parameters\": {\r\n        \"field\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"field\",\r\n            \"description\": \"Выберите поле\",\r\n            \"type_field\": 1\r\n        }\r\n    }\r\n}\r\n',	'calc',	'autonum.tpl',	'',	7),
(23,	'Смена значения поля типа «Список»',	'$line[\'{$put_field}\'] = \'{$put_value}\';',	'{\n    \"title\": \"Смена значения поля типа «Список» при изменении поля\",\n    \"help\": \"tpl_list_change\",\n    \"parameters\": {\n        \"put_field\": {\n        \"type\": \"Field\",\n            \"name\": \"put_field\",\n            \"type_field\": 4,\n            \"description\": \"Выберите для замены значения поле типа «Список»\",\n            \"no_system\": true\n        },\n        \"put_value\": {\n        \"type\": \"String\",\n            \"name\": \"put_value\",\n            \"description\": \"Введите значение, которое должно быть присвоено полю типа «Список»\"\n        }\n    }\n}',	'button',	'list_change.tpl',	'',	6),
(24,	'Очистка поля',	'$line[\'{$field1}\'] = \'\';',	'{\r\n    \"title\": \"Очистка поля\",\r\n    \"help\": \"tpl_clear_field\",\r\n    \"parameters\": {\r\n        \"field1\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"field1\",\r\n            \"description\": \"Выберите поле\",\r\n            \"no_system\": true\r\n        }\r\n    }\r\n}',	'button',	'field_clearing.tpl',	'',	6),
(25,	'Из основной таблицы подтянуть данные в подтаблицу',	'data_update(\r\n    {$subtable.table},\r\n    array(\'{$subtable.field}\' => $line[\'{$field}\']),\r\n    \'status = 0 AND {$subtable.link_field_id} = \' . $line[\'id\']\r\n);',	'{\r\n    \"title\": \"Из основной таблицы подтянуть данные в подтаблицу\",\r\n    \"help\": \"tpl_from_table_in_subtable\",\r\n    \"parameters\": {\r\n        \"field\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"field\",\r\n            \"description\": \"Выберите поле, из которого тянуть данные\",\r\n            \"no_system\": true\r\n        },\r\n        \"subtable\": {\r\n            \"type\": \"TableField\",\r\n            \"name\": \"subtable\",\r\n            \"description\": \"Выберите подтаблицу\",\r\n            \"field_description\": \"Выберите поле, в которое тянуть значение\",\r\n            \"no_system\": true,\r\n            \"only_subtables\": true\r\n        }\r\n    }\r\n}',	'button',	'from_table_in_subtable.tpl',	'',	1),
(26,	'Отправка шаблона рассылки',	'$true = send_template({$field}, \"id = \" . $line[\'id\']);\nif ($true) {\n    $display_message .= \"<a style=\'font-size:16px;\' href=edit_mailing.php>\";\n    $display_message .= $lang[\'Active_mailer\'] . \"</a>\";\n    display_notification($display_message, 1);\n}',	'{\n    \"title\": \"Отправка шаблона рассылки\",\n    \"help\": \"tpl_send\",\n    \"parameters\": {\n        \"field\": {\n            \"type\": \"Template\",\n            \"name\": \"field\",\n            \"description\": \"Выберите шаблон рассылки\",\n            \"tpl_type\": \"send\"\n        }\n    }\n}',	'button',	'tpl_send.tpl',	'',	6),
(27,	'Изменение данных в связанной таблице',	'$line[\'{$gen_field.link_field_id}\'][\'{$gen_field.field}\'] = $line[\'{$cur_field}\'];',	'{\n    \"title\": \"Изменение данных в связанной таблице\",\n    \"help\": \"tpl_link_to_table\",\n    \"parameters\": {\n        \"cur_field\": {\n            \"type\": \"Field\",\n            \"name\": \"cur_field\",\n            \"description\": \"Выберите поле, из которого тянуть значение\",\n            \"no_system\": true\n        },\n        \"gen_field\": {\n            \"type\": \"TableField\",\n            \"name\": \"gen_field\",\n            \"description\": \"Выберите таблицу, в которое сохранять\",\n            \"field_description\": \"Выберите поле, в которое сохранять\",\n            \"only_parent\": \"true\"\n        }\n    }\n}',	'button',	'tpl_link_to_table.tpl',	'',	4),
(28,	'Сохранение старого значения поля в другое',	'$line[\'{$field}\'] = $event[\'changed\'][substr(\'{$field2}\',1)][\'old\'];',	'{\r\n    \"title\": \"Сохранение старого значения поля в другое\",\r\n    \"help\": \"tpl_save_old_value\",\r\n    \"parameters\": {\r\n        \"field\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"field\",\r\n            \"description\": \"Выберите поле записи\",\r\n            \"no_system\": true\r\n        },\r\n        \"field2\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"field2\",\r\n            \"description\": \"Выберите поле, чье старое значение нужно сохранить\",\r\n            \"no_system\": true\r\n        }\r\n    }\r\n}',	'calc',	'save_old_value.tpl',	'',	7),
(29,	'Поиск и замена значений поля',	'$line[\'{$cond_field}\'] = str_replace(\'{$give_value}\', \'{$put_value}\', $line[\'{$cond_field}\']);',	'{\r\n    \"title\": \"Поиск и замена значений поля\",\r\n    \"help\": \"tpl_replace\",\r\n    \"parameters\": {\r\n        \"cond_field\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"cond_field\",\r\n            \"type_field\": \"3\",\r\n            \"description\": \"Выберите поле, которое должно быть изменено\"\r\n        },\r\n        \"give_value\": {\r\n            \"type\": \"String\",\r\n            \"name\": \"give_value\",\r\n            \"description\": \" Введите значение для поиска\"\r\n        },\r\n        \"put_value\": {\r\n            \"type\": \"String\",\r\n            \"name\": \"put_value\",\r\n            \"description\": \"Введите значение для замены\"\r\n        }\r\n    }\r\n}',	'button',	'tpl_replace.tpl',	'',	5),
(30,	'Изменение поля типа дата на количество дней',	'$line[\'{$cur_field3}\'] = date(\'Y-m-d H:i:s\', strtotime($line[\'{$cur_field1}\']) {$operand} $line[\'{$cur_field2}\'] * 3600 * 24);',	'{\r\n    \"title\": \"Изменение поля типа дата на количество дней\",\r\n    \"help\": \"tpl_add_to_date\",\r\n    \"parameters\": {\r\n        \"cur_field1\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"cur_field1\",\r\n            \"description\": \"Выберите исходную дату\",\r\n            \"type_field\": [\r\n                2,\r\n                12\r\n            ]\r\n        },\r\n        \"operand\": {\r\n            \"type\": \"List\",\r\n            \"name\": \"operand\",\r\n            \"description\": \"Выберите опцию\",\r\n            \"values\": {\r\n              \"+\": \"Прибавить\",\r\n              \"-\": \"Отнять\"\r\n            }\r\n        },\r\n        \"cur_field2\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"cur_field2\",\r\n            \"description\": \"Выберите поле с числом дней\",\r\n            \"type_field\": 1\r\n        },\r\n        \"cur_field3\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"cur_field3\",\r\n            \"description\": \"Выберите поле для записи результата\",\r\n            \"type_field\": 2\r\n        }\r\n    }\r\n}',	'button',	'tpl_add_to_date.tpl',	'',	2),
(31,	'Из основной таблицы подтянуть данные в подтаблицу',	'if ({$operand} == 1) {\r\n    data_update(\r\n        {$subtable.table},\r\n        EVENTS_ENABLE,\r\n        array(\'{$subtable.field}\' => $line[\'{$field}\']),\r\n        \'status = 0 AND {$subtable.link_field_id} = \' . $line[\'id\']\r\n    );\r\n} else {\r\n    data_update(\r\n        {$subtable.table},\r\n        array(\'{$subtable.field}\' => $line[\'{$field}\']),\r\n        \'status = 0 AND {$subtable.link_field_id} = \' . $line[\'id\']\r\n    );\r\n}',	'{\r\n    \"title\": \"Из основной таблицы подтянуть данные в подтаблицу\",\r\n    \"help\": \"tpl_from_table_in_subtable\",\r\n    \"parameters\": {\r\n        \"field\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"field\",\r\n            \"description\": \"Выберите поле, из которого тянуть данные\",\r\n            \"no_system\": true\r\n        },\r\n        \"subtable\": {\r\n            \"type\": \"TableField\",\r\n            \"name\": \"subtable\",\r\n            \"description\": \"Выберите подтаблицу\",\r\n            \"field_description\": \"Выберите поле, в которое тянуть значение\",\r\n            \"no_system\": true,\r\n            \"only_subtables\": true\r\n        },\r\n        \"operand\": {\r\n            \"type\": \"List\",\r\n            \"name\": \"operand\",\r\n            \"description\": \"Запускать вычисления (EVENTS_ENABLE)\",\r\n            \"values\": {\r\n              \"1\": \"Да\",\r\n              \"2\": \"Нет\"\r\n            }\r\n        }\r\n    }\r\n}',	'calc',	'from_table_in_subtable.tpl',	'',	1),
(32,	'Дата последней записи из подтаблицы в основную запись',	'if ($event[\'type\'] === \'delete\') {\r\n    $deleteCond = \"AND id <> $ID\";\r\n}\r\n$pre = data_select_field(\r\n    62,\r\n    \"MIN({$cond_field}) as nextdate\",\r\n    \"status = 0 \" . $deleteCond . \" AND {$cond_table.link_field_id} = \" . $line[\'{$cond_table.link_field_id}\'][\'raw\'],\r\n    \" AND {$cond_field} <> \'0000-00-00 00:00:00\'\"\r\n);\r\n$res = sql_fetch_assoc($pre);\r\n$line[\'{$cond_table.link_field_id}\'][\'{$cond_table.field}\'] = $res[\'nextdate\'];',	'{\r\n    \"title\": \"Дата последней записи из подтаблицы в основную запись\",\r\n    \"help\": \"last_note_date\",\r\n    \"parameters\": {\r\n        \"cond_table\": {\r\n            \"type\": \"TableField\",\r\n            \"name\": \"cond_table\",\r\n            \"only_parent\": \"true\",\r\n            \"description\": \"Выберите таблицу, в которую будет записан результат\",\r\n            \"type_field\": \"2\",\r\n            \"field_description\": \"Выберите поле, в которое будет записан результат\"\r\n        },\r\n        \"cond_field\": {\r\n            \"type\": \"Field\",\r\n            \"name\": \"cond_field\",\r\n            \"type_field\": \"2\",\r\n            \"description\": \"Выберите поле даты\"\r\n        }\r\n    }\r\n}',	'calc',	'last_note_date.tpl',	'',	1);
EOT;
run_query($sql_query);
$sql_query = 'UPDATE ' . $config["table_prefix"] . 'calc SET expert_mode = 1;';
run_query($sql_query);