Version 3.1.4
This commit is contained in:
1 parent
1d4720f3e2
commit
ae5c01cc78
2563 files changed
+283048
-240689
No files matched your search
@@ -0,0 +1,258 @@
|
||||
/************************************************/
|
||||
/* IPB3 Javascript */
|
||||
/* -------------------------------------------- */
|
||||
/* ips.like.js - Like class */
|
||||
/* (c) IPS, Inc 2008 */
|
||||
/* -------------------------------------------- */
|
||||
/* Author: Matt Mecham */
|
||||
/************************************************/
|
||||
|
||||
var _like = window.IPBoard;
|
||||
|
||||
_like.prototype.like = {
|
||||
/* Set up some defaults */
|
||||
relid : 0,
|
||||
app : '',
|
||||
aprea : '',
|
||||
isfave : 0,
|
||||
popped : undefined,
|
||||
wrap: undefined,
|
||||
uc: null,
|
||||
|
||||
/* ------------------------------ */
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
init: function()
|
||||
{
|
||||
/* Delegate */
|
||||
document.observe("dom:loaded", function()
|
||||
{
|
||||
ipb.delegate.register('.ftoggle' , ipb.like.clicked );
|
||||
ipb.delegate.register('._fsubmit', ipb.like.save );
|
||||
ipb.delegate.register('._funset' , ipb.like.remove );
|
||||
ipb.delegate.register('._fmore' , ipb.like.more );
|
||||
|
||||
/* Make sure hcards work */
|
||||
ipb.like.resetEvents();
|
||||
} );
|
||||
},
|
||||
|
||||
/**
|
||||
* Reset events
|
||||
*/
|
||||
resetEvents: function()
|
||||
{
|
||||
|
||||
},
|
||||
|
||||
/**
|
||||
* Hey, I clicked when we first met
|
||||
*/
|
||||
clicked: function( e, elem )
|
||||
{
|
||||
Event.stop(e);
|
||||
relem = elem.up('.ips_like');
|
||||
relem.identify();
|
||||
|
||||
ipb.like.wrap = relem;
|
||||
|
||||
try
|
||||
{
|
||||
ipb.like.relid = relem.readAttribute('data-relid');
|
||||
ipb.like.app = relem.readAttribute('data-app');
|
||||
ipb.like.area = relem.readAttribute('data-area');
|
||||
ipb.like.isfave = relem.readAttribute('data-isfave');
|
||||
}
|
||||
catch( e )
|
||||
{
|
||||
Debug.error(e);
|
||||
}
|
||||
|
||||
if ( ipb.like.relid && ipb.like.app && ipb.like.area )
|
||||
{
|
||||
/* GTG WING LEADER */
|
||||
if ( parseInt( ipb.like.isfave ) == 1 )
|
||||
{
|
||||
ipb.like.dialogueUnset(e, elem);
|
||||
}
|
||||
else
|
||||
{
|
||||
ipb.like.dialogueSet(e, elem);
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
/**
|
||||
* Fetch 'more'pop-up
|
||||
*/
|
||||
more: function(e, elem)
|
||||
{
|
||||
Event.stop(e);
|
||||
relem = elem.up('.ips_like');
|
||||
relem.identify();
|
||||
|
||||
ipb.like.wrap = relem;
|
||||
|
||||
try
|
||||
{
|
||||
ipb.like.relid = relem.readAttribute('data-relid');
|
||||
ipb.like.app = relem.readAttribute('data-app');
|
||||
ipb.like.area = relem.readAttribute('data-area');
|
||||
ipb.like.isfave = relem.readAttribute('data-isfave');
|
||||
}
|
||||
catch( e )
|
||||
{
|
||||
Debug.error(e);
|
||||
}
|
||||
|
||||
if ( ! Object.isUndefined( ipb.like.popped ) )
|
||||
{
|
||||
ipb.like.popped.kill();
|
||||
}
|
||||
|
||||
var popid = 'setfave_' + ipb.like.relid;
|
||||
var _url = ipb.vars['base_url'] + '&app=core&module=ajax§ion=like&do=more&secure_key=' + ipb.vars['secure_hash'] + '&f_app=' + ipb.like.app + '&f_area=' + ipb.like.area + '&f_relid=' + ipb.like.relid;
|
||||
Debug.write( _url );
|
||||
|
||||
/* easy one this... */
|
||||
ipb.like.popped = new ipb.Popup( popid, { type: 'pane',
|
||||
ajaxURL: _url,
|
||||
stem: false,
|
||||
hideAtStart: false,
|
||||
h: '800px',
|
||||
w: '450px' });
|
||||
},
|
||||
|
||||
/**
|
||||
* Unset as favorite
|
||||
*/
|
||||
dialogueUnset: function(e, elem)
|
||||
{
|
||||
Event.stop(e);
|
||||
|
||||
if ( ! Object.isUndefined( ipb.like.popped ) )
|
||||
{
|
||||
ipb.like.popped.kill();
|
||||
}
|
||||
|
||||
var popid = 'setfave_' + ipb.like.relid;
|
||||
var _content = FAVE_TEMPLATE.evaluate();
|
||||
|
||||
/* easy one this... */
|
||||
ipb.like.popped = new ipb.Popup( popid, { type: 'balloon',
|
||||
initial: _content,
|
||||
stem: true,
|
||||
hideAtStart: false,
|
||||
attach: { target: elem, position: 'auto' },
|
||||
w: '350px' });
|
||||
},
|
||||
|
||||
/**
|
||||
* Set as favorite
|
||||
*/
|
||||
dialogueSet: function(e, elem)
|
||||
{
|
||||
Event.stop(e);
|
||||
|
||||
if ( ! Object.isUndefined( ipb.like.popped ) )
|
||||
{
|
||||
ipb.like.popped.kill();
|
||||
}
|
||||
|
||||
var popid = 'setfave_' + ipb.like.relid;
|
||||
var _url = ipb.vars['base_url'] + '&app=core&module=ajax§ion=like&do=setDialogue&secure_key=' + ipb.vars['secure_hash'] + '&f_app=' + ipb.like.app + '&f_area=' + ipb.like.area + '&f_relid=' + ipb.like.relid;
|
||||
Debug.write( _url );
|
||||
|
||||
/* easy one this... */
|
||||
ipb.like.popped = new ipb.Popup( popid, { type: 'balloon',
|
||||
ajaxURL: _url,
|
||||
stem: true,
|
||||
hideAtStart: false,
|
||||
attach: { target: elem, position: 'auto' },
|
||||
w: '350px' });
|
||||
},
|
||||
|
||||
/**
|
||||
* Save it for later
|
||||
*/
|
||||
save: function(e, elem)
|
||||
{
|
||||
Event.stop(e);
|
||||
|
||||
var like_notify = $('like_notify').checked ? 1 : 0;
|
||||
var like_freq = $F('like_freq');
|
||||
var like_anon = $('like_anon').checked ? 1 : 0;
|
||||
|
||||
ipb.like.popped.hide();
|
||||
|
||||
ipb.like.wrap.writeAttribute( 'data-isfave', 1 );
|
||||
ipb.like.isfave = 1;
|
||||
|
||||
var _url = ipb.vars['base_url'] + '&app=core&module=ajax§ion=like&do=save&secure_key=' + ipb.vars['secure_hash'] + '&f_app=' + ipb.like.app + '&f_area=' + ipb.like.area + '&f_relid=' + ipb.like.relid;
|
||||
Debug.write( _url );
|
||||
|
||||
new Ajax.Request( _url,
|
||||
{
|
||||
method: 'post',
|
||||
parameters: { 'like_notify': like_notify,
|
||||
'like_freq' : like_freq,
|
||||
'like_anon' : like_anon },
|
||||
onSuccess: function(t)
|
||||
{
|
||||
/* No Permission */
|
||||
if( t.responseText == 'nopermission' )
|
||||
{
|
||||
alert( ipb.lang['no_permission'] );
|
||||
}
|
||||
else
|
||||
{
|
||||
ipb.like.wrap.update( t.responseText );
|
||||
|
||||
/* Make sure hcards work */
|
||||
ipb.like.resetEvents();
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
},
|
||||
|
||||
/**
|
||||
* Save it for later
|
||||
*/
|
||||
remove: function(e, elem)
|
||||
{
|
||||
Event.stop(e);
|
||||
|
||||
ipb.like.popped.hide();
|
||||
|
||||
ipb.like.wrap.writeAttribute( 'data-isfave', 0 );
|
||||
ipb.like.isfave = 0;
|
||||
|
||||
var _url = ipb.vars['base_url'] + '&app=core&module=ajax§ion=like&do=unset&secure_key=' + ipb.vars['secure_hash'] + '&f_app=' + ipb.like.app + '&f_area=' + ipb.like.area + '&f_relid=' + ipb.like.relid;
|
||||
Debug.write( _url );
|
||||
|
||||
new Ajax.Request( _url,
|
||||
{
|
||||
method: 'get',
|
||||
onSuccess: function(t)
|
||||
{
|
||||
/* No Permission */
|
||||
if( t.responseText == 'nopermission' )
|
||||
{
|
||||
alert( ipb.lang['no_permission'] );
|
||||
}
|
||||
else
|
||||
{
|
||||
ipb.like.wrap.update( t.responseText );
|
||||
|
||||
/* Make sure hcards work */
|
||||
ipb.like.resetEvents();
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
};
|
||||
|
||||
ipb.like.init();
|
||||
Reference in new issue
Block a user