<?php
/* *********************************************************************************************************************************************
* CLASS OAJAX
*
* @author johan <hide@address.com>
* @version 2006-01-26
* @copyright : free to use, modify...do NOT sell. If you change this file, you'd be very nice to send me your changes :-)
***********************************************************************************************************************************************/
class oajax {
/** ******************************************************************************************************
* Constructeur
* @Return string : affichage des fonctions js
********************************************************************************************************/
public function __construct () {
echo
<<<EOS
<script type="text/javascript">
EOS;
echo $this -> buildAjax ();
echo $this -> sendMove ();
echo $this -> updateHero ();
echo
<<<EOS
</script>
EOS;
}
/** ******************************************************************************************************
* méthode buildAjax
* déclare l'objet xmlhttp
* @Return string : déclaration de l'objet xmlhttp
********************************************************************************************************/
private function buildAjax () {
$sString =
<<<EOS
if (window.XMLHttpRequest) {
oXmlhttp = new XMLHttpRequest();
} else if (window.ActiveXObject) {
oXmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
EOS;
return $sString;
}
/** ******************************************************************************************************
* méthode sendMove
* déclare la fonction de récupération des valeurs sur l'évènement utilisateur
* @Return sString : déclaration de la fonction js sendMove ()
* js sendMove () =>
* @Params string dir : direction choisie
* @Params string serial : instance de l'objet omap sérialisée
********************************************************************************************************/
private function sendMove () {
$sString =
<<<EOS
function sendMove (dir, serial) {
oXmlhttp.open('POST','{$_SERVER['PHP_SELF']}');
oXmlhttp.onreadystatechange=function() {
if (oXmlhttp.readyState==4 && oXmlhttp.status == 200) {
parent.document.body.innerHTML = oXmlhttp.responseText;
}
}
oXmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
var data = 'dir='+dir+'&serialMap='+serial;
oXmlhttp.send (data);
}
EOS;
return $sString;
}
/** ******************************************************************************************************
* méthode updateHero
* déclare la fonction de mise à jour du héro après un combat
* @Return sString : déclaration de la fonction js updateHero ()
* js updateHero () =>
* @Params string pv : Nombre de points de vie à ôter à l'instance du héro
********************************************************************************************************/
private function updateHero () {
$sString =
<<<EOS
function updateHero (pv) {
oXmlhttp.open('POST','{$_SERVER['PHP_SELF']}');
oXmlhttp.onreadystatechange=function() {
if (oXmlhttp.readyState==4 && oXmlhttp.status == 200) {
}
}
oXmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
var data = 'pv='+pv;
oXmlhttp.send (data);
}
EOS;
return $sString;
}
}
?>