Файл: IPBMafia.ru_IPB_3.4.6_Final_Rus _Nulled/board/upload/admin/js/acp.js
Строк: 216
<?php
var IPBACP = Class.create({
autocompleteWrap: new Template("<ul id='#{id}' class='ipbmenu_content' style='width: 250px;'></ul>"),
autocompleteItem: new Template("<li id='#{id}'>#{itemvalue}</li>"),
autocompleteUrl: '',
initialize: function()
{
// Tell everyone we are ready
document.observe("dom:loaded", function(){
Ajax.Responders.register({
onLoading: function() {
if( !$('ajax_loading') )
{
if( !ipb.templates['ajax_loading'] ){ return; }
$('ipboard_body').insert( ipb.templates['ajax_loading'] );
}
var effect = new Effect.Appear( $('ajax_loading'), { duration: 0.2 } );
},
onComplete: function() {
if( !$('ajax_loading') ){ return; }
var effect = new Effect.Fade( $('ajax_loading'), { duration: 0.2 } );
},
onSuccess: function(t){
if( t.responseText == 'logout' )
{
alert( ipb.lang['session_timed_out'] );
window.location.href = ipb.vars['base_url'];
}
if( t.responseJSON && t.responseJSON['__session__expired__log__out__'] )
{
alert( ipb.lang['session_timed_out'] );
window.location.href = ipb.vars['base_url'];
}
}
});
//this.autocompleteUrl = ipb.vars['front_url'] + 'app=core&module=ajax§ion=findnames&do=get-member-names&secure_key=' + ipb.vars['md5_hash'] + '&name=';
this.autocompleteUrl = ipb.vars['base_url'] + 'app=core&module=ajax§ion=findnames&do=get-member-names&secure_key=' + ipb.vars['md5_hash'] + '&name=';
/* Check ajax ping dialogues */
$$('.ajaxWithDialogueTrigger').each( function( elem ) {
elem.identify();
elem.observe( 'click', acp.ajaxWithResultClickThrough );
});
/* License expired notification close */
if( $('license-close') )
{
$('license-close').observe( 'click', function( elem ) {
var cookieExpire = new Date();
cookieExpire.setDate( cookieExpire.getDate()+30 );
ipb.Cookie.set( 'ignore-license-notice', 1, cookieExpire.toUTCString() );
var effect = new Effect.Fade( $('license_notice_expired'), { duration: 0.3, afterFinish: function(){
$$('body')[0].removeClassName('expired_license');
} } );
} );
}
}.bind(this));
},
/**
* Sets up handlers for ajaxWithResultAsDialogue with as little intervention as possible
*/
ajaxWithResultClickThrough: function( e )
{
elem = Event.findElement(e).up('.ajaxWithDialogueTrigger');
if ( $(elem.id) )
{
urlBit = $(elem.id).readAttribute( 'ajaxUrl' );
if ( urlBit )
{
Event.stop(e);
ipb.menus.closeAll();
acp.ajaxWithResultAsDialogue( urlBit );
}
}
},
/**
* AJAX PHP function is expected to return JSON['error'] (msg) or JSON['ok'] (msg)
*/
ajaxWithResultAsDialogue: function( url )
{
if ( ! url.match( 'http://') )
{
url = ipb.vars['base_url'] + url;
}
if ( ! url.match( 'md5check' ) )
{
url += '&md5check=' + ipb.vars['md5_hash'];
}
url = url.replace( /&/g, '&' );
Debug.write( url );
/* Send AJAX request */
new Ajax.Request( url, { method: 'get',
evalJSON: 'force',
onSuccess: function(t)
{
if ( ! t.responseJSON )
{
acp.errorDialogue( 'К сожалению, возникла проблема при обработке запроса :(' );
}
if ( t.responseJSON['error'] )
{
acp.errorDialogue( t.responseJSON['error'] );
}
else if ( t.responseJSON['ok'] )
{
acp.okDialogue( t.responseJSON['ok'] );
}
}
} );
},
/**
* Show an error dialogue
* @param string
* @returns Nothing
*/
errorDialogue: function( text )
{
content = "<h3>Ошибка</h3><div class='ajax-inline-error' style='height: 40px; text-align:center'><p class='ipsPad'>" + text + "</p></div>";
new ipb.Popup( 'generic__errorDialogue', { type: 'pane',
initial: content,
stem: true,
hideAtStart: false,
hideClose: false,
defer: false,
warning: true,
w: 400 } );
},
/**
* Show an OK dialogue
* @param string
* @returns Nothing
*/
okDialogue: function( text )
{
content = "<h3>Сообщение</h3><div class='ajax-inline-message' style='height: 40px; text-align:center'><p class='ipsPad'>" + text + "</p></div>";
new ipb.Popup( 'generic__okDialogue', { type: 'pane',
initial: content,
stem: true,
hideAtStart: false,
hideClose: false,
defer: false,
w: 400 } );
},
confirmDelete: function( url, msg )
{
url = url.replace( /&/g, '&' );
if ( ! msg )
{
msg = ipb.lang['ok_to_delete'];
}
if ( confirm( msg ) )
{
window.location.href = url;
}
else
{
return false;
}
},
openWindow: function( url, width, height, name )
{
if ( ! name )
{
var mydate = new Date();
name = mydate.getTime();
}
var Win = window.open( url, name, 'width='+width+',height='+height + ',resizable=1,scrollbars=1,location=no,directories=no,status=no,menubar=no,toolbar=no');
return false;
},
redirect: function( url, full )
{
url = url.replace( /&/g, '&' );
if ( ! full )
{
url = ipb.vars['base_url'] + url;
}
window.location.href = url;
},
// Todo: language abstraction
pageJump: function( url_bit, total_posts, per_page )
{
pages = 1;
cur_st = ipb.vars['st'];
cur_page = 1;
if ( total_posts % per_page == 0 )
{
pages = total_posts / per_page;
}
else
{
pages = Math.ceil( total_posts / per_page );
}
msg = ipb.lang['page_multijump'] + pages;
if ( cur_st > 0 )
{
cur_page = cur_st / per_page; cur_page = cur_page -1;
}
show_page = 1;
if ( cur_page < pages )
{
show_page = cur_page + 1;
}
if ( cur_page >= pages )
{
show_page = cur_page - 1;
}
else
{
show_page = cur_page + 1;
}
userPage = prompt( msg, show_page );
if ( userPage > 0 )
{
if ( userPage < 1 ) { userPage = 1; }
if ( userPage > pages ) { userPage = pages; }
if ( userPage == 1 ) { start = 0; }
else { start = (userPage - 1) * per_page; }
window.location = url_bit + "&st=" + start;
}
},
ajaxRefresh: function( url, text, addtotext )
{
new Ajax.Request(
url + '&__notabsave=1',
{
method: 'post',
onSuccess: function( t )
{
var html = t.responseText;
eval( html );
},
onFailure: function()
{
},
onException: function()
{
}
}
);
if ( text )
{
// Put it to the top
if ( addtotext )
{
$('refreshbox').innerHTML = text + '<br />' + $('refreshbox').innerHTML;
}
else
{
$('refreshbox').innerHTML = text;
}
}
},
location_jump: function( url, full )
{
url=url.replace( /&/g,'&');
if(full){
window.location.href=url;
} else {
window.location.href=ipb.vars['base_url']+url;
}
}
});
?>