Merge branch '0.9.x'
This commit is contained in:
commit
f6e22da122
@ -84,7 +84,7 @@ class ModPlusPlugin extends Plugin
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Add OpenID-related paths to the router table
|
* Add ModPlus-related paths to the router table
|
||||||
*
|
*
|
||||||
* Hook for RouterInitialized event.
|
* Hook for RouterInitialized event.
|
||||||
*
|
*
|
||||||
@ -101,16 +101,45 @@ class ModPlusPlugin extends Plugin
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add per-profile info popup menu for author on notice lists.
|
||||||
|
*
|
||||||
|
* @param NoticeListItem $item
|
||||||
|
* @return boolean hook value
|
||||||
|
*/
|
||||||
function onStartShowNoticeItem($item)
|
function onStartShowNoticeItem($item)
|
||||||
{
|
{
|
||||||
$profile = $item->profile;
|
$this->showProfileOptions($item->out, $item->profile);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add per-profile info popup menu on profile lists.
|
||||||
|
*
|
||||||
|
* @param ProfileListItem $item
|
||||||
|
*/
|
||||||
|
function onStartProfileListItemProfile($item)
|
||||||
|
{
|
||||||
|
$this->showProfileOptions($item->out, $item->profile);
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Build common remote-profile options structure.
|
||||||
|
* Currently only adds output for remote profiles, nothing for local users.
|
||||||
|
*
|
||||||
|
* @param HTMLOutputter $out
|
||||||
|
* @param Profile $profile
|
||||||
|
*/
|
||||||
|
protected function showProfileOptions(HTMLOutputter $out, Profile $profile)
|
||||||
|
{
|
||||||
$isRemote = !(User::staticGet('id', $profile->id));
|
$isRemote = !(User::staticGet('id', $profile->id));
|
||||||
if ($isRemote) {
|
if ($isRemote) {
|
||||||
$target = common_local_url('remoteprofile', array('id' => $profile->id));
|
$target = common_local_url('remoteprofile', array('id' => $profile->id));
|
||||||
$label = _m('Remote profile options...');
|
$label = _m('Remote profile options...');
|
||||||
$item->out->elementStart('div', 'remote-profile-options');
|
$out->elementStart('div', 'remote-profile-options');
|
||||||
$item->out->element('a', array('href' => $target), $label);
|
$out->element('a', array('href' => $target), $label);
|
||||||
$item->out->elementEnd('div');
|
$out->elementEnd('div');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -4,20 +4,36 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
$(function() {
|
$(function() {
|
||||||
function ModPlus_setup(notice) {
|
// Notice lists...
|
||||||
if ($(notice).find('.remote-profile-options').size()) {
|
$('.notice .author').live('mouseenter', function(e) {
|
||||||
var $options = $(notice).find('.remote-profile-options');
|
var notice = $(this).closest('.notice');
|
||||||
$options.prepend($())
|
var popup = notice.find('.remote-profile-options');
|
||||||
$(notice).find('.author').mouseenter(function(event) {
|
if (popup.length) {
|
||||||
$(notice).find('.remote-profile-options').fadeIn();
|
popup.fadeIn();
|
||||||
});
|
|
||||||
$(notice).mouseleave(function(event) {
|
|
||||||
$(notice).find('.remote-profile-options').fadeOut();
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
$('.notice').each(function() {
|
|
||||||
ModPlus_setup(this);
|
|
||||||
});
|
});
|
||||||
|
$('.notice').live('mouseleave', function(e) {
|
||||||
|
var notice = $(this);
|
||||||
|
var popup = notice.find('.remote-profile-options');
|
||||||
|
if (popup.length) {
|
||||||
|
popup.fadeOut();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// Profile lists...
|
||||||
|
$('.profile .avatar').live('mouseenter', function(e) {
|
||||||
|
var profile = $(this).closest('.profile');
|
||||||
|
var popup = profile.find('.remote-profile-options');
|
||||||
|
if (popup.length) {
|
||||||
|
popup.fadeIn();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
$('.profile').live('mouseleave', function(e) {
|
||||||
|
var profile = $(this);
|
||||||
|
var popup = profile.find('.remote-profile-options');
|
||||||
|
if (popup.length) {
|
||||||
|
popup.fadeOut();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
Loading…
Reference in New Issue
Block a user