Prv8 Shell
Server : Apache/2.2.22 (Unix) mod_ssl/2.2.22 OpenSSL/1.0.0-fips mod_auth_passthrough/2.1 mod_bwlimited/1.4
System : Linux server.jackjohnson.com 2.6.32-279.5.2.el6.x86_64 #1 SMP Fri Aug 24 01:07:11 UTC 2012 x86_64
User : jackjohn ( 502)
PHP Version : 5.3.17
Disable Function : NONE
Directory :  /home/jackjohn/public_html/imagemanager/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/jackjohn/public_html/imagemanager/mcimagemanager.js
/**
 * mcimagemanager.js
 *
 * @author Moxiecode
 * @copyright Copyright © 2005, Moxiecode Systems AB, All rights reserved.
 *
 * This file is to be included on all you pages that integrate with the mcimagemanager.
 */

function MCImageManager() {
        // Internal fields
        this.settings = new Array();
        this.inTinyMCE = false;
        this.callerWindow = null;

        // Get document base directory path
        baseDir = document.location.href;
        if (baseDir.indexOf('?') != -1)
                baseDir = baseDir.substring(0, baseDir.indexOf('?'));

        baseDir = baseDir.substring(0, baseDir.lastIndexOf('/') + 1);
        this.documentBasePath = baseDir;

        // Default URL options
        this.settings["document_base_url"] = "/home/jackjohnson/www/jackjohnson.com/";
        this.settings["relative_urls"] = true;
        this.settings["remove_script_host"] = false;
        this.settings["session_id"] = "";
        this.settings["path"] = "../imagemanager/";
        this.settings["rootpath"] = "/home/jackjohnson/www/jackjohnson.com/imagemanager/";
        this.settings["remember_last_path"] = true;
};

MCImageManager.prototype.getScriptPath = function() {
        var elements = document.getElementsByTagName('script');
        var baseDir = this.documentBasePath;

        for (var i=0; i<elements.length; i++) {
                if (elements[i].src && (elements[i].src.indexOf("mcimagemanager.js") != -1 || elements[i].src.indexOf("mcimagemanager_src.js") != -1)) {
                        var src = elements[i].src;
                        src = this.convertRelativeToAbsoluteURL(baseDir, src.substring(0, src.lastIndexOf('/')));

                        return src;
                }
        }

        return null;
};

MCImageManager.prototype.init = function(settings) {
        for (var n in settings)
                this.settings[n] = settings[n];
};

MCImageManager.prototype.getParam = function(name, default_value) {
        var value = null;

        if (this.callSettings && typeof(this.callSettings[name]) != "undefined")
                value = this.callSettings[name];
        else
                value = (typeof(this.settings[name]) == "undefined") ? default_value : this.settings[name];

        // Fix bool values
        if (value == "true" || value == "false")
                return (value == "true");

        return value;
};

MCImageManager.prototype.openInIframe = function(iframe_id, form_name, element_names, file_url, js, settings) {
        if (typeof(settings) == "undefined")
                settings = new Array();

        settings['iframe'] = iframe_id;

        this.open(form_name, element_names, file_url, js, settings);
};

/**
 * Opens the dialog.
 */
MCImageManager.prototype.open = function(form_name, element_names, file_url, js, settings) {
        var doc;

        this.callSettings = settings;

        if (this.callerWindow != null && (typeof(settings) != "undefined" && settings['is_callback']))
                doc = this.callerWindow.document;
        else
                doc = document;

        var url = "/home/jackjohnson/www/jackjohnson.com/imagemanager/images.php?a=b";
        var isMSIE = (navigator.appName == "Microsoft Internet Explorer");

        if (typeof(element_names) != "undefined") {
                // Poll url from field
                if (typeof(file_url) == "undefined" || file_url == '' || file_url == null) {
                        if (element_names.indexOf(',') == -1)
                                file_url = doc.forms[form_name].elements[element_names].value;
                }

                // Form url JS func
                this.targetForm = form_name;
                this.targetElementNames = element_names;

                if (typeof(js) == "undefined" || js == "")
                        url += "&js=mcImageManager.insertFileToForm";
        }

        if (typeof(file_url) != "undefined" && file_url) {
                var pos, absUrl;

                absUrl = this.convertRelativeToAbsoluteURL(this.settings['document_base_url'], file_url);

                // Trim away HTTP
                if ((pos = absUrl.indexOf('://')) != -1) {
                        absUrl = absUrl.substring(pos + 3);

                        if ((pos = absUrl.indexOf('/')) != -1)
                                absUrl = absUrl.substring(pos);
                }

                url += "&url=" + escape(absUrl);
        }

        if (typeof(js) != "undefined" && js)
                url += "&js=" + escape(js);

        url += "&initial_path=" + escape(this.getParam("path"));
        url += "&initial_rootpath=" + escape(this.getParam("rootpath"));
        url += "&remember=" + escape(this.getParam("remember_last_path") ? "true" : "false");

        if (this.getParam("custom_data") != "")
                url += "&custom_data=" + escape(this.getParam("custom_data"));

        if (this.getParam('session_id') != "")
                url += "&sessionid=" + escape(this.getParam('session_id'));
/*
        if (file_url)
                url += "#f_" + file_url.substring(file_url.lastIndexOf('/') + 1);
*/
        var width = 750;
        var height = 450;
        var x = parseInt(screen.width / 2.0) - (width / 2.0);
        var y = parseInt(screen.height / 2.0) - (height / 2.0);

        if (isMSIE) {
                // Pesky MSIE + XP SP2
                width += 15;
                height += 35;
        }

        if ((iframeID = this.getParam("iframe", "")) != "") {
                ife = document.getElementById(iframeID);
                ife.contentWindow.document.location = url;
        } else {
                var win = window.open(url, "MCImageManager", "top=" + y + ",left=" + x + ",scrollbars=no,width=" + width + ",height=" + height + ",resizable=yes");
                if (win == null) {
                        alert('Sorry, but we have noticed that your popup-blocker has disabled a window that provides application functionality. You will need to disable popup blocking on this site in order to fully utilize this tool.');
                        return;
                }

                try {
                        win.focus();
                } catch (e) {
                }
        }
};

MCImageManager.prototype.filebrowserCallBack = function(field_name, url, type, win) {
        var s;

        // Is file manager included, use that one on files
        if (typeof(mcFileManager) != "undefined" && type == "file") {
                mcFileManager.filebrowserCallBack(field_name, url, type, win);
                return;
        }

        // Convert URL to absolute
        url = tinyMCE.convertRelativeToAbsoluteURL(tinyMCE.settings['base_href'], url);

        // Save away
        this.field = field_name;
        this.callerWindow = win;
        this.inTinyMCE = true;

        // Setup instance specific settings
        s = {
                path : tinyMCE.getParam("imagemanager_path"),
                rootpath : tinyMCE.getParam("imagemanager_rootpath"),
                remember_last_path : tinyMCE.getParam("imagemanager_remember_last_path"),
                custom_data : tinyMCE.getParam("imagemanager_custom_data"),
                is_callback : true
        };

        // Open browser
        this.open(0, field_name, url, "mcImageManager.insertFileToTinyMCE", s);
};

MCImageManager.prototype.insertFileToTinyMCE = function(url) {
        if (this.inTinyMCE) {
                var url;

                // Handle old and new style
                if (typeof(TinyMCE_convertURL) != "undefined")
                        url = TinyMCE_convertURL(url, null, true);
                else
                        url = tinyMCE.convertURL(url, null, true);

                // Set URL
                this.callerWindow.document.forms[0].elements[this.field].value = url;

                // Try to fire the onchange event
                try {
                        this.callerWindow.document.forms[0].elements[this.field].onchange();
                } catch (e) {
                        // Skip it
                }
        }
};

MCImageManager.prototype.insertFileToForm = function(url) {
        var elements = this.targetElementNames.split(',');
        var relURLs = this.getParam("relative_urls");

        // Remove proto and host
        if (this.getParam("remove_script_host") || relURLs)
                url = this.removeHost(url);

        // Convert to relative
        if (relURLs)
                url = this.convertAbsoluteURLToRelativeURL(this.removeHost(this.getParam("document_base_url")), url);

        // Set URL to all form fields
        for (var i=0; i<elements.length; i++) {
                var elm = document.forms[this.targetForm].elements[elements[i]];

                if (elm && typeof elm != "undefined")
                        elm.value = url;

                // Try to fire the onchange event
                try {
                        elm.onchange();
                } catch (e) {
                        // Skip it
                }
        }
};

MCImageManager.prototype.removeHost = function(url) {
        var pos = url.indexOf('://');

        if (pos != -1) {
                pos = url.indexOf('/', pos + 3);
                url = url.substring(pos);
        }

        return url;
};

/**
 * Parses a URL in to its diffrent components.
 */
MCImageManager.prototype.parseURL = function(url_str) {
        var urlParts = new Array();

        if (url_str) {
                var pos, lastPos;

                // Parse protocol part
                pos = url_str.indexOf('://');
                if (pos != -1) {
                        urlParts['protocol'] = url_str.substring(0, pos);
                        lastPos = pos + 3;
                }

                // Find port or path start
                for (var i=lastPos; i<url_str.length; i++) {
                        var chr = url_str.charAt(i);

                        if (chr == ':')
                                break;

                        if (chr == '/')
                                break;
                }
                pos = i;

                // Get host
                urlParts['host'] = url_str.substring(lastPos, pos);

                // Get port
                lastPos = pos;
                if (url_str.charAt(pos) == ':') {
                        pos = url_str.indexOf('/', lastPos);
                        urlParts['port'] = url_str.substring(lastPos+1, pos);
                }

                // Get path
                lastPos = pos;
                pos = url_str.indexOf('?', lastPos);

                if (pos == -1)
                        pos = url_str.indexOf('#', lastPos);

                if (pos == -1)
                        pos = url_str.length;

                urlParts['path'] = url_str.substring(lastPos, pos);

                // Get query
                lastPos = pos;
                if (url_str.charAt(pos) == '?') {
                        pos = url_str.indexOf('#');
                        pos = (pos == -1) ? url_str.length : pos;
                        urlParts['query'] = url_str.substring(lastPos+1, pos);
                }

                // Get anchor
                lastPos = pos;
                if (url_str.charAt(pos) == '#') {
                        pos = url_str.length;
                        urlParts['anchor'] = url_str.substring(lastPos+1, pos);
                }

                return urlParts;
        }

        return {path : '', port : '', host : '', query : '', anchor : ''};
};

/**
 * Converts an absolute path to relative path.
 */
MCImageManager.prototype.convertAbsoluteURLToRelativeURL = function(base_url, url_to_relative) {
        var strTok1;
        var strTok2;
        var breakPoint = 0;
        var outputString = "";

        // Crop away last path part
        base_url = base_url.substring(0, base_url.lastIndexOf('/'));
        strTok1 = base_url.split('/');
        strTok2 = url_to_relative.split('/');

        if (strTok1.length >= strTok2.length) {
                for (var i=0; i<strTok1.length; i++) {
                        if (i >= strTok2.length || strTok1[i] != strTok2[i]) {
                                breakPoint = i + 1;
                                break;
                        }
                }
        }

        if (strTok1.length < strTok2.length) {
                for (var i=0; i<strTok2.length; i++) {
                        if (i >= strTok1.length || strTok1[i] != strTok2[i]) {
                                breakPoint = i + 1;
                                break;
                        }
                }
        }

        if (breakPoint == 1)
                return url_to_relative;

        for (var i=0; i<(strTok1.length-(breakPoint-1)); i++)
                outputString += "../";

        for (var i=breakPoint-1; i<strTok2.length; i++) {
                if (i != (breakPoint-1))
                        outputString += "/" + strTok2[i];
                else
                        outputString += strTok2[i];
        }

        return outputString;
};

MCImageManager.prototype.convertRelativeToAbsoluteURL = function(base_url, relative_url) {
        var baseURL = this.parseURL(base_url);
        var relURL = this.parseURL(relative_url);

        if (relative_url == "" || relative_url.charAt(0) == '/' || relative_url.indexOf('://') != -1 || relative_url.indexOf('mailto:') != -1 || relative_url.indexOf('javascript:') != -1 || relative_url.replace(/[ \t\r\n\+]|%20/, '', 'g').charAt(0) == "#")
                return relative_url;

        // Split parts
        baseURLParts = baseURL['path'].split('/');
        relURLParts = relURL['path'].split('/');

        // Remove empty chunks
        var newBaseURLParts = new Array();
        for (var i=baseURLParts.length-1; i>=0; i--) {
                if (baseURLParts[i].length == 0)
                        continue;

                newBaseURLParts[newBaseURLParts.length] = baseURLParts[i];
        }
        baseURLParts = newBaseURLParts.reverse();

        // Merge relURLParts chunks
        var newRelURLParts = new Array();
        var numBack = 0;
        for (var i=relURLParts.length-1; i>=0; i--) {
                if (relURLParts[i].length == 0 || relURLParts[i] == ".")
                        continue;

                if (relURLParts[i] == '..') {
                        numBack++;
                        continue;
                }

                if (numBack > 0) {
                        numBack--;
                        continue;
                }

                newRelURLParts[newRelURLParts.length] = relURLParts[i];
        }

        relURLParts = newRelURLParts.reverse();

        // Remove end from absolute path
        var len = baseURLParts.length-numBack;
        var absPath = (len <= 0 ? "" : "/") + baseURLParts.slice(0, len).join('/') + "/" + relURLParts.join('/');
        var start = "", end = "";

        // Build start part
        if (baseURL['protocol'])
                start += baseURL['protocol'] + "://";

        if (baseURL['host'])
                start += baseURL['host'];

        if (baseURL['port'])
                start += ":" + baseURL['port'];

        // Build end part
        if (relURL['query'])
                end += "?" + relURL['query'];

        if (relURL['anchor'])
                end += "#" + relURL['anchor'];

        // Re-add trailing slash if it's removed
        if (relative_url.charAt(relative_url.length-1) == "/")
                end += "/";

        return start + absPath + end;
};

// Global instance
var mcImageManager = new MCImageManager();

haha - 2025