p
u
b
l
i
c
i
t
é
publicité
  1. #1
    Futur Membre du Club
    Inscrit en
    octobre 2009
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : octobre 2009
    Messages : 50
    Points : 18
    Points
    18

    Par défaut script PHP dans script python sous zope

    Bonjour à tous,
    voilà, j'ai un site intranet fait avec ZOPE.
    Dans la page d'accueil (et sur les autres rubriques) je voudrais inscrire le nombre d'utilisateurs connectés en temps réel (et non un compteur de visite).
    J'ai déjà un script en php qui gère ça avec une table MYSQL :
    <?php
    // Connexion à MySQL
    mysql_connect("serveur", "login", "motdepasse");
    mysql_select_db("bd");

    // -------
    // ÉTAPE 1 : on vérifie si l'IP se trouve déjà dans la table.
    // Pour faire ça, on n'a qu'à compter le nombre d'entrées dont le champ "ip" est l'adresse IP du visiteur.
    $retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'');
    $donnees = mysql_fetch_array($retour);

    if ($donnees['nbre_entrees'] == 0) // L'IP ne se trouve pas dans la table, on va l'ajouter.
    {
    mysql_query('INSERT INTO connectes VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', ' . time() . ')');
    }
    else // L'IP se trouve déjà dans la table, on met juste à jour le timestamp.
    {
    mysql_query('UPDATE connectes SET timestamp=' . time() . ' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'');
    }

    // -------
    // ÉTAPE 2 : on supprime toutes les entrées dont le timestamp est plus vieux que 2 minutes.

    // On stocke dans une variable le timestamp qu'il était il y a 2 minutes :
    $timestamp_2min = time() - (60 * 2); // 60 * 2 = nombre de secondes écoulées en 2 minutes
    mysql_query('DELETE FROM connectes WHERE timestamp < ' . $timestamp_2min);

    // -------
    // ÉTAPE 3 : on compte le nombre d'IP stockées dans la table. C'est le nombre de visiteurs connectés.
    $retour = mysql_query('SELECT COUNT(*) AS nbre_entrees FROM connectes');
    $donnees = mysql_fetch_array($retour);


    // On n'a plus qu'à afficher le nombre de connectés !
    echo '<p>Il y a actuellement ' . $donnees['nbre_entrees'] . ' visiteurs connectés sur ce site !</p>';
    ?>
    Je voudrais juste savoir si il est possible de mettre un script php dans un script python (page d'accueil dans \intranet\portal_skin\custom\frontpage) :
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US"
    lang="en-US"
    metal:use-macro="here/main_template/macros/master">

    <body>

    <div metal:fill-slot="main"
    tal:define="results python:request.get('news',here.portal_catalog.searchResults(meta_type=['BrevInfo','Event','News Item','NoteServ','PV','InfT'], sort_on='Date',sort_order='reverse',review_state='published')[:10]);">


    <h1></h1>

    <br>

    <h1 i18n:translate="heading_news">News</h1>

    <metal:block tal:repeat="result results">
    <tal:block tal:define="resultObject result/getObject">

    <table width="90%" border="0">
    <tr>
    <td>&nbsp;</td>
    <td valign="top" width="15%">
    <span tal:replace="python:container.toPortalTime(result.Date)">Date</span><br>
    <em><a href="" tal:attributes="href python:portal_url + '/news?type='+result.meta_type"><span tal:replace="result/Type" tal:omit-tag=""><font size="2">Type de contenu</font></span></a></em>
    </td>
    <td>&nbsp; </td>

    <td valign="top" align="left" width="88%"> <strong><a class="accueil" href="/view" tal:attributes="href resultObject/absolute_url" tal:content="result/Title">Title</a></strong><br>
    <em>Service</em> :
    <a href="" tal:define="global creator result/Creator; global service python:container.getMemberData(creator,'work_service')" tal:content="service" tal:attributes="href python:portal_url + '/Services/' + service">Service</a>
    <span style="float: right" tal:condition="python: test( (here.portal_discussion.isDiscussionAllowedFor(resultObject) and here.portal_discussion.getDiscussionFor(resultObject).objectIds() ), 1, 0)">
    <img tal:replace="structure here/discussionitem_icon.gif" /> <span tal:define="talkback python: here.portal_discussion.getDiscussionFor(resultObject)">
    <a href="" tal:attributes="href string:${resultObject/absolute_url}#comments">
    <span tal:replace="python:talkback.replyCount(resultObject)"> comments</span>
    </a>
    </span></span><br><br>
    </td>
    </tr>
    </table>
    </tal:block>
    </metal:block>
    <hr>
    <div align="right"><b><a href="" tal:attributes="href python:portal_url +'/news'">Accès à l'ensemble des publications par ordre chronologique</a></b></div>
    <div class="spacer">
    &nbsp;
    </div>

    </div>

    </body>
    </html>
    j'ai fait un test en le mettant dans le <body> mais ça n'apparait pas sur la page d'accueil (j'ai essayé sur une page en php et html pour voir si ça venait du script mais ça fonctionne).
    Dois-je mettre mon script php en entier dans le script de mon frontpage ou dois-je faire un include qui appel mon script seulement et dans ce cas là, où mettre mon script php dans zope ?
    y'a t'il une syntaxe particulière ?
    Je sais ça fait beaucoup de questions.
    Merci d'avance et bonne journée
    Bruce

  2. #2
    Membre émérite
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    août 2004
    Messages
    751
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : août 2004
    Messages : 751
    Points : 847
    Points
    847

    Par défaut

    la réponse est non, en tout cas comme tu souhaite le faire.

    En effet Zope étant le serveur d'application, apache ne sert a rien et donc ne peut évaluer les instructions php.

    Par contre, pourquoi pas ré ecrire le traitement php pour zope, c'est pas bien compliqué.
    Pensez à la documentation en ligne, ca aide!

Discussions similaires

  1. Script Javascript dans script php == beurk !
    Par Invité2 dans le forum Débuter
    Réponses: 12
    Dernier message: 02/03/2011, 16h36
  2. [PHP/JavaScript] Variable php dans script Java
    Par Flushovsky dans le forum Syntaxe
    Réponses: 2
    Dernier message: 27/06/2006, 19h51
  3. [PHP-JS] Problème accents dans script PHP
    Par zigor dans le forum Syntaxe
    Réponses: 3
    Dernier message: 18/05/2006, 18h45
  4. [PHP-JS] Execution d'un script php dans du javascript
    Par Anduriel dans le forum JavaScript
    Réponses: 2
    Dernier message: 13/06/2005, 20h41
  5. [PHP-JS] pb lecture script php dans une fonction au démarrage
    Par jerome38000 dans le forum JavaScript
    Réponses: 4
    Dernier message: 09/02/2005, 15h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo