IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Zope Python Discussion :

script PHP dans script python sous zope


Sujet :

Zope Python

  1. #1
    Nouveau membre du Club
    Inscrit en
    Octobre 2009
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Octobre 2009
    Messages : 50
    Points : 35
    Points
    35
    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 éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    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 : 767
    Points : 891
    Points
    891
    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é.

Discussions similaires

  1. Script Javascript dans script php == beurk !
    Par Invité2 dans le forum Langage
    Réponses: 12
    Dernier message: 02/03/2011, 16h36
  2. [PHP/JavaScript] Variable php dans script Java
    Par Flushovsky dans le forum Langage
    Réponses: 2
    Dernier message: 27/06/2006, 19h51
  3. [PHP-JS] Problème accents dans script PHP
    Par zigor dans le forum Langage
    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 Général 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 Général 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