Вход Регистрация
Файл: upload/static/jscript/ajax.js
Строк: 123
<?php
/**
 * Creates an AJAX call using jQuery.load()
 * Data is inserted into DOM
 *
 * @param string sCall Name of the Component
 * @param string sExtra Extra params we plan to pass
 */
$.ajaxBox = function(sCall, sExtra)
{
    var 
sParams = getParam('sJsAjax') + '?' + getParam('sGlobalTokenName') + '[ajax]=true&' + getParam('sGlobalTokenName') + '[call]=' + sCall;
    if (
sExtra)
    {
        
sParams += '&' + sExtra;
    }    
    
    if (!
sParams.match(/[security_token]/i))
    {
        
sParams += '&' + getParam('sGlobalTokenName') + '[security_token]=' + oCore['log.security_token'];
    }    
    
    return 
sParams;
}

var 
oCacheAjaxRequest = null;
var 
aCacheAjaxLastCall = {};

window.onbeforeunload = function() 
{
    if (
oCacheAjaxRequest !== null)
    {
        
oCacheAjaxRequest.abort();
    }    
}

/**
 * Create AJAX Call
 *
 * @param    string    sFunction    Name of the function we plan to use
 * @param    string    sId    Form ID
 */
$.fn.ajaxCall = function(sCall, sExtra, bNoForm, sType)
{    
    if (empty(
sType))
    {
        
sType = 'POST';
    }
    var 
sUrl = getParam('sJsAjax');
    
    if (
typeof oParams['im_server'] != 'undefined' && sCall.indexOf('im.') > (-1))
    {
        
sUrl = getParam('sJsAjax').replace(getParam('sJsHome'),getParam('im_server'));
    }
    
    var 
sParams = '&' + getParam('sGlobalTokenName') + '[ajax]=true&' + getParam('sGlobalTokenName') + '[call]=' + sCall + '' + (bNoForm ? '' : this.getForm());
    if (
sExtra)
    {
        
sParams += '&' + ltrim(sExtra, '&');
    }
    
    if (!
sParams.match(/[security_token]/i))
    {
        
sParams += '&' + getParam('sGlobalTokenName') + '[security_token]=' + oCore['log.security_token'];
    }
    
    
sParams += '&' + getParam('sGlobalTokenName') + '[is_admincp]=' + (oCore['core.is_admincp'] ? '1' : '0');
    
sParams += '&' + getParam('sGlobalTokenName') + '[is_user_profile]=' + (oCore['profile.is_user_profile'] ? '1' : '0');
    
sParams += '&' + getParam('sGlobalTokenName') + '[profile_user_id]=' + (oCore['profile.user_id'] ? oCore['profile.user_id'] : '0');    

    if (
getParam('bJsIsMobile')){
        
sParams += '&js_mobile_version=true';
    }
    
    
oCacheAjaxRequest = $.ajax(
    {
            
type: sType,
              
url: sUrl,//getParam('sJsStatic') + "ajax.php",
              
dataType: "script",    
            
data: sParams            
        
}
    );
    return 
oCacheAjaxRequest;
}

$.
ajaxCall = function(sCall, sExtra, sType)
{
    return $.
fn.ajaxCall(sCall, sExtra, true, sType);
}

/**
 * Get form details
 * @param    string    frm    Form ID or Element ID
 * @return    string    Return parsed URL string
 */
$.fn.getForm = function()
{
    var 
objForm = this.get(0);    
    var 
prefix = "";
    var 
submitDisabledElements = false;
    
    if (
arguments.length > 1 && arguments[1] == true)
    {
        
submitDisabledElements = true;
    }
    
    if(
arguments.length > 2)
    {
        
prefix = arguments[2];
    }

    var 
sXml = '';
    if (
objForm && objForm.tagName == 'FORM')
    {
        var 
formElements = objForm.elements;        
        for(var 
i=0; i < formElements.length; i++)
        {
            if (!
formElements[i].name)
            {
                continue;
            }
            
            if (
formElements[i].name.substring(0, prefix.length) != prefix)
            {
                continue;
            }
            
            if (
formElements[i].type && (formElements[i].type == 'radio' || formElements[i].type == 'checkbox') && formElements[i].checked == false)
            {
                continue;
            }
            
            if (
formElements[i].disabled && formElements[i].disabled == true && submitDisabledElements == false)
            {
                continue;
            }
            
            var 
name = formElements[i].name;
            if (
name)
            {                
                
sXml += '&';
                if(
formElements[i].type=='select-multiple')
                {
                    for (var 
j = 0; j < formElements[i].length; j++)
                    {
                        if (
formElements[i].options[j].selected == true)
                        {
                            
sXml += name+"="+encodeURIComponent(formElements[i].options[j].value)+"&";
                        }
                    }
                }
                else
                {
                    
sXml += name+"="+encodeURIComponent(formElements[i].value);
                }
            }
        }
    }    

    if ( !
sXml && objForm)
    {
        
sXml += "&" + objForm.name + "="+ encodeURIComponent(objForm.value);
    }    
    
    return 
sXml;
}
?>
Онлайн: 1
Реклама