[ticket/416] Allow multiple inclusions of main menu

B3P-416
This commit is contained in:
Marc Alexander
2014-12-01 21:03:34 +01:00
parent d3bc75ccdf
commit 15fbf01a29
4 changed files with 29 additions and 24 deletions

View File

@@ -47,10 +47,10 @@ class leaders extends module_base
/** @var \phpbb\config\config */ /** @var \phpbb\config\config */
protected $config; protected $config;
/** @var \phpbb\db\driver */ /** @var \phpbb\db\driver\driver_interface */
protected $db; protected $db;
/** @var \phpbb\template */ /** @var \phpbb\template\template */
protected $template; protected $template;
/** @var string PHP file extension */ /** @var string PHP file extension */
@@ -67,8 +67,8 @@ class leaders extends module_base
* *
* @param \phpbb\auth\auth $auth phpBB auth service * @param \phpbb\auth\auth $auth phpBB auth service
* @param \phpbb\config\config $config phpBB config * @param \phpbb\config\config $config phpBB config
* @param \phpbb\db\driver $db phpBB db driver * @param \phpbb\db\driver\driver_interface $db phpBB db driver
* @param \phpbb\template $template phpBB template * @param \phpbb\template\template $template phpBB template
* @param string $phpEx php file extension * @param string $phpEx php file extension
* @param string $phpbb_root_path phpBB root path * @param string $phpbb_root_path phpBB root path
* @param \phpbb\user $user phpBB user object * @param \phpbb\user $user phpBB user object

View File

@@ -57,13 +57,13 @@ class main_menu extends module_base
/** @var \phpbb\config\config */ /** @var \phpbb\config\config */
protected $config; protected $config;
/** @var \phpbb\db\driver */ /** @var \phpbb\db\driver\driver_interface */
protected $db; protected $db;
/** @var \phpbb\request\request */ /** @var \phpbb\request\request */
protected $request; protected $request;
/** @var \phpbb\template */ /** @var \phpbb\template\template */
protected $template; protected $template;
/** @var string PHP file extension */ /** @var string PHP file extension */
@@ -82,9 +82,9 @@ class main_menu extends module_base
* Construct a main menu object * Construct a main menu object
* *
* @param \phpbb\config\config $config phpBB config * @param \phpbb\config\config $config phpBB config
* @param \phpbb\db\driver $db phpBB db driver * @param \phpbb\db\driver\driver_interface $db phpBB db driver
* @param \phpbb\request\request $request phpBB request * @param \phpbb\request\request $request phpBB request
* @param \phpbb\template $template phpBB template * @param \phpbb\template\template $template phpBB template
* @param string $phpbb_root_path phpBB root path * @param string $phpbb_root_path phpBB root path
* @param string $phpEx php file extension * @param string $phpEx php file extension
* @param \phpbb\user $user phpBB user object * @param \phpbb\user $user phpBB user object
@@ -111,6 +111,8 @@ class main_menu extends module_base
$links = $this->utf_unserialize($portal_config['board3_menu_array_' . $module_id]); $links = $this->utf_unserialize($portal_config['board3_menu_array_' . $module_id]);
$this->template->assign_block_vars('portal_menu', array('MODULE_ID' => $module_id));
// get user's groups // get user's groups
$groups_ary = get_user_groups(); $groups_ary = get_user_groups();
@@ -118,9 +120,8 @@ class main_menu extends module_base
{ {
if ($links[$i]['type'] == self::LINK_CAT) if ($links[$i]['type'] == self::LINK_CAT)
{ {
$this->template->assign_block_vars('portalmenu', array( $this->template->assign_block_vars('portal_menu.category', array(
'CAT_TITLE' => (isset($this->user->lang[$links[$i]['title']])) ? $this->user->lang[$links[$i]['title']] : $links[$i]['title'], 'CAT_TITLE' => (isset($this->user->lang[$links[$i]['title']])) ? $this->user->lang[$links[$i]['title']] : $links[$i]['title'],
'MODULE_ID' => $module_id,
)); ));
} }
else else
@@ -140,7 +141,7 @@ class main_menu extends module_base
if (!empty($permission_check) || $links[$i]['permission'] == '') if (!empty($permission_check) || $links[$i]['permission'] == '')
{ {
$this->template->assign_block_vars('portalmenu.links', array( $this->template->assign_block_vars('portal_menu.category.links', array(
'LINK_TITLE' => (isset($this->user->lang[$links[$i]['title']])) ? $this->user->lang[$links[$i]['title']] : $links[$i]['title'], 'LINK_TITLE' => (isset($this->user->lang[$links[$i]['title']])) ? $this->user->lang[$links[$i]['title']] : $links[$i]['title'],
'LINK_URL' => $cur_url, 'LINK_URL' => $cur_url,
'NEW_WINDOW' => ($links[$i]['type'] != self::LINK_INT && $this->config['board3_menu_url_new_window_' . $module_id]) ? true : false, 'NEW_WINDOW' => ($links[$i]['type'] != self::LINK_INT && $this->config['board3_menu_url_new_window_' . $module_id]) ? true : false,

View File

@@ -1,19 +1,21 @@
<!-- BEGIN portal_menu -->
<!-- IF portal_menu.MODULE_ID eq $MODULE_ID -->
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R} {$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
<div class="portal-navigation"> <div class="portal-navigation">
<!-- BEGIN portalmenu --> <!-- BEGIN category -->
<!-- IF $MODULE_ID eq portalmenu.MODULE_ID --> <div class="menutitle">{portal_menu.category.CAT_TITLE}</div>
<div class="menutitle">{portalmenu.CAT_TITLE}</div>
<ul> <ul>
<!-- BEGIN links --> <!-- BEGIN links -->
<li><a href="{portalmenu.links.LINK_URL}" <!-- IF portalmenu.links.NEW_WINDOW -->onclick="window.open('{portalmenu.links.LINK_URL}'); return false;"<!-- ENDIF -->>{portalmenu.links.LINK_TITLE}</a></li> <li><a href="{portal_menu.category.links.LINK_URL}" <!-- IF portal_menu.category.links.NEW_WINDOW -->onclick="window.open('{portal_menu.category.links.LINK_URL}'); return false;"<!-- ENDIF -->>{portal_menu.category.links.LINK_TITLE}</a></li>
<!-- END links --> <!-- END links -->
</ul> </ul>
<hr class="dashed" /> <hr class="dashed" />
<!-- ENDIF -->
<!-- BEGINELSE --> <!-- BEGINELSE -->
<ul> <ul>
<span class="portal-title-span gensmall"><strong>{L_MENU_NO_LINKS}</strong></span><br /> <span class="portal-title-span gensmall"><strong>{L_MENU_NO_LINKS}</strong></span><br />
</ul> </ul>
<!-- END portalmenu --> <!-- END category -->
</div> </div>
{$LR_BLOCK_F_L}{$LR_BLOCK_F_R} {$LR_BLOCK_F_L}{$LR_BLOCK_F_R}
<!-- ENDIF -->
<!-- END portal_menu -->

View File

@@ -1,26 +1,28 @@
<!-- BEGIN portal_menu -->
<!-- IF portal_menu.MODULE_ID eq $MODULE_ID -->
{$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R} {$LR_BLOCK_H_L}<!-- IF $S_BLOCK_ICON --><img src="{$IMAGE_SRC}" width="{$IMAGE_WIDTH}" height="{$IMAGE_HEIGHT}" alt="" />&nbsp;<!-- ENDIF -->{$TITLE}{$LR_BLOCK_H_R}
<table class="tablebg" cellspacing="1" width="100%"> <table class="tablebg" cellspacing="1" width="100%">
<!-- BEGIN portalmenu --> <!-- BEGIN category -->
<!-- IF $MODULE_ID eq portalmenu.MODULE_ID -->
<tr class="row3"> <tr class="row3">
<td> <td>
<strong>{portalmenu.CAT_TITLE}</strong> <strong>{portal_menu.category.CAT_TITLE}</strong>
</td> </td>
</tr> </tr>
<!-- BEGIN links --> <!-- BEGIN links -->
<tr class="row1"> <tr class="row1">
<td> <td>
<a class="portal-arrow-bullet" href="{portalmenu.links.LINK_URL}" title="{portalmenu.links.LINK_TITLE}" <!-- IF portalmenu.links.NEW_WINDOW -->onclick="window.open('{portalmenu.links.LINK_URL}'); return false;"<!-- ENDIF -->>&nbsp;{portalmenu.links.LINK_TITLE}</a> <a class="portal-arrow-bullet" href="{portal_menu.category.links.LINK_URL}" title="{portal_menu.category.links.LINK_TITLE}" <!-- IF portal_menu.category.links.NEW_WINDOW -->onclick="window.open('{portal_menu.category.links.LINK_URL}'); return false;"<!-- ENDIF -->>&nbsp;{portal_menu.category.links.LINK_TITLE}</a>
</td> </td>
</tr> </tr>
<!-- END links --> <!-- END links -->
<!-- ENDIF -->
<!-- BEGINELSE --> <!-- BEGINELSE -->
<tr class="row1"> <tr class="row1">
<td> <td>
<span style="float:left;" class="gensmall"><strong>{L_MENU_NO_LINKS}</strong></span><br /> <span style="float:left;" class="gensmall"><strong>{L_MENU_NO_LINKS}</strong></span><br />
</td> </td>
</tr> </tr>
<!-- END portalmenu --> <!-- END category -->
</table> </table>
{$LR_BLOCK_F_L}{$LR_BLOCK_F_R} {$LR_BLOCK_F_L}{$LR_BLOCK_F_R}
<!-- ENDIF -->
<!-- END portal_menu -->