Skip to content

Commit

Permalink
Fix external links ko when substitution key are inside domain
Browse files Browse the repository at this point in the history
  • Loading branch information
eldy committed Mar 24, 2018
1 parent f9ad2f7 commit ab9edef
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 8 deletions.
4 changes: 2 additions & 2 deletions htdocs/core/lib/functions.lib.php
Expand Up @@ -5987,8 +5987,8 @@ function getCommonSubstitutionArray($outputlangs, $onlykey=0, $exclude=null, $ob
}

/**
* Make substitution into a text string, replacing keys with vals from $substitutionarray (oldval=>newval).
* Texts like __(TranslationKey|langfile)__ and __[ConstantKey]__ are also replaced.
* Make substitution into a text string, replacing keys with vals from $substitutionarray (oldval=>newval),
* and texts like __(TranslationKey|langfile)__ and __[ConstantKey]__ are also replaced.
* Example of usage:
* $substitutionarray = getCommonSubstitutionArray($langs, 0, null, $thirdparty);
* complete_substitutions_array($substitutionarray, $langs, $thirdparty);
Expand Down
13 changes: 10 additions & 3 deletions htdocs/core/menus/standard/auguria_menu.php
Expand Up @@ -237,9 +237,16 @@ function showmenu($mode, $moredata=null)
{
$substitarray = array('__LOGIN__' => $user->login, '__USER_ID__' => $user->id, '__USER_SUPERVISOR_ID__' => $user->fk_user);
$substitarray['__USERID__'] = $user->id; // For backward compatibility
$val2['url'] = make_substitutions($val2['url'], $substitarray);

$relurl2=dol_buildpath($val2['url'],1);
$val2['url'] = make_substitutions($val2['url'], $substitarray); // Make also substitution of __(XXX)__ and __[XXX]__

if (! preg_match("/^(http:\/\/|https:\/\/)/i", $val2['url']))
{
$relurl2=dol_buildpath($val2['url'],1);
}
else
{
$relurl2=$val2['url'];
}
$canonurl2=preg_replace('/\?.*$/','',$val2['url']);
//var_dump($val2['url'].' - '.$canonurl2.' - '.$val2['level']);
if (in_array($canonurl2,array('/admin/index.php','/admin/tools/index.php','/core/tools.php'))) $relurl2='';
Expand Down
14 changes: 11 additions & 3 deletions htdocs/core/menus/standard/eldy_menu.php
Expand Up @@ -185,6 +185,7 @@ function showmenu($mode, $moredata=null)
$tmpleftmenu='all';
$submenu=new Menu();
print_left_eldy_menu($this->db,$this->menu_array,$this->menu_array_after,$this->tabMenu,$submenu,1,$tmpmainmenu,$tmpleftmenu); // Fill $submenu (example with tmpmainmenu='home' tmpleftmenu='all', return left menu tree of Home)
// Note: $submenu contains menu entry with substitution not yet done
//if ($tmpmainmenu.'-'.$tmpleftmenu == 'home-all') { var_dump($submenu); exit; }
//if ($tmpmainmenu=='accountancy') { var_dump($submenu->liste); exit; }
$nexturl=dol_buildpath($submenu->liste[0]['url'],1);
Expand Down Expand Up @@ -247,9 +248,16 @@ function showmenu($mode, $moredata=null)
{
$substitarray = array('__LOGIN__' => $user->login, '__USER_ID__' => $user->id, '__USER_SUPERVISOR_ID__' => $user->fk_user);
$substitarray['__USERID__'] = $user->id; // For backward compatibility
$val2['url'] = make_substitutions($val2['url'], $substitarray);

$relurl2=dol_buildpath($val2['url'],1);
$val2['url'] = make_substitutions($val2['url'], $substitarray); // Make also substitution of __(XXX)__ and __[XXX]__

if (! preg_match("/^(http:\/\/|https:\/\/)/i", $val2['url']))
{
$relurl2=dol_buildpath($val2['url'],1);
}
else
{
$relurl2=$val2['url'];
}
$canonurl2=preg_replace('/\?.*$/','',$val2['url']);
//var_dump($val2['url'].' - '.$canonurl2.' - '.$val2['level']);
if (in_array($canonurl2,array('/admin/index.php','/admin/tools/index.php','/core/tools.php'))) $relurl2='';
Expand Down

0 comments on commit ab9edef

Please sign in to comment.