���� JFIF �� � ( %"1"%)+...383,7(-.-
![]() Server : Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/7.4.20 System : Linux st2.domain.com 3.10.0-1127.10.1.el7.x86_64 #1 SMP Wed Jun 3 14:28:03 UTC 2020 x86_64 User : apache ( 48) PHP Version : 7.4.20 Disable Function : NONE Directory : /var/www/html/lnovel/layout/novel/js/ |
var Utils = function(){ return { strtotime: function(date){ return Utils.date2time(date).getTime(); }, date2time: function(date){ if(!date) return new Date(1970,0,1,0,0,0); date = date.split(' '); var ds = date[0].split('-'); if(date.length==2) var hs = date[1].split(':'); else var hs = ['00','00','00'] return new Date(ds[0],parseInt(ds[1])-1,ds[2],hs[0],hs[1],hs[2]); }, leadingZero: function(num){ num = parseInt(num); return (num < 10 ? '0' : '') + num; }, formatDate: function(date,format){ if(typeof date == 'string') date = this.date2time(date); format = format.replace(/H/g,Utils.leadingZero(date.getHours())); format = format.replace(/\i/g,Utils.leadingZero(date.getMinutes())); format = format.replace(/s/g,Utils.leadingZero(date.getSeconds())); format = format.replace(/d/g,Utils.leadingZero(date.getDate())); format = format.replace(/m/g,Utils.leadingZero(parseInt(date.getMonth())+1)); format = format.replace(/Y/g,Utils.leadingZero(date.getFullYear())); return format; }, storyLink: function(item){ return location.origin+'/'+item.alias+'.'+item.storyID+'/' }, genreLink: function(item){ return location.origin+'/'+item.slug+'/'; }, chapterNo: function(item){ var name = langs.chapNo.replace('%d',item.chapNo); if(item.bookNo) name = langs.bookNo.replace('%d',item.bookNo)+' - '+name; return name; }, chapter_fullname: function(item){ var name = Utils.chapterNo(item); if(!item.name) return name; return name+': '+item.name; }, comicChapterLink: function(comic,item,language){ var chapterKeywords = { vi: { chapter: 'chuong', book: 'quyen' } }; if(typeof language=='undefined') language = document.documentElement.lang; if(typeof chapterKeywords[language]=="undefined") return location.origin+'/comic/'+comic.comicID+'/'+item.chapterID+'.html'; var alias = chapterKeywords[language].chapter+'-'+item.chapNo; if(item.bookNo) alias = chapterKeywords[language].book+'-'+item.bookNo+'-'+alias; return location.origin+'/'+comic.alias+'.c'+comic.comicID+'/'+alias+'.html'; }, chapterLink: function(story,item,language){ var chapterKeywords = { vi: { chapter: 'chuong', book: 'quyen' } }; if(typeof language=='undefined') language = document.documentElement.lang; if(typeof chapterKeywords[language]=="undefined") return location.origin+'/chapter/'+story.storyID+'/'+item.chapterID+'.html'; var alias = chapterKeywords[language].chapter+'-'+item.chapNo; if(item.bookNo) alias = chapterKeywords[language].book+'-'+item.bookNo+'-'+alias; return location.origin+'/'+story.alias+'.'+story.storyID+'/'+alias+'.html'; }, profileLink: function(userData){return location.origin+'/profile/'+userData.userID+'/';}, authorLink: function(id){return location.origin+'/author/'+id+'/';}, userAvatar: function(userData){ if(!userData.avatar) return cdnUrl+'/avatars/avatar.png'; return cdnUrl+'/avatars/'+Math.floor(userData.userID/2000)+'/'+userData.userID+userData.avatar+'.webp'; }, number_format: function(number, decimals, dec_point, thousands_sep) { number = (number + '') .replace(/[^0-9+\-Ee.]/g, ''); var n = !isFinite(+number) ? 0 : +number, prec = !isFinite(+decimals) ? 0 : Math.abs(decimals), sep = (typeof thousands_sep === 'undefined') ? ',' : thousands_sep, dec = (typeof dec_point === 'undefined') ? '.' : dec_point, s = '', toFixedFix = function(n, prec) { var k = Math.pow(10, prec); return '' + (Math.round(n * k) / k) .toFixed(prec); }; // Fix for IE parseFloat(0.55).toFixed(0) = 0; s = (prec ? toFixedFix(n, prec) : '' + Math.round(n)) .split('.'); if (s[0].length > 3) { s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, sep); } if ((s[1] || '') .length < prec) { s[1] = s[1] || ''; s[1] += new Array(prec - s[1].length + 1) .join('0'); } return s.join(dec); }, parseUser: function(){ var jwtData = getCookie(jwtKey); if(jwtData=='') return false; jwtData = jwtData.split('.'); if(jwtData.length!=3) return false; var uData = JSON.parse(atob(jwtData[1])); if(uData.expired<=(new Date()).getTime()/1000) return false; return uData.data; }, thumbnail: function(item,size){var size=size.split('x');return '<img src="'+cdnUrl+'/covers/'+Math.floor(item.storyID/1000).toString()+'/'+item.storyID+'-'+item.alias+'-'+size.join('x')+'.'+(isSuportWebp?'webp':'jpg')+'" width="'+size[0]+'" height="'+size[1]+'" alt="'+item.alias+'"/>';}, story_genres: function(item,jointer){ var gs = item.genres.split(','); var str = []; for(var i=0;i<gs.length;i++){ if(typeof genres[gs[i]] != "undefined") str.push(genres[gs[i]].name); } return str.join(jointer); }, schedule_desc: function(schedule){ if(!schedule) return ''; return schedule.replace('%y',langs.time.year).replace('%d',langs.time.day).replace('%w',langs.time.week).replace('%m',langs.time.month).replace('%c',langs.chapters).replace('/',' một '); }, getParams: function(){ var queryString = window.location.search; if(!queryString) return false; queryString = queryString.substr(1); var tmps = queryString.split('&'); var params = {},tmp; for(var i=0;i<tmps.length;i++){ tmp = tmps[i].split('='); params[tmp[0]] = tmp[1]; } return params; }, default_date_format: function(lang,f){ var formats = { vi_js: 'dd/mm/yyyy', vi_php: 'd/m/Y' } return formats[lang+'_'+f]; }, default_datetime_format: function(lang,f){ var formats = { vi_js: 'H:i:s dd/mm/yyyy', vi_php: 'H:i:s d/m/Y' } return formats[lang+'_'+f]; }, genre_fullname: function(genre){ if(genre.name.indexOf(langs.genre_prefix)==0) return genre.name; return langs.genre_prefix+' '+genre.name; }, nl2br: function(content){ var breakTag = '<br />'; var replaceStr = '$1'+ breakTag; return (content + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, replaceStr); }, ago: function(dateString){ var t; if(typeof dateString == "number") t = dateString; else t = parseInt(Utils.strtotime(dateString))/1000; var d = Math.round((new Date()).getTime()/1000) - t; if(d<60) return langs.time.second_ago; if(d<3600) return langs.time.minute_ago.replace('%d',Math.floor(d/60)); if(d<3600*24) return langs.time.hour_ago.replace('%d',Math.floor(d/3600)); if(d<3600*24*30) return langs.time.day_ago.replace('%d',Math.floor(d/(3600*24))); return langs.time.month_ago; }, pagination: function(total,numperpage,paged,url_format,first_url,num){ numperpage = typeof numperpage !== "undefined"? numperpage:25; paged = typeof paged !== "undefined" ? parseInt(paged): 1; num = typeof num!=='undefined'?num:3; if(total<=numperpage) return ''; var numofpage = Math.ceil(total/numperpage); var str = '<li class="active"><a href="#" rel="nofollow">'+paged+'</a></li>'; for(var i=1;i<=num;i++){ if(paged-i>0){ if(paged-i==1) str = '<li><a href="'+first_url+'">1</a></li>'+str; else str = '<li><a href="'+url_format.replace('%d',paged-1)+'">'+(paged-i)+'</a></li>'+str; } if(paged+i<=numofpage){ str += '<li><a href="'+url_format.replace('%d',paged+i)+'">'+(paged+i)+'</a></li>'; } } if(paged-num-1>0){ str = '<li><a href="'+first_url+'">1</a></li><li class="dot"><span>...</span></li>'+str; } if(paged+num<numofpage){ str += '<li class="dot"><span>...</span></li><li><a href="'+url_format.replace('%d',numofpage)+'">'+numofpage+'</a></li>'; } if(paged>1){ if(paged-1==1) str = '<li><a href="'+first_url+'" title="Trang trước"><i class="fas fa-angle-left"></i></a></li>'+str; else str = '<li><a href="'+url_format.replace('%d',paged-1)+'" title="Trang trước"><i class="fas fa-angle-left"></i></a></li>'+str; } if(paged<numofpage){ str += '<li><a href="'+url_format.replace('%d',paged+1)+'" title="Trang sau"><i class="fas fa-angle-right"></i></a></li>'; } return str; }, htmlEntities: function (str) { return String(str).replace(/&/g, '&').replace(/</g, '<').replace(/>/g, '>').replace(/"/g, '"'); } } }();