196 lines
5.4 KiB
JavaScript
196 lines
5.4 KiB
JavaScript
/************************************************/
|
|
/* IPB3 Javascript */
|
|
/* -------------------------------------------- */
|
|
/* ips.warn.js - Warning system javascript */
|
|
/* (c) IPS, Inc 2011 */
|
|
/* -------------------------------------------- */
|
|
/* Author: Mark Wade */
|
|
/************************************************/
|
|
|
|
|
|
var _idx = window.IPBoard;
|
|
|
|
_idx.prototype.warn = {
|
|
|
|
/*------------------------------*/
|
|
/* Constructor */
|
|
init: function()
|
|
{
|
|
document.observe("dom:loaded", function(){
|
|
$('reason-select').observe('change', ipb.warn.changeReason.bindAsEventListener( this ) );
|
|
$('points-field').observe('change', ipb.warn.changeReason.bindAsEventListener( this ) );
|
|
$('mq_perm').observe('change', ipb.warn.showTime.bindAsEventListener( this, 'mq' ) );
|
|
$('rpa_perm').observe('change', ipb.warn.showTime.bindAsEventListener( this, 'rpa' ) );
|
|
$('suspend_perm').observe('change', ipb.warn.showTime.bindAsEventListener( this, 'suspend' ) );
|
|
$('change-punishment-button').observe('click', ipb.warn.showCustom.bindAsEventListener( this ) );
|
|
$('points-explain-button').observe('click', ipb.warn.explainPoints.bindAsEventListener( this ) );
|
|
});
|
|
},
|
|
|
|
/*------------------------------*/
|
|
/* Change Reason Select Box */
|
|
changeReason: function( e )
|
|
{
|
|
if ( $('reason-select').value != '' )
|
|
{
|
|
if( e.target.id == 'reason-select' )
|
|
{
|
|
$('points-field').value = '';
|
|
}
|
|
|
|
new Ajax.Request( ipb.vars['base_url'] + "app=members§ion=warnings&module=ajax&do=form&md5check=" + ipb.vars['secure_hash'],
|
|
{
|
|
method: 'post',
|
|
evalJSON: 'force',
|
|
parameters: {
|
|
id: $('reason-select').value,
|
|
member: window.location.toString().toQueryParams().member,
|
|
points: $('points-field').value
|
|
},
|
|
onSuccess: function(t)
|
|
{
|
|
if( Object.isUndefined( t.responseJSON ) )
|
|
{
|
|
alert( ipb.lang['action_failed'] );
|
|
return;
|
|
}
|
|
|
|
if ( t.responseJSON['error'] )
|
|
{
|
|
alert( t.responseJSON['error'] );
|
|
}
|
|
else
|
|
{
|
|
if ( t.responseJSON['manuallySetPoints'] == 1 )
|
|
{
|
|
new Effect.Appear( $('points-li'), { duration: 0.3 } );
|
|
}
|
|
else
|
|
{
|
|
new Effect.Fade( $('points-li'), { duration: 0.3 } );
|
|
}
|
|
|
|
if ( t.responseJSON['allowCustomRemovePoints'] == 1 )
|
|
{
|
|
new Effect.Appear( $('remove-points-li'), { duration: 0.3 } );
|
|
$('remove_input').value = t.responseJSON['removePoints'];
|
|
$('remove_unit_select').value = t.responseJSON['removePointsUnit'];
|
|
}
|
|
else
|
|
{
|
|
new Effect.Fade( $('remove-points-li'), { duration: 0.3 } );
|
|
}
|
|
|
|
if ( !isNaN(t.responseJSON['setPoints']) )
|
|
{
|
|
$('points-field').value = t.responseJSON['setPoints'];
|
|
}
|
|
else
|
|
{
|
|
$('points-field').value = '';
|
|
}
|
|
|
|
$('specified-punishment').innerHTML = t.responseJSON['setPunishment'];
|
|
|
|
if ( t.responseJSON['allowCustomPunishment'] == 1 )
|
|
{
|
|
$('change-punishment-button').show();
|
|
}
|
|
else
|
|
{
|
|
$('change-punishment-button').hide();
|
|
}
|
|
|
|
if ( t.responseJSON['mq'] == -1 )
|
|
{
|
|
$('mq_perm').checked = 'checked';
|
|
$('mq_time').hide();
|
|
}
|
|
else
|
|
{
|
|
$('mq_perm').checked = '';
|
|
$('mq_time').show();
|
|
$('mq_input').value = t.responseJSON['mq'];
|
|
}
|
|
$('mq_unit_select').value = t.responseJSON['mq_unit'];
|
|
|
|
if ( t.responseJSON['rpa'] == -1 )
|
|
{
|
|
$('rpa_perm').checked = 'checked';
|
|
$('rpa_time').hide();
|
|
}
|
|
else
|
|
{
|
|
$('rpa_perm').checked = '';
|
|
$('rpa_time').show();
|
|
$('rpa_input').value = t.responseJSON['rpa'];
|
|
}
|
|
$('rpa_unit_select').value = t.responseJSON['rpa_unit'];
|
|
|
|
if ( t.responseJSON['suspend'] == -1 )
|
|
{
|
|
$('suspend_perm').checked = 'checked';
|
|
$('suspend_time').hide();
|
|
}
|
|
else
|
|
{
|
|
$('suspend_perm').checked = '';
|
|
$('suspend_time').show();
|
|
$('suspend_input').value = t.responseJSON['suspend'];
|
|
}
|
|
$('suspend_unit_select').value = t.responseJSON['suspend_unit'];
|
|
|
|
if ( t.responseJSON['ban_group'] == 1 )
|
|
{
|
|
$('ban_group').checked = 'checked';
|
|
}
|
|
else
|
|
{
|
|
$('ban_group').checked = '';
|
|
}
|
|
|
|
}
|
|
}
|
|
});
|
|
}
|
|
},
|
|
|
|
/*------------------------------*/
|
|
/* Show/hide time frames */
|
|
showTime: function( e, type )
|
|
{
|
|
if ( $( type + '_perm' ).checked )
|
|
{
|
|
new Effect.Fade( $( type + '_time' ), { duration: 0.2 } );
|
|
}
|
|
else
|
|
{
|
|
new Effect.Appear( $( type + '_time' ), { duration: 0.2 } );
|
|
}
|
|
|
|
$( type + '_perm' ).observe('change', ipb.warn.showTime.bindAsEventListener( this, type ) );
|
|
},
|
|
|
|
/*------------------------------*/
|
|
/* Show custom options */
|
|
showCustom: function( e, type )
|
|
{
|
|
Event.stop(e);
|
|
|
|
new Effect.Fade( $( 'punishment_li' ), { duration: 0.2 } );
|
|
new Effect.Appear( $( 'mq_li' ), { duration: 0.2 } );
|
|
new Effect.Appear( $( 'rpa_li' ), { duration: 0.2 } );
|
|
new Effect.Appear( $( 'suspend_li' ), { duration: 0.2 } );
|
|
},
|
|
|
|
/*------------------------------*/
|
|
/* Explain points */
|
|
explainPoints: function( e, type )
|
|
{
|
|
url = ipb.vars['base_url'] + "&app=members&module=ajax&secure_key=" + ipb.vars['secure_hash'] + '§ion=warnings&do=explain_points';
|
|
popup = new ipb.Popup( 'attachments', { type: 'pane', modal: false, w: '800px', h: '900px', ajaxURL: url, hideAtStart: false } );
|
|
}
|
|
|
|
};
|
|
|
|
ipb.warn.init(); |