PHP Classes

File: Web/scripts/roxy/js/utils.js

Recommend this page to a friend!
  Classes of Burge Lab   Burge CMF   Web/scripts/roxy/js/utils.js   Download  
File: Web/scripts/roxy/js/utils.js
Role: Auxiliary data
Content type: text/plain
Description: Auxiliary data
Class: Burge CMF
Framework to publish managed content
Author: By
Last change:
Date: 8 years ago
Size: 8,364 bytes
 

Contents

Class file image Download
/* RoxyFileman - web based file manager. Ready to use with CKEditor, TinyMCE. Can be easily integrated with any other WYSIWYG editor or CMS. Copyright (C) 2013, RoxyFileman.com - Lyubomir Arsov. All rights reserved. For licensing, see LICENSE.txt or http://RoxyFileman.com/license This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see <http://www.gnu.org/licenses/>. Contact: Lyubomir Arsov, liubo (at) web-lobby.com */ var FileTypes = new Array(); FileTypes['image'] = new Array('jpg', 'jpeg', 'png', 'gif'); FileTypes['media'] = new Array('avi', 'flv', 'swf', 'wmv', 'mp3', 'wma', 'mpg','mpeg'); FileTypes['document'] = new Array('doc', 'docx', 'txt', 'rtf', 'pdf', 'xls', 'mdb','html','htm','db'); function RoxyUtils(){} RoxyUtils.FixPath = function(path){ if(!path) return ''; var ret = path.replace(/\\/g, ''); ret = ret.replace(/\/\//g, '/'); ret = ret.replace(':/', '://'); return ret; }; RoxyUtils.FormatDate = function(date){ var ret = ''; try{ ret = $.format.date(date, RoxyFilemanConf.DATEFORMAT); } catch(ex){ //alert(ex); ret = date.toString(); ret = ret.substr(0, ret.indexOf('UTC')); } return ret; }; RoxyUtils.GetPath = function(path){ var ret = ''; path = RoxyUtils.FixPath(path); if(path.indexOf('/') > -1) ret = path.substring(0, path.lastIndexOf('/')); return ret; }; RoxyUtils.GetUrlParam = function(varName, url){ var ret = ''; if(!url) url = self.location.href; if(url.indexOf('?') > -1){ url = url.substr(url.indexOf('?') + 1); url = url.split('&'); for(i = 0; i < url.length; i++){ var tmp = url[i].split('='); if(tmp[0] && tmp[1] && tmp[0] == varName){ ret = tmp[1]; break; } } } return ret; }; RoxyUtils.GetFilename = function(path){ var ret = path; path = RoxyUtils.FixPath(path); if(path.indexOf('/') > -1){ ret = path.substring(path.lastIndexOf('/')+1); } return ret; }; RoxyUtils.MakePath = function(){ ret = ''; if(arguments && arguments.length > 0){ for(var i = 0; i < arguments.length; i++){ ret += ($.isArray(arguments[i])?arguments[i].join('/'):arguments[i]); if(i < (arguments.length - 1)) ret += '/'; } ret = RoxyUtils.FixPath(ret); } return ret; }; RoxyUtils.GetFileExt = function(path){ var ret = ''; path = RoxyUtils.GetFilename(path); if(path.indexOf('.') > -1){ ret = path.substring(path.lastIndexOf('.') + 1); } return ret; }; RoxyUtils.FileExists = function(path) { var ret = false; var url=path; if(!url.startsWith(roxyScriptsDirectory+"/lang/")) url=roxyUploadParentDirectory+"/"+path; $.ajax({ url: url, type: 'HEAD', async: false, dataType:'text', success:function(){ret = true;} }); return ret; }; RoxyUtils.GetFileIcon = function(path){ ret = roxyScriptsDirectory+'/images/filetypes/unknown.png';//'images/filetypes/file_extension_' + RoxyUtils.GetFileExt(path).toLowerCase() + '.png'; if(fileTypeIcons[RoxyUtils.GetFileExt(path).toLowerCase()]){ ret = roxyScriptsDirectory+'/images/filetypes/' + fileTypeIcons[RoxyUtils.GetFileExt(path).toLowerCase()]; } return ret; }; RoxyUtils.GetFileSize = function(path){ var ret = 0; var url=path; if(!url.startsWith(roxyScriptsDirectory+"/lang/")) url=roxyUploadParentDirectory+"/"+path; $.ajax({ url: url, type: 'HEAD', async: false, success:function(d,s, xhr){ ret = xhr.getResponseHeader('Content-Length'); } }); if(!ret) ret = 0; return ret; }; RoxyUtils.GetFileType = function(path){ var ret = RoxyUtils.GetFileExt(path).toLowerCase(); if(ret == 'png' || ret == 'jpg' || ret == 'gif' || ret == 'jpeg') ret = 'image'; return ret; }; RoxyUtils.IsImage = function(path){ var ret = false; if(RoxyUtils.GetFileType(path) == 'image') ret = true; return ret; }; RoxyUtils.FormatFileSize = function(x){ var suffix = 'B'; if(!x) x = 0; if(x > 1024){ x = x / 1024; suffix = 'KB'; } if(x > 1024){ x = x / 1024; suffix = 'MB'; } x = new Number(x); return x.toFixed(2) + ' ' + suffix; }; RoxyUtils.AddParam = function(url, n, v){ url += (url.indexOf('?') > -1?'&':'?') + n + '='+encodeURIComponent(v); return url; }; RoxyUtils.SelectText = function(field_id, start, end) { try{ var field = document.getElementById(field_id); if( field.createTextRange ) { var selRange = field.createTextRange(); selRange.collapse(true); selRange.moveStart('character', start); selRange.moveEnd('character', end-start); selRange.select(); } else if( field.setSelectionRange ) { field.setSelectionRange(start, end); } else if( field.selectionStart ) { field.selectionStart = start; field.selectionEnd = end; } field.focus(); } catch(ex){} }; function RoxyFilemanConf(){} RoxyUtils.LoadConfig = function(){ $.ajax({ url: 'conf.json', dataType: 'json', async:false, success: function(data){ RoxyFilemanConf = data; }, error: function(data){ alert(t('E_LoadingConf')); } }); }; function RoxyLang(){} RoxyUtils.LoadLang = function(){ var langUrl = ''; if(RoxyFilemanConf.LANG && RoxyFilemanConf.LANG.toLowerCase() == 'auto'){ if(RoxyUtils.GetUrlParam('langCode')){ langUrl = roxyScriptsDirectory+'/lang/' + RoxyUtils.GetUrlParam('langCode').substr(0, 2).toLowerCase() + '.json'; } else { var language = window.navigator.userLanguage || window.navigator.language; langUrl = roxyScriptsDirectory+'/lang/' + language.substr(0, 2) + '.json'; } if(!RoxyUtils.FileExists(langUrl)) langUrl = ''; } else{ if(RoxyFilemanConf.LANG){ langUrl = roxyScriptsDirectory+'/lang/' + RoxyFilemanConf.LANG.substr(0, 2).toLowerCase() + '.json'; if(!RoxyUtils.FileExists(langUrl)) langUrl = ''; } } if(!langUrl) langUrl = roxyScriptsDirectory+'/lang/en.json'; $.ajax({ url: langUrl, dataType: 'json', async:false, success: function(data){ RoxyLang = data; }, error: function(data){ alert('Error loading language file'); } }); }; RoxyUtils.Translate = function(){ RoxyUtils.LoadLang(); $('[data-lang-t]').each(function(){ var key = $(this).attr('data-lang-t'); $(this).prop('title', t(key)); }); $('[data-lang-v]').each(function(){ var key = $(this).attr('data-lang-v'); $(this).prop('value', t(key)); }); $('[data-lang]').each(function(){ var key = $(this).attr('data-lang'); $(this).html(t(key)); }); }; RoxyUtils.GetCookies = function() { var ret = new Object(); var tmp = document.cookie.replace(' ',''); tmp = tmp.split(';'); for(i in tmp){ var s = tmp[i].split('='); if(s.length > 1){ ret[$.trim(s[0].toString())] = decodeURIComponent($.trim(s[1].toString())) || ''; } } return ret; } RoxyUtils.GetCookie = function(key) { var tmp = RoxyUtils.GetCookies(); return tmp[key] || ''; } RoxyUtils.SetCookie = function(key, val, hours, path) { var expires = new Date(); if(hours){ expires.setTime(expires.getTime() + (hours * 3600 * 1000)); } if(!path){ path = '/'; } document.cookie = key + '=' + encodeURIComponent(val) + '; path=' + path + (hours?'; expires=' + expires.toGMTString():''); } RoxyUtils.ToBool = function(val){ var ret = false; val = val.toString().toLowerCase(); if(val == 'true' || val == 'on' || val == 'yes' || val == '1') ret = true; return ret; } RoxyUtils.UnsetCookie = function(key) { document.cookie = key + "=; expires=Thu, 01 Jan 1972 00:00:00 UTC"; } function t(tag){ var ret = tag; if(RoxyLang && RoxyLang[tag]) ret = RoxyLang[tag]; return ret; }