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 :
Citation:
<?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) :
Citation:
<!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> </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> </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">
</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