Variable de Session modifiée je ne sais comment
Bonjour, je suis sur un dilemme (j'ai ce code ci dessous) et il se trouve que lors du print_r du bas, les valeurs modifiées par la fonction de calcule stoké dans mReturn sont appliquer a la variable de session correspondante ce que je ne comprend pas... Si quelqu'un a une idée... Merci
Exemple : mReturn[header] prend les valeurs par defaut dans $_SESSION[doc_depend] (du header correspondant), la fonction de calcule (calc_element_position) change la valeur de "x" (genre de 10 a 15) seulement la valeur est bonne dans mReturn[header] mais elle est ossi modifier dans $_SESSION[doc_depend] (du header correspondant)...
On diré que quand je fais "mReturn[header] = $_SESSION[doc_depend] (du header correspondant)" ca ce link...
Je comprend pas...
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
|
public function ajusteMiseEnPage() {
$mReturn=array();
if($this->idEnteteDePage && isset($_SESSION['doc_depend']->enteteDePage[$this->idEnteteDePage])) {
$mReturn['header'] = $_SESSION['doc_depend']->enteteDePage[$this->idEnteteDePage];
}
if($this->idPiedDePage && isset($_SESSION['doc_depend']->piedDePage[$this->idPiedDePage])) {
$mReturn['footer'] = $_SESSION['doc_depend']->piedDePage[$this->idPiedDePage];
}
if(isset($mReturn['header']) && isset($mReturn['footer'])) {
$aSide = array('mgTop','mgBottom','mgLeft','mgRight');
print_r($_SESSION['doc_depend']->enteteDePage);
print_r($mReturn['header']);
foreach($aSide as $sSide) {
if($mReturn['header']['prop'][$sSide] > $mReturn['footer']['prop'][$sSide]) {
$iEcart = $mReturn['header']['prop'][$sSide] - $mReturn['footer']['prop'][$sSide];
$mReturn['header']['prop'][$sSide] = $mReturn['footer']['prop'][$sSide];
$this->format->{$sSide} = $mReturn['header']['prop'][$sSide];
if($sSide=='mgTop' || $sSide=='mgLeft') {
$mReturn['header'] = calc_element_position($mReturn['header'],$sSide,$iEcart);
}
}elseif($mReturn['footer']['prop'][$sSide] > $mReturn['header']['prop'][$sSide]) {
$iEcart = $mReturn['footer']['prop'][$sSide] - $mReturn['header']['prop'][$sSide];
$mReturn['footer']['prop'][$sSide] = $mReturn['header']['prop'][$sSide];
$this->format->{$sSide} = $mReturn['footer']['prop'][$sSide];
if($sSide=='mgTop' || $sSide=='mgLeft') {
$mReturn['footer'] = calc_element_position($mReturn['footer'],$sSide,$iEcart);
}
}
print_r($_SESSION['doc_depend']->enteteDePage);
print_r($mReturn['header']);
}
}
return $mReturn;
} |