1var booksArray = []; 2var shelvesArray = []; 3var authorsArray = []; 4var baseBooksArray = []; 5var hiddenBooksUuid = []; 6var userData; 7var completedBooksUuid = []; 8var oldJsonName = "345275cdc30f0956d65371a52557746e"; 9var jsonName = "a8bf5193e775e758d83de163f2c64494"; 10var jsonVFlag = false; 11var allFilesOld = []; 12var allFilesNew = []; 13var allSyncFiles = []; 14 15function gAuthorise(){ 16 loadClient(); 17 // authenticate().then(loadClient); 18} 19 20function authenticate() { 21 return gapi.auth2.getAuthInstance() 22 .signIn({scope: "https://www.googleapis.com/auth/drive.appdata https://www.googleapis.com/auth/drive.file", prompt: "consent"}) 23 .then( 24 function(response){ 25 $(".authWaitingText").hide(); 26 // console.log("Sign-in successful"); 27 // console.log(response.Qt.zu); 28 // document.cookie = "eBooxUserMail=" + response.Qt.zu + ";max-age="+(3600*24*7); 29 document.cookie = "eBooxUserMail= ;max-age="+(3600*24*7); 30 // console.log("--------"); 31 // console.log(response); 32 // console.log("--------"); 33 34 // document.location="/self"; 35 // loadClient(); 36 if (window.location.pathname.substring(window.location.pathname.length-6) != '/self/'){ 37 window.open( 38 'http://eboox.app/self/', 39 '_blank' // <- This is what makes it open in a new window. 40 ); 41 } else { 42 loadClient(); 43 } 44 }, 45 function(err) { 46 console.error("Error signing in", err); 47 loadClient(); 48 } 49 ); 50} 51 52function loadClient() { 53 gapi.client.setApiKey("AIzaSyAoFUg88n4bMT80WxSySP0Y7JqZLZHsMlg"); 54 return gapi.client.load("https://content.googleapis.com/discovery/v1/apis/drive/v3/rest") 55 .then( 56 function(response) { 57 var request = gapi.client.drive.about.get({'fields': 'user'}); 58 request.execute(function(userDataResp) { 59 userData = userDataResp; 60 changeUserInfoPanel(); 61 }); 62 // console.log("GAPI client loaded for API"); 63 // console.log(gapi.client) 64 execute(); 65 }, 66 function(err) { 67 console.error("Error loading GAPI client for API", err); 68 } 69 ); 70} 71 72function execute() { 73 return gapi.client.drive.files.list({ 74 q: "name='" + jsonName + "'", 75 spaces: 'appDataFolder' 76 }) 77 .then( 78 function(response) { 79 if (response.result.files.length == 0){ 80 if (!jsonVFlag){ 81 jsonName = oldJsonName; 82 execute(); 83 jsonVFlag = true; 84 } else { 85 window.location.href = "http://eboox.app/self/empty.php"; 86 } 87 // window.location.href = "empty.php"; 88 } else { 89 // console.log(gapi.auth.getToken().access_token); 90 // try { 91 // document.cookie = 'eBooxAT='+gapi.auth.getToken().access_token+';'; 92 // } 93 // catch (e){ 94 95 // } 96 preloaderAnimation(); 97 } 98 try { 99 allFilesOld = response.result.files; 100 response.result.files[0].id; 101 } catch (e){ 102 jsonName = oldJsonName; 103 jsonVFlag = true; 104 execute(); 105 return false; 106 } 107 allFilesNew = response.result.files; 108 return gapi.client.drive.files.get({ 109 fileId: response.result.files[0].id, 110 alt:'media' 111 }) 112 .then( 113 function(response) { 114 115 116 return gapi.client.drive.files.list({ 117 q: "name='5dc743a2b457a79343c50d298858dd8d'", 118 spaces: 'appDataFolder' 119 }) 120 .then( 121 function(responseSync) { 122 allSyncFiles = responseSync.result.files; 123 if (responseSync.result.files.length > 0){ 124 return gapi.client.drive.files.get({ 125 fileId: responseSync.result.files[0].id, 126 alt:'media' 127 }) 128 .then( 129 function(responseSync){ 130 // console.log(responseSync); 131 // console.log(response.result); 132 133 var progressJsonArray = []; 134 135 if (responseSync.result.length > 0){ 136 progressJsonArray = responseSync.result; 137 // console.log(progressJsonArray); 138 } 139 140 var isLibraryEmpty = true; 141 for (var i = 0; i<response.result.bookSyncDtos.length; i++){ 142 if (!response.result.bookSyncDtos[i].deleted){ 143 isLibraryEmpty = false;
144 } 145 } 146 if (isLibraryEmpty) { 147 document.location="emptybooks.php"; 148 } 149 150 151 // console.log(response.result.bookSyncDtos); 152 // console.log(response); 153 154 // console.log(response); 155 booksArray = response.result.bookSyncDtos; 156 157 // console.log(progressJsonArray); 158 // console.log(booksArray); 159 160 progressJsonArray.forEach(function(item, key){ 161 // console.log(item.bookUuid); 162 booksArray.forEach(function(item1, key1){ 163 if (item1.uuid == item.bookUuid){ 164 // console.log(item1.title); 165 booksArray[key1].lastActionDate = item.lastActionDate; 166 booksArray[key1].maxReadPosition = item.maxReadPosition; 167 booksArray[key1].readPosition = item.position; 168 } 169 }); 170 }); 171 172 173 // console.log(response); 174 booksArray = jQuery.grep(booksArray, function(value) { 175 return (!(value.deleted)); 176 }); 177 for (var i = 0; i< booksArray.length; i++){ 178 if (booksArray[i].lastActionDate != 0){ 179 var bookSortDate = booksArray[i].lastActionDate; 180 } else { 181 var bookSortDate = booksArray[i].creationDate; 182 } 183 booksArray[i].bookSortDate = bookSortDate; 184 } 185 booksArray.sort(function(a,b){ 186 var aName = a.bookSortDate; 187 var bName = b.bookSortDate; 188 // var aName = a.lastActionDate; 189 // var bName = b.lastActionDate; 190 // if (aName == 0){ 191 // var aName = a.creationDate; 192 // var bName = b.creationDate; 193 // } 194 return ((aName < bName) ? -1 : ((aName > bName) ? 1 : 0)); 195 }); 196 booksArray.reverse(); 197 198 recentlyOpened = booksArray[0]; 199 200 var findRecentlyOpenedArray = booksArray; 201 findRecentlyOpenedArray.sort(function(a,b){ 202 var aName = a.lastActionDate; 203 var bName = b.lastActionDate; 204 return ((aName < bName) ? -1 : ((aName > bName) ? 1 : 0)); 205 }); 206 findRecentlyOpenedArray.reverse(); 207 recentlyOpened = findRecentlyOpenedArray[0]; 208 209 var recentlyOpenedCorrect = jQuery.grep(booksArray, function(value) { 210 return (value.lastActionDate != 0); 211 }); 212 if (recentlyOpenedCorrect.length > 0){ 213 recentlyOpened = recentlyOpenedCorrect[0]; 214 } 215 216 shelvesArray = response.result.shelfSyncDtos; 217 shelvesArray = jQuery.grep(shelvesArray, function(value) { 218 return (!(value.deleted)); 219 }); 220 hiddenBooksUuid = jQuery.grep(shelvesArray, function(value) { 221 return (value.shelfType == 3); 222 }); 223 hiddenBooksUuid = hiddenBooksUuid[0].booksUuids; 224 completedBooksUuid = hiddenBooksUuid; 225 226 hiddenBooksUuid = jQuery.grep(shelvesArray, function(value) { 227 return (value.shelfType == 3 || value.hidden == true); 228 }); 229 230 hiddenBooksUuid = []; 231 for (var i = 0; i<shelvesArray.length; i++){ 232 if (shelvesArray[i].shelfType == 3 || shelvesArray[i].hidden == true){ 233 shelvesArray[i].booksUuids.forEach(function(item, key){ 234 hiddenBooksUuid.push(item); 235 }) 236 } 237 } 238 // console.log(hiddenBooksUuid); 239 240 booksImgArray = booksArray; 241 baseBooksArray = booksArray; 242 createBookList(booksArray); 243 createShelfList(); 244 // sortFromTab(); 245 sortFromList($("#sort_"+currentSortPosition),currentSortPosition); 246 getAllBooksCovers(); 247 248 preloaderReady(); 249 250 // избавлÑемÑÑ Ð¾Ñ Ð±Ð°Ð³Ð° Ñ Ð½Ñлевой пÑозÑаÑноÑÑÑÑ Ð±Ð»Ð¾ÐºÐ° поÑле загÑÑзки ÑÑÑаниÑÑ 251 $("#preloader_div").animate({ 252 opacity: 1 253 }, 500, function() { 254 setTimeout(function(){ 255 $(".preloader_mountains").animate( 256 { 257 opacity: 1 258 }, 1000, function(){ 259 setTimeout(function(){ 260 $(".preloader_gradient").animate( 261 { 262 opacity: 1 263 }, 1000, function(){ 264 265 } 266 ) 267 }, 10); 268 } 269 );
270 $(".preloader_upperText").animate( 271 { 272 opacity: 1 273 }, 1000 274 ); 275 }, 10); 276 } 277 ); 278 279 280 281 282 283 284 } 285 ) 286 } else { 287 288 289 // console.log(response.result.bookSyncDtos); 290 console.log(response); 291 booksArray = response.result.bookSyncDtos; 292 // console.log(response); 293 booksArray = jQuery.grep(booksArray, function(value) { 294 return (!(value.deleted)); 295 }); 296 for (var i = 0; i< booksArray.length; i++){ 297 if (booksArray[i].lastActionDate != 0){ 298 var bookSortDate = booksArray[i].lastActionDate; 299 } else { 300 var bookSortDate = booksArray[i].creationDate; 301 } 302 booksArray[i].bookSortDate = bookSortDate; 303 } 304 booksArray.sort(function(a,b){ 305 var aName = a.bookSortDate; 306 var bName = b.bookSortDate; 307 // var aName = a.lastActionDate; 308 // var bName = b.lastActionDate; 309 // if (aName == 0){ 310 // var aName = a.creationDate; 311 // var bName = b.creationDate; 312 // } 313 return ((aName < bName) ? -1 : ((aName > bName) ? 1 : 0)); 314 }); 315 booksArray.reverse(); 316 // console.log(booksArray); 317 recentlyOpened = booksArray[0]; 318 shelvesArray = response.result.shelfSyncDtos; 319 shelvesArray = jQuery.grep(shelvesArray, function(value) { 320 return (!(value.deleted)); 321 }); 322 booksImgArray = booksArray; 323 baseBooksArray = booksArray; 324 createBookList(booksArray); 325 createShelfList(); 326 // sortFromTab(); 327 sortFromList($("#sort_"+currentSortPosition),currentSortPosition); 328 329 getAllBooksCovers(); 330 331 preloaderReady(); 332 333 // избавлÑемÑÑ Ð¾Ñ Ð±Ð°Ð³Ð° Ñ Ð½Ñлевой пÑозÑаÑноÑÑÑÑ Ð±Ð»Ð¾ÐºÐ° поÑле загÑÑзки ÑÑÑаниÑÑ 334 $("#preloader_div").animate({ 335 opacity: 1 336 }, 500, function() { 337 setTimeout(function(){ 338 $(".preloader_mountains").animate( 339 { 340 opacity: 1 341 }, 1000, function(){ 342 setTimeout(function(){ 343 $(".preloader_gradient").animate( 344 { 345 opacity: 1 346 }, 1000, function(){ 347 348 } 349 ) 350 }, 10); 351 } 352 ); 353 $(".preloader_upperText").animate( 354 { 355 opacity: 1 356 }, 1000 357 ); 358 }, 10); 359 } 360 ); 361 362 363 } 364 } 365 ) 366 367 368 }, 369 function(err) { 370 console.error("Execute error", err); 371 loadClient(); 372 } 373 ); 374 }, 375 function(err) { 376 if (!jsonVFlag){ 377 jsonName = oldJsonName; 378 jsonVFlag = true; 379 execute(); 380 } else { 381 // console.error("789Execute error", err); 382 // document.location="login.php"; 383 showLoginLB(); 384 setTimeout(function(){$(".authWaitingText").show()}, 2000); 385 } 386 } 387 ); 388} 389 390function signOut() { 391 var auth2 = gapi.auth2.getAuthInstance(); 392 auth2.signOut().then(function () { 393 // auth2.disconnect(); 394 document.cookie = 'eBooxUserMail =; expires=Thu, 01 Jan 1970 00:00:01 GMT;'; 395 var ua = navigator.userAgent.toLowerCase(); 396 var uaFlag = false; 397 if (ua.indexOf('safari') != -1) { 398 if (ua.indexOf('chrome') > -1) { 399 document.location="login.php"; 400 uaFlag = true; 401 } else { 402 document.location="/self"; 403 uaFlag = true; 404 } 405 } 406 if (!uaFlag){ 407 document.location="login.php"; 408 } 409 }); 410} 411 412function logIn(){ 413 authenticate(); 414} 415 416gapi.load("client:auth2", function() { 417 gapi.auth2.init({client_id: "421713103968-34dhkmhoci0nv6il4nq4eirhovhsgfc5.apps.googleusercontent.com"}) 418 .then( 419 function(response) { 420 // console.log(response); 421 try { 422 // try { 423 // var testSafari = gapi.auth.getToken().access_token; 424 // console.log(gapi.auth.getToken().access_token); 425 tryDownload(); 426 // } catch (e){ 427 // authenticateSafari(); 428 // } 429 } catch (e){ 430 431 } 432 }, 433 function(err) { 434 console.error("Error signing in", err); 435 } 436 ); 437 // console.log("ready"); 438}); 439 440function showLoginLB(){ 441 $('#lb_login_content').load('login_light.php'); 442 setTimeout(function(){$("#lb_login").show(0)}, 100); 443 // $("#lb_login").show(0); 444 $("body").css("overflow", "hidden"); 445}; 446 447function logInSafari(){ 448 return gapi.auth2.getAuthInstance() 449 .signIn({scope: "https://www.googleapis.com/auth/drive.appdata https://www.googleapis.com/auth/drive.file", prompt: "consent"}) 450 .then( 451 function(response){ 452 // $(".authWaitingText").hide(); 453 // continueSafariLoading();
454 tryDownload(); 455 }, 456 function(err) { 457 $(".shineArea").css("border","none"); 458 var notifyCookieLang = "ru"; 459 if (typeof getCookie("eBooxUserLang") != "undefined"){ 460 var notifyCookieLang = getCookie("eBooxUserLang"); 461 } 462 if (notifyCookieLang != "ru"){ 463 $(".shineArea").html('<center><div style="clear: both; height:40px"></div><img src="images/img-cat-empty-4.svg"><p style="font-size: 20px;">Due to the security policies of your browser, <br>reauthorization is required</p><div style="clear: both; height:20px"></div><div class="login_button" style="width: 234px; height: 47px; border-radius: 28px; background: #f54a66; margin: 0 auto; cursor: pointer; color:#fff; font-size: 16px; font-weight: 500; padding-top: 13px;" onclick="logInSafari(); ym(103325464,\'reachGoal\',\'authorization\');" style="padding-right: 12px;"><i class="fas fa-sync-alt"></i> <span class="l_27">ÐÐÐТÐ</span></div></center>'); 464 } else { 465 $(".shineArea").html('<center><div style="clear: both; height:40px"></div><img src="images/img-cat-empty-4.svg"><p style="font-size: 20px;">Ð ÑвÑзи Ñ Ð¿Ð¾Ð»Ð¸Ñиками безопаÑноÑÑи ваÑего бÑаÑзеÑа,<br>Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð° повÑоÑÐ½Ð°Ñ Ð°Ð²ÑоÑизаÑиÑ</p><div style="clear: both; height:20px"></div><div class="login_button" style="width: 234px; height: 47px; border-radius: 28px; background: #f54a66; margin: 0 auto; cursor: pointer; color:#fff; font-size: 16px; font-weight: 500; padding-top: 13px;" onclick="logInSafari(); ym(103325464,\'reachGoal\',\'authorization\');" style="padding-right: 12px;"><i class="fas fa-sync-alt"></i> <span class="l_27">ÐÐÐТÐ</span></div></center>'); 466 } 467 $("#pmp_bookTitle").html(""); 468 } 469 ); 470} 471 472function logInUpload(){ 473 return gapi.auth2.getAuthInstance() 474 .signIn({scope: "https://www.googleapis.com/auth/drive.appdata https://www.googleapis.com/auth/drive.file", prompt: "consent"}) 475 .then( 476 function(response){ 477 // console.log(response); 478 // $(".authWaitingText").hide(); 479 // continueSafariLoading(); 480 $('#lb_login').hide(); 481 $("#preLoginArea").animate({ 482 opacity: 0 483 }, 484 500, function(){ 485 $("#preLoginArea").remove(); 486 }) 487 }, 488 function(err) { 489 $('#lb_login_content').load('login_upload.php'); 490 setTimeout(function(){$("#lb_login").show(0)}, 100); 491 // $("#lb_login").show(0); 492 $("body").css("overflow", "hidden"); 493 } 494 ); 495} 496 497 498 499 500 501 502 503
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.