<?php
/**
 * @var Config $ccdnConf
 * @var array $customFields
 * @var PatterParser $segments
 * @var array $moduleUpdateSerial
 */

use CCDN\Helpers\CCDNFunctions;
use CCDN\Helpers\Entities\Config;
use CCDN\Helpers\Enqueue;
use CCDN\Helpers\Facade\Http\Url;
use CCDN\Helpers\HTML;
use CCDN\Helpers\MenuBuilder;
use CCDN\Helpers\Modules\Module\PatterParser;
use CCDN\Helpers\Settings;

CCDNFunctions::echoHeader([
    Url::to('main') => 'Главная ' . Settings::PLUGIN_NAME,
    '' => 'Модуль обновлений новостей',
]);

global $config;

?>
	<link href="https://cdn.jsdelivr.net/npm/select2@4.0.13/dist/css/select2.min.css" rel="stylesheet">
	<link href="<?php echo Enqueue::assets('css/main.css') ?>" rel="stylesheet">
	<link href="<?php echo Enqueue::assets('css/theme-dark.css') ?>" rel="stylesheet">
<?php if ((float)$config['version_id'] < 14.0): ?>
	<link href="<?php echo Enqueue::assets('css/theme-dark-fix.css') ?>" rel="stylesheet">
<?php endif; ?>
<?php echo MenuBuilder::build() ?>
	<div class="panel panel-flat">
		<div class="panel-body">
			<h3>Обновление новостей</h3>
			<div class="row mb-20">
				<div class="col-md-12 mb-15">
					<p>
						Для использования модуля необходимо добавить данный код:
						<code style="display: inline-block">{include file="engine/modules/ccdn.php"}</code>
						в шаблон новостей вашего сайта -
						<code style="display: inline-block">fullstory.tpl</code>
					</p>
				</div>
			</div>
			<div class="row mb-20">
				<form class="needs-validation" action="<?php echo Url::to('module-save-settings') ?>"
				      method="POST">
					<div class="col-md-6">
						<div class="form-group">
							<label for="module_update_serial">Режим работы модуля</label>
							<select class="form-control custom-select" name="module_update_serial"
							        id="module_update_serial">
								<option selected value="">Выбрать...</option>
                                <?php foreach ($moduleUpdateSerial as $key => $value) : ?>
									<option <?php echo HTML::selected($ccdnConf->module_update_serial, $key) ?>
											value="<?php echo $key ?>"><?php echo $value ?></option>
                                <?php endforeach; ?>
							</select>
						</div>
						<div class="form-group">
							<div class="checkbox">
								<label class="mr-20" for="update_post_by_original_voice_acting">Обновлять франшизы
									с единственной оригинальной озвучкой</label>
								<input type="hidden" value="0" name="update_post_by_original_voice_acting">
								<input id="update_post_by_original_voice_acting"
								       class="has-subconfig"
								       data-subconfig="voice-acting-subconfig" data-subconfig-checked="show"
								       type="checkbox"
								       name="update_post_by_original_voice_acting"
								       value="1"
                                    <?php echo HTML::checked($ccdnConf->update_post_by_original_voice_acting, '1') ?>>
							</div>
						</div>
						<div class="form-group">
							<div class="checkbox">
								<label class="mr-20" for="module_date_no_edit">Не поднимать новости при обновлении</label>
								<input type="hidden" value="0" name="module_date_no_edit">
								<input id="module_date_no_edit" type="checkbox" name="module_date_no_edit" value="1"
								       class="has-subconfig" data-subconfig="module-update-date" data-subconfig-checked="hide"
                                    <?php echo HTML::checked($ccdnConf->module_date_no_edit, '1') ?>>
							</div>
						</div>
						<div class="subconfig-hide" id="module-update-date">
							<div class="form-group">
								<div class="checkbox">
									<label class="mr-20" for="update_post_by_quality">Обновлять дату новости когда появится новое качество</label>
									<input type="hidden" value="0" name="update_post_by_quality">
									<input id="update_post_by_quality" type="checkbox"
									       name="update_post_by_quality"
									       value="1"
                                        <?php echo HTML::checked($ccdnConf->update_post_by_quality, '1') ?>>
								</div>
							</div>
							<div class="form-group subconfig-hide" id="voice-acting-subconfig">
								<label for="module_has_original_voice_acting_field">
									Доп. поле для метки оригинальной озвучки
                                    <?php echo HTML::helpPopover('Это поле типа "Переключатель Да или Нет" (Значение по умолчанию
                                    должно быть - "Выключено").
                                    Обязательно к заполнению, если вы хотите поднимать новость повторно при выходе озвучки с переводом') ?>
								</label>
								<select class="form-control custom-select" name="module_has_original_voice_acting_field"
								        id="module_has_original_voice_acting_field">
									<option selected value="">Выбрать поле...</option>
                                    <?php foreach ($customFields as $key => $value) : ?>
										<option <?php echo HTML::selected($ccdnConf->module_has_original_voice_acting_field, $key) ?>
												value="<?php echo $key ?>"><?php echo $value ?></option>
                                    <?php endforeach; ?>
								</select>
							</div>
						</div>
					</div>
					<div class="col-md-6">
						<div class="panel panel-default">
							<div class="panel-heading">Доступние теги для вставки (все данные берутся с API)
							</div>
							<div class="panel-body">
								<p><b>{title}</b> - название франшизы</p>
								<p><b>{origin_name}</b> - оригинальное название франшизы</p>
								<p><b>{season}</b> - номер сезона</p>
								<p><b>{episode}</b> - номер эпизода</p>
								<p><b>{year}</b> - год выхода франшизы</p>
								<p><b>{franchise_type}</b> - связка типов франшиз с вашими вариантами</p>
								<p>
									<b>[multi-season]</b>много<b>[else]</b>один<b>[/multi-season]</b><br><b>[multi-season]</b>много<b>[/multi-season]</b>
									- проверка на многосезонные франшизы (доступно только в полях форматирования для
									сезонных франшиз)</p>
							</div>
						</div>


					</div>

					<div class="clearfix"></div>

					<h5 class="text-info col-md-12">
						<div class="panel panel-info">
							<div class="panel-heading">Внимание!</b>
							</div>
							<div class="panel-body">
								Данный функционал добавлен по вашим просьбам и изменяет элементы, которые очень важны
								для продвижения ресурса. Перед его использованием стоит убедиться, что у вас есть файл
								бэкапа.
							</div>
						</div>

					</h5>


					<ul class="nav nav-tabs col-md-12" role="tablist">
						<li role="presentation" class="active">
							<a href="#title" aria-controls="home" role="tab" data-toggle="tab">
								<i class="fa fa-text-width"></i>Заголовок
							</a>
						</li>
						<li role="presentation">
							<a href="#title2" aria-controls="profile" role="tab" data-toggle="tab">
								<i class="fa fa-font"></i>Метатег Title
							</a>
						</li>
						<li role="presentation">
							<a href="#alt" aria-controls="messages" role="tab" data-toggle="tab">
								<i class="fa fa-link"></i>ЧПУ
							</a>
						</li>
					</ul>
					<div class="tab-content col-md-12">
						<div id="title" role="tabpanel" class="tab-pane fade in active">
							<div class="table-responsive">
								<table class="table table-striped">
                                    <?php echo HTML::createTableRow('Менять заголовок?', 'Если включено, модуль будет обновлять заголовок новости при выходе новых
                                серий сериала',
                                        HTML::checkBox('module_update_title', $ccdnConf->module_update_title)) ?>

                                    <?php echo HTML::createTableRow('Добавлять сезон? {season}',
                                        'Если включено, модуль будет добавлять в тайтл номер сезона',
                                        HTML::checkBox('module_add_season', $ccdnConf->module_add_season)) ?>

                                    <?php echo HTML::createTableRow('Увеличить количество сезонов на?',
                                        'Mодуль будет добавлять к сезону то число которое указано в поле',
                                        HTML::input('number', 'module_add_season_inc', 'module_add_season_inc',
                                            (int)$ccdnConf->module_add_season_inc)) ?>

                                    <?php echo HTML::createTableRow('Формат вывода сезона',
                                        'Выберите в каком именно формате выводить сезон в тайтл',
                                        HTML::select($segments->getFormat(), 'module_season_format',
                                            $ccdnConf->module_season_format)) ?>

                                    <?php echo HTML::createTableRow('Доп. поля для вставки форматированого сезона',
                                        'В это поле будет записано отформатированный сезон в соответствии с настройкиой \'Формат вывода сезона\'',
                                        HTML::select($customFields, 'module_add_season_custom_filed',
                                            $ccdnConf->module_add_season_custom_filed)) ?>

                                    <?php echo HTML::createTableRow('Добавлять серию? {episode}',
                                        'Если включено, модуль будет добавлять в тайтл номер серии',
                                        HTML::checkBox('module_add_episode', $ccdnConf->module_add_episode)) ?>

                                    <?php echo HTML::createTableRow('Увеличить количество серии на?',
                                        'Mодуль будет добавлять к серии то число которое указано в поле',
                                        HTML::input('number', 'module_add_episode_inc', 'module_add_episode_inc',
                                            (int)$ccdnConf->module_add_episode_inc)) ?>

                                    <?php echo HTML::createTableRow('Формат вывода серии',
                                        'Выберите в каком именно формате выводить серию в тайтл',
                                        HTML::select($segments->getFormat(), 'module_episode_format',
                                            $ccdnConf->module_episode_format)) ?>

                                    <?php echo HTML::createTableRow('Доп. поля для вставки форматированных серии',
                                        'В это поле будет записано отформатированные серии в соответствии с настройкиой \'Формат вывода серии\'',
                                        HTML::select($customFields, 'module_add_episode_custom_filed',
                                            $ccdnConf->module_add_episode_custom_filed)) ?>

                                    <?php echo HTML::createTableRow('Настройки тега {franchise_type}',
                                        'Это связка типов франшиз с вашими вариантами',
                                        HTML::input('text', 'module_franchise_type_film',
                                            'module_franchise_type_film', $ccdnConf->module_franchise_type_film,
                                            'Для фильмов') .
                                        HTML::input('text', 'module_franchise_type_cartoon',
                                            'module_franchise_type_cartoon', $ccdnConf->module_franchise_type_cartoon,
                                            'Для мультфильмов') .
                                        HTML::input('text', 'module_franchise_type_cartoon_series',
                                            'module_franchise_type_cartoon_series',
                                            $ccdnConf->module_franchise_type_cartoon_series, 'Для мультсериалов') .
                                        HTML::input('text', 'module_franchise_type_series',
                                            'module_franchise_type_series', $ccdnConf->module_franchise_type_series,
                                            'Для сериалов') .
                                        HTML::input('text', 'module_franchise_type_tv_show',
                                            'module_franchise_type_tv_show', $ccdnConf->module_franchise_type_tv_show,
                                            'Для ТВ шоу') .
                                        HTML::input('text', 'module_franchise_type_anime_film',
                                            'module_franchise_type_anime_film',
                                            $ccdnConf->module_franchise_type_anime_film, 'Для аниме-фильмов') .
                                        HTML::input('text', 'module_franchise_type_anime_series',
                                            'module_franchise_type_anime_series',
                                            $ccdnConf->module_franchise_type_anime_series, 'Для аниме-сериалов')
                                    ) ?>

                                    <?php echo HTML::createTableRow('Форматирование исходящего заголовка для сезонных франшиз',
                                        'Сериал {title} / {origin_name} {year} смотреть онлайн {season} сезон {episode} серия',
                                        HTML::input('text', 'module_title_pattern', 'module_title_pattern',
                                            $ccdnConf->module_title_pattern)) ?>
                                    <?php echo HTML::createTableRow('Форматирование исходящего
                                        заголовка для не сезонных франшиз',
                                        '{title} / {origin_name} {year} смотреть онлайн',
                                        HTML::input('text', 'module_title_pattern_not_season',
                                            'module_title_pattern_not_season',
                                            $ccdnConf->module_title_pattern_not_season)) ?>
								</table>
							</div>
						</div>
						<div id="title2" role="tabpanel" class="tab-pane fade">
							<div class="table-responsive">
								<table class="table table-striped">
                                    <?php echo HTML::createTableRow('Менять метатег Title?', 'Если включено, модуль будет обновлять  метатег Title новости при выходе новых
                                серий сериалов',
                                        HTML::checkBox('module_update_title_two',
                                            $ccdnConf->module_update_title_two)) ?>

                                    <?php echo HTML::createTableRow('Добавлять сезон? {season}',
                                        'Если включено, модуль будет добавлять в тайтл номер сезона',
                                        HTML::checkBox('module_add_season_two', $ccdnConf->module_add_season_two)) ?>

                                    <?php echo HTML::createTableRow('Увеличить количество сезонов на?',
                                        'Mодуль будет добавлять к сезону то число которое указано в поле',
                                        HTML::input('number', 'module_add_season_inc_two', 'module_add_season_inc_two',
                                            (int)$ccdnConf->module_add_season_inc_two)) ?>

                                    <?php echo HTML::createTableRow('Формат вывода сезона',
                                        'Выберите в каком именно формате выводить сезон в тайтл',
                                        HTML::select($segments->getFormat(), 'module_season_format_two',
                                            $ccdnConf->module_season_format_two)) ?>

                                    <?php echo HTML::createTableRow('Доп. поля для вставки форматированого сезона',
                                        'В это поле будет записано отформатированный сезон в соответствии с настройкиой \'Формат вывода сезона\'',
                                        HTML::select($customFields, 'module_add_season_custom_filed_two',
                                            $ccdnConf->module_add_season_custom_filed_two)) ?>

                                    <?php echo HTML::createTableRow('Добавлять серию? {episode}',
                                        'Если включено, модуль будет добавлять в тайтл номер серии',
                                        HTML::checkBox('module_add_episode_two',
                                            $ccdnConf->module_add_episode_two)) ?>

                                    <?php echo HTML::createTableRow('Увеличить количество серии на?',
                                        'Mодуль будет добавлять к серии то число которое указано в поле',
                                        HTML::input('number', 'module_add_episode_inc_two',
                                            'module_add_episode_inc_two',
                                            (int)$ccdnConf->module_add_episode_inc_two)) ?>

                                    <?php echo HTML::createTableRow('Формат вывода серии',
                                        'Выберите в каком именно формате выводить серию в тайтл',
                                        HTML::select($segments->getFormat(), 'module_episode_format_two',
                                            $ccdnConf->module_episode_format_two)) ?>

                                    <?php echo HTML::createTableRow('Доп. поля для вставки форматированных серии',
                                        'В это поле будет записано отформатированные серии в соответствии с настройкиой \'Формат вывода серии\'',
                                        HTML::select($customFields, 'module_add_episode_custom_filed_two',
                                            $ccdnConf->module_add_episode_custom_filed_two)) ?>

                                    <?php echo HTML::createTableRow('Настройки тега {franchise_type}',
                                        'Это связка типов франшиз с вашими вариантами',
                                        HTML::input('text', 'module_franchise_type_film_two',
                                            'module_franchise_type_film_two',
                                            $ccdnConf->module_franchise_type_film_two, 'Для фильмов') .
                                        HTML::input('text', 'module_franchise_type_cartoon_two',
                                            'module_franchise_type_cartoon_two',
                                            $ccdnConf->module_franchise_type_cartoon_two, 'Для мультфильмов') .
                                        HTML::input('text', 'module_franchise_type_cartoon_series_two',
                                            'module_franchise_type_cartoon_series_two',
                                            $ccdnConf->module_franchise_type_cartoon_series_two, 'Для мультсериалов') .
                                        HTML::input('text', 'module_franchise_type_series_two',
                                            'module_franchise_type_series_two',
                                            $ccdnConf->module_franchise_type_series_two, 'Для сериалов') .
                                        HTML::input('text', 'module_franchise_type_tv_show_two',
                                            'module_franchise_type_tv_show_two',
                                            $ccdnConf->module_franchise_type_tv_show_two, 'Для ТВ шоу') .
                                        HTML::input('text', 'module_franchise_type_anime_film_two',
                                            'module_franchise_type_anime_film_two',
                                            $ccdnConf->module_franchise_type_anime_film_two, 'Для аниме-фильмов') .
                                        HTML::input('text', 'module_franchise_type_anime_series_two',
                                            'module_franchise_type_anime_series_two',
                                            $ccdnConf->module_franchise_type_anime_series_two, 'Для аниме-сериалов')
                                    ) ?>

                                    <?php echo HTML::createTableRow('Форматирование исходящего метатег Title для сезонных франшиз',
                                        'Сериал {title} / {origin_name} {year} смотреть онлайн {season} сезон {episode} серия ',
                                        HTML::input('text', 'module_title_two_pattern',
                                            'module_title_two_pattern',
                                            $ccdnConf->module_title_two_pattern)) ?>
                                    <?php echo HTML::createTableRow('Форматирование исходящего метатег Title для не сезонных франшиз',
                                        '{title} / {origin_name} {year} смотреть онлайн',
                                        HTML::input('text', 'module_title_two_pattern_not_season',
                                            'module_title_two_pattern_not_season',
                                            $ccdnConf->module_title_two_pattern_not_season)) ?>
								</table>
							</div>
						</div>
						<div id="alt" role="tabpanel" class="tab-pane fade">
							<div class="table-responsive">
								<table class="table table-striped">
                                    <?php echo HTML::createTableRow('Менять ЧПУ?', 'Если включено, модуль будет обновлять ЧПУ новости при выходе новых
                                серий сериалов',
                                        HTML::checkBox('module_update_title_alt',
                                            $ccdnConf->module_update_title_alt)) ?>

                                    <?php echo HTML::createTableRow('Добавлять сезон? {season}',
                                        'Если включено, модуль будет добавлять в тайтл номер сезона',
                                        HTML::checkBox('module_add_season_alt', $ccdnConf->module_add_season_alt)) ?>

                                    <?php echo HTML::createTableRow('Увеличить количество сезонов на?',
                                        'Mодуль будет добавлять к сезону то число которое указано в поле',
                                        HTML::input('number', 'module_add_season_inc_alt', 'module_add_season_inc_alt',
                                            $ccdnConf->module_add_season_inc_alt)) ?>

                                    <?php echo HTML::createTableRow('Формат вывода сезона',
                                        'Выберите в каком именно формате выводить сезон в тайтл',
                                        HTML::select($segments->getFormatAlt(), 'module_season_format_alt',
                                            $ccdnConf->module_season_format_alt)) ?>

                                    <?php echo HTML::createTableRow('Доп. поля для вставки форматированого сезона',
                                        'В это поле будет записано отформатированный сезон в соответствии с настройкиой \'Формат вывода сезона\'',
                                        HTML::select($customFields, 'module_add_season_custom_filed_alt',
                                            $ccdnConf->module_add_season_custom_filed_alt)) ?>

                                    <?php echo HTML::createTableRow('Добавлять серию? {episode}',
                                        'Если включено, модуль будет добавлять в тайтл номер серии',
                                        HTML::checkBox('module_add_episode_alt',
                                            $ccdnConf->module_add_episode_alt)) ?>

                                    <?php echo HTML::createTableRow('Увеличить количество серии на?',
                                        'Модуль будет добавлять к серии то число которое указано в поле',
                                        HTML::input('number', 'module_add_episode_inc_alt',
                                            'module_add_episode_inc_alt',
                                            (int)$ccdnConf->module_add_episode_inc_alt)) ?>

                                    <?php echo HTML::createTableRow('Формат вывода серии',
                                        'Выберите в каком именно формате выводить серию в тайтл',
                                        HTML::select($segments->getFormatAlt(), 'module_episode_format_alt',
                                            $ccdnConf->module_episode_format_alt)) ?>

                                    <?php echo HTML::createTableRow('Доп. поля для вставки форматированных серии',
                                        'В это поле будет записано отформатированные серии в соответствии с настройкиой \'Формат вывода серии\'',
                                        HTML::select($customFields, 'module_add_episode_custom_filed_alt',
                                            $ccdnConf->module_add_episode_custom_filed_alt)) ?>

                                    <?php echo HTML::createTableRow('Настройки тега {franchise_type}',
                                        'Это связка типов франшиз с вашими вариантами',
                                        HTML::input('text', 'module_franchise_type_film_alt',
                                            'module_franchise_type_film_alt',
                                            $ccdnConf->module_franchise_type_film_alt, 'Для фильмов') .
                                        HTML::input('text', 'module_franchise_type_cartoon_alt',
                                            'module_franchise_type_cartoon_alt',
                                            $ccdnConf->module_franchise_type_cartoon_alt, 'Для мультфильмов') .
                                        HTML::input('text', 'module_franchise_type_cartoon_series_alt',
                                            'module_franchise_type_cartoon_series_alt',
                                            $ccdnConf->module_franchise_type_cartoon_series_alt, 'Для мультсериалов') .
                                        HTML::input('text', 'module_franchise_type_series_alt',
                                            'module_franchise_type_series_alt',
                                            $ccdnConf->module_franchise_type_series_alt, 'Для сериалов') .
                                        HTML::input('text', 'module_franchise_type_tv_show_alt',
                                            'module_franchise_type_tv_show_alt',
                                            $ccdnConf->module_franchise_type_tv_show_alt, 'Для ТВ шоу') .
                                        HTML::input('text', 'module_franchise_type_anime_film_alt',
                                            'module_franchise_type_anime_film_alt',
                                            $ccdnConf->module_franchise_type_anime_film_alt, 'Для аниме-фильмов') .
                                        HTML::input('text', 'module_franchise_type_anime_series_alt',
                                            'module_franchise_type_anime_series_alt',
                                            $ccdnConf->module_franchise_type_anime_series_alt, 'Для аниме-сериалов')
                                    ) ?>

                                    <?php echo HTML::createTableRow('Форматирование исходящего ЧПУ для сезонных франшиз',
                                        'serial-{title}-{origin_name}-{year}-smotret-onlayn-{season}-sezon-{episode}-seriya',
                                        HTML::input('text', 'module_title_alt_pattern', 'patter',
                                            $ccdnConf->module_title_alt_pattern)) ?>
                                    <?php echo HTML::createTableRow('Форматирование исходящего ЧПУ для не сезонных франшиз',
                                        '{title}-{origin_name}-{year}-smotret-onlayn',
                                        HTML::input('text', 'module_title_alt_pattern_not_season',
                                            'module_title_alt_pattern_not_season',
                                            $ccdnConf->module_title_alt_pattern_not_season)) ?>
								</table>
							</div>
						</div>
					</div>
					<div class="clearfix"></div>
					<div class="form-group col-md-12 pt-15">
						<button class="btn btn-green bg-teal btn-raised" type="submit">Сохранить настройки</button>
					</div>
				</form>
			</div>
		</div>
	</div>
	<script src="https://cdn.jsdelivr.net/npm/select2@4.0.13/dist/js/select2.min.js"></script>
	<script src="<?php echo Enqueue::assets('js/main.js'); ?>"></script>
	<script>
		$(document).ready(function () {
			$('.custom-select').select2({
				width: '100%',
				placeholder: 'Выбрать...',
				allowClear: true,
				multiple: false,
			});
		});
	</script>
<?php
echofooter();
