Forum CMS Made Simple FR

Version complète : [Résolu]Problème de programmation des UDT à partir de l'anciene 1.9
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.
Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 1.11.9
#~ Url du site :
#~ Hébergeur / Soft : privé Windows SBS2011
#~ Informations Système :
#~ Cms Version: 1.11.9
#~ Installed Modules:
#~ ◾CGExtensions: 1.38.1
#~ ◾CGSimpleSmarty: 1.7.1
#~ ◾CMSMailer: 5.2.2
#~ ◾CMSPrinting: 1.0.5
#~ ◾FileManager: 1.4.3
#~ ◾GoogleMaps: 0.2.1
#~ ◾MenuManager: 1.8.6
#~ ◾MicroTiny: 1.2.5
#~ ◾ModuleManager: 1.5.5
#~ ◾News: 2.14.1
#~ ◾Printing: 1.1.1
#~ ◾Search: 1.7.11
#~ ◾ThemeManager: 1.1.8
#~ ◾TinyMCE: 2.9.12
#~ ◾nuSOAP: 1.0.2
#~ ◾CGGoogleMaps: 2.4.7
#~ Config Information:
#~ ◾php_memory_limit:
#~ ◾process_whole_template:
#~ ◾max_upload_size: 100000000
#~ ◾url_rewriting: none
#~ ◾page_extension:
#~ ◾query_var: page
#~ ◾image_manipulation_prog: GD
#~ ◾auto_alias_content: true
#~ ◾locale:
#~ ◾default_encoding: utf-8
#~ ◾admin_encoding: utf-8
#~ ◾set_names: true
#~ Php Information:
#~ ◾phpversion: 5.5.8
#~ ◾md5_function: On (Vrai)
#~ ◾gd_version: 2
#~ ◾tempnam_function: On (Vrai)
#~ ◾magic_quotes_runtime: Off (Faux)
#~ ◾E_STRICT: 0
#~ ◾E_DEPRECATED: 0
#~ ◾memory_limit: 128M
#~ ◾max_execution_time: 60
#~ ◾output_buffering: 4096
#~ ◾safe_mode: Off (Faux)
#~ ◾file_uploads: On (Vrai)
#~ ◾post_max_size: 8M
#~ ◾upload_max_filesize: 100M
#~ ◾session_save_path: c:\php\tmp (0777)
#~ ◾session_use_cookies: On (Vrai)
#~ ◾xml_function: On (Vrai)
#~ ◾xmlreader_class: On (Vrai)
#~ Server Information:
#~ ◾Server Api: cgi-fcgi
#~ ◾Server Db Type: MySQL (mysqli)
#~ ◾Server Db Version: 5.6.15
#~ ◾Server Db Grants: Trouvé un privilège "GRANT ALL" qui semble être adapté
#~ ◾Server Time Diff: Aucune différence de date du système de fichiers trouvées
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~


Bonjour,
J'ai a modifier et faire fonctionner un site qui a été développé par un autre il y a des années. Je ne suis pas des plus branché PHP, mais développeur Visual studio en même temps qu'administrateur réseau

Le soucis que j'ai maintenant, pour la partie identification de l'utilisateur (session utilisateur), une variable est initialisé puis se transmet tout au long de la consultation du site jusqu'à déconnexion ou perte de la session

c'est un ensemble entre une Balise utilisateur appelée au tout debut du gabarit par defaut:
Code :
[== Indéfini ==]
//session_start();
$cur_url = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ;
if(!ereg( 'www.',$_SERVER['HTTP_HOST']) ) {
header("Location: http://www.$cur_url");
}

//var_dump($_SESSION);
//var_dump($_POST);

global $gCms;
$smarty = &$gCms->GetSmarty();

foreach($params as $key => $value) {
$gCms->smarty->assign($key, $value);
}


// GESTION de la déconnexion de l'espace client

if(isset($_POST['deconnexion'])) {
    $gCms->smarty->assign('validationAccesClient', "0");
    session_destroy();
}
elseif($_SESSION["client"]=='true') {
   $gCms->smarty->assign('validationAccesClient', "1");
}
else {
   $gCms->smarty->assign('validationAccesClient', "0");
}

Puis lors de la fichage de la section de session utilisateur sur la colone de gauche, on appelle le bloc de contenu global 'leftcol' dont voici le code initial:
Code :
[== Indéfini ==]
<!-- Left Column -->
<div id="leftcolwrapper">
<div id="auth">
<!-- Auth-->
{if $validationAccesClient==1}

<div style="float: left;">
<div style="float: left; width: 170px; height: 53px; background: url({root_url}/img/user.png) no-repeat top left; padding: 10px 0 0 100px;">
<div style="clear: both; font-size: 13px; color: #714e1a;"><strong>{*$denomination | upper*}{*$username | upper*} {*$userfirstname | upper*}{php}echo $_SESSION['denomination'];{/php}</strong></div>
<div style="clear: both; font-size: 10px; color: #eccd8e;">Inscrit(e) le {*$datecreation*}{php}echo $_SESSION['datecreation'];{/php}</div>


</div>



<div style="clear:both">
<form  method="POST" action="{root_url}" name="accessform">
<!--  <form  method="POST" action="{root_url}" name="accessform"> -->

<div style="clear: both; margin-top: 10px; padding-left: 3px;">

<img src="{root_url}/img/cadenas-off.png" alt="" align="absMiddle" />

<input type="hidden" name="deconnexion" value="1">
<a title="Quitter l'espace personnel" href="javascript:void(0)" onClick="javascript:document.accessform.submit();">Déconnexion</a>
  |
<a title="Accéder à mon espace personnel" href="{root_url}/mon-espace-personnel" >Mon espace personnel</a>
</div>
</div>
</form>
</div>

{else}


<form  name="validationAccesClient"  method="POST" action="{root_url}/mon-espace-personnel">  <!-- <form  name="validationAccesClient"  method="POST" action="{root_url}/mon-espace-personnel"> -->
<div style="float: left;">
<div style="clear: both;"><strong><img src="img/cadenas.png" alt="" align="absMiddle" />Accès client : <br /></strong></div>
<input class="rounded" style="width: 92px;" name="userMail" type="text" value="Adresse email" onblur="if(this.value=='') this.value=this.defaultValue;" onfocus="if(this.value==this.defaultValue) this.value='';" /> <input class="rounded" style="width: 92px;" name="userPass" type="password" value="m2passe" onblur="if(this.value=='') this.value=this.defaultValue;" onfocus="if(this.value==this.defaultValue) this.value='';" />
<div style="clear: both; margin-left: 13px; margin-top: 6px;"><a title="Cliquez ici pour procéder à votre inscription" href="{root_url}/inscription">Inscription</a> | <a title="Cliquez ici pour générer un nouveau mot de passe" href="{root_url}/mot-de-passe-perdu">Mot de passe perdu ?</a></div>
</div>
<div style="float: right; font-size: 10px;"><a class="fp-book-link" title="J'accède à mon espace client" onclick="javascript:_validationAccesClient();"></a></div>
</form>
{/if}

</div>
</div>
<!-- Auth-->{* onblur="if(this.value=='') this.value=this.defaultValue;" onfocus="if(this.value==this.defaultValue) this.value='';" *}

J'ai remplacé les gCms par cmsms(), j'ai essayé d'autre points que j'ai vue sur des exemples ou notes de droite ou de gauche, mais j'ai toujours l'erreur:
Notice: Undefined index: validationAccesClient in C:\inetpub\www\tmp\templates_c\050b0de3f5519bf2f8d842c4c40c9339338c7b7e.globalcontent.leftcol.php on line 32

Notice: Trying to get property of non-object in C:\inetpub\www\tmp\templates_c\050b0de3f5519bf2f8d842c4c40c9339338c7b7e.globalcontent.leftcol.php on line 32


En effet cette variable devrai pourvoir être accessible a changement ou rafraichissement par le même visiteur, c'est elle qui permet de basculer entre le mode connecté et déconnecté

Merci a vous de votre aide
Code :
[== Indéfini ==]
//session_start();
$cur_url = $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; ;
if(!ereg( 'www.',$_SERVER['HTTP_HOST']) ) {
header("Location: http://www.$cur_url");
}


$smarty = cmsms()->GetSmarty();

foreach($params as $key => $value) {
$smarty->assign($key, $value);
}


// GESTION de la déconnexion de l'espace client

if(isset($_POST['deconnexion'])) {
    $smarty->assign('validationAccesClient', "0");
    session_destroy();
} elseif($_SESSION["client"]=='true') {
  $smarty->assign('validationAccesClient', "1");
} else {
   $smarty->assign('validationAccesClient', "0");
}

le code avec les bonnes pratiques (sans doute toujours buggué) vite fait et non optimisé ($_post est à proscrire normalement)


global $gCms; disparait

$smarty = &$gCms->GetSmarty(); devient $smarty = cmsms()->GetSmarty();
$config = &$gCms->GetConfig(); devient $config = cmsms()->GetConfig();
ok,
pour global et $gCms je l'avait déjà fait



J'ai appliqué la modif mais maintenant je n'ai plus de page qui s'affiche, internet exploreur ne peut accéder....
OK, c'est bon ça passe, c'est la première partie de modification de l'url qu'il fallait que je supprime étant sur un sous domaine ww2 et non pâs www comme cela le sera par la suite

Merci Bess,

je continue a passer chaque fonction en revue, je vais certainement revenir
voila un autre problème:

Lors de l'appel de la googlemap j'ai ces erreur à la place :
Notice: Undefined index: pan_control in C:\inetpub\www\modules\GoogleMaps\action.default.php on line 90

Notice: Undefined index: streetViewControl in C:\inetpub\www\modules\GoogleMaps\action.default.php on line 93


dans la page de contenu, elle est appelée par: {cms_module module='GoogleMaps' map='test'}

dans extensions/GoogleMaps j'ai bien test que je peux éditer et qui s'affiche correctement
dans extensions/cartes Google maps (CG) j'ai bien la carte 1

J'ai corrigé l'appel par {cms_module module='GoogleMaps' map='test' pan_control='1' streetview='1'}
Je n'ai plus d'erreur, mais la carte ne s'affiche pas

Que dois je faire
les erreurs notices sont des erreurs qui ne sont pas à afficher en production, regarde la configuration php.ini pour les désactiver Smile
Oui ça je sais, mais pour debugger cela m'est utile, toutefois cela ne résout pas le problème que la carte ne s'affiche pas
GoogleMaps n'a plus été revu depuis le 6/8/2012 et a un bug dénoncé sous serveur windows : http://dev.cmsmadesimple.org/bug/view/8700
Tu devrais plutôt utiliser CGGoogleMaps qui a été corrigé le 13/07/2013.

Ce serait sympa de ta part de fermer tes topics lorsqu'ils ont été solutionné et ouvrir un nouveau topic quand tu changes de problème. Ceci pour avoir un titre précis et faciliter ainsi la recherche et la lecture du forum. L'aide qui t'es offerte ici servira à d'autres.