commit
d9529222b0
|
@ -19,6 +19,18 @@ class auth_nameencode_test extends DokuWikiTest {
|
|||
$this->assertEquals(auth_nameencode($in),$out);
|
||||
}
|
||||
|
||||
function test_apostrophe(){
|
||||
$in = 'hey\'you';
|
||||
$out = 'hey%27you';
|
||||
$this->assertEquals(auth_nameencode($in),$out);
|
||||
}
|
||||
|
||||
function test_backslash(){
|
||||
$in = 'hey\\you';
|
||||
$out = 'hey%5cyou';
|
||||
$this->assertEquals(auth_nameencode($in),$out);
|
||||
}
|
||||
|
||||
function test_complex(){
|
||||
$in = 'hey $ you !$%! foo ';
|
||||
$out = 'hey%20%24%20you%20%21%24%25%21%20foo%20';
|
||||
|
|
|
@ -50,8 +50,8 @@ class mailer_test extends DokuWikiTest {
|
|||
// set a bunch of test headers
|
||||
$mail->setHeader('test-header','bla');
|
||||
$mail->setHeader('to','A valid ASCII name <test@example.com>');
|
||||
$mail->setHeader('from',"Thös ne\needs\x00serious cleaning$§%.");
|
||||
$mail->setHeader('bad',"Thös ne\needs\x00serious cleaning$§%.",false);
|
||||
$mail->setHeader('from',"Thös ne\needs\x00serious cleaning\$§%.");
|
||||
$mail->setHeader('bad',"Thös ne\needs\x00serious cleaning\$§%.",false);
|
||||
$mail->setHeader("weird\n*+\x00foo.-_@bar?",'now clean');
|
||||
|
||||
// are they set?
|
||||
|
@ -63,7 +63,7 @@ class mailer_test extends DokuWikiTest {
|
|||
$this->assertArrayHasKey('From',$headers);
|
||||
$this->assertEquals('Ths neeedsserious cleaning.',$headers['From']);
|
||||
$this->assertArrayHasKey('Bad',$headers);
|
||||
$this->assertEquals("Thös ne\needs\x00serious cleaning$§%.",$headers['Bad']);
|
||||
$this->assertEquals("Thös ne\needs\x00serious cleaning\$§%.",$headers['Bad']);
|
||||
$this->assertArrayHasKey('Weird+foo.-_@bar',$headers);
|
||||
|
||||
// unset a header again
|
||||
|
|
|
@ -80,7 +80,7 @@ class parserutils_set_metadata_during_rendering_test extends DokuWikiTest {
|
|||
}
|
||||
|
||||
// wrapper function for the fake plugin controller, return $this for the fake syntax of this test
|
||||
function &load($type,$name,$new=false,$disabled=false){
|
||||
function load($type,$name,$new=false,$disabled=false){
|
||||
if ($name == 'parserutils_test') {
|
||||
return $this;
|
||||
} else {
|
||||
|
|
|
@ -237,7 +237,7 @@ class MockupSubscription extends Subscription {
|
|||
return parent::buildregex($user, $style, $data);
|
||||
}
|
||||
|
||||
protected function send($subscriber_mail, $subject, $id, $template, $trep, $hrep = null) {
|
||||
protected function send($subscriber_mail, $subject, $id, $template, $trep, $hrep = null, $headers = array()) {
|
||||
$this->mails[] = $subscriber_mail;
|
||||
return true;
|
||||
}
|
||||
|
|
|
@ -975,7 +975,7 @@ class JpegMeta {
|
|||
|
||||
if ($capture) {
|
||||
if ($length)
|
||||
$this->_markers[$count]['data'] =& fread($this->_fp, $length);
|
||||
$this->_markers[$count]['data'] = fread($this->_fp, $length);
|
||||
else
|
||||
$this->_markers[$count]['data'] = "";
|
||||
}
|
||||
|
|
|
@ -164,7 +164,8 @@ function act_dispatch(){
|
|||
$pluginlist = plugin_list('admin');
|
||||
if (in_array($page, $pluginlist)) {
|
||||
// attempt to load the plugin
|
||||
if ($plugin =& plugin_load('admin',$page) !== null){
|
||||
|
||||
if (($plugin = plugin_load('admin',$page)) !== null){
|
||||
/** @var DokuWiki_Admin_Plugin $plugin */
|
||||
if($plugin->forAdminOnly() && !$INFO['isadmin']){
|
||||
// a manager tried to load a plugin that's for admins only
|
||||
|
|
20
inc/auth.php
20
inc/auth.php
|
@ -139,10 +139,10 @@ function auth_loadACL() {
|
|||
$out = array();
|
||||
foreach($acl as $line) {
|
||||
$line = trim($line);
|
||||
if($line{0} == '#') continue;
|
||||
if(empty($line) || ($line{0} == '#')) continue; // skip blank lines & comments
|
||||
list($id,$rest) = preg_split('/\s+/',$line,2);
|
||||
|
||||
// substitue user wildcard first (its 1:1)
|
||||
// substitute user wildcard first (its 1:1)
|
||||
if(strstr($line, '%USER%')){
|
||||
// if user is not logged in, this ACL line is meaningless - skip it
|
||||
if (!isset($_SERVER['REMOTE_USER'])) continue;
|
||||
|
@ -808,14 +808,14 @@ function auth_nameencode($name, $skip_group = false) {
|
|||
|
||||
if(!isset($cache[$name][$skip_group])) {
|
||||
if($skip_group && $name{0} == '@') {
|
||||
$cache[$name][$skip_group] = '@'.preg_replace(
|
||||
'/([\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f])/e',
|
||||
"'%'.dechex(ord(substr('\\1',-1)))", substr($name, 1)
|
||||
$cache[$name][$skip_group] = '@'.preg_replace_callback(
|
||||
'/([\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f])/',
|
||||
'auth_nameencode_callback', substr($name, 1)
|
||||
);
|
||||
} else {
|
||||
$cache[$name][$skip_group] = preg_replace(
|
||||
'/([\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f])/e',
|
||||
"'%'.dechex(ord(substr('\\1',-1)))", $name
|
||||
$cache[$name][$skip_group] = preg_replace_callback(
|
||||
'/([\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f])/',
|
||||
'auth_nameencode_callback', $name
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -823,6 +823,10 @@ function auth_nameencode($name, $skip_group = false) {
|
|||
return $cache[$name][$skip_group];
|
||||
}
|
||||
|
||||
function auth_nameencode_callback($matches) {
|
||||
return '%'.dechex(ord(substr($matches[1],-1)));
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a pronouncable password
|
||||
*
|
||||
|
|
|
@ -64,7 +64,7 @@ function getSecurityToken() {
|
|||
*/
|
||||
function checkSecurityToken($token = null) {
|
||||
global $INPUT;
|
||||
if(!$_SERVER['REMOTE_USER']) return true; // no logged in user, no need for a check
|
||||
if(empty($_SERVER['REMOTE_USER'])) return true; // no logged in user, no need for a check
|
||||
|
||||
if(is_null($token)) $token = $INPUT->str('sectok');
|
||||
if(getSecurityToken() != $token) {
|
||||
|
@ -474,13 +474,13 @@ function ml($id = '', $more = '', $direct = true, $sep = '&', $abs = false)
|
|||
|
||||
if(is_array($more)) {
|
||||
// add token for resized images
|
||||
if($more['w'] || $more['h'] || $isexternalimage){
|
||||
if(!empty($more['w']) || !empty($more['h']) || $isexternalimage){
|
||||
$more['tok'] = media_get_token($id,$more['w'],$more['h']);
|
||||
}
|
||||
// strip defaults for shorter URLs
|
||||
if(isset($more['cache']) && $more['cache'] == 'cache') unset($more['cache']);
|
||||
if(!$more['w']) unset($more['w']);
|
||||
if(!$more['h']) unset($more['h']);
|
||||
if(empty($more['w'])) unset($more['w']);
|
||||
if(empty($more['h'])) unset($more['h']);
|
||||
if(isset($more['id']) && $direct) unset($more['id']);
|
||||
$more = buildURLparams($more, $sep);
|
||||
} else {
|
||||
|
|
|
@ -1661,7 +1661,7 @@ function html_admin(){
|
|||
global $ID;
|
||||
global $INFO;
|
||||
global $conf;
|
||||
/** @var auth_basic $auth */
|
||||
/** @var DokuWiki_Auth_Plugin $auth */
|
||||
global $auth;
|
||||
|
||||
// build menu of admin functions from the plugins that handle them
|
||||
|
@ -1669,7 +1669,7 @@ function html_admin(){
|
|||
$menu = array();
|
||||
foreach ($pluginlist as $p) {
|
||||
/** @var DokuWiki_Admin_Plugin $obj */
|
||||
if($obj =& plugin_load('admin',$p) === null) continue;
|
||||
if(($obj = plugin_load('admin',$p)) === null) continue;
|
||||
|
||||
// check permissions
|
||||
if($obj->forAdminOnly() && !$INFO['isadmin']) continue;
|
||||
|
|
|
@ -1017,8 +1017,9 @@ class Doku_Indexer {
|
|||
return false;
|
||||
}
|
||||
}
|
||||
if ($conf['dperm'])
|
||||
if (!empty($conf['dperm'])) {
|
||||
chmod($lock, $conf['dperm']);
|
||||
}
|
||||
return $status;
|
||||
}
|
||||
|
||||
|
|
|
@ -288,7 +288,7 @@ function init_files(){
|
|||
$fh = @fopen($file,'a');
|
||||
if($fh){
|
||||
fclose($fh);
|
||||
if($conf['fperm']) chmod($file, $conf['fperm']);
|
||||
if(!empty($conf['fperm'])) chmod($file, $conf['fperm']);
|
||||
}else{
|
||||
nice_die("$file is not writable. Check your permissions settings!");
|
||||
}
|
||||
|
|
|
@ -393,7 +393,7 @@ function io_mkdir_p($target){
|
|||
return io_mkdir_ftp($dir);
|
||||
}else{
|
||||
$ret = @mkdir($target,$conf['dmode']); // crawl back up & create dir tree
|
||||
if($ret && $conf['dperm']) chmod($target, $conf['dperm']);
|
||||
if($ret && !empty($conf['dperm'])) chmod($target, $conf['dperm']);
|
||||
return $ret;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -284,10 +284,9 @@ function mail_quotedprintable_encode($sText,$maxlen=74,$bEmulate_imap_8bit=true)
|
|||
// for EBCDIC safeness encode !"#$@[\]^`{|}~,
|
||||
// for complete safeness encode every character :)
|
||||
if ($bEmulate_imap_8bit)
|
||||
$sRegExp = '/[^\x20\x21-\x3C\x3E-\x7E]/e';
|
||||
$sRegExp = '/[^\x20\x21-\x3C\x3E-\x7E]/';
|
||||
|
||||
$sReplmt = 'sprintf( "=%02X", ord ( "$0" ) ) ;';
|
||||
$sLine = preg_replace( $sRegExp, $sReplmt, $sLine );
|
||||
$sLine = preg_replace_callback( $sRegExp, 'mail_quotedprintable_encode_callback', $sLine );
|
||||
|
||||
// encode x09,x20 at lineends
|
||||
{
|
||||
|
@ -330,3 +329,6 @@ function mail_quotedprintable_encode($sText,$maxlen=74,$bEmulate_imap_8bit=true)
|
|||
return implode(MAILHEADER_EOL,$aLines);
|
||||
}
|
||||
|
||||
function mail_quotedprintable_encode_callback($matches){
|
||||
return sprintf( "=%02X", ord ( $matches[0] ) ) ;
|
||||
}
|
||||
|
|
|
@ -396,7 +396,7 @@ function resolve_id($ns,$id,$clean=true){
|
|||
|
||||
// if the id starts with a dot we need to handle the
|
||||
// relative stuff
|
||||
if($id{0} == '.'){
|
||||
if($id && $id{0} == '.'){
|
||||
// normalize initial dots without a colon
|
||||
$id = preg_replace('/^(\.+)(?=[^:\.])/','\1:',$id);
|
||||
// prepend the current namespace
|
||||
|
|
|
@ -70,7 +70,7 @@ class Doku_Handler {
|
|||
*/
|
||||
function plugin($match, $state, $pos, $pluginname){
|
||||
$data = array($match);
|
||||
$plugin =& plugin_load('syntax',$pluginname);
|
||||
$plugin = plugin_load('syntax',$pluginname);
|
||||
if($plugin != null){
|
||||
$data = $plugin->handle($match, $state, $pos, $this);
|
||||
}
|
||||
|
@ -653,8 +653,8 @@ function Doku_Handler_Parse_Media($match) {
|
|||
|
||||
//parse width and height
|
||||
if(preg_match('#(\d+)(x(\d+))?#i',$param,$size)){
|
||||
($size[1]) ? $w = $size[1] : $w = null;
|
||||
($size[3]) ? $h = $size[3] : $h = null;
|
||||
!empty($size[1]) ? $w = $size[1] : $w = null;
|
||||
!empty($size[3]) ? $h = $size[3] : $h = null;
|
||||
} else {
|
||||
$w = null;
|
||||
$h = null;
|
||||
|
@ -1432,6 +1432,7 @@ class Doku_Handler_Table {
|
|||
class Doku_Handler_Block {
|
||||
var $calls = array();
|
||||
var $skipEol = false;
|
||||
var $inParagraph = false;
|
||||
|
||||
// Blocks these should not be inside paragraphs
|
||||
var $blockOpen = array(
|
||||
|
|
|
@ -625,7 +625,8 @@ function & p_get_renderer($mode) {
|
|||
$rclass = "Doku_Renderer_$rname";
|
||||
|
||||
if( class_exists($rclass) ) {
|
||||
return new $rclass();
|
||||
$Renderer = new $rclass();
|
||||
return $Renderer;
|
||||
}
|
||||
|
||||
// try default renderer first:
|
||||
|
@ -641,10 +642,7 @@ function & p_get_renderer($mode) {
|
|||
$Renderer = new $rclass();
|
||||
}else{
|
||||
// Maybe a plugin/component is available?
|
||||
list($plugin, $component) = $plugin_controller->_splitName($rname);
|
||||
if (!$plugin_controller->isdisabled($plugin)){
|
||||
$Renderer =& $plugin_controller->load('renderer',$rname);
|
||||
}
|
||||
$Renderer = $plugin_controller->load('renderer',$rname);
|
||||
|
||||
if(!isset($Renderer) || is_null($Renderer)){
|
||||
msg("No renderer '$rname' found for mode '$mode'",-1);
|
||||
|
|
|
@ -249,7 +249,7 @@ class Doku_Plugin_Controller {
|
|||
$backup = $file.'.bak';
|
||||
if (@file_exists($backup)) @unlink($backup);
|
||||
if (!@copy($file,$backup)) return false;
|
||||
if ($conf['fperm']) chmod($backup, $conf['fperm']);
|
||||
if (!empty($conf['fperm'])) chmod($backup, $conf['fperm']);
|
||||
}
|
||||
//check if can open for writing, else restore
|
||||
return io_saveFile($file,$out);
|
||||
|
|
|
@ -111,7 +111,7 @@ function search_index(&$data,$base,$file,$type,$lvl,$opts){
|
|||
$opts = array(
|
||||
'pagesonly' => true,
|
||||
'listdirs' => true,
|
||||
'listfiles' => !$opts['nofiles'],
|
||||
'listfiles' => empty($opts['nofiles']),
|
||||
'sneakyacl' => $conf['sneaky_index'],
|
||||
// Hacky, should rather use recmatch
|
||||
'depth' => preg_match('#^'.preg_quote($file, '#').'(/|$)#','/'.$opts['ns']) ? 0 : -1
|
||||
|
@ -377,7 +377,7 @@ function search_universal(&$data,$base,$file,$type,$lvl,$opts){
|
|||
}
|
||||
|
||||
// check ACL
|
||||
if(!$opts['skipacl']){
|
||||
if(empty($opts['skipacl'])){
|
||||
if($type == 'd'){
|
||||
$item['perm'] = auth_quickaclcheck($item['id'].':*');
|
||||
}else{
|
||||
|
@ -389,17 +389,17 @@ function search_universal(&$data,$base,$file,$type,$lvl,$opts){
|
|||
|
||||
// are we done here maybe?
|
||||
if($type == 'd'){
|
||||
if(!$opts['listdirs']) return $return;
|
||||
if(!$opts['skipacl'] && $opts['sneakyacl'] && $item['perm'] < AUTH_READ) return false; //neither list nor recurse
|
||||
if($opts['dirmatch'] && !preg_match('/'.$opts['dirmatch'].'/',$file)) return $return;
|
||||
if($opts['nsmatch'] && !preg_match('/'.$opts['nsmatch'].'/',$item['ns'])) return $return;
|
||||
if(empty($opts['listdirs'])) return $return;
|
||||
if(empty($opts['skipacl']) && !empty($opts['sneakyacl']) && $item['perm'] < AUTH_READ) return false; //neither list nor recurse
|
||||
if(!empty($opts['dirmatch']) && !preg_match('/'.$opts['dirmatch'].'/',$file)) return $return;
|
||||
if(!empty($opts['nsmatch']) && !preg_match('/'.$opts['nsmatch'].'/',$item['ns'])) return $return;
|
||||
}else{
|
||||
if(!$opts['listfiles']) return $return;
|
||||
if(!$opts['skipacl'] && $item['perm'] < AUTH_READ) return $return;
|
||||
if($opts['pagesonly'] && (substr($file,-4) != '.txt')) return $return;
|
||||
if(!$opts['showhidden'] && isHiddenPage($item['id'])) return $return;
|
||||
if($opts['filematch'] && !preg_match('/'.$opts['filematch'].'/',$file)) return $return;
|
||||
if($opts['idmatch'] && !preg_match('/'.$opts['idmatch'].'/',$item['id'])) return $return;
|
||||
if(empty($opts['listfiles'])) return $return;
|
||||
if(empty($opts['skipacl']) && $item['perm'] < AUTH_READ) return $return;
|
||||
if(!empty($opts['pagesonly']) && (substr($file,-4) != '.txt')) return $return;
|
||||
if(empty($opts['showhidden']) && isHiddenPage($item['id'])) return $return;
|
||||
if(!empty($opts['filematch']) && !preg_match('/'.$opts['filematch'].'/',$file)) return $return;
|
||||
if(!empty($opts['idmatch']) && !preg_match('/'.$opts['idmatch'].'/',$item['id'])) return $return;
|
||||
}
|
||||
|
||||
// still here? prepare the item
|
||||
|
|
|
@ -62,7 +62,7 @@ class Subscription {
|
|||
return false;
|
||||
}
|
||||
|
||||
if($conf['dperm']) chmod($lock, $conf['dperm']);
|
||||
if(!empty($conf['dperm'])) chmod($lock, $conf['dperm']);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -223,7 +223,7 @@ function tpl_toc($return = false) {
|
|||
if(in_array($class, $pluginlist)) {
|
||||
// attempt to load the plugin
|
||||
/** @var $plugin DokuWiki_Admin_Plugin */
|
||||
$plugin =& plugin_load('admin', $class);
|
||||
$plugin = plugin_load('admin', $class);
|
||||
}
|
||||
}
|
||||
if( ($plugin !== null) && (!$plugin->forAdminOnly() || $INFO['isadmin']) ) {
|
||||
|
@ -257,7 +257,7 @@ function tpl_admin() {
|
|||
if(in_array($class, $pluginlist)) {
|
||||
// attempt to load the plugin
|
||||
/** @var $plugin DokuWiki_Admin_Plugin */
|
||||
$plugin =& plugin_load('admin', $class);
|
||||
$plugin = plugin_load('admin', $class);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -401,7 +401,7 @@ function tpl_metaheaders($alt = true) {
|
|||
// make $INFO and other vars available to JavaScripts
|
||||
$json = new JSON();
|
||||
$script = "var NS='".$INFO['namespace']."';";
|
||||
if($conf['useacl'] && $_SERVER['REMOTE_USER']) {
|
||||
if($conf['useacl'] && !empty($_SERVER['REMOTE_USER'])) {
|
||||
$script .= "var SIG='".toolbar_signature()."';";
|
||||
}
|
||||
$script .= 'var JSINFO = '.$json->encode($JSINFO).';';
|
||||
|
@ -680,12 +680,12 @@ function tpl_get_action($type) {
|
|||
}
|
||||
break;
|
||||
case 'register':
|
||||
if($_SERVER['REMOTE_USER']) {
|
||||
if(!empty($_SERVER['REMOTE_USER'])) {
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
case 'resendpwd':
|
||||
if($_SERVER['REMOTE_USER']) {
|
||||
if(!empty($_SERVER['REMOTE_USER'])) {
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
|
@ -1412,7 +1412,7 @@ function tpl_actiondropdown($empty = '', $button = '>') {
|
|||
echo '<div class="no">';
|
||||
echo '<input type="hidden" name="id" value="'.$ID.'" />';
|
||||
if($REV) echo '<input type="hidden" name="rev" value="'.$REV.'" />';
|
||||
if ($_SERVER['REMOTE_USER']) {
|
||||
if (!empty($_SERVER['REMOTE_USER'])) {
|
||||
echo '<input type="hidden" name="sectok" value="'.getSecurityToken().'" />';
|
||||
}
|
||||
|
||||
|
@ -1794,7 +1794,7 @@ function tpl_classes() {
|
|||
'dokuwiki',
|
||||
'mode_'.$ACT,
|
||||
'tpl_'.$conf['template'],
|
||||
$_SERVER['REMOTE_USER'] ? 'loggedIn' : '',
|
||||
!empty($_SERVER['REMOTE_USER']) ? 'loggedIn' : '',
|
||||
$INFO['exists'] ? '' : 'notFound',
|
||||
($ID == $conf['start']) ? 'home' : '',
|
||||
);
|
||||
|
|
|
@ -9,7 +9,9 @@ $ID = cleanID($INPUT->str('id'));
|
|||
// this makes some general infos available as well as the info about the
|
||||
// "parent" page
|
||||
$INFO = array_merge(pageinfo(),mediainfo());
|
||||
trigger_event('DETAIL_STARTED', $tmp=array());
|
||||
|
||||
$tmp = array();
|
||||
trigger_event('DETAIL_STARTED', $tmp);
|
||||
|
||||
//close session
|
||||
session_write_close();
|
||||
|
|
|
@ -34,7 +34,8 @@
|
|||
$JSINFO = array('id' => '', 'namespace' => '');
|
||||
$AUTH = $INFO['perm']; // shortcut for historical reasons
|
||||
|
||||
trigger_event('MEDIAMANAGER_STARTED',$tmp=array());
|
||||
$tmp = array();
|
||||
trigger_event('MEDIAMANAGER_STARTED', $tmp);
|
||||
session_write_close(); //close session
|
||||
|
||||
// do not display the manager if user does not have read access
|
||||
|
|
|
@ -17,7 +17,7 @@ class DokuWiki_Action_Plugin extends DokuWiki_Plugin {
|
|||
/**
|
||||
* Registers a callback function for a given event
|
||||
*/
|
||||
function register(Doku_Event_Handler $controller) {
|
||||
public function register(Doku_Event_Handler $controller) {
|
||||
trigger_error('register() not implemented in '.get_class($this), E_USER_WARNING);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -794,7 +794,7 @@ if (!class_exists('setting_numericopt')) {
|
|||
if (!class_exists('setting_onoff')) {
|
||||
class setting_onoff extends setting_numeric {
|
||||
|
||||
function html(&$plugin) {
|
||||
function html(&$plugin, $echo = false) {
|
||||
$value = '';
|
||||
$disable = '';
|
||||
|
||||
|
@ -830,7 +830,7 @@ if (!class_exists('setting_multichoice')) {
|
|||
class setting_multichoice extends setting_string {
|
||||
var $_choices = array();
|
||||
|
||||
function html(&$plugin) {
|
||||
function html(&$plugin, $echo = false) {
|
||||
$value = '';
|
||||
$disable = '';
|
||||
$nochoice = '';
|
||||
|
|
|
@ -176,7 +176,7 @@ if (!class_exists('setting_renderer')) {
|
|||
$format = $this->_format;
|
||||
|
||||
foreach (plugin_list('renderer') as $plugin) {
|
||||
$renderer =& plugin_load('renderer',$plugin);
|
||||
$renderer = plugin_load('renderer',$plugin);
|
||||
if (method_exists($renderer,'canRender') && $renderer->canRender($format)) {
|
||||
$this->_choices[] = $plugin;
|
||||
|
||||
|
|
|
@ -58,6 +58,7 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
|
|||
*/
|
||||
function render($format, Doku_Renderer &$renderer, $data) {
|
||||
if($format == 'xhtml'){
|
||||
/** @var Doku_Renderer_xhtml $renderer */
|
||||
//handle various info stuff
|
||||
switch ($data[0]){
|
||||
case 'syntaxmodes':
|
||||
|
@ -142,8 +143,6 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
|
|||
* uses some of the original renderer methods
|
||||
*/
|
||||
function _helpermethods_xhtml(Doku_Renderer &$renderer){
|
||||
global $lang;
|
||||
|
||||
$plugins = plugin_list('helper');
|
||||
foreach($plugins as $p){
|
||||
if (!$po = plugin_load('helper',$p)) continue;
|
||||
|
@ -251,10 +250,11 @@ class syntax_plugin_info extends DokuWiki_Syntax_Plugin {
|
|||
/**
|
||||
* Adds a TOC item
|
||||
*/
|
||||
function _addToTOC($text, $level, Doku_Renderer_xhtml &$renderer){
|
||||
function _addToTOC($text, $level, Doku_Renderer &$renderer){
|
||||
global $conf;
|
||||
|
||||
if (($level >= $conf['toptoclevel']) && ($level <= $conf['maxtoclevel'])){
|
||||
/** @var $renderer Doku_Renderer_xhtml */
|
||||
$hid = $renderer->_headerToLink($text, 'true');
|
||||
$renderer->toc[] = array(
|
||||
'hid' => $hid,
|
||||
|
|
|
@ -14,7 +14,7 @@ class ap_info extends ap_manage {
|
|||
usort($component_list, array($this,'component_sort'));
|
||||
|
||||
foreach ($component_list as $component) {
|
||||
if (($obj = &plugin_load($component['type'],$component['name'],false,true)) === null) continue;
|
||||
if (($obj = plugin_load($component['type'],$component['name'],false,true)) === null) continue;
|
||||
|
||||
$compname = explode('_',$component['name']);
|
||||
if($compname[1]){
|
||||
|
|
|
@ -41,7 +41,7 @@ if (!defined('DOKU_INC')) die();
|
|||
<h3 class="a11y"><?php echo $lang['user_tools']; ?></h3>
|
||||
<ul>
|
||||
<?php
|
||||
if ($_SERVER['REMOTE_USER']) {
|
||||
if (!empty($_SERVER['REMOTE_USER'])) {
|
||||
echo '<li class="user">';
|
||||
tpl_userinfo(); /* 'Logged in as ...' */
|
||||
echo '</li>';
|
||||
|
|
Loading…
Reference in New Issue