From 1a266eb6aafdf4878ea458dce1968b283be134e6 Mon Sep 17 00:00:00 2001 From: themohooks <81331307+themohooks@users.noreply.github.com> Date: Sun, 25 May 2025 15:04:03 +0300 Subject: [PATCH] update pages --- views/pages/Login.php | 16 +- views/pages/Main.php | 6 +- views/pages/MapMedia.php | 287 ++++ views/pages/Photo.php | 1206 +++++++++-------- views/pages/Profile/Index.php | 4 +- views/pages/Profile/LK/EditImage.php | 0 views/pages/Profile/LK/History.php | 17 +- views/pages/Profile/LK/Profile.php | 299 +--- views/pages/Profile/LK/Profile/Index.php | 297 ++++ .../Profile/LK/Profile/Personalization.php | 65 + views/pages/Profile/LK/Profile/Security.php | 161 +++ views/pages/Profile/UploadPhoto.php | 76 +- views/pages/Register.php | 37 - views/pages/Rules.php | 302 ++++- views/pages/Tour.php | 13 +- 15 files changed, 1825 insertions(+), 961 deletions(-) create mode 100644 views/pages/MapMedia.php create mode 100644 views/pages/Profile/LK/EditImage.php create mode 100644 views/pages/Profile/LK/Profile/Index.php create mode 100644 views/pages/Profile/LK/Profile/Personalization.php create mode 100644 views/pages/Profile/LK/Profile/Security.php diff --git a/views/pages/Login.php b/views/pages/Login.php index 5e51468..f1a497b 100644 --- a/views/pages/Login.php +++ b/views/pages/Login.php @@ -23,20 +23,24 @@ if (Auth::userid() > 0) {
-

Вход на сайт

+

Авторизация

- - +
+ + +
- - +
+ + +
- +
diff --git a/views/pages/Main.php b/views/pages/Main.php index 6b526fc..2c8480a 100644 --- a/views/pages/Main.php +++ b/views/pages/Main.php @@ -74,7 +74,7 @@ LIMIT 10;'); $photo = DB::query('SELECT * FROM photos WHERE id=:id', array(':id' => $pd['photo_id'])); foreach ($photo as $p) { $author = new User($p['user_id']); - echo ' + echo ' '; ?> - ")'> + ")'> '; } diff --git a/views/pages/MapMedia.php b/views/pages/MapMedia.php new file mode 100644 index 0000000..b9f16ff --- /dev/null +++ b/views/pages/MapMedia.php @@ -0,0 +1,287 @@ + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + +
+

Map Media

+
+ + + +
+ + + + \ No newline at end of file diff --git a/views/pages/Photo.php b/views/pages/Photo.php index 0017562..44ab83a 100644 --- a/views/pages/Photo.php +++ b/views/pages/Photo.php @@ -57,6 +57,12 @@ if ($photo->i('id') !== null) { + + + + - - i('entitydata_id') >= 1) { ?> -
-
-

-
- - - - - - $photo->i('entitydata_id')))[0]; - $vehiclevariables = json_decode($vehicle->i('sampledata'), true); - $vehicledatavariables = json_decode($entity['content'], true); - $num = 1; - foreach ($vehiclevariables as $vb) { - echo ' + .header-container img { + margin-right: 5px; + height: 20px; + } + + +
+ i('entitydata_id') >= 1) { ?> +
+
+

+
+ + + + + + $photo->i('entitydata_id')))[0]; + $vehiclevariables = json_decode($vehicle->i('sampledata'), true); + $vehicledatavariables = json_decode($entity['content'], true); + $num = 1; + foreach ($vehiclevariables as $vb) { + echo ' '; - - $num++; - } - ?> + + $num++; + } + ?> - -
' . $vb['name'] . ': ' . $vehicledatavariables[$num]['value'] . '
-
-
-
- -
+
+
+
+
+ +
+ content('type') != 'none') && (json_decode($photo->i('exif'), true)['type'] != 'none') && ($photo->content('rating') != 'disabled') && ($photo->i('exif') != NULL)) { + ?> +
+
+

Параметры съёмки

+ +
+
+ content('type') != 'none') && (json_decode($photo->i('exif'), true)['type'] != 'none') && ($photo->content('rating') != 'disabled') && ($photo->i('exif') != NULL)) { - ?> -
-
-

Параметры съёмки

- -
-
-
- i('exif'), true); - $exif_translations = [ - 'FILE.FileName' => 'Имя файла', - 'FILE.FileSize' => 'Размер файла', - 'FILE.FileDateTime' => 'Дата и время файла', - 'COMPUTED.MimeType' => 'Тип MIME', - 'IFD0.Make' => 'Производитель камеры', - 'IFD0.Model' => 'Модель камеры', - 'IFD0.Orientation' => 'Ориентация', - 'IFD0.XResolution' => 'Разрешение по X', - 'IFD0.YResolution' => 'Разрешение по Y', - 'IFD0.ResolutionUnit' => 'Единица разрешения', - 'IFD0.Software' => 'Программное обеспечение', - 'IFD0.DateTime' => 'Дата и время', - 'IFD0.Artist' => 'Автор', - 'IFD0.Copyright' => 'Авторские права', - 'EXIF.ExposureTime' => 'Время экспозиции', - 'EXIF.FNumber' => 'Диафрагма', - 'EXIF.ExposureProgram' => 'Программа экспозиции', - 'EXIF.ISOSpeedRatings' => 'ISO', - 'EXIF.ExifVersion' => 'Версия EXIF', - 'EXIF.DateTimeOriginal' => 'Дата и время оригинала', - 'EXIF.DateTimeDigitized' => 'Дата и время оцифровки', - 'EXIF.ShutterSpeedValue' => 'Значение выдержки', - 'EXIF.ApertureValue' => 'Значение диафрагмы', - 'EXIF.BrightnessValue' => 'Значение яркости', - 'EXIF.ExposureBiasValue' => 'Экспокоррекция', - 'EXIF.MaxApertureValue' => 'Максимальная диафрагма', - 'EXIF.MeteringMode' => 'Режим экспозамера', - 'EXIF.LightSource' => 'Источник света', - 'EXIF.Flash' => 'Вспышка', - 'EXIF.FocalLength' => 'Фокусное расстояние', - 'EXIF.SubjectArea' => 'Область объекта', - 'EXIF.FlashpixVersion' => 'Версия Flashpix', - 'EXIF.ColorSpace' => 'Цветовое пространство', - 'EXIF.PixelXDimension' => 'Размер изображения по X', - 'EXIF.PixelYDimension' => 'Размер изображения по Y', - 'EXIF.SensingMethod' => 'Метод съёмки', - 'EXIF.SceneType' => 'Тип сцены', - 'EXIF.ExposureMode' => 'Режим экспозиции', - 'EXIF.WhiteBalance' => 'Баланс белого', - 'EXIF.FocalLengthIn35mmFilm' => 'Фокусное расстояние для 35мм плёнки', - 'EXIF.SceneCaptureType' => 'Тип съёмки', - 'EXIF.GainControl' => 'Регулировка усиления', - 'EXIF.Contrast' => 'Контрастность', - 'EXIF.Saturation' => 'Насыщенность', - 'EXIF.Sharpness' => 'Резкость', - 'GPS.GPSLatitude' => 'Широта', - 'GPS.GPSLongitude' => 'Долгота', - 'GPS.GPSAltitude' => 'Высота', - 'GPS.GPSTimeStamp' => 'Время GPS', - 'GPS.GPSDateStamp' => 'Дата GPS' - ]; - function translate_flash_value($flash_value) - { - $flash_descriptions = [ - 0 => 'Выключена', - 1 => 'Включена', - 2 => 'Сработала с подавлением эффекта красных глаз', - 3 => 'Сработала в принудительном режиме', - 4 => 'Выключена в принудительном режиме', - 5 => 'Автоматический режим', - 6 => 'Автоматический режим' - ]; + $data = json_decode($photo->i('exif'), true); + $exif_translations = [ + 'FILE.FileName' => 'Имя файла', + 'FILE.FileSize' => 'Размер файла', + 'FILE.FileDateTime' => 'Дата и время файла', + 'COMPUTED.MimeType' => 'Тип MIME', + 'IFD0.Make' => 'Производитель камеры', + 'IFD0.Model' => 'Модель камеры', + 'IFD0.Orientation' => 'Ориентация', + 'IFD0.XResolution' => 'Разрешение по X', + 'IFD0.YResolution' => 'Разрешение по Y', + 'IFD0.ResolutionUnit' => 'Единица разрешения', + 'IFD0.Software' => 'Программное обеспечение', + 'IFD0.DateTime' => 'Дата и время', + 'IFD0.Artist' => 'Автор', + 'IFD0.Copyright' => 'Авторские права', + 'EXIF.ExposureTime' => 'Время экспозиции', + 'EXIF.FNumber' => 'Диафрагма', + 'EXIF.ExposureProgram' => 'Программа экспозиции', + 'EXIF.ISOSpeedRatings' => 'ISO', + 'EXIF.ExifVersion' => 'Версия EXIF', + 'EXIF.DateTimeOriginal' => 'Дата и время оригинала', + 'EXIF.DateTimeDigitized' => 'Дата и время оцифровки', + 'EXIF.ShutterSpeedValue' => 'Значение выдержки', + 'EXIF.ApertureValue' => 'Значение диафрагмы', + 'EXIF.BrightnessValue' => 'Значение яркости', + 'EXIF.ExposureBiasValue' => 'Экспокоррекция', + 'EXIF.MaxApertureValue' => 'Максимальная диафрагма', + 'EXIF.MeteringMode' => 'Режим экспозамера', + 'EXIF.LightSource' => 'Источник света', + 'EXIF.Flash' => 'Вспышка', + 'EXIF.FocalLength' => 'Фокусное расстояние', + 'EXIF.SubjectArea' => 'Область объекта', + 'EXIF.FlashpixVersion' => 'Версия Flashpix', + 'EXIF.ColorSpace' => 'Цветовое пространство', + 'EXIF.PixelXDimension' => 'Размер изображения по X', + 'EXIF.PixelYDimension' => 'Размер изображения по Y', + 'EXIF.SensingMethod' => 'Метод съёмки', + 'EXIF.SceneType' => 'Тип сцены', + 'EXIF.ExposureMode' => 'Режим экспозиции', + 'EXIF.WhiteBalance' => 'Баланс белого', + 'EXIF.FocalLengthIn35mmFilm' => 'Фокусное расстояние для 35мм плёнки', + 'EXIF.SceneCaptureType' => 'Тип съёмки', + 'EXIF.GainControl' => 'Регулировка усиления', + 'EXIF.Contrast' => 'Контрастность', + 'EXIF.Saturation' => 'Насыщенность', + 'EXIF.Sharpness' => 'Резкость', + 'GPS.GPSLatitude' => 'Широта', + 'GPS.GPSLongitude' => 'Долгота', + 'GPS.GPSAltitude' => 'Высота', + 'GPS.GPSTimeStamp' => 'Время GPS', + 'GPS.GPSDateStamp' => 'Дата GPS' + ]; + function translate_flash_value($flash_value) + { + $flash_descriptions = [ + 0 => 'Выключена', + 1 => 'Включена', + 2 => 'Сработала с подавлением эффекта красных глаз', + 3 => 'Сработала в принудительном режиме', + 4 => 'Выключена в принудительном режиме', + 5 => 'Автоматический режим', + 6 => 'Автоматический режим' + ]; - return $flash_descriptions[$flash_value] ?? 'Неизвестное значение вспышки'; - } + return $flash_descriptions[$flash_value] ?? 'Неизвестное значение вспышки'; + } - function translate_orientation($orientation) - { - $orientation_descriptions = [ - 1 => '0° (По умолчанию)', - 3 => '180°', - 6 => '90° по часовой стрелке', - 8 => '270° по часовой стрелке' - ]; + function translate_orientation($orientation) + { + $orientation_descriptions = [ + 1 => '0° (По умолчанию)', + 3 => '180°', + 6 => '90° по часовой стрелке', + 8 => '270° по часовой стрелке' + ]; - return $orientation_descriptions[$orientation] ?? 'Не определена'; - } + return $orientation_descriptions[$orientation] ?? 'Не определена'; + } - function translate_resolution_unit($unit) - { - $resolution_units = [ - 1 => 'Дюймы', - 2 => 'Сантиметры' - ]; + function translate_resolution_unit($unit) + { + $resolution_units = [ + 1 => 'Дюймы', + 2 => 'Сантиметры' + ]; - return $resolution_units[$unit] ?? 'Неизвестная единица'; - } + return $resolution_units[$unit] ?? 'Неизвестная единица'; + } - function translate_light_source($source) - { - $light_sources = [ - 0 => 'Неизвестный источник', - 1 => 'Дневной свет', - 2 => 'Лампа накаливания', - 3 => 'Лампа флуоресцентная', - 4 => 'Лампа с высоким давлением', - 5 => 'Лампа с низким давлением', - 255 => 'Другой источник' - ]; + function translate_light_source($source) + { + $light_sources = [ + 0 => 'Неизвестный источник', + 1 => 'Дневной свет', + 2 => 'Лампа накаливания', + 3 => 'Лампа флуоресцентная', + 4 => 'Лампа с высоким давлением', + 5 => 'Лампа с низким давлением', + 255 => 'Другой источник' + ]; - return $light_sources[$source] ?? 'Неизвестный источник света'; - } + return $light_sources[$source] ?? 'Неизвестный источник света'; + } - function translate_white_balance($balance) - { - $white_balances = [ - 0 => 'Автоматический', - 1 => 'Ручной' - ]; + function translate_white_balance($balance) + { + $white_balances = [ + 0 => 'Автоматический', + 1 => 'Ручной' + ]; - return $white_balances[$balance] ?? 'Неизвестный баланс белого'; - } + return $white_balances[$balance] ?? 'Неизвестный баланс белого'; + } - function translate_color_space($space) - { - $color_spaces = [ - 1 => 'sRGB', - 2 => 'Adobe RGB', - 3 => 'Uncalibrated' - ]; + function translate_color_space($space) + { + $color_spaces = [ + 1 => 'sRGB', + 2 => 'Adobe RGB', + 3 => 'Uncalibrated' + ]; - return $color_spaces[$space] ?? 'Неизвестное цветовое пространство'; - } + return $color_spaces[$space] ?? 'Неизвестное цветовое пространство'; + } - function translate_scene_type($type) - { - $scene_types = [ - 0 => 'Неизвестный тип', - 1 => 'Сцена с обычным светом', - 2 => 'Сцена с высоким контрастом', - 3 => 'Сцена с низким контрастом', - 4 => 'Сцена с движением' - ]; + function translate_scene_type($type) + { + $scene_types = [ + 0 => 'Неизвестный тип', + 1 => 'Сцена с обычным светом', + 2 => 'Сцена с высоким контрастом', + 3 => 'Сцена с низким контрастом', + 4 => 'Сцена с движением' + ]; - return $scene_types[$type] ?? 'Неизвестный тип съёмки'; - } - foreach ($data as $key => $value) { - if ($key === 'EXIF.Flash') { - $value = translate_flash_value($value); - } elseif ($key === 'IFD0.Orientation') { - $value = translate_orientation($value); - } elseif ($key === 'IFD0.ResolutionUnit') { - $value = translate_resolution_unit($value); - } elseif ($key === 'EXIF.WhiteBalance') { - $value = translate_white_balance($value); - } elseif ($key === 'IFD0.LightSource') { - $value = translate_light_source((int)$value); - } elseif ($key === 'EXIF.ColorSpace') { - $value = translate_color_space($value); - } elseif ($key === 'EXIF.SceneType') { - $value = translate_scene_type($value); - } - if (!isset($exif_translations[$key])) { - continue; - } - if (is_array($value)) { - $value = implode(', ', $value); - } - $key = $exif_translations[$key] ?? $key; + return $scene_types[$type] ?? 'Неизвестный тип съёмки'; + } + foreach ($data as $key => $value) { + if ($key === 'EXIF.Flash') { + $value = translate_flash_value($value); + } elseif ($key === 'IFD0.Orientation') { + $value = translate_orientation($value); + } elseif ($key === 'IFD0.ResolutionUnit') { + $value = translate_resolution_unit($value); + } elseif ($key === 'EXIF.WhiteBalance') { + $value = translate_white_balance($value); + } elseif ($key === 'IFD0.LightSource') { + $value = translate_light_source((int)$value); + } elseif ($key === 'EXIF.ColorSpace') { + $value = translate_color_space($value); + } elseif ($key === 'EXIF.SceneType') { + $value = translate_scene_type($value); + } + if (!isset($exif_translations[$key])) { + continue; + } + if (is_array($value)) { + $value = implode(', ', $value); + } + $key = $exif_translations[$key] ?? $key; - echo ' + echo ' '; - } + } - ?> + ?> -
' . htmlspecialchars($key) . ': ' . htmlspecialchars($value) . '
-
+ +
+
+ + + content('lat') != null && $photo->content('lng') != null) { ?> +
+ +

Место на карте

+
+ + +
+
- + + + +
+
+
+ + + i('moderated') === 1) { + $comments = DB::query('SELECT * FROM photos_comments WHERE photo_id=:pid ORDER BY CASE WHEN id = :pinnedid THEN 0 ELSE 1 END, id ASC', array(':pid' => $id, ':pinnedid' => $photo->i('pinnedcomment_id'))); + $commcount = 0; + foreach ($comments as $c) { + if (json_decode($c['content'], true)['deleted'] != 'true') { + $commcount++; + } + } + if ($photo->content('comments') != 'disabled') { ?> +
+ 0) { ?> +

Комментарии ·

+ +
content('lat') != null && $photo->content('lng') != null) { ?> -
- -

Место на карте

-
- - -
-
-
- - - -
-
-
- - - i('moderated') === 1) { - $comments = DB::query('SELECT * FROM photos_comments WHERE photo_id=:pid ORDER BY CASE WHEN id = :pinnedid THEN 0 ELSE 1 END, id ASC', array(':pid' => $id, ':pinnedid' => $photo->i('pinnedcomment_id'))); - $commcount = 0; + $number = 1; foreach ($comments as $c) { - if (json_decode($c['content'], true)['deleted'] != 'true') { - $commcount++; + $comm = new Comment($c); + if ($comm->content('deleted') != 'true') { + if ($number % 2 == 0) { + $class = 's11'; + } else { + $class = 's1'; + } + $comm->class($class); + $number++; + $comm->i(); } } - if ($photo->content('comments') != 'disabled') { ?> -
- 0) { ?> -

Комментарии ·

- -
- content('deleted') != 'true') { - if ($number % 2 == 0) { - $class = 's11'; - } else { - $class = 's1'; - } - $comm->class($class); - $number++; - $comm->i(); - } - } - ?> -
-
-

Ваш комментарий

- -
- 0) { - if (NGALLERY['root']['registration']['emailverify'] != true || $user->i('status') != 3) { ?> -
- - - - -
-
- -
- -
- -
+ ?> +
+
+

Ваш комментарий

+ + "{$smileys_url_base}/{$file}", + 'code' => $shortcode + ]; + } + } + } + + // Загрузка сохраненного контента + $savedContent = ''; + if (isset($_GET['saved'])) { + $savedContent = htmlspecialchars_decode($_GET['saved']); + } + ?> +
+ 0) { + if (NGALLERY['root']['registration']['emailverify'] != true || $user->i('status') != 3) { ?> +
+ + + + + +

+
+ +
-
- - -
-
- - -
- -
-

Комментарии отключены пользователем или по усмотрению Администрации.

-
-
+ +
- - - - - - -
-

Изображение не найдено

-
- Пусто -

Изображения с таким номером нет на сайте.
Может быть, его здесь никогда и не было.
Если Вы уверены, что что-то здесь всё-таки было, значит, администратор по каким-то причинам это удалил.

-
-
- - - - - - - -
- -
+ $('#err').html(content); + $('#err .p20').slideDown(500); + } + + +
+ +
+

Комментарии отключены пользователем или по усмотрению Администрации.

+
+
+ + + + + + + + +
+

Изображение не найдено

+
+ Пусто +

Изображения с таким номером нет на сайте.
Может быть, его здесь никогда и не было.
Если Вы уверены, что что-то здесь всё-таки было, значит, администратор по каким-то причинам это удалил.

+
+
+ + + + + + + +
+ +
diff --git a/views/pages/Profile/Index.php b/views/pages/Profile/Index.php index ffa9d66..8889a11 100644 --- a/views/pages/Profile/Index.php +++ b/views/pages/Profile/Index.php @@ -49,7 +49,7 @@ $birthdate = json_decode($userprofile->i('content'), true)['aboutbirthday']['val if ($userprofile->i('id') === Auth::userid()) { ?>

Редактировать мой профиль

-
+
content('badge') !== null) { ?> @@ -225,7 +225,7 @@ $birthdate = json_decode($userprofile->i('content'), true)['aboutbirthday']['val

О себе

Информация + Оценка
И+ К+'; + if ($photo->content('iRate') === 0) { + $irate = '-'; + } else { + $irate = '+'; + } + if ($photo->content('kRate') === 0) { + $krate = '-'; + } else { + $krate = '+'; + } + $endm = Date::zmdate($p['endmoderation']).'
Оценка
И'.$irate.' К'.$irate.'
'; } echo ' '; + echo ' + '; } diff --git a/views/pages/Profile/LK/Profile.php b/views/pages/Profile/LK/Profile.php index 28bfccf..0d90242 100644 --- a/views/pages/Profile/LK/Profile.php +++ b/views/pages/Profile/LK/Profile.php @@ -1,5 +1,4 @@ diff --git a/views/pages/Profile/LK/Profile/Index.php b/views/pages/Profile/LK/Profile/Index.php new file mode 100644 index 0000000..43734c9 --- /dev/null +++ b/views/pages/Profile/LK/Profile/Index.php @@ -0,0 +1,297 @@ + + + + + + +

Ссылка на публичный профиль: i('username') ?>

+ + + + + + + + + + + + + + + + i('content'), true)['aboutrid']['value']; + return $result; + } + + + $selectedCountryId = getSelectedCountryId(); + $optionsHtml = ' + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + '; + function addSelectedAttribute($optionsHtml, $selectedValue) + { + return preg_replace_callback( + '/'; + }, + $optionsHtml + ); + } + ?> +
+ +

Информация

+ + + +
Страна:
+ +
Откуда:
+ +
Дата рождения
+ +
Владение языками
+ +
Пол
+ +
+ + + + +
+ +

О себе

+ +
+ + +
+
BBcode: [b] [i] [u] [s] [sub] [sup] [size] [img] [url]
+
Telegram
+ +
ВКонтакте
+ +
Twitter/X
+ +
YouTube
+ +
Почта
+ +
Instagram
+ +
TransPhoto
+ +
Личный сайт
+ +
Любимые модели поездов
+ +
Любимые страны
+ +
Любимые города
+ + +
Фотография
+
+ +
+
Для загрузки принимаются файлы JPEG объемом до 200 КБ и шириной не более 800 пикселей
+
+ +
+ +
+
+ +
+ \ No newline at end of file diff --git a/views/pages/Profile/LK/Profile/Personalization.php b/views/pages/Profile/LK/Profile/Personalization.php new file mode 100644 index 0000000..ad307c8 --- /dev/null +++ b/views/pages/Profile/LK/Profile/Personalization.php @@ -0,0 +1,65 @@ +loadThemes(); + +$themesList = $themeManager->getAllThemes(); +var_dump($_SESSION); +if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['theme_id'])) { + try { + $themeManager->saveThemeToProfile($_POST['theme_id']); + header('Location: ' . $_SERVER['REQUEST_URI']); + exit; + } catch (Exception $e) { + error_log($e->getMessage()); + } +} +?> + + + + + + + + + + + + + + + + + +
+ +

Оформление сайта

+ +
Тема
+ + +
+ + + + +
+ +
+
+ + + \ No newline at end of file diff --git a/views/pages/Profile/LK/Profile/Security.php b/views/pages/Profile/LK/Profile/Security.php new file mode 100644 index 0000000..d3a3cfc --- /dev/null +++ b/views/pages/Profile/LK/Profile/Security.php @@ -0,0 +1,161 @@ +Auth::userid())); +foreach ($sessions as $session) { + try { + $iv = $session['iv']; + $decryptedIp = openssl_decrypt($session['ip'], 'AES-256-CBC', NGALLERY['root']['encryptionkey'], 0, $iv); + $decryptedLoc = openssl_decrypt($session['location'], 'AES-256-CBC', NGALLERY['root']['encryptionkey'], 0, $iv); + } catch (Exception $e) { + $decryptedIp = 'Ошибка дешифровки'; + $decryptedLoc = 'Ошибка дешифровки'; + } + + $is_current = ($session['token'] === $current_token); + + echo '
'; + echo '
'; + echo '
'; + echo ''; + echo '
'; + echo '

'.htmlspecialchars($session['device_name']).'

'; + echo '

'.htmlspecialchars($session['os']).'

'; + echo '
'; + echo '
'; + echo '
'.($is_current ? 'Текущая сессия' : '').'
'; + echo '
'; + + echo '
'; + echo '
'; + echo ''; + echo htmlspecialchars($decryptedLoc); + echo '
'; + + echo '
'; + echo ''; + echo htmlspecialchars($decryptedIp); + echo '
'; + + echo '
'; + echo ''; + echo Date::zmdate($session['last_activity']); + echo '
'; + echo '
'; + + if (!$is_current) { + echo '
'; + echo ''; + echo ''; + echo ''; + } +echo '
'; +} +?> + \ No newline at end of file diff --git a/views/pages/Profile/UploadPhoto.php b/views/pages/Profile/UploadPhoto.php index ff02144..e47a806 100644 --- a/views/pages/Profile/UploadPhoto.php +++ b/views/pages/Profile/UploadPhoto.php @@ -20,25 +20,25 @@ $user = new User(Auth::userid());
Покинуло очередьДействия
'.$endm.' + Редактировать +
-

Настройки профиля

- - - - - -

Ссылка на публичный профиль: i('username') ?>

- - - - - - - - - - - - - - - - i('content'), true)['aboutrid']['value']; - return $result; - } - - - $selectedCountryId = getSelectedCountryId(); - $optionsHtml = ' - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - '; - function addSelectedAttribute($optionsHtml, $selectedValue) - { - return preg_replace_callback( - '/'; - }, - $optionsHtml - ); - } - ?> -
- -

Информация

- - - -
Страна:
- -
Откуда:
- -
Дата рождения
- -
Владение языками
- -
Пол
- + - - -
- -

О себе

- -
- - -
-
BBcode: [b] [i] [u] [s] [sub] [sup] [size] [img] [url]
-
Telegram
- -
ВКонтакте
- -
Twitter/X
- -
YouTube
- -
Почта
- -
Instagram
- -
TransPhoto
- -
Личный сайт
- -
Любимые модели поездов
- -
Любимые страны
- -
Любимые города
- - -
Фотография
-
- -
-
Для загрузки принимаются файлы JPEG объемом до 200 КБ и шириной не более 800 пикселей
-
- -
- -
-
- -
-
- - + + - - - + + + - + - + - + - + @@ -310,7 +310,7 @@ $user = new User(Auth::userid()); - + + + + + +
+      + + +
+
+
+ +

+ + + + + + + + \ No newline at end of file diff --git a/views/pages/Register.php b/views/pages/Register.php index c4d1ba1..f7ff3e3 100644 --- a/views/pages/Register.php +++ b/views/pages/Register.php @@ -19,43 +19,6 @@ if (Auth::userid() > 0) {
- -
diff --git a/views/pages/Rules.php b/views/pages/Rules.php index c170dd4..b9a0c05 100644 --- a/views/pages/Rules.php +++ b/views/pages/Rules.php @@ -1,44 +1,288 @@ $value) { + if (strpos($key, 'rsn__') === 0) { + $id = substr($key, 5); + $filteredIds[] = $id; + } + } + + if (!empty($filteredIds)) { + foreach ($filteredIds as $id) { + $val = ((int)$_POST['rsn__' . $id] === 0) ? 1 : 2; + DB::query('UPDATE tasks SET checked=:c WHERE id=:id', [':id' => $id, ':c' => $val]); + } + } +} + +if (isset($_POST['approve'])) { + saveTasks(); + DB::query('UPDATE applications_details SET checked=:ch WHERE category_id=:id AND user_id=:uid', + [':ch' => 1, ':id' => $_GET['id'], ':uid' => $_GET['uid']]); +} elseif (isset($_POST['decline'])) { + saveTasks(); + DB::query('UPDATE applications_details SET checked=:ch WHERE category_id=:id AND user_id=:uid', + [':ch' => 2, ':id' => $_GET['id'], ':uid' => $_GET['uid']]); +} + +$categoryTitle = htmlspecialchars(DB::query('SELECT title FROM categories_sub WHERE id=:id', [':id' => $_GET['id']])[0]['title']); +$isAdmin = (int)($_GET['adm'] ?? 0) === 1; +$userId = $isAdmin ? $_GET['uid'] : isLoggedIn(); +$subs = DB::query('SELECT * FROM tasks WHERE category_id=:id AND user_id=:uid', [':id' => $_GET['id'], ':uid' => $userId]); + +$appDetails = DB::query('SELECT * FROM applications_details WHERE user_id = :uid AND category_id = :cid', + [':uid' => $userId, ':cid' => $_GET['id']]); +$formData = $appDetails[0] ?? [ + 'experience' => '', + 'work_days' => '[]', + 'work_time_from' => '', + 'work_time_to' => '', + 'description' => '', + 'myself' => 0 +]; +$workDays = json_decode($formData['work_days'], true); ?> - - + - - - + + + + + + + +
+

A propos de la spécialisation

+ + +
+ Ваши данные на модерации +
+ -
+
+ + +
+ + + +
+ + +
+ + + + +
+
+ + + +
+ + + - \ No newline at end of file diff --git a/views/pages/Tour.php b/views/pages/Tour.php index b6ec6e5..47f1478 100644 --- a/views/pages/Tour.php +++ b/views/pages/Tour.php @@ -282,18 +282,7 @@ use App\Services\{Router, Auth}; -
- -
- Неизвестен — Tele 2 - X_й дозвонишься.mp3 -
-
- -
-
- 00:00 / 00:06 -
- +