Issue 0000624: Enhanced Links Menu
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
This commit is contained in:
parent
5d9a865fe1
commit
94755e7bd7
3 changed files with 57 additions and 14 deletions
|
@ -164,11 +164,30 @@ $conf['show_version'] = true;
|
|||
// 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.
|
||||
|
|
|
@ -53,15 +53,32 @@ $template->assign_vars(
|
|||
);
|
||||
|
||||
//-------------------------------------------------------------- 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
|
||||
|
|
|
@ -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>
|
||||
|
|
Loading…
Add table
Reference in a new issue