1<!DOCTYPE html> 2<html lang="ru"> 3 4<head> 5 <meta charset="utf-8"/> 6 <title>Elios 2.0 - ÐвÑоÑизаÑиÑ</title> 7 <meta name="description" content="ItPort.Ugrasu - ÐвÑоÑизаÑиÑ"> 8 <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no"> 9 <meta name="csrf-token" content="Ca8itqEir1wYROlfeDzDAlVsBAeU8tsEVkuXJMbA"> 10 <link rel="stylesheet" href="https://itport.ugrasu.ru/css/vendors/bootstrap/bootstrap-4.0.0.min.css"> 11 <link href="https://itport.ugrasu.ru/css/login.css" rel="stylesheet" type="text/css"/> 12 <link rel="shortcut icon" href="https://itport.ugrasu.ru/favicon.ico"> 13 <link href="https://itport.ugrasu.ru/css/vendors/font-awesome/all.min.css" rel="stylesheet"> 14</head> 15 16<body class="header-fixed header-mobile-fixed header-bottom-enabled subheader-enabled page-loading"> 17<div class="d-flex flex-column flex-root"> 18 <div class="login login-4 login-signin-on d-flex flex-row-fluid" id="kt_login"> 19 <div class="d-flex flex-center flex-row-fluid bgi-size-cover bgi-position-top bgi-no-repeat" 20 style="background-image: url('/img/system/auth/bg.jpg');"> 21 <div class="login-form text-center p-7 position-relative overflow-hidden"> 22 <div class="d-flex flex-center mb-3"> 23 <a href="#"> 24 <img src="/img/logo.svg" class="max-h-75px" alt=""/> 25 </a> 26 </div> 27 <div id="App"> 28 <template v-if="haha"> 29 <div class="alert alert-danger text-left"> 30 <button type="button" class="close" data-dismiss="alert" aria-label="Close"> 31 <span aria-hidden="true">×</span> 32 </button> 33 <h5 class="alert-heading">ÐÑибка авÑоÑизаÑии</h5> 34 <p> 35 ÐÑо ÑообÑение оÑобÑажаеÑÑÑ Ð·Ð°Ñанее, поÑколÑÐºÑ Ð´Ð»Ñ Ð°Ð²ÑоÑизаÑии на наÑем ÑеÑвиÑе не иÑполÑзÑÑÑÑÑ ÑÑоÑонние поÑÑовÑе ÑеÑвиÑÑ. 36 </p> 37 <p> 38 ÐÑедлагаем ввеÑÑи вÑданнÑй Ðам логин или адÑÐµÑ ÐºÐ¾ÑпоÑаÑивной поÑÑÑ ÑнивеÑÑиÑеÑа. 39 </p> 40 </div> 41</template> 42<template v-else> 43 <template v-if="messages.length > 0"> 44 <template v-for="(message) in messages"> 45 <template v-if="message.type === 'game_over'"> 46 <div class="alert alert-danger text-left"> 47 <button type="button" class="close" data-dismiss="alert" aria-label="Close"> 48 <span aria-hidden="true">×</span> 49 </button> 50 <h5 class="alert-heading">ÐÑибка авÑоÑизаÑии</h5> 51 <p> 52 ÐолÑзоваÑÐµÐ»Ñ ÑÑеÑной запиÑи не ÑвлÑеÑÑÑ ÑабоÑником или ÑÑÑденÑом 53 ÑнивеÑÑиÑеÑа. 54 </p> 55 <p class="mb-0"> 56 Ðозможно полÑзоваÑÐµÐ»Ñ ÑÑеÑной запиÑи бÑл Ñволен или оÑÑиÑлен. 57 </p> 58 </div> 59 </template> 60 <template v-else-if="message.type === 'game_pause'"> 61 <div class="alert alert-danger text-left"> 62 <button type="button" class="close" data-dismiss="alert" aria-label="Close"> 63 <span aria-hidden="true">×</span> 64 </button> 65 <h5 class="alert-heading">ÐÑибка авÑоÑизаÑии</h5> 66 <p> 67 ÐолÑзоваÑÐµÐ»Ñ ÑÑеÑной запиÑи не ÑвлÑеÑÑÑ ÑабоÑником или ÑÑÑденÑом 68 ÑнивеÑÑиÑеÑа. 69 </p> 70 <p class="mb-0"> 71 Ðозможно полÑзоваÑÐµÐ»Ñ ÑÑеÑной запиÑи бÑл Ñволен или оÑÑиÑлен. 72 </p> 73 </div> 74 </template> 75 <template v-else> 76 <div :class="'alert alert-' + message.color + ' text-left'"> 77 <button type="button" class="close" data-dismiss="alert" aria-label="Close">
78 <span aria-hidden="true">×</span> 79 </button> 80 <h5 class="alert-heading">ÐÑибка авÑоÑизаÑии</h5> 81 <p>{{ message.message }}</p> 82 </div> 83 </template> 84 </template> 85 </template> 86</template> 87 88<div class="login-signin"> 89 <div class="mb-3"> 90 <h1><b class="text-primary">Elios</b><b class="text-muted">2.0</b></h1> 91 <!-- <div class="alert alert-warning text-left mb-1"> 92 <p class="mb-0">РнаÑÑоÑÑий моменÑ, наблÑдаÑÑÑÑ Ð¿ÑÐ¾Ð±Ð»ÐµÐ¼Ñ Ð°Ð²ÑоÑизаÑии Ñ ÑÑÑденÑов, законÑивÑÐ¸Ñ Ð¾Ð±ÑÑение.</p> 93 </div> --> 94 <div v-if="!this.success_status" class="text-muted font-weight-bold">ÐожалÑйÑÑа введиÑе ваÑи даннÑе, Ð´Ð»Ñ 95 авÑоÑизаÑии: 96 </div> 97 </div> 98 99 <template v-if="this.success_status"> 100 <div class="alert alert-light text-center"> 101 <div class="spinner-grow text-primary" role="status"> 102 <span class="sr-only">Loading...</span> 103 </div> 104 <p class="mb-0">ÐвÑоÑизаÑÐ¸Ñ ÑÑпеÑно пÑойдена.</p> 105 <p class="mb-0">ÐожалÑйÑÑа подождиÑе</p> 106 </div> 107 </template> 108 <template v-else> 109 <template v-if="form === 0"> 110 <div class="form" id="kt_login_signin_form"> 111 <div class="form-group mb-5"> 112 <input class="form-control h-auto form-control-solid py-4 px-8" type="text" placeholder="Login" 113 v-model:trim="email" name="email" autocomplete="off"/> 114 </div> 115 <template v-if="!haha"> 116 <div class="form-group mb-5" style="position: relative;"> 117 <input class="form-control h-auto form-control-solid py-4 px-8" :type="showPassword ? 'text' : 'password'" 118 placeholder="Password" name="password" v-model="password" v-on:keyup.enter="login()"/> 119 120 <button class="btn btn-icon btn-sm" icon @click="showPassword = !showPassword" 121 style="position: absolute; right: 10px; top: 50%; transform: translateY(-50%);"> 122 <i :class="showPassword ? 'fad fa-eye-slash' : 'fad fa-eye'"></i> 123 </button> 124 </div> 125 <div class="form-group"> 126 <div class="col-12"> 127 <div class="row"> 128 <template v-if="login_status"> 129 <button class="btn btn-primary col-12" type="button" disabled> 130 <span class="spinner-border spinner-border-sm" role="status" 131 aria-hidden="true"></span> 132 ÐÑÑенÑиÑикаÑиÑ, пожалÑйÑÑа подождиÑе... 133 </button> 134 </template> 135 <template v-else> 136 <div class="ml-4 mb-2" style="display: flex; align-items: flex-start;"> 137 <input class="mt-1" type="checkbox" id="acceptedCookies" @click="changeCookies" v-model="acceptedCookies"> 138 <label class="ml-2 mb-0 text-left" for="acceptedCookies"> 139 Я ÑоглаÑаÑÑÑ Ð½Ð° иÑполÑзование cookie ÑоглаÑно <a :href="cookieUrl" target="_blank">полиÑике</a> 140 </label> 141 </div> 142 <div class="col-12" v-if="!haha"> 143 <button id="kt_login_signin_submit" @click="login()" 144 class="btn btn-primary font-weight-bold col-12" 145 :disabled="!acceptedCookies">{{acceptedCookies ? 'ÐойÑи' : 'ÐÐ»Ñ Ð²Ñ Ð¾Ð´Ð° подÑвеÑдиÑе иÑполÑзование cookie'}} 146 </button> 147 </div> 148<!-- <div class="col-8">--> 149<!-- <a href="#" onclick="window.open('/recoverypassword', '_blank');"--> 150<!-- class=" btn btn-light font-weight-bold col-12"--> 151<!-- style="cursor: pointer;">ÐоÑÑÑановление паÑолÑ ÑÑÑденÑа</a>--> 152<!-- </div>--> 153 <div class="col-12 mt-2"> 154 <a href="#" @click="form = 1" 155 class="btn btn-outline-primary font-weight-bold col-12" 156 style="cursor: pointer;">ÐÑ Ð¾Ð´ Ð´Ð»Ñ ÑÑÑденÑов по лиÑнÑм даннÑм</a> 157 </div> 158 </template> 159 </div> 160 </div> 161 </div> 162 </template> 163 <div class="form-group d-flex flex-wrap justify-content-between align-items-center"> 164 <div class="checkbox-inline"> 165 </div> 166 <button class="btn btn-outline-light btn-sm" data-toggle="modal" data-target="#noLog">Ðе ÑдаеÑÑÑ 167 войÑи? 168 </button> 169 </div> 170 </form> 171 </div> 172 </template> 173 <template v-else> 174 <div class="form" id="kt_login_signin_form"> 175 <!-- <div class="form-group mb-3"> 176 <input 177 :class="'form-control h-auto form-control-solid py-4 px-8 ' + ((email.length >= 4) ? 'is-valid' : ((email.length > 0) ? 'is-invalid':''))" 178 type="text" placeholder="ÐоÑпоÑаÑивнÑе Login или Email." v-model:trim="email" autocomplete="off"
179 @input="checkStudEmail()" @focus="checkStudEmail()" /> 180 </div> --> 181 <div class="form-group mb-3"> 182 <input 183 :class="'form-control h-auto form-control-solid py-4 px-8 ' + ((group.length >= 4 && group.length <= 10) ? 'is-valid' : ((group.length > 0) ? 'is-invalid':''))" 184 type="text" name="group" placeholder="ÐаÑа ÑÑÐµÐ±Ð½Ð°Ñ Ð³ÑÑппа" v-model:trim="group" 185 autocomplete="off"/> 186 </div> 187 <div class="form-group mb-3"> 188 <input 189 :class="'form-control h-auto form-control-solid py-4 px-8 ' + ((ffullname.length >= 4) ? 'is-valid' : ((ffullname.length > 0) ? 'is-invalid':''))" 190 type="text" name="ffullname" placeholder="Ð¤Ð°Ð¼Ð¸Ð»Ð¸Ñ ÐÐ¼Ñ ÐÑÑеÑÑво" v-model="ffullname"/> 191 </div> 192 <div class="form-group mb-5 text-left"> 193 <input 194 :class="'form-control h-auto form-control-solid py-4 px-8 ' + ((bithday.length == 10) ? 'is-valid' : ((bithday.length > 0) ? 'is-invalid':''))" 195 v-model="bithday" name="bithday" type="date" placeholder="ÐаÑа ÑÐ¾Ð¶Ð´ÐµÐ½Ð¸Ñ - 01.01.2020"> 196 <small>ÐаÑа ÑождениÑ</small> 197 </div> 198 <!-- <div class="form-group mb-5"> 199 <input class="form-control h-auto form-control-solid py-4 px-8 mb-0" v-model="passport" type="text" 200 placeholder="СеÑÐ¸Ñ Ð¸ Ð½Ð¾Ð¼ÐµÑ Ð¿Ð°ÑпоÑÑа - 1234 567890" minlength="11" maxlength="11"> 201 </div> --> 202 <div class="form-group mb-3"> 203 <input 204 :class="'form-control h-auto form-control-solid py-4 px-8 ' + ((snils.length == 14) ? 'is-valid' : ((snils.length > 0) ? 'is-invalid':''))" 205 v-model="snils" type="text" name="snils" placeholder="СÐÐÐС - 123-567-901 34" minlength="14" 206 maxlength="14"> 207 </div> 208 <div class="form-group mb-3"> 209 <input 210 :class="'form-control h-auto form-control-solid py-4 px-8 ' + ((inn.length == 12) ? 'is-valid' : ((inn.length > 0) ? 'is-invalid':''))" 211 v-model="inn" type="text" name="inn" placeholder="ÐÐÐ - 123456789012" minlength="12" 212 maxlength="12"> 213 </div> 214 <small class="text-danger">ÐÑе Ð¿Ð¾Ð»Ñ Ð¾Ð±ÑзаÑелÑÐ½Ñ Ð´Ð»Ñ Ð·Ð°Ð¿Ð¾Ð»Ð½ÐµÐ½Ð¸Ñ.</small> 215 <div class="form-group"> 216 <div class="col-12"> 217 <div class="row"> 218 <template v-if="login_status"> 219 <button class="btn btn-primary col-12" type="button" disabled> 220 <span class="spinner-border spinner-border-sm" role="status" 221 aria-hidden="true"></span> 222 ÐÑÑенÑиÑикаÑиÑ, пожалÑйÑÑа подождиÑе... 223 </button> 224 </template> 225 <template v-else> 226 <div class="ml-4 mb-2"> 227 <input type="checkbox" id="acceptedCookies" @click="changeCookies" v-model="acceptedCookies"> 228 <label class="ml-1" for="acceptedCookies"> 229 Я ÑоглаÑаÑÑÑ Ð½Ð° иÑполÑзование cookie ÑоглаÑно <a :href="cookieUrl" target="_blank">полиÑике</a> 230 </label> 231 </div> 232 <div class="col-12"> 233 <button id="kt_login_signin_submit" @click="login()" 234 class="btn btn-primary font-weight-bold col-12" 235 :disabled="!acceptedCookies">ÐойÑи 236 </button> 237 </div> 238 <div class="col-12 mt-2"> 239 <a href="#" @click="form = 0" class="btn btn-light font-weight-bold col-12" 240 style="cursor: pointer;">ÐойÑи по Ð»Ð¾Ð³Ð¸Ð½Ñ Ð¸ паÑолÑ</a> 241 </div> 242 </template> 243 </div> 244 </div> 245 </div> 246 <div class="form-group d-flex flex-wrap justify-content-between align-items-center"> 247 <div class="checkbox-inline"> 248 </div> 249 <button class="btn btn-outline-light btn-sm" data-toggle="modal" data-target="#noLog">Ðе ÑдаеÑÑÑ 250 войÑи? 251 </button> 252 </div> 253 </form> 254 </div> 255 </template> 256 </template> 257</div> 258 259<!-- ÐодалÑное окно --> 260<div class="modal fade" id="noLog" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> 261 <div class="modal-dialog modal-dialog-centered" role="document"> 262 <div class="modal-content"> 263 <div class="modal-header"> 264 <h5 class="modal-title" id="exampleModalLabel">ЧÑо делаÑÑ ÐµÑли не ÑдаеÑÑÑ Ð°Ð²ÑоÑизоваÑÑÑÑ?</h5> 265 <button type="button" class="close" data-dismiss="modal" aria-label="Close">
266 <span aria-hidden="true">×</span> 267 </button> 268 </div> 269 <div class="modal-body p-0"> 270 <div id="accordion"> 271 <div class="card"> 272 <div class="card-header p-1" id="headingTwo"> 273 <h5 class="mb-0"> 274 <button class="btn btn-link collapsed" data-toggle="collapse" data-target="#collapseTwo" 275 aria-expanded="false" aria-controls="collapseTwo"> 276 ÐбÑÑаÑÑемÑÑÑ 277 </button> 278 </h5> 279 </div> 280 <div id="collapseTwo" class="collapse" aria-labelledby="headingTwo" data-parent="#accordion"> 281 <div class="card-body p2"> 282 <p class="mb-0">Ðогин и паÑÐ¾Ð»Ñ Ð·Ð°Ð²Ð¾Ð´ÑÑÑÑ Ð½Ð° ÑÑÑденÑов оÑной и заоÑной ÑоÑÐ¼Ñ Ð¾Ð±ÑÑÐµÐ½Ð¸Ñ Ð¿Ñи 283 Ð¸Ñ Ð·Ð°ÑиÑлении. ÐÐ»Ñ Ñого, ÑÑÐ¾Ð±Ñ ÑзнаÑÑ Ñвой логин и паÑÐ¾Ð»Ñ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ обÑаÑиÑÑÑÑ Ð² 284 ÑÑебнÑÑ ÑаÑÑÑ Ñвоего инÑÑиÑÑÑа.</p> 285 <div class=""> 286 <p class="mb-0">ÐÑманиÑаÑнÑй инÑÑиÑÑÑ: <b>2-й коÑпÑÑ, кабинеÑÑ 301,361.</b></p> 287 <p class="mb-0">ЮÑидиÑеÑкий инÑÑиÑÑÑ: <b>4-й коÑпÑÑ, кабинеÑÑ 208,223.</b></p> 288 <p class="mb-0">ÐнÑÑиÑÑÑ Ð½ÐµÑÑи и газа: <b>3-й коÑпÑÑ, кабинеÑÑ 328,425.</b></p> 289 <p class="mb-0">ÐнÑÑиÑÑÑ ÑиÑÑовой Ñкономики: <b>4-й коÑпÑÑ, кабинеÑÑ 323,325.</b> 290 </p> 291 </div> 292 <hr class="mb-0"/> 293 <p class="mt-2">Ð ÑлÑÑае ÑÑÑаÑÑ Ð¿Ð°ÑолÑ, Ð²Ñ Ð¼Ð¾Ð¶ÐµÑе воÑÑÑановиÑÑ ÐµÐ³Ð¾ воÑполÑзовавÑиÑÑ 294 ÑоÑмой 295 <button class="btn btn-outline-primary btn-sm" 296 onClick='location.href="/recoverypassword"'> 297 ÐоÑÑÑановление паÑÐ¾Ð»Ñ ÑÑÑденÑа 298 </button> 299 </p> 300 </div> 301 </div> 302 </div> 303 <div class="card"> 304 <div class="card-header p-1" id="headingOne"> 305 <h5 class="mb-0"> 306 <button class="btn btn-link" data-toggle="collapse" data-target="#collapseOne" 307 aria-expanded="true" aria-controls="collapseOne"> 308 РабоÑÐ½Ð¸ÐºÑ 309 </button> 310 </h5> 311 </div> 312 <div id="collapseOne" class="collapse" aria-labelledby="headingOne" data-parent="#accordion"> 313 <div class="card-body p-2"> 314 <p class="mt-2 mb-0">ÐÑли Ñ Ð²Ð°Ñ Ñже имеÑÑÑÑ Ð²ÐµÑнÑе логин и паÑолÑ, но вам не ÑдаеÑÑÑ 315 авÑоÑизоваÑÑÑÑ Ð½Ð° Elios 2.0, Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ обÑаÑиÑÑÑÑ Ð² оÑдел ÑазÑабоÑки ÐС 316 </p> 317 </div> 318 </div> 319 </div> 320 <div class="alert alert-light text-dark mt-2 mb-0"> 321 <p class="mb-0">ÐÑ Ð¾Ð´ в ÑиÑÑÐµÐ¼Ñ ÑлекÑÑонной инÑоÑмаÑионно-обÑазоваÑелÑной ÑÑÐµÐ´Ñ <b 322 class="text-primary">Elios</b> <b class="text-muted">2.0</b> 323 доÑÑÑпен ÑолÑко <b style="text-decoration: dotted; cursor: pointer;" 324 title="РабоÑник ÑÑиÑаÑÑÑÑ Ð´ÐµÐ¹ÑÑвÑÑÑими, еÑли на ÑекÑÑÑÑ Ð´Ð°ÑÑ Ñ Ð½Ð¸Ð¼ имееÑÑÑ Ð´ÐµÐ¹ÑÑвÑÑÑий заклÑÑеннÑй ÑÑÑдовой договоÑ, коÑоÑÑй подÑазÑÐ¼ÐµÐ²Ð°ÐµÑ Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑÑ Ð¸ÑполÑÐ·Ð¾Ð²Ð°Ð½Ð¸Ñ ÑабоÑником коÑпоÑаÑивнÑÑ Ð¸Ð½ÑоÑмаÑионнÑÑ ÑиÑÑем ÑнивеÑÑиÑеÑа">дейÑÑвÑÑÑим</b> 325 ÑабоÑникам и <b style="text-decoration: dotted; cursor: pointer;" 326 title="СÑÑÐ´ÐµÐ½Ñ ÑÑиÑаÑÑÑÑ Ð¾Ð±ÑÑаÑÑимÑÑ, еÑли на ÑекÑÑÑÑ Ð´Ð°ÑÑ Ð¾Ð½ не оÑÑилен из ÑиÑла обÑÑаÑÑÐ¸Ñ ÑÑ ÑÑÑденÑов, и не Ð½Ð°Ñ Ð¾Ð´Ð¸ÑÑÑ Ð² академиÑеÑком оÑпÑÑке">обÑÑаÑÑимÑÑ</b> 327 ÑÑÑденÑам ЮÐУ. 328 </p> 329 </div> 330 </div> 331 </div> 332 </div> 333 </div> 334</div> 335 336<template v-if="!acceptedCookies"> 337 <div class="cookie-banner"> 338 <p class="m-0"> 339 ÐÐ»Ñ ÑлÑÑÑÐµÐ½Ð¸Ñ ÑабоÑÑ ÑайÑа и его взаимодейÑÑÐ²Ð¸Ñ Ñ Ð¿Ð¾Ð»ÑзоваÑелÑми Ð¼Ñ Ð¸ÑполÑзÑем ÑÐ°Ð¹Ð»Ñ cookie. 340 ЧÑÐ¾Ð±Ñ Ð¿ÑодолжиÑÑ ÑабоÑÑ Ñ ÑайÑом, подÑвеÑдиÑе иÑполÑзование cookie-Ñайлов ваÑего бÑаÑзеÑа. <br/> 341 ÐÐ»Ñ Ð¿Ð¾Ð»ÑÑÐµÐ½Ð¸Ñ Ð´Ð¾Ð¿Ð¾Ð»Ð½Ð¸ÑелÑной инÑоÑмаÑии ÑмоÑÑиÑе <a :href="cookieUrl" target="_blank">полиÑÐ¸ÐºÑ cookie</a> 342 </p> 343 <div class="cookie-actions"> 344 <button class="cookie-btn btn btn-primary font-weight-bold" style="font-size: 15px;" @click="changeCookies">СоглаÑен</button> 345 </div> 346 </div> 347</template> <div class="alert alert-outline-danger text-center p-1" id="veryOldVersionMessage" hidden> 348 <p class="mb-0">Ð ÑÐ¾Ð¶Ð°Ð»ÐµÐ½Ð¸Ñ Ð±ÑаÑзеÑ, не поддеÑÐ¶Ð¸Ð²Ð°ÐµÑ ÑÑнкÑионал ÑиÑÑемÑ.</p> 349 <p class="mb-0">ÐÑ ÑекомендÑем иÑполÑзоваÑÑ Ð¯Ð½Ð´ÐµÐºÑ ÐÑаÑзеÑ. <img 350 src="/img/system/auth/Yandex-Logo.png" width="32" height="32"/></p> 351 <p class="mb-0"><b>СкаÑаÑÑ</b> и <b>ÑÑÑановиÑÑ</b> новÑÑ Ð²ÐµÑÑÐ¸Ñ Ð¼Ð¾Ð¶Ð½Ð¾ по <a 352 href="https://browser.yandex.ru"><b>ÑÑÑлке</b></a>.</p> 353 </div> 354 </div> 355 356 357 358 <div class="alert alert-light text-center mt-23"> 359 © ФÐÐÐУ ÐРЮгоÑÑкий гоÑÑдаÑÑÑвеннÑй ÑнивеÑÑиÑеÑ. 360 </div> 361 362 <footer> 363 <div class="text-center" style="color: #48465b"> 364 2026 © <a href="" 365 class="text-muted">Elios 2.0</a> 366 </div> 367 </footer> 368 </div> 369 </div> 370 </div> 371</div> 372</div> 373</body>
374<script src="https://itport.ugrasu.ru/js/vendors/jquery/jquery-3.2.1.slim.min.js" type="text/javascript"> 375</script>
vendor: 1 bytes, line 375
375
376<script src="https://itport.ugrasu.ru/js/vendors/popper/popper-1.12.9.min.js" type="text/javascript"> 377</script>
vendor: 1 bytes, line 377
377
378<script src="https://itport.ugrasu.ru/js/vendors/bootstrap/bootstrap-4.0.0.min.js" type="text/javascript"> 379</script>
vendor: 1 bytes, line 379
379
380<script src="https://itport.ugrasu.ru/js/vendors/axios/axios.min.js" type="text/javascript"></script>
vendor: 1 bytes, line 380
380
381<script src="js/vendors/vuejs/vue.min.js"></script>
vendor: 1 bytes, line 381
381
382<script> 383 var veryOldVersionMessage = document.querySelector('#veryOldVersionMessage'); 384 setTimeout(veryOldVersionMessage.removeAttribute('hidden'), 100); 385</script>
vendor: 1 bytes, line 385
385
386<script> 387 new Vue({ 388 el: "#App", 389 data: { 390 email: "", 391 password: "", 392 messages: [], 393 login_status: false, 394 success_status: false, 395 form: 0, 396 ffullname: "", 397 group: "", 398 bithday: "", 399 passport: "", 400 snils: "", 401 inn: "", 402 haha: false, 403 acceptedCookies: false, 404 showPassword: false, 405 cookieUrl: "https://www.ugrasu.ru/upload/iblock/5f3/5qyulgqu74jwwcacw4dx0rgllop23376.pdf" 406 }, 407 methods: { 408 getCookieValue() { 409 return localStorage.getItem('itportAcceptedCookies') === 'true'; 410 }, 411 changeCookies() { 412 this.acceptedCookies = !this.acceptedCookies; 413 localStorage.setItem('itportAcceptedCookies', this.acceptedCookies.toString()); 414 }, 415 login() { 416 this.haha = false; 417 let status = true; 418 if (this.form === 0) { 419 let status = true; 420 if (this.email) { 421 if ((/^(.[@.a-zA-Z0-9_-]*)$/).test(this.email)) { 422 status = false; 423 if (this.email.includes("@")) { 424 status = true; 425 if ((/^[\w-\.]+\@[\w\.-]+\.[a-z]{2,4}$/).test(this.email)) { 426 const domain = this.email.match(/.+@(.+)/).pop(); 427 if (["ugrasu.ru", "edu.ugrasu.ru"].includes(domain)) { 428 status = false; 429 } 430 } 431 } 432 } 433 } 434 if (status) { 435 this.haha = true; 436 return; 437 } 438 } 439 if (this.login_status || !this.getCookieValue()) return; 440 this.login_status = true; 441 this.messages = []; 442 axios({ 443 method: "post", 444 url: "/login", 445 data: { 446 email: this.email, 447 password: this.password, 448 form: this.form, 449 group: this.group, 450 ffullname: this.ffullname, 451 bithday: this.bithday, 452 passport: this.passport, 453 snils: this.snils, 454 inn: this.inn 455 } 456 }).then((response) => { 457 if (response.status === 200) { 458 if (response.data.redirect !== undefined) { 459 460 this.success_status = true; 461 462 const params = new URLSearchParams( 463 window.location.search); 464 465 const url = params.has('redirect') ? 466 params.get('redirect') : response.data.redirect; 467 468 window.location.replace(url); 469 470 } else { 471 this.messages = []; 472 this.messages.push({ 473 type: response.data.type, 474 color: response.data.color, 475 message: response.data.message 476 }); 477 } 478 } else if (response.status === 401) { 479 this.addMessage('danger', 'danger', 480 "ÐолÑзоваÑÐµÐ»Ñ Ñ Ð²Ð²ÐµÐ´ÐµÐ½Ð½Ñми логином и паÑолем не найден."); 481 } else { 482 this.addMessage('danger', 'danger', 483 "ÐÑи авÑоÑизаÑии пÑоизоÑла оÑибка."); 484 } 485 }).then(() => { 486 this.login_status = false;
487 }); 488 }, 489 addMessage(type, color, message) { 490 this.messages = []; 491 this.messages.push({ 492 type: type, 493 color: color, 494 message: message 495 }); 496 }, 497 498 //ÐÐ»Ñ Ð¾ÐºÐ¾Ð½ÑивÑÐ¸Ñ Ð¾Ð±ÑÑение 499 passportFormat() { 500 this.passport = this.passport.trim(); 501 let length = this.passport.length; 502 for (let i = 0; i < length; i++) { 503 if (!this.isNumeric(this.passport[i]) || i > 10) { 504 this.passport = this.passport.replace(this.passport[i], ""); 505 } 506 } 507 if (this.passport.length > 4) { 508 let length = this.passport.length; 509 let new_passport = ""; 510 for (let i = 0; i < length; i++) { 511 if (i < 4) { 512 new_passport = new_passport + this.passport[i]; 513 } else if (i === 4) { 514 new_passport = new_passport + ' ' + this.passport[i]; 515 } else { 516 new_passport = new_passport + this.passport[i]; 517 } 518 } 519 this.passport = new_passport; 520 } 521 }, 522 523 snilsFormat() { 524 this.snils = this.snils.trim(); 525 let length = this.snils.length; 526 for (let i = 0; i < length; i++) { 527 if (!this.isNumeric(this.snils[i]) || i > 14) { 528 this.snils = this.snils.replace(this.snils[i], ""); 529 } 530 } 531 if (this.snils.length > 4) { 532 let length = this.snils.length; 533 let new_snils = ""; 534 for (let i = 0; i < length; i++) { 535 if (i < 3) { 536 new_snils = new_snils + this.snils[i]; 537 } else if (i === 3) { 538 new_snils = new_snils + '-' + this.snils[i]; 539 } else if (i < 6) { 540 new_snils = new_snils + this.snils[i]; 541 } else if (i === 6) { 542 new_snils = new_snils + '-' + this.snils[i]; 543 } else if (i < 9) { 544 new_snils = new_snils + this.snils[i]; 545 } else if (i === 9) { 546 new_snils = new_snils + ' ' + this.snils[i]; 547 } else { 548 new_snils = new_snils + this.snils[i]; 549 } 550 } 551 this.snils = new_snils; 552 } 553 }, 554 555 checkStudEmail() { 556 if (this.email.length > 0) { 557 if (this.email.indexOf("@edu.ugrasu.ru") === -1) { 558 this.email = this.email + "@edu.ugrasu.ru"; 559 } 560 } 561 }, 562 563 innFormat() { 564 this.inn = this.inn.trim(); 565 let length = this.inn.length; 566 for (let i = 0; i < length; i++) { 567 if (!this.isNumeric(this.inn[i]) || i > 11) { 568 this.inn = this.inn.replace(this.inn[i], ""); 569 } 570 } 571 }, 572 573 isNumeric(n) { 574 return !isNaN(parseFloat(n)) && isFinite(n); 575 }, 576 }, 577 watch: { 578 passport: function (val) { 579 this.passportFormat(); 580 return this.passport; 581 }, 582 snils: function (val) { 583 this.snilsFormat(); 584 return this.snils; 585 }, 586 inn: function (val) { 587 this.innFormat(); 588 return this.inn; 589 }, 590 email: function (val) { 591 this.haha = false; 592 return this.email; 593 } 594 }, 595 created() { 596 veryOldVersionMessage = document.querySelector('#veryOldVersionMessage'); 597 if (!veryOldVersionMessage.hasAttribute('hidden')) { 598 document.querySelector('#veryOldVersionMessage').setAttribute('hidden', true); 599 } 600 }, 601 mounted() { 602 this.acceptedCookies = this.getCookieValue() 603 } 604 }) 605</script>
vendor: 1 bytes, line 605
605
606<script src="js/vendors/browserVersionControl/browserVersionControl.min.js" charset="utf-8"></script>
606 607 608<style> 609 .cookie-banner { 610 position: fixed; 611 bottom: 0; 612 left: 0; 613 width: 100%; 614 background-color: #f1f1f1; 615 color: #333; 616 padding: 20px; 617 box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.2); 618 display: flex; 619 justify-content: space-between; 620 align-items: center; 621 z-index: 1000; 622 font-size: 15px; 623 text-align: left; 624 flex: 1; 625 } 626 .cookie-actions { 627 padding: 0 20px; 628 } 629 .cookie-btn { 630 padding: 0.65rem 2.5rem; 631 } 632 633 @media screen and (max-width: 450px) { 634 .cookie-banner { 635 flex-direction: column; 636 } 637 .cookie-actions { 638 width: 100%; 639 margin-top: 10px; 640 padding: 0; 641 } 642 .cookie-btn { 643 width: 100%; 644 } 645 } 646 647 .alert-outline-danger { 648 color: #842029; 649 border: 2px solid #f5c2c7; 650 background-color: transparent; 651 } 652</style> 653 654</html>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.