From 396c218f61d8626a516941cd6cd66f09e528e32c Mon Sep 17 00:00:00 2001 From: Andreas Gohr <andi@splitbrain.org> Date: Fri, 27 Aug 2010 10:37:07 +0200 Subject: [PATCH] make use of tpl_get_action in tpl_actiondropdown FS#2005 --- inc/actions.php | 2 ++ inc/template.php | 71 +++++++++++++++++------------------------------- 2 files changed, 27 insertions(+), 46 deletions(-) diff --git a/inc/actions.php b/inc/actions.php index 914ff1ce6..3e0cb1207 100644 --- a/inc/actions.php +++ b/inc/actions.php @@ -185,6 +185,8 @@ function act_clean($act){ if($act == 'export_html') $act = 'export_xhtml'; if($act == 'export_htmlbody') $act = 'export_xhtmlbody'; + if($act === '') $act = 'show'; + // check if action is disabled if(!actionOK($act)){ msg('Command disabled: '.htmlspecialchars($act),-1); diff --git a/inc/template.php b/inc/template.php index f1995b6ba..003febe46 100644 --- a/inc/template.php +++ b/inc/template.php @@ -491,7 +491,7 @@ function tpl_actionlink($type,$pre='',$suf='',$inner='',$return=false){ return true; } - /** +/** * Check the actions and get data for buttons and links * * Available actions are @@ -1147,7 +1147,7 @@ function tpl_actiondropdown($empty='',$button='>'){ global $auth; echo '<form method="post" accept-charset="utf-8">'; #FIXME action - echo '<input type="hidden" name="id" value="'.$ID.'" />'; + echo '<input type="hidden" name="id" value="'.$ID.'" />'; if($REV) echo '<input type="hidden" name="rev" value="'.$REV.'" />'; echo '<input type="hidden" name="sectok" value="'.getSecurityToken().'" />'; @@ -1155,60 +1155,39 @@ function tpl_actiondropdown($empty='',$button='>'){ echo '<option value="">'.$empty.'</option>'; echo '<optgroup label=" — ">'; - // 'edit' - most complicated type, we need to decide on current action - if($ACT == 'show' || $ACT == 'search'){ - if($INFO['writable']){ - if(!empty($INFO['draft'])) { - echo '<option value="edit">'.$lang['btn_draft'].'</option>'; - } else { - if($INFO['exists']){ - echo '<option value="edit">'.$lang['btn_edit'].'</option>'; - }else{ - echo '<option value="edit">'.$lang['btn_create'].'</option>'; - } - } - }else if(actionOK('source')) { //pseudo action - echo '<option value="edit">'.$lang['btn_source'].'</option>'; - } - }else{ - echo '<option value="show">'.$lang['btn_show'].'</option>'; - } + $act = tpl_get_action('edit'); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - echo '<option value="revisions">'.$lang['btn_revs'].'</option>'; - if($INFO['ismanager'] && $REV && $INFO['writable'] && actionOK('revert')){ - echo '<option value="revert">'.$lang['btn_revert'].'</option>'; - } - echo '<option value="backlink">'.$lang['btn_backlink'].'</option>'; + $act = tpl_get_action('revisions'); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; + + $act = tpl_get_action('revert'); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; + + $act = tpl_get_action('backlink'); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; echo '</optgroup>'; echo '<optgroup label=" — ">'; - echo '<option value="recent">'.$lang['btn_recent'].'</option>'; - echo '<option value="index">'.$lang['btn_index'].'</option>'; + $act = tpl_get_action('recent'); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; + + $act = tpl_get_action('index'); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; echo '</optgroup>'; echo '<optgroup label=" — ">'; - if($conf['useacl'] && $auth){ - if($_SERVER['REMOTE_USER']){ - echo '<option value="logout">'.$lang['btn_logout'].'</option>'; - }else{ - echo '<option value="login">'.$lang['btn_login'].'</option>'; - } - } + $act = tpl_get_action('login'); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - if($conf['useacl'] && $auth && $_SERVER['REMOTE_USER'] && - $auth->canDo('Profile') && ($ACT!='profile')){ - echo '<option value="profile">'.$lang['btn_profile'].'</option>'; - } + $act = tpl_get_action('profile'); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - if($conf['useacl'] && $auth && $ACT == 'show' && $conf['subscribers']){ - if($_SERVER['REMOTE_USER']){ - echo '<option value="subscribe">'.$lang['btn_subscribe'].'</option>'; - } - } + $act = tpl_get_action('subscribe'); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; - if($INFO['ismanager']){ - echo '<option value="admin">'.$lang['btn_admin'].'</option>'; - } + $act = tpl_get_action('admin'); + if($act) echo '<option value="'.$act['params']['do'].'">'.$lang['btn_'.$act['type']].'</option>'; echo '</optgroup>'; echo '</select>'; -- GitLab