Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[Résolu] Mettre un script php dans cms made simple
#1
Citation :#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
#~ Version du CMS: 1.9.2
#~ Nom de l'hébergeur : Easy hebergement
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.9.2
#~ Installed Modules:
#~ * CMSMailer: 2.0
#~ * FileManager: 1.0.3
#~ * MenuManager: 1.7.4
#~ * ModuleManager: 1.4
#~ * News: 2.11
#~ * nuSOAP: 1.0.2
#~ * Printing: 1.1.1
#~ * Search: 1.6.8
#~ * ThemeManager: 1.1.3
#~ * TinyMCE: 2.8.2
#~ Config Information:
#~ * php_memory_limit:
#~ * process_whole_template: false
#~ * output_compression: false
#~ * max_upload_size: 10000000
#~ * default_upload_permission: 664
#~ * 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.2.6-1+lenny9
#~ * md5_function: On (Vrai)
#~ * gd_version: 2
#~ * tempnam_function: On (Vrai)
#~ * magic_quotes_runtime: Off (Faux)
#~ * E_STRICT: 0
#~ * memory_limit: 64M
#~ * max_execution_time: 30
#~ * output_buffering: On
#~ * safe_mode: Off (Faux)
#~ * file_uploads: On (Vrai)
#~ * post_max_size: 10M
#~ * upload_max_filesize: 10M
#~ * session_save_path: /sessions (0777)
#~ * session_use_cookies: On (Vrai)
#~ * xml_function: On (Vrai)
#~ Server Information:
#~ * Server Api: cgi-fcgi
#~ * Server Db Type: MySQL (mysql)
#~ * Server Db Version: 5.0.51a
#~ ----------------------------------------------
#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~



Bonjour,

J'ai fait coder un code php par un développeur php, j'aurais aimer savoir si il était aisé de l'incorporer au cms, tout en sachant que le script php fait appel à plusieurs page.

Quel sont les étapes à suivre pour que le script fonctionne.

Bonne soirée

Manu
#2
Citation :tout en sachant que le script php fait appel à plusieurs page.

un fichier .php incluant d'autre .php ?

c'est vague comme description mais dans le théorique c'est possible : utilise les balise utilisateurs sans y inclure <?php et ?>
#3
bess a écrit :
Citation :tout en sachant que le script php fait appel à plusieurs page.

un fichier .php incluant d'autre .php ?

c'est vague comme description mais dans le théorique c'est possible : utilise les balise utilisateurs sans y inclure <?php et ?>


oui d'autre page sont inclus par un incluse.
#4
attention aux failles de sécurités induites Wink
J-C Etiemble Tutoriels v 2.2.x
#5
il te faudra TOUT passer en balise utilisateur.
#6
bess a écrit :il te faudra TOUT passer en balise utilisateur.

à la galère, rien n'est jamais simple.
#7
Bonjour,

Voici le code php d'une page (la plus simple niveau php)

Code :
<?php
define('METEO_INC', 'METEO');
require_once ('includes/functions.php');
require_once ('data/config.inc.php');

if (isset($_GET['page'], $_GET['id']) && $_GET['page'] == 'vigi')
    $include = 'part.vigilance.php';
else $include = 'part.home.php';

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!-- TITLE -->
<title>Vigilance Météo - Ajout d'une vigilance</title>

<!-- META -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Language" content="fr" />

<!-- CSS -->
<link href="templates/css/global.css" type="text/css" rel="stylesheet" media="screen" />

</head>    

<body>

<div class="wrapper">
    <h1><a href="index.php">Site de vigilance météo</a></h1>
    <?php include_once ('includes/'.$include); ?>
</div>

</body>
</html>

Pourriez vous me faire une adaptation en balise utilisateur, cela me servira de base pour que je puisse adapté les autres pages ?

J'ai tenté des trucs mais j'ai toujours des erreurs de code.

merci à vous

Manu
#8
ça deviens trop complexe pour se contenter de quelques balises imbriquée les unes aux autres. Et surtout ce sera très rapidement immaintenable pour le futur. Il faut passer par un module ou externaliser ta page de Cms Made Simple ce que je te déconseille évidement.

Si tu ne sais pas coder un module, des pro pourront te le faire, vois la partie "commerce et service" du forum.

Si tu souhaites tout de même rester avec une balise utilisateur je te conseil ceci :

-> transforme toute la partie HTML en un echo général :

Citation :echo '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!-- TITLE -->
<title>Vigilance Météo - Ajout d'une vigilance</title>

<!-- META -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Language" content="fr" />

<!-- CSS -->
<link href="templates/css/global.css" type="text/css" rel="stylesheet" media="screen" />

</head>

<body>

<div class="wrapper">
<h1><a href="index.php">Site de vigilance météo</a></h1>

</div>

</body>
</html>'

copie colle le code des fichiers requis pour les intégrer au fichier/à la balise principale, ca sera certes un code plus long mais ce sera + lisible que de devoir parcourir 15 balises différentes.

N'insère ni <?php ni ?> dans la balise, ce n'est pas nécessaire car c'est son fonctionnement de base que d'intégrer du code PHP (ce qui explique qu'insérer simplement du HTML ferra planter le tout)

Le <?php include_once ('includes/'.$include); ?> doit être -tu t'en doutes- repensé selon le contenu de ce fameux fichiers include. Je te propose plutôt un truc de ce genre :


Code :
if (isset($_GET['page'], $_GET['id']) && $_GET['page'] == 'vigi')
    $include = callVigilance();
else $include = callHome();

....

function callVigilance()
{
// insérer le contenu de la page php : part.vigilance.php
// faire un return du contenu HTML généré plutôt que des echo
}

function callHome()
{
// insérer le contenu de la page php : part.home.php
// faire un return du contenu HTML généré plutôt que des echo
}

et reprendre la génération du HTML en fin de balise ainsi


Citation :echo '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<!-- TITLE -->
<title>Vigilance Météo - Ajout d'une vigilance</title>

<!-- META -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Language" content="fr" />

<!-- CSS -->
<link href="templates/css/global.css" type="text/css" rel="stylesheet" media="screen" />

</head>

<body>

<div class="wrapper">
<h1><a href="index.php">Site de vigilance météo</a></h1>
' . $include . '
</div>

</body>
</html>'


Voilà, ainsi tu dois avoir une meilleure vu de ce qui peut être fait en balise : beaucoup de chose, tant que c'est bien pensé. Pour les modules php plus complexe il te faut coder complètement un module Cmsms. C'est pas difficile en soit, c'est plus stable et plus évolutif mais faut mettre la main à la pâte...
#9
Salut Manu13,
Combien de pages comme celle-ci as-tu?
Bess à raison, si tu veux du spécifique, il faut faire un module, surtout si tu auras besoin de paramétrage et donc une interface administrative.
Tes scripts font-ils appelle à la BDD?
Et comme l'a dit JCE, il faut tenir compte de la sécurité.
Si tu reste dans CMSMS en utilisant ses outils, le risque est moindre.
Dans le wiki, il y a un petit tuto pour commencer à écrire un module:
http://wiki.cmsmadesimple.org/index.php/...utorial/fr
{SEO}
Inscrivez-vous à notre Newsletter sur le site (colonne de droite, en bas).
Vous appréciez CMSMS et l'aide qui vous est fournie ici, aidez-nous en participant au projet.
Formation CMS Made Simple | Création de site CMS Made Simple.

C'est en se plantant qu'on devient cultivé.
J'ai un string dans l'Array (Paris Hilton)
#10
bonsoir,

merci pour vos réponses, je vais opté pour la création d'un module, cela sera plus propre.

Quelqu'un sait t'il si il existe un module pour integré wikimédia à cmssm ?

bonne soirée

Manu
#11
jamais entendu parlé d'un tel module :/


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)