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;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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