mirror of
https://github.com/WerySkok/nativegallery.git
synced 2024-11-15 11:39:13 +03:00
790 lines
No EOL
61 KiB
PHP
790 lines
No EOL
61 KiB
PHP
<?php
|
||
use \App\Services\{Auth, DB};
|
||
use \App\Models\User;
|
||
$user = new User(Auth::userid());
|
||
?>
|
||
<!DOCTYPE html>
|
||
<html lang="ru">
|
||
|
||
<head>
|
||
<?php include($_SERVER['DOCUMENT_ROOT'] . '/views/components/LoadHead.php'); ?>
|
||
|
||
|
||
</head>
|
||
|
||
|
||
<body>
|
||
<div id="backgr"></div>
|
||
<table class="tmain">
|
||
<?php include($_SERVER['DOCUMENT_ROOT'] . '/views/components/Navbar.php'); ?>
|
||
<tr>
|
||
<td class="main">
|
||
<h1>Предложить фото на публикацию</h1>
|
||
<p>Ваш текущий индекс загрузки: <b><?=$user->i('uploadindex')?></b></p>
|
||
<script>
|
||
var UPLOAD_JPG_MAX_PX = 2500;
|
||
var UPLOAD_PNG_MAX_PX = 0;
|
||
var UPLOAD_MIN_PX = 0;
|
||
var UPLOAD_STD_PX = 1300;
|
||
var can_upload_oversized = false;
|
||
|
||
var UPLOAD_MAX_SIZE = 20;
|
||
var maxsize = 700;
|
||
|
||
var no_exif = 0;
|
||
|
||
var pid = 0;
|
||
var pub_pid = 0;
|
||
var moderator = false;
|
||
var aid = 32944;
|
||
|
||
var lat = 59.939;
|
||
var lng = 30.3158;
|
||
var dir = 0;
|
||
|
||
var cnames = {
|
||
2: 'Санкт-Петербург'
|
||
};
|
||
|
||
var views = {
|
||
0: '<span class="s5"> Не указан </span>',
|
||
1: 'Спереди-справа (двери)',
|
||
2: 'Спереди-слева (окна)',
|
||
3: 'Сзади-справа (двери)',
|
||
4: 'Сзади-слева (окна)',
|
||
5: 'Вид строго спереди',
|
||
6: 'Правый борт',
|
||
7: 'Вид строго сзади',
|
||
8: 'Левый борт',
|
||
9: 'Салон, вид вперёд',
|
||
10: 'Салон, вид назад',
|
||
11: 'Кабина',
|
||
12: 'Заводская табличка',
|
||
13: 'Отдельные элементы ТС',
|
||
14: 'Не определяется (двухстороннее ТС)',
|
||
20: 'Вид сверху',
|
||
40: 'Вид снизу'
|
||
};
|
||
|
||
var binds = [{
|
||
value: 1,
|
||
item: '<b>Основная — ТС на переднем плане</b>',
|
||
label: '<b>Основная</b>'
|
||
},
|
||
{
|
||
value: 0,
|
||
item: 'Второстепенная — ТС на заднем плане',
|
||
label: 'Второстепенная'
|
||
},
|
||
{
|
||
value: 2,
|
||
item: '<i>Условная — ТС указано предположительно</i>',
|
||
label: '<i>Условная</i>'
|
||
}
|
||
];
|
||
</script>
|
||
|
||
|
||
<div id="formtable">
|
||
|
||
|
||
|
||
<div class="new_vehicle_template new_vehicle">
|
||
<input type="hidden" name="nv_cid[]" value="0">
|
||
<input type="hidden" name="nv_type[]" value="0">
|
||
<table>
|
||
<tbody class="tbody_nv_num" style="display:none">
|
||
<tr>
|
||
<td class="lcol">Бортовой №:</td>
|
||
<td><input type="text" name="nv_num[]" style="width:80px" maxlength="21" value=""></td>
|
||
</tr>
|
||
</tbody>
|
||
<tbody class="tbody_nv_gos" style="display:none">
|
||
<tr>
|
||
<td class="lcol">Госномер:</td>
|
||
<td><input type="text" name="nv_gos[]" style="width:120px" maxlength="21" value=""></td>
|
||
</tr>
|
||
</tbody>
|
||
<tbody class="tbody_nv_did" style="display:none">
|
||
<tr>
|
||
<td class="lcol">Депо/Парк:</td>
|
||
<td><select name="nv_did[]" class="did"></select></td>
|
||
</tr>
|
||
</tbody>
|
||
<tbody>
|
||
<tr>
|
||
<td class="lcol">Модель:</td>
|
||
<td>
|
||
<input type="hidden" name="nv_mid[]" value="0">
|
||
<input type="text" class="mname" style="width:250px; padding-left:3px" value="(модель неизвестна)">
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="lcol">Шасси:</td>
|
||
<td>
|
||
<input type="hidden" name="nv_chid[]" value="0">
|
||
<input type="text" class="chname" style="width:250px; padding-left:3px" value="(нет)">
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="lcol">Назначение:</td>
|
||
<td>
|
||
<select name="nv_service[]" onchange="changeColor(this)">
|
||
<option value="0" class="s0" selected>Пассажирский</option>
|
||
<option value="1" class="s3">Служебный</option>
|
||
<option value="2" class="s7">Музейный</option>
|
||
</select>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="lcol">Текущее состояние:</td>
|
||
<td class="sm">
|
||
<select name="nv_state[]" onchange="changeColor(this)">
|
||
<option value="1" class="s0" selected>Эксплуатируется</option>
|
||
<option value="2" class="s2">Не был в эксплуатации в этом городе</option>
|
||
<option value="3" class="s3">Не эксплуатируется</option>
|
||
<option value="4" class="s4">Выведен из эксплуатации / ожидание исключения</option>
|
||
<option value="5" class="s5">Списан</option>
|
||
<option value="6" class="s6">Местонахождение и судьба неизвестны</option>
|
||
<option value="7" class="s7">КВР/модернизация (смена модели)</option>
|
||
<option value="8" class="s8">Перенумерован/передан в пределах города</option>
|
||
<option value="9" class="s9">Передан в другой город</option>
|
||
<option value="21" class="s21">Смена госномера (в пределах предприятия)</option>
|
||
</select> <span class="nw" style="color:#888">Состояние ТС <u>на сегодняшний день</u></span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="lcol">Заводской №:</td>
|
||
<td><input type="text" name="nv_zn[]" size="10" maxlength="12" value=""></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="lcol">VIN:</td>
|
||
<td><input type="text" name="nv_vin[]" size="20" maxlength="17" value=""></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="lcol">№ шасси:</td>
|
||
<td><input type="text" name="nv_cn[]" size="20" maxlength="17" value=""></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="lcol">Построен:</td>
|
||
<td class="sm" style="padding-left:31px">
|
||
<input type="text" name="nv_built_m[]" id="nv_built_m_" style="font-weight:bold; width:30px; text-align:center; margin-right:-1px" maxlength="2" value=""><input type="text" name="nv_built_y[]" id="nv_built_y_" style="font-weight:bold; width:50px; text-align:center; margin-right:-1px" maxlength="4" value=""> <select name="nv_built_approx_aprx[]" id="nv_built_approx_aprx_" class="approx-aprx" style="margin-right:-1px">
|
||
<option value="0" class="s0" selected>точная дата</option>
|
||
<option value="1" class="s3">приблизительно (≈)</option>
|
||
<option value="2" class="s7">не позднее (≤)</option>
|
||
<option value="3" class="s7">не ранее (≥)</option>
|
||
<option value="4" class="s9">начало ... гг.</option>
|
||
<option value="5" class="s9">середина ... гг.</option>
|
||
<option value="6" class="s9">конец ... гг.</option>
|
||
<option value="7" class="s9">... гг.</option>
|
||
</select> <span class="nw" style="color:#888">ММ.ГГГГ — дата постройки ТС по табличке/документам</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="lcol">Актуально c...</td>
|
||
<td class="sm">
|
||
<input type="text" name="nv_start_d[]" id="nv_start_d_" style="font-weight:bold; width:30px; text-align:center; margin-right:-1px" maxlength="2" value=""><input type="text" name="nv_start_m[]" id="nv_start_m_" style="font-weight:bold; width:30px; text-align:center; margin-right:-1px" maxlength="2" value=""><input type="text" name="nv_start_y[]" id="nv_start_y_" style="font-weight:bold; width:50px; text-align:center; margin-right:-1px" maxlength="4" value=""> <select name="nv_start_approx_aprx[]" id="nv_start_approx_aprx_" class="approx-aprx" style="margin-right:-1px">
|
||
<option value="0" class="s0" selected>точная дата</option>
|
||
<option value="1" class="s3">приблизительно (≈)</option>
|
||
<option value="2" class="s7">не позднее (≤)</option>
|
||
<option value="3" class="s7">не ранее (≥)</option>
|
||
<option value="4" class="s9">начало ... гг.</option>
|
||
<option value="5" class="s9">середина ... гг.</option>
|
||
<option value="6" class="s9">конец ... гг.</option>
|
||
<option value="7" class="s9">... гг.</option>
|
||
</select> <span class="nw" style="color:#888">ДД.ММ.ГГГГ — дата поступления или присвоения номера</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="lcol">Начало работы</td>
|
||
<td class="sm">
|
||
<input type="text" name="nv_launc_d[]" id="nv_launc_d_" style="font-weight:bold; width:30px; text-align:center; margin-right:-1px" maxlength="2" value=""><input type="text" name="nv_launc_m[]" id="nv_launc_m_" style="font-weight:bold; width:30px; text-align:center; margin-right:-1px" maxlength="2" value=""><input type="text" name="nv_launc_y[]" id="nv_launc_y_" style="font-weight:bold; width:50px; text-align:center; margin-right:-1px" maxlength="4" value=""> <select name="nv_launc_approx_aprx[]" id="nv_launc_approx_aprx_" class="approx-aprx" style="margin-right:-1px">
|
||
<option value="0" class="s0" selected>точная дата</option>
|
||
<option value="1" class="s3">приблизительно (≈)</option>
|
||
<option value="2" class="s7">не позднее (≤)</option>
|
||
<option value="3" class="s7">не ранее (≥)</option>
|
||
<option value="4" class="s9">начало ... гг.</option>
|
||
<option value="5" class="s9">середина ... гг.</option>
|
||
<option value="6" class="s9">конец ... гг.</option>
|
||
<option value="7" class="s9">... гг.</option>
|
||
</select> <span class="nw" style="color:#888">ДД.ММ.ГГГГ — первый выход c пассажирами, если известен</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="lcol">Отставлен:</td>
|
||
<td class="sm">
|
||
<input type="text" name="nv_haltd_d[]" id="nv_haltd_d_" style="font-weight:bold; width:30px; text-align:center; margin-right:-1px" maxlength="2" value=""><input type="text" name="nv_haltd_m[]" id="nv_haltd_m_" style="font-weight:bold; width:30px; text-align:center; margin-right:-1px" maxlength="2" value=""><input type="text" name="nv_haltd_y[]" id="nv_haltd_y_" style="font-weight:bold; width:50px; text-align:center; margin-right:-1px" maxlength="4" value=""> <select name="nv_haltd_approx_aprx[]" id="nv_haltd_approx_aprx_" class="approx-aprx" style="margin-right:-1px">
|
||
<option value="0" class="s0" selected>точная дата</option>
|
||
<option value="1" class="s3">приблизительно (≈)</option>
|
||
<option value="2" class="s7">не позднее (≤)</option>
|
||
<option value="3" class="s7">не ранее (≥)</option>
|
||
<option value="4" class="s9">начало ... гг.</option>
|
||
<option value="5" class="s9">середина ... гг.</option>
|
||
<option value="6" class="s9">конец ... гг.</option>
|
||
<option value="7" class="s9">... гг.</option>
|
||
</select> <span class="nw" style="color:#888">ДД.ММ.ГГГГ — последний выход c пассажирами, если известен</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="lcol">Ушёл (или списан):</td>
|
||
<td class="sm">
|
||
<input type="text" name="nv_leave_d[]" id="nv_leave_d_" style="font-weight:bold; width:30px; text-align:center; margin-right:-1px" maxlength="2" value=""><input type="text" name="nv_leave_m[]" id="nv_leave_m_" style="font-weight:bold; width:30px; text-align:center; margin-right:-1px" maxlength="2" value=""><input type="text" name="nv_leave_y[]" id="nv_leave_y_" style="font-weight:bold; width:50px; text-align:center; margin-right:-1px" maxlength="4" value=""> <select name="nv_leave_approx_aprx[]" id="nv_leave_approx_aprx_" class="approx-aprx" style="margin-right:-1px">
|
||
<option value="0" class="s0" selected>точная дата</option>
|
||
<option value="1" class="s3">приблизительно (≈)</option>
|
||
<option value="2" class="s7">не позднее (≤)</option>
|
||
<option value="3" class="s7">не ранее (≥)</option>
|
||
<option value="4" class="s9">начало ... гг.</option>
|
||
<option value="5" class="s9">середина ... гг.</option>
|
||
<option value="6" class="s9">конец ... гг.</option>
|
||
<option value="7" class="s9">... гг.</option>
|
||
</select> <span class="nw" style="color:#888">ДД.ММ.ГГГГ — дата продажи/списания/убытия</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="lcol">Утилизирован:</td>
|
||
<td class="sm" style="padding-left:31px">
|
||
<input type="text" name="nv_scrap_m[]" id="nv_scrap_m_" style="font-weight:bold; width:30px; text-align:center; margin-right:-1px" maxlength="2" value=""><input type="text" name="nv_scrap_y[]" id="nv_scrap_y_" style="font-weight:bold; width:50px; text-align:center; margin-right:-1px" maxlength="4" value=""> <select name="nv_scrap_approx_aprx[]" id="nv_scrap_approx_aprx_" class="approx-aprx" style="margin-right:-1px">
|
||
<option value="0" class="s0" selected>точная дата</option>
|
||
<option value="1" class="s3">приблизительно (≈)</option>
|
||
<option value="2" class="s7">не позднее (≤)</option>
|
||
<option value="3" class="s7">не ранее (≥)</option>
|
||
<option value="4" class="s9">начало ... гг.</option>
|
||
<option value="5" class="s9">середина ... гг.</option>
|
||
<option value="6" class="s9">конец ... гг.</option>
|
||
<option value="7" class="s9">... гг.</option>
|
||
</select> <span class="nw" style="color:#888">ММ.ГГГГ — фактическая дата полной порезки/разборки ТС</span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="lcol">Примечание:</td>
|
||
<td><input type="text" name="nv_note[]" maxlength="150" style="width:450px" value=""></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="lcol">Информация:</td>
|
||
<td><textarea name="nv_history[]" rows="4" style="width:450px"></textarea></td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</div>
|
||
|
||
<form id="mform" method="post" enctype="multipart/form-data" action="?action=write">
|
||
<input type="hidden" name="MAX_FILE_SIZE" value="20971520">
|
||
|
||
<input type="hidden" name="creative" id="creative" value="">
|
||
|
||
|
||
<table width="100%">
|
||
<col width="190">
|
||
<tbody class="p20">
|
||
<tr>
|
||
<td colspan="2" id="step1" class="narrow" style="font-size:20px; padding:10px 15px 7px">
|
||
Шаг 1. <b>Выберите фотографию для загрузки и укажите дату съёмки:</b> </td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td style="padding:2px 15px 5px 2px">
|
||
<label class="button">
|
||
Выбрать файл... <input type="file" name="image" id="image" accept="image/*">
|
||
</label>
|
||
<span id="filename"></span>
|
||
<div style="padding:5px 0 10px" class="sm">Принимаемые форматы:<br>
|
||
JPEG и WEBP — сумма ширины и высоты не более 2500 пикселей, файл не более 700 КБ<br>
|
||
GIF и PNG — только для чертежей и схем, без ограничения ширины и высоты, файл не более 20 МБ</div>
|
||
<div id="preview"></div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="lcol">Дата съёмки:</td>
|
||
<td style="padding-bottom:12px">
|
||
<span style="display:inline-block; margin-bottom:3px"><select name="day" id="day" style="width:48px">
|
||
<option value="0" selected>??</option>
|
||
<option value="1">01</option>
|
||
<option value="2">02</option>
|
||
<option value="3">03</option>
|
||
<option value="4">04</option>
|
||
<option value="5">05</option>
|
||
<option value="6">06</option>
|
||
<option value="7">07</option>
|
||
<option value="8">08</option>
|
||
<option value="9">09</option>
|
||
<option value="10">10</option>
|
||
<option value="11">11</option>
|
||
<option value="12">12</option>
|
||
<option value="13">13</option>
|
||
<option value="14">14</option>
|
||
<option value="15">15</option>
|
||
<option value="16">16</option>
|
||
<option value="17">17</option>
|
||
<option value="18">18</option>
|
||
<option value="19">19</option>
|
||
<option value="20">20</option>
|
||
<option value="21">21</option>
|
||
<option value="22">22</option>
|
||
<option value="23">23</option>
|
||
<option value="24">24</option>
|
||
<option value="25">25</option>
|
||
<option value="26">26</option>
|
||
<option value="27">27</option>
|
||
<option value="28">28</option>
|
||
<option value="29">29</option>
|
||
<option value="30">30</option>
|
||
<option value="31">31</option>
|
||
</select><select name="month" id="month" style="width:160px; margin:0 -1px">
|
||
<option value="0" selected>?? — Неизвестно</option>
|
||
<option value="1">01 — Январь</option>
|
||
<option value="2">02 — Февраль</option>
|
||
<option value="3">03 — Март</option>
|
||
<option value="4">04 — Апрель</option>
|
||
<option value="5">05 — Май</option>
|
||
<option value="6">06 — Июнь</option>
|
||
<option value="7">07 — Июль</option>
|
||
<option value="8">08 — Август</option>
|
||
<option value="9">09 — Сентябрь</option>
|
||
<option value="10">10 — Октябрь</option>
|
||
<option value="11">11 — Ноябрь</option>
|
||
<option value="12">12 — Декабрь</option>
|
||
</select><select name="year" id="year" style="width:65px">
|
||
<option value="0" selected>????</option>
|
||
<option value="2024">2024</option>
|
||
<option value="2023">2023</option>
|
||
<option value="2022">2022</option>
|
||
<option value="2021">2021</option>
|
||
<option value="2020">2020</option>
|
||
<option value="2019">2019</option>
|
||
<option value="2018">2018</option>
|
||
<option value="2017">2017</option>
|
||
<option value="2016">2016</option>
|
||
<option value="2015">2015</option>
|
||
<option value="2014">2014</option>
|
||
<option value="2013">2013</option>
|
||
<option value="2012">2012</option>
|
||
<option value="2011">2011</option>
|
||
<option value="2010">2010</option>
|
||
<option value="2009">2009</option>
|
||
<option value="2008">2008</option>
|
||
<option value="2007">2007</option>
|
||
<option value="2006">2006</option>
|
||
<option value="2005">2005</option>
|
||
<option value="2004">2004</option>
|
||
<option value="2003">2003</option>
|
||
<option value="2002">2002</option>
|
||
<option value="2001">2001</option>
|
||
<option value="2000">2000</option>
|
||
<option value="1999">1999</option>
|
||
<option value="1998">1998</option>
|
||
<option value="1997">1997</option>
|
||
<option value="1996">1996</option>
|
||
<option value="1995">1995</option>
|
||
<option value="1994">1994</option>
|
||
<option value="1993">1993</option>
|
||
<option value="1992">1992</option>
|
||
<option value="1991">1991</option>
|
||
<option value="1990">1990</option>
|
||
<option value="1989">1989</option>
|
||
<option value="1988">1988</option>
|
||
<option value="1987">1987</option>
|
||
<option value="1986">1986</option>
|
||
<option value="1985">1985</option>
|
||
<option value="1984">1984</option>
|
||
<option value="1983">1983</option>
|
||
<option value="1982">1982</option>
|
||
<option value="1981">1981</option>
|
||
<option value="1980">1980</option>
|
||
<option value="1979">1979</option>
|
||
<option value="1978">1978</option>
|
||
<option value="1977">1977</option>
|
||
<option value="1976">1976</option>
|
||
<option value="1975">1975</option>
|
||
<option value="1974">1974</option>
|
||
<option value="1973">1973</option>
|
||
<option value="1972">1972</option>
|
||
<option value="1971">1971</option>
|
||
<option value="1970">1970</option>
|
||
<option value="1969">1969</option>
|
||
<option value="1968">1968</option>
|
||
<option value="1967">1967</option>
|
||
<option value="1966">1966</option>
|
||
<option value="1965">1965</option>
|
||
<option value="1964">1964</option>
|
||
<option value="1963">1963</option>
|
||
<option value="1962">1962</option>
|
||
<option value="1961">1961</option>
|
||
<option value="1960">1960</option>
|
||
<option value="1959">1959</option>
|
||
<option value="1958">1958</option>
|
||
<option value="1957">1957</option>
|
||
<option value="1956">1956</option>
|
||
<option value="1955">1955</option>
|
||
<option value="1954">1954</option>
|
||
<option value="1953">1953</option>
|
||
<option value="1952">1952</option>
|
||
<option value="1951">1951</option>
|
||
<option value="1950">1950</option>
|
||
<option value="1949">1949</option>
|
||
<option value="1948">1948</option>
|
||
<option value="1947">1947</option>
|
||
<option value="1946">1946</option>
|
||
<option value="1945">1945</option>
|
||
<option value="1944">1944</option>
|
||
<option value="1943">1943</option>
|
||
<option value="1942">1942</option>
|
||
<option value="1941">1941</option>
|
||
<option value="1940">1940</option>
|
||
<option value="1939">1939</option>
|
||
<option value="1938">1938</option>
|
||
<option value="1937">1937</option>
|
||
<option value="1936">1936</option>
|
||
<option value="1935">1935</option>
|
||
<option value="1934">1934</option>
|
||
<option value="1933">1933</option>
|
||
<option value="1932">1932</option>
|
||
<option value="1931">1931</option>
|
||
<option value="1930">1930</option>
|
||
<option value="1929">1929</option>
|
||
<option value="1928">1928</option>
|
||
<option value="1927">1927</option>
|
||
<option value="1926">1926</option>
|
||
<option value="1925">1925</option>
|
||
<option value="1924">1924</option>
|
||
<option value="1923">1923</option>
|
||
<option value="1922">1922</option>
|
||
<option value="1921">1921</option>
|
||
<option value="1920">1920</option>
|
||
<option value="1919">1919</option>
|
||
<option value="1918">1918</option>
|
||
<option value="1917">1917</option>
|
||
<option value="1916">1916</option>
|
||
<option value="1915">1915</option>
|
||
<option value="1914">1914</option>
|
||
<option value="1913">1913</option>
|
||
<option value="1912">1912</option>
|
||
<option value="1911">1911</option>
|
||
<option value="1910">1910</option>
|
||
<option value="1909">1909</option>
|
||
<option value="1908">1908</option>
|
||
<option value="1907">1907</option>
|
||
<option value="1906">1906</option>
|
||
<option value="1905">1905</option>
|
||
<option value="1904">1904</option>
|
||
<option value="1903">1903</option>
|
||
<option value="1902">1902</option>
|
||
<option value="1901">1901</option>
|
||
<option value="1900">1900</option>
|
||
<option value="1899">1899</option>
|
||
<option value="1898">1898</option>
|
||
<option value="1897">1897</option>
|
||
<option value="1896">1896</option>
|
||
<option value="1895">1895</option>
|
||
<option value="1894">1894</option>
|
||
<option value="1893">1893</option>
|
||
<option value="1892">1892</option>
|
||
<option value="1891">1891</option>
|
||
<option value="1890">1890</option>
|
||
<option value="1889">1889</option>
|
||
<option value="1888">1888</option>
|
||
<option value="1887">1887</option>
|
||
<option value="1886">1886</option>
|
||
<option value="1885">1885</option>
|
||
<option value="1884">1884</option>
|
||
<option value="1883">1883</option>
|
||
<option value="1882">1882</option>
|
||
<option value="1881">1881</option>
|
||
<option value="1880">1880</option>
|
||
<option value="1879">1879</option>
|
||
<option value="1878">1878</option>
|
||
<option value="1877">1877</option>
|
||
<option value="1876">1876</option>
|
||
<option value="1875">1875</option>
|
||
<option value="1874">1874</option>
|
||
<option value="1873">1873</option>
|
||
<option value="1872">1872</option>
|
||
<option value="1871">1871</option>
|
||
<option value="1870">1870</option>
|
||
<option value="1869">1869</option>
|
||
<option value="1868">1868</option>
|
||
<option value="1867">1867</option>
|
||
<option value="1866">1866</option>
|
||
<option value="1865">1865</option>
|
||
<option value="1864">1864</option>
|
||
<option value="1863">1863</option>
|
||
<option value="1862">1862</option>
|
||
<option value="1861">1861</option>
|
||
<option value="1860">1860</option>
|
||
<option value="1859">1859</option>
|
||
<option value="1858">1858</option>
|
||
<option value="1857">1857</option>
|
||
<option value="1856">1856</option>
|
||
<option value="1855">1855</option>
|
||
<option value="1854">1854</option>
|
||
<option value="1853">1853</option>
|
||
<option value="1852">1852</option>
|
||
<option value="1851">1851</option>
|
||
<option value="1850">1850</option>
|
||
</select> </span> <span id="dateLoaded" style="position:relative; top:2px; padding:2px 6px; display:none" class="nw label-green">Установлена дата из EXIF</span><span id="dateAbsent" style="position:relative; top:2px; padding:2px 6px; display:none" class="nw label-orange">Укажите дату съёмки (нет в EXIF)</span> <span class="sm nw"><a href="#" class="dot" onclick="setDate(05,07,2024); return false">Сегодня</a> · <a href="#" class="dot" onclick="setDate(04,07,2024); return false">Вчера</a> · <a href="#" class="dot" onclick="setDate(0,0,0); return false">Неизвестно</a></span>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
|
||
<tbody>
|
||
<tr>
|
||
<td colspan="2" style="height:10px"></td>
|
||
</tr>
|
||
</tbody>
|
||
|
||
|
||
|
||
<tbody>
|
||
<tr>
|
||
<td colspan="2" style="height:10px"></td>
|
||
</tr>
|
||
</tbody>
|
||
|
||
<tbody class="p20">
|
||
<tr>
|
||
<td colspan="2" id="step3" class="narrow" style="font-size:20px; padding:10px 15px 7px">Шаг 2. <b>Введите подпись для фотографии:</b></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="lcol">Место съёмки:</td>
|
||
<td style="padding-right:15px">
|
||
<table width="100%">
|
||
<tr>
|
||
<td style="padding:0; vertical-align:middle">
|
||
<input type="text" name="place" id="place" maxlength="255" style="width:506px" onfocus="showHint('place')" onblur="hideHint('place')" value="">
|
||
</td>
|
||
<td style="padding:0; position:relative; vertical-align:top" width="100%">
|
||
<div style="border:1px dashed #FF9797; color:red; background-color:#ffff99; padding:2px 4px 3px; margin:0 5px; display:none; position:absolute" id="place_hint"><small><strong>Без сокращений</strong> (кроме <strong>«к/ст»</strong>, <strong>«л/ст»</strong>).<br />Если указана улица, <strong>остановку</strong> пишем в примечании (не обязательно).<br /><strong>В кавычках:</strong> названия к/ст, колец, остановок, станций метро.<br /><strong>Без кавычек:</strong> ж/д платформы и станции.<br />Если на фото <strong>салон</strong>, место можно не указывать.</small></div>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="lcol">
|
||
Описание:
|
||
<div class="sm" style="color:#999; margin:3px 5px 0 0; white-space:normal">(если требуются)</div>
|
||
</td>
|
||
<td style="padding-right:15px">
|
||
<table>
|
||
<tr>
|
||
<td style="padding:0; vertical-align:middle"><textarea name="descr" onfocus="showHint('descr')" onblur="hideHint('descr')" style="width:506px; height:100px; margin-bottom:7px"></textarea></td>
|
||
<td style="padding:0; position:relative; vertical-align:top" width="100%">
|
||
<div style="border:1px dashed #FF9797; color:red; background-color:#ffff99; padding:2px 4px 3px; margin:0 5px; display:none; position:absolute" id="descr_hint"><small>Текстовое описание изображения в произвольной форме:<br>пояснения, дополнения и т. п., если необходимы..</small></div>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td style="padding:5px 2px 10px">
|
||
<input type="checkbox" name="naa" id="naa" value="1" onclick="toggleNAA()"> <label for="naa">Я не автор этой фотографии</label>
|
||
<div id="naa_hint" style="display:none">
|
||
<div class="sm" style="margin-top:5px; line-height:14px"><b>Не забудьте указать источник и имя автора в поле «Описание»!</b><br />Если Вы не являетесь автором фотографии, убедитесь, что автор дал Вам разрешение публиковать её на СТТС.<br />Загрузка фотографий без разрешения их автора <u>запрещена</u>.<br><br><b>Разрешение на публикацию на Transphoto</b> (ссылка или пояснение):</div>
|
||
<input type="text" name="naa_allow" id="naa_allow" style="width:506px" value="">
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="2" style="height:7px"></td>
|
||
<tr>
|
||
</tbody>
|
||
|
||
<tbody>
|
||
<tr>
|
||
<td colspan="2" style="height:10px"></td>
|
||
</tr>
|
||
</tbody>
|
||
|
||
|
||
|
||
<tbody>
|
||
<tr>
|
||
<td colspan="2" style="height:10px"></td>
|
||
</tr>
|
||
</tbody>
|
||
|
||
<tbody class="p20">
|
||
<tr>
|
||
<td colspan="2" class="narrow" style="font-size:20px; padding:10px 15px 5px">Шаг 3. <b>Выберите опции загрузки:</b></td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td style="padding-right:15px; padding-bottom:15px">
|
||
<input type="checkbox" name="up-comment-link" id="up-comment-link" value="1"> <label for="up-comment-link">Добавить комментарий при публикации</label><span id="up-comment-row" style="display:none">:<br>
|
||
<textarea name="comment" id="comment" rows="5" style="width:100%; margin-top:5px"></textarea></span>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="lcol">Лицензия:</td>
|
||
<td style="padding-bottom:7px">
|
||
<select name="license">
|
||
<option value="0">Не указана</option>
|
||
<option value="1" selected>Copyright ©</option>
|
||
<option value="2">Атрибуция (BY)</option>
|
||
<option value="3">Атрибуция — С сохранением условий (BY-SA)</option>
|
||
<option value="4">Атрибуция — Некоммерческое использование (BY-NC)</option>
|
||
<option value="5">Атрибуция — Некоммерческое использование — С сохранением условий (BY-NC-SA)</option>
|
||
<option value="6">Атрибуция — Без производных работ (BY-ND)</option>
|
||
<option value="7">Атрибуция — Некоммерческое использование — Без производных работ (BY-NC-ND)</option>
|
||
<option value="8">Передача в общественное достояние (Zero)</option>
|
||
<option value="9">Нет авторских прав (Mark)</option>
|
||
</select> <a href="https://creativecommons.org/licenses/?lang=ru" target="_blank" class="und sm">Информация о лицензиях</a>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="lcol">
|
||
Пояснения модератору:
|
||
<div class="sm" style="color:#999; margin:3px 5px 0 0">(если требуются)</div>
|
||
</td>
|
||
<td style="padding-right:15px">
|
||
<textarea name="notes_mod" id="notes_mod" style="width:100%; height:40px"></textarea>
|
||
<div class="sm" style="color:#999; margin-top:3px">Можно пояснить ценность фотографии, если на ней изображёно что-то редкое или уникальное (ведь фотомодераторам это может быть неизвестно).</div>
|
||
</td>
|
||
</tr>
|
||
|
||
<tr>
|
||
<td></td>
|
||
<td style="padding:20px 2px 12px">
|
||
<button id="submitbtn" href="#" class="progress-button" data-loading="Идёт загрузка..." data-finished="Обработка..." type="submit">Отправить фотографию</button>
|
||
<span id="statusbox" class="narrow" style="font-size:20px; font-weight:bold; position:relative; top:-12px"></span>
|
||
<div id="errorsbox" style="display:none; color:red; margin-top:15px; font-weight:bold;"></div>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>
|
||
</form>
|
||
</div><br>
|
||
<div id="loadtable" class="p20" style="display:none; padding-bottom:20px; margin-bottom:15px">
|
||
<h4>Загруженные фотографии</h4>
|
||
<div id="loadbox" style="display:flex; flex-wrap:wrap; gap:10px"></div>
|
||
</div>
|
||
</td>
|
||
</tr>
|
||
|
||
</table>
|
||
<script>
|
||
$('#mform').submit(function(e) {
|
||
|
||
|
||
e.preventDefault();
|
||
var formData = new FormData(this);
|
||
var bar = $('.bar');
|
||
var percent = $('.percent');
|
||
var status = $('#status');
|
||
var continuepost = 0;
|
||
|
||
|
||
|
||
|
||
$.ajax({
|
||
type: "POST",
|
||
url: '/api/posts/create',
|
||
data: formData,
|
||
|
||
xhr: function() {
|
||
// Добавляем спиннер и блокируем кнопку во время загрузки
|
||
//$("#r").html('<button type="submit" id="register" name="loginaccount" class="btn btn-block btn-primary py-2 ripple-handler mt-1 mb-3" disabled><div class="plus-button-reflection"></div>Опубликовать</button>');
|
||
|
||
var xhr = new window.XMLHttpRequest();
|
||
xhr.upload.addEventListener("progress", function(evt) {
|
||
if (evt.lengthComputable) {
|
||
var percentComplete = parseInt(((evt.loaded / evt.total) * 100));
|
||
console.log(evt.total);
|
||
|
||
// Обновляем прогресс загрузки
|
||
scrollProgressBarWidth(percentComplete);
|
||
}
|
||
}, false);
|
||
return xhr;
|
||
},
|
||
|
||
|
||
|
||
success: function(response) {
|
||
try {
|
||
var jsonData = JSON.parse(response);
|
||
} catch (err) {
|
||
//$("#r").html('<button id="uploadbtn" style="margin-right: 15px; background: none; border: none; color: aliceblue; " type="submit" name="createpost" class="mb-3 mt-3"><i style="position:relative; font-size: 25px; margin-right: 10px; color: aliceblue; top: 4px;" class="ti ti-message-share uploadbtn"></i>Опубликовать</button>');
|
||
$("#prgtd").html('');
|
||
$("#prgrsg").html('');
|
||
//$("#prgrsg").html('<div id="prgrs" class="progress-bar progress-bar-striped progress-bar-animated bg-danger" role="progressbar" aria-valuenow="0" aria-valuemin="100" aria-valuemax="100" style="width: 100%">100%</div>');
|
||
Notify.noty('danger', escapeHtml(err.message));
|
||
$("#r").html('<button type="submit" id="register" name="loginaccount" class="btn btn-block btn-primary py-2 ripple-handler mt-1 mb-3">Опубликовать<span class="ripple-mask"><span class="ripple" style=""></span></span></button>');
|
||
scrollProgressBarWidth(0);
|
||
}
|
||
|
||
if (jsonData.errorcode == "1") {
|
||
$("#r").html('<button type="submit" id="register" name="loginaccount" class="btn btn-block btn-primary py-2 ripple-handler mt-1 mb-3">Опубликовать<span class="ripple-mask"><span class="ripple" style=""></span></span></button>');
|
||
//$("#r").html('<button id="uploadbtn" style="margin-right: 15px; background: none; border: none; color: aliceblue; " type="submit" name="createpost" class="mb-3 mt-3"><i style="position:relative; font-size: 25px; margin-right: 10px; color: aliceblue; top: 4px;" class="ti ti-message-share uploadbtn"></i>Опубликовать</button>');
|
||
$("#prgtd").html('');
|
||
$("#prgrsg").html('');
|
||
//$("#prgrsg").html('<div id="prgrs" class="progress-bar progress-bar-striped progress-bar-animated bg-danger" role="progressbar" aria-valuenow="0" aria-valuemin="100" aria-valuemax="100" style="width: 100%">100%</div>');
|
||
Notify.noty('danger', 'В посте нет контента!');
|
||
scrollProgressBarWidth(0);
|
||
|
||
} else if (jsonData.errorcode == "101") {
|
||
$("#r").html('<button type="submit" id="register" name="loginaccount" class="btn btn-block btn-primary py-2 ripple-handler mt-1 mb-3">Опубликовать<span class="ripple-mask"><span class="ripple" style=""></span></span></button>');
|
||
//$("#r").html('<button id="uploadbtn" style="margin-right: 15px; background: none; border: none; color: aliceblue; " type="submit" name="createpost" class="mb-3 mt-3"><i style="position:relative; font-size: 25px; margin-right: 10px; color: aliceblue; top: 4px;" class="ti ti-message-share uploadbtn"></i>Опубликовать</button>');
|
||
$("#prgtd").html('');
|
||
$("#prgrsg").html('');
|
||
//$("#prgrsg").html('<div id="prgrs" class="progress-bar progress-bar-striped progress-bar-animated bg-danger" role="progressbar" aria-valuenow="0" aria-valuemin="100" aria-valuemax="100" style="width: 100%">100%</div>');
|
||
Notify.noty('danger', 'В посте больше 10 медиафайлов');
|
||
scrollProgressBarWidth(0);
|
||
}
|
||
else if (jsonData.errorcode == "0") {
|
||
Notify.noty('success', 'Успешная публикация!');
|
||
$("#r").html('<button type="submit" id="register" name="loginaccount" class="btn btn-block btn-primary py-2 ripple-handler mt-1 mb-3" disabled>Опубликовать<span class="ripple-mask"><span class="ripple" style=""></span></span></button>');
|
||
//$("#r").html('<button id="uploadbtn" style="margin-right: 15px; background: none; border: none; color: aliceblue; " type="submit" name="createpost" class="mb-3 mt-3"><i style="position:relative; font-size: 25px; margin-right: 10px; color: aliceblue; top: 4px;" class="ti ti-message-share uploadbtn"></i>Опубликовать</button>');
|
||
$("#prgtd").html('');
|
||
$("#prgrsg").html('');
|
||
/*let positionData = {
|
||
id: jsonData.id,
|
||
user_id: jsonData.user_id,
|
||
text: jsonData.text,
|
||
user_flname: jsonData.user_flname,
|
||
username: jsonData.username,
|
||
user_photo: jsonData.user_photo
|
||
};
|
||
|
||
ws.send(JSON.stringify(positionData));*/
|
||
setTimeout(function() {
|
||
window.location.replace("/feed");
|
||
scrollProgressBarWidth(0);
|
||
}, 1000);
|
||
} else if (jsonData.errorcode == "LIMITEXCEEDED") {
|
||
$("#r").html('<button type="submit" id="register" name="loginaccount" class="btn btn-block btn-primary py-2 ripple-handler mt-1 mb-3">Опубликовать<span class="ripple-mask"><span class="ripple" style=""></span></span></button>');
|
||
$("#prgtd").html('');
|
||
$("#prgrsg").html('');
|
||
//$("#prgrsg").html('<div id="prgrs" class="progress-bar progress-bar-striped progress-bar-animated bg-danger" role="progressbar" aria-valuenow="0" aria-valuemin="100" aria-valuemax="100" style="width: 100%">100%</div>');
|
||
//alert('За последнюю минуту вы отправили слишком много запросов. Повторите попытку позже.');
|
||
createModal('NONE', 'NONE', 'NONE', 'LIMITEXCEEDED', 'limit');
|
||
scrollProgressBarWidth(0);
|
||
} else {
|
||
$("#r").html('<button type="submit" id="register" name="loginaccount" class="btn btn-block btn-primary py-2 ripple-handler mt-1 mb-3">Опубликовать<span class="ripple-mask"><span class="ripple" style=""></span></span></button>');
|
||
$("#prgtd").html('');
|
||
$("#prgrsg").html('');
|
||
//$("#prgrsg").html('<div id="prgrs" class="progress-bar progress-bar-striped progress-bar-animated bg-danger" role="progressbar" aria-valuenow="0" aria-valuemin="100" aria-valuemax="100" style="width: 100%">100%</div>');
|
||
Notify.noty('danger', 'Неизвестная ошибка');
|
||
scrollProgressBarWidth(0);
|
||
}
|
||
},
|
||
error: function(xhr, status, error) {
|
||
$("#r").html('<button type="submit" id="register" name="loginaccount" class="btn btn-block btn-primary py-2 ripple-handler mt-1 mb-3">Опубликовать<span class="ripple-mask"><span class="ripple" style=""></span></span></button>');
|
||
$("#prgtd").html('');
|
||
$("#prgrsg").html('');
|
||
//$("#prgrsg").html('<div id="prgrs" class="progress-bar progress-bar-striped progress-bar-animated bg-danger" role="progressbar" aria-valuenow="0" aria-valuemin="100" aria-valuemax="100" style="width: 100%">100%</div>');
|
||
Notify.noty('danger', 'Не удалось опубликовать пост');
|
||
scrollProgressBarWidth(0);
|
||
},
|
||
cache: false,
|
||
contentType: false,
|
||
processData: false
|
||
});
|
||
|
||
});
|
||
|
||
|
||
</script>
|
||
</body>
|
||
|
||
</html>
|