global variabel problem
Kort sagt kan jeg ikke tilgå min system variabel $_SYSTEM i en funktion jeg har.Den korte version af koden er at jeg har en side her, men funktionen her:
function bookmark($img,$title,$url) {
global $_SYSTEM;
$url = str_replace(array('!!title!!','!!url!!'), array($_SYSTEM['meta']['title'],$_SYSTEM['siteadress']), $url);
echo '
<div class="bookmark" style="background-image:url(\'/IMG/bookmark/'.$img.'.gif\');"><a href="'.$url.'">'.$title.'</a></div>';
}
som inkluderes fra en class (uddag):
$_CONTROL = $this->vars;
$_SYSTEM = array(
'http' => array(
'uri' => $_GET['uri'],
'url' => $_GET['system']
),
'files' => array(
'css' => $this->css,
'js' => $this->js,
'xml' => $this->xml
),
'path' => $path,
'sidebox' => $this->sidebox,
'meta' => $this->meta,
'menu' => $this->registry->menu->getxml(),
'control' => $this->vars,
'siteadress'=> $this->registry->url
);
/*** Include the template file ($this->template) ***/
include (__SITE_PATH .'/'. 'pages' .'/'. '_' . $this->template . '.php');
Tjekker jeg om variabelsen er sat med isset sådan her:
echo 'outdoor: ' . (isset($_SYSTEM) ? 'true' : 'false') .'<br>';
function bookmark($img,$title,$url) {
global $_SYSTEM;
echo 'indoor: ' . (isset($_SYSTEM) ? 'true' : 'false') .'<br>';
$url = str_replace(array('!!title!!','!!url!!'), array($_SYSTEM['meta']['title'],$_SYSTEM['siteadress']), $url);
echo '
<div class="bookmark" style="background-image:url(\'/IMG/bookmark/'.$img.'.gif\');"><a href="'.$url.'">'.$title.'</a></div>';
}
For jeg
outdoor: true
indoor: false
