Stub RemoteprofileAction to show the standard profile header stuff for offsite users -- provides a way to get at the mod & block controls for remote users.
This commit is contained in:
parent
0d0e51292d
commit
0e763b4902
@ -40,4 +40,59 @@ class ModPlusPlugin extends Plugin
|
|||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Load JS at runtime if we're logged in.
|
||||||
|
*
|
||||||
|
* @param Action $action
|
||||||
|
* @return boolean hook result
|
||||||
|
*/
|
||||||
|
function onEndShowScripts($action)
|
||||||
|
{
|
||||||
|
$user = common_current_user();
|
||||||
|
if ($user) {
|
||||||
|
$action->script('plugins/ModPlus/modplus.js');
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Autoloader
|
||||||
|
*
|
||||||
|
* Loads our classes if they're requested.
|
||||||
|
*
|
||||||
|
* @param string $cls Class requested
|
||||||
|
*
|
||||||
|
* @return boolean hook return
|
||||||
|
*/
|
||||||
|
function onAutoload($cls)
|
||||||
|
{
|
||||||
|
switch ($cls)
|
||||||
|
{
|
||||||
|
case 'RemoteprofileAction':
|
||||||
|
case 'RemoteProfileAction':
|
||||||
|
require_once dirname(__FILE__) . '/remoteprofileaction.php';
|
||||||
|
return false;
|
||||||
|
default:
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Add OpenID-related paths to the router table
|
||||||
|
*
|
||||||
|
* Hook for RouterInitialized event.
|
||||||
|
*
|
||||||
|
* @param Net_URL_Mapper $m URL mapper
|
||||||
|
*
|
||||||
|
* @return boolean hook return
|
||||||
|
*/
|
||||||
|
function onStartInitializeRouter($m)
|
||||||
|
{
|
||||||
|
$m->connect('user/remote/:id',
|
||||||
|
array('action' => 'remoteprofile'),
|
||||||
|
array('id' => '[\d]+'));
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
69
plugins/ModPlus/remoteprofileaction.php
Normal file
69
plugins/ModPlus/remoteprofileaction.php
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
<?php
|
||||||
|
/*
|
||||||
|
* To change this template, choose Tools | Templates
|
||||||
|
* and open the template in the editor.
|
||||||
|
*/
|
||||||
|
|
||||||
|
class RemoteProfileAction extends ShowstreamAction
|
||||||
|
{
|
||||||
|
function prepare($args)
|
||||||
|
{
|
||||||
|
OwnerDesignAction::prepare($args); // skip the ProfileAction code and replace it...
|
||||||
|
|
||||||
|
$id = $this->arg('id');
|
||||||
|
$this->user = false;
|
||||||
|
$this->profile = Profile::staticGet('id', $id);
|
||||||
|
|
||||||
|
if (!$this->profile) {
|
||||||
|
$this->serverError(_('User has no profile.'));
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->tag = $this->trimmed('tag');
|
||||||
|
$this->page = ($this->arg('page')) ? ($this->arg('page')+0) : 1;
|
||||||
|
common_set_returnto($this->selfUrl());
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
function handle($args)
|
||||||
|
{
|
||||||
|
// skip yadis thingy
|
||||||
|
$this->showPage();
|
||||||
|
}
|
||||||
|
|
||||||
|
function title()
|
||||||
|
{
|
||||||
|
// maybe fixed in 0.9.x
|
||||||
|
if (!empty($this->profile->fullname)) {
|
||||||
|
$base = $this->profile->fullname . ' (' . $this->profile->nickname . ') ';
|
||||||
|
} else {
|
||||||
|
$base = $this->profile->nickname;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function showContent()
|
||||||
|
{
|
||||||
|
$this->showProfile();
|
||||||
|
// don't show notices
|
||||||
|
}
|
||||||
|
|
||||||
|
function getFeeds()
|
||||||
|
{
|
||||||
|
// none
|
||||||
|
}
|
||||||
|
|
||||||
|
function extraHead()
|
||||||
|
{
|
||||||
|
// none
|
||||||
|
}
|
||||||
|
function showLocalNav()
|
||||||
|
{
|
||||||
|
// none...?
|
||||||
|
}
|
||||||
|
function showSections()
|
||||||
|
{
|
||||||
|
ProfileAction::showSections();
|
||||||
|
// skip tag cloud
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user