Skip to content

Commit

Permalink
Issue 0000624: Enhanced Links Menu
Browse files Browse the repository at this point in the history
Add optional parameter values:
  o Allow to open url of links menu on new window.
  o Dynamic visibility of links menu

It's a proposition.


git-svn-id: http://piwigo.org/svn/trunk@1728 68402e56-0260-453c-a942-63ccdbb3a9ee
  • Loading branch information
rub committed Jan 17, 2007
1 parent 5d9a865 commit 94755e7
Show file tree
Hide file tree
Showing 3 changed files with 57 additions and 14 deletions.
29 changes: 24 additions & 5 deletions include/config_default.inc.php
Expand Up @@ -164,11 +164,30 @@
// links : list of external links to add in the menu. An example is the best
// than a long explanation :
//
// $conf['links'] = array(
// 'http://phpwebgallery.net' => 'PWG website',
// 'http://forum.phpwebgallery.net' => 'PWG forum',
// 'http://phpwebgallery.net/doc' => 'PWG wiki'
// );
// Simple use:
// for each link is associated a label
// $conf['links'] = array(
// 'http://phpwebgallery.net' => 'PWG website',
// 'http://forum.phpwebgallery.net' => 'PWG forum',
// 'http://phpwebgallery.net/doc' => 'PWG wiki'
// );
//
// Advenced use:
// You can also used special options. Instead to pass a string like parameter value
// you can pass a array with different optional parameter values
// $conf['links'] = array(
// 'http://phpwebgallery.net' => array('label' => 'PWG website', 'new_window' => true, 'eval_visible' => 'return true;'),
// 'http://forum.phpwebgallery.net' => array('label' => 'For ADMIN', 'new_window' => true, 'eval_visible' => 'return is_admin();'),
// 'http://phpwebgallery.net/doc' => array('label' => 'For Guest', 'new_window' => true, 'eval_visible' => 'return $user[\'is_the_guest\'];'),
// );
//
// Equivalence:
// $conf['links'] = array(
// 'http://phpwebgallery.net' => 'PWG website',
// );
// $conf['links'] = array(
// 'http://phpwebgallery.net' => array('label' => 'PWG website', 'new_window' => false, 'visible' => 'return true;'),
// );
//
// If the array is empty, the "Links" box won't be displayed on the main
// page.
Expand Down
33 changes: 25 additions & 8 deletions include/menubar.inc.php
Expand Up @@ -53,15 +53,32 @@
);

//-------------------------------------------------------------- external links
foreach ($conf['links'] as $url => $label)
foreach ($conf['links'] as $url => $url_data)
{
$template->assign_block_vars(
'links.link',
array(
'URL' => $url,
'LABEL' => $label
)
);
if (!is_array($url_data))
{
$url_data = array('label' => $url_data);
}

if
(
(!isset($url_data['eval_visible']))
or
(eval($url_data['eval_visible']))
)
{
$template->assign_block_vars(
'links.link',
array(
'URL' => $url,
'LABEL' => $url_data['label']
)
);
if (isset($url_data['new_window']) and $url_data['new_window'])
{
$template->assign_block_vars('links.link.new_window', array('1'=>'1'));
}
}
}

//------------------------------------------------------------------------ filter
Expand Down
9 changes: 8 additions & 1 deletion template/yoga/menubar.tpl
Expand Up @@ -6,7 +6,14 @@
<dd>
<ul>
<!-- BEGIN link -->
<li><a href="{links.link.URL}">{links.link.LABEL}</a></li>
<li>
<a href="{links.link.URL}"
<!-- BEGIN new_window -->
onclick="window.open(this.href, ''); return false;"
<!-- END new_window -->
>{links.link.LABEL}
</a>
</li>
<!-- END link -->
</ul>
</dd>
Expand Down

0 comments on commit 94755e7

Please sign in to comment.