Commit 6529a24d authored by Mindiell's avatar Mindiell

First commit

parents
config.php
configuration.sh
Outil de revue de presse
GPL v2
2006-2009
<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
require_once("config.php");
$id=intval($_REQUEST["id"]);
$c=@mysql_fetch_array(mysql_query("SELECT * FROM presse WHERE id='$id';"));
?>
<a href="<?=$c["url"]; ?>" target="_blank"><?=substr($c["url"],0,80); ?></a><br />
<h2><?=$c["title"]; ?></h2>
<?php if (is_file("ssc/".$id.".jpg")) { ?>
<img src="/rp/ssc/<?=$id; ?>.jpg" alt="" title="" id="ssc<?=$id; ?>"/><a href="javascript:regenerate('<?=$id; ?>');" title="Cliquer ici pour supprimer la vignette actuelle" accesskey="x">X</a><br />
<?php } ?>
<?php if (is_file("txt/".$id.".txt")) {
echo str_replace("\n\n","\n<br /><br />\n",iconv("ISO-8859-1","UTF-8",file_get_contents("txt/".$id.".txt")));
} ?>
<?php
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
require_once("config.php");
$action=trim($_REQUEST["action"]);
$id=intval($_REQUEST["id"]);
$HOME="/html/p/pi/site/rp/";
if ($action=="regenerate") {
@unlink($HOME."sc/".$id.".jpg");
@unlink($HOME."ssc/".$id.".jpg");
mysql_query("UPDATE presse SET screenshot=0 WHERE id='$id';");
exit();
}
if ($action=="note") {
mysql_query("UPDATE presse SET note=note+ '".intval($_REQUEST["note"])."' WHERE id='$id';");
list($note)=@mysql_fetch_array(mysql_query("SELECT note FROM presse WHERE id='$id';"));
echo $note;
exit();
}
$field=trim($_REQUEST["field"]);
if ($field!="published" && $field!="cite") {
echo "-1"; exit();
}
$status=intval($_REQUEST["status"]);
list($res)=@mysql_fetch_array(mysql_query("SELECT $field FROM presse WHERE id = $id ;"));
if ($res==$status) {
$status=0;
}
mysql_query("UPDATE presse SET $field = $status WHERE id = $id ;");
echo mysql_error();
list($res)=@mysql_fetch_array(mysql_query("SELECT $field FROM presse WHERE id = $id ;"));
echo $res;
?>
\ No newline at end of file
<?php
mysql_connect("localhost","root","password");
mysql_select_db("pi");
require_once("functions.php");
$HOME="/html/p/pi/site/rp/";
?>
\ No newline at end of file
#!/bin/bash
HTTP_USER=""
HTTP_PWD=""
en.png

319 Bytes

exec.png

854 Bytes

fr.png

267 Bytes

This diff is collapsed.
ham.gif

551 Bytes

ham2.gif

348 Bytes

<?php
require_once("config.php");
function is_utf8($string) {
// From http://w3.org/International/questions/qa-forms-utf-8.html
return preg_match('%^(?:
[\x09\x0A\x0D\x20-\x7E] # ASCII
| [\xC2-\xDF][\x80-\xBF] # non-overlong 2-byte
| \xE0[\xA0-\xBF][\x80-\xBF] # excluding overlongs
| [\xE1-\xEC\xEE\xEF][\x80-\xBF]{2} # straight 3-byte
| \xED[\x80-\x9F][\x80-\xBF] # excluding surrogates
| \xF0[\x90-\xBF][\x80-\xBF]{2} # planes 1-3
| [\xF1-\xF3][\x80-\xBF]{3} # planes 4-15
| \xF4[\x80-\x8F][\x80-\xBF]{2} # plane 16
)*$%xs', $string);
}
if(!function_exists('mb_detect_encoding')) {
function mb_detect_encoding($string, $enc=null) {
static $list = array('utf-8', 'iso-8859-1', 'windows-1251');
foreach ($list as $item) {
$sample = iconv($item, $item, $string);
if (md5($sample) == md5($string)) {
if ($enc == $item) { return true; } else { return $item; }
}
}
return false;
}
}
function extractURL($url)
{
// On set le titre avec la fin de l'url
$cleanUrl = $url;
$cleanUrl = str_replace(".html", "", $cleanUrl);
$cleanUrl = str_replace(".htm", "", $cleanUrl);
$cleanUrl = str_replace(".asp", "", $cleanUrl);
$cleanUrl = str_replace(".aspx", "", $cleanUrl);
$cleanUrl = str_replace(".php", "", $cleanUrl);
return substr($cleanUrl, -60);
}
function importTitre()
{
$mysqli = LQDNConnect();
// Requête d'un seul article sans titre en commençant par le plus récent
// On ne récupère pas les pdf, ni les webm, ni les mp3 qu'on ne sait pas lire
// TODO: S'il y en a plusieurs, on ne crée les titres d'article qu'un par un...
$lineWithoutTitle = "SELECT * FROM `presse` WHERE `url` NOT REGEXP '(webm|pdf|mp3)$' AND `title` = '' ORDER BY `id` DESC LIMIT 0, 1";
$result = $mysqli->query($lineWithoutTitle);
$row = $result->fetch_assoc();
$url = $row['url'];
// Ouverture de l'url
// TODO: pour éviter les blocages, il faudrait avoir un timeout là-dessus
$handle = fopen($url, "r");
if ($handle)
{
//echo "fopen ok<br>";
while(!feof($handle))
$data .= fgets($handle, 5000000);
if ($data)
{
$DOM = new DOMDocument;
$DOM->loadHTML($data);
$items = $DOM->getElementsByTagName('title');
if ($items->length > 0)
$title = $items->item(0)->nodeValue;
}
if($title == "")
$title = extractURL($url);
// Si le titre est trouvé, on préfixe par le nom du média
// TODO: Pourquoi on ne fait pas la même chose lors des erreurs d'ouverture plus bas ?
if ($title != "")
{
// grab the website uri then split it on "."
eregi("https?://([^/]*)/", $url, $tabreponse);
$split_response = explode(".", $tabreponse[1]);
// TODO: Cette partie passe la première lettre de chaque mot en majuscule de manière crade...
// remove "www" and "com"
// this piece of code is a crape
$working_array = array();
for ($i = 0; $i < sizeof($split_response); ++$i)
if ($split_response[$i] != "www" and $split_response[$i] != "com")
array_push($working_array, $split_response[$i]);
$result = "";
for ($i = 0; $i < sizeof($working_array); ++$i)
{
// ucfirst to upper the first char of the string
$result = $result . ucfirst($working_array[$i]);
// if this isn't the last element add a "." (ie: Elpais.Es)
if ($i < sizeof($working_array) - 1)
$result = $result . ".";
}
// format
$title = "[" . $result . "] " . $title;// . "\r\n";
}
// TODO: Ici, on finit avec un titre vide, on va donc bloquer sur cet article indéfiniment...
else
$title = "";
}
else
{
// Dans les cas non fonctionnels (erreur 404 par exemple),
// on remplit le titre avec la fin de l'url
$title = extractURL($url);
// TODO: Pourquoi faire un echo ici ? Ça finit par s'afficher sur la page web...
echo $title."<br>";
}
$title = str_replace(array("\r","\n"), "", $title);
$title = addslashes($title);
// On affecte le titre à l'article
$sqlUpdate = "UPDATE `presse` set `title` = '".$title."' WHERE `id` = '".$row["id"]."'";
$mysqli->query($sqlUpdate);
}
?>
This diff is collapsed.
<?php
require_once("config.php");
require_once("importTitrePi.php");
//TODO: non utilisé !
$privileged=array("benjamin","jz","siltaar","nca","guyzmo","felix","darkknow","nahuel");
// Force le rafraichissement à chaque fois
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past
//TODO: non utilisé !
$alang=array("fr","en","de","it","es","se","ru","fi","XX");
// TODO: non utilisé !
$apublished=array(0=>"Unknown", 1=>"Publish", 2=>"DO NOT publish");
// TODO: même commande plus bas : inutile ici
if (!isset($_REQUEST["cite"])) $_REQUEST["cite"]=-1;
$torder=array(
0=>"Note",
1=>"Date",
);
$aorder=array(
0=>"note DESC,datec DESC,id DESC",
1=>"datec DESC"
);
// TODO: Voir ce que signifient exactement ces champs...
// default : http://www.laquadrature.net/rp/?nid=1&cite=-1&order=1&q=&count=20
if (!isset($_REQUEST["order"])) $_REQUEST["order"]=1;
if (!isset($_REQUEST["cite"])) $_REQUEST["cite"]=-1;
if (!isset($_REQUEST["count"])) $_REQUEST["count"]=20;
if (!isset($_REQUEST["nid"])) $_REQUEST["nid"]=1;
// DEBUG
if (!isset($_REQUEST["published"])) $_REQUEST["published"]=-1;
$order=intval($_REQUEST["order"]);
// Mise à jour du titre de l'article enregistré le plus récent
// DEBUG
//importTitre();
// TODO: Globalement, refaire le html au propre, a minima que le code html soit clair
?>
<html>
<head>
<meta charset="utf-8" />
<title>Press Report Management</title>
<script src="main.js">
</script>
<link rel="stylesheet" type="text/css" href="style.css" media="screen" title="Normal" />
<link rel="stylesheet" type="text/css" href="style1.css" media="screen" title="Normal" />
</head>
<body>
<table><tr><td style="width: 70%; vertical-align: top">
<form method="get" action="" name="f1" id="f1">
<table class="box">
<!-- Partie permettant de filtrer -->
<tr><th colspan="4">Result filtering</th></tr>
<tr>
<td>
<!-- TODO: Commande php ci-dessous effectuée quand même, à nettoyer -->
<!-- Show by published status: <select class="inl" name="published" onchange="document.forms['f1'].submit();" ><?php
$filter_published=array(-1=>"Everything",0=>"Only Unknown URL",1=>"Only Published URL",2=>"Only URL which are not a PR");
eoption($filter_published,$_REQUEST["published"]);
?></select> -->
Afficher <select class="inl" name="nid" onchange="document.forms['f1'].submit();" ><?php
$filter_nid=array(0=>"Tout",1=>"Le non trait&eacute;");
eoption($filter_nid,$_REQUEST["nid"]);
?></select>
</td>
<td>Afficher <select class="inl" name="cite" onchange="document.forms['f1'].submit();" ><?php
$filter_cite=array(-1=>"Tout",0=>"Les cite inconnus",1=>"Ceux qui nous citent",2=>"Ceux qui ne nous citent pas");
eoption($filter_cite,$_REQUEST["cite"]);
?></select>
Trier par <select class="inl" name="order" id="order" onchange="document.forms['f1'].submit();">
<?php
eoption($torder,$_REQUEST["order"]);
?>
</td>
<td>Search: <input class="int" type="text" name="q" value="<?php eher("q"); ?>" size="30"/>
</td>
<?php
// TODO: Risque d'injection SQL ?
// TODO: Pourquoi la requête n'est pas construite plus haut dans le script ? Ça serait plus propre
// Création de la requête de recherche des articles
// Les articles de moins de 2 mois
$wh="WHERE DATE_SUB(NOW(), INTERVAL 2 MONTH)<datec ";
// Les articles avec un statut 'published' spécifique
// TODO: published n'est pas vérifié dans les valeurs passées en requête en début de script
if ($_REQUEST["published"]!=-1) {
$wh.=" AND published=".intval($_REQUEST["published"])." ";
}
// Les articles à publier
if ($_REQUEST["nid"]==1) {
$wh.=" AND nid=0 AND note>=3 ";
}
// TODO: Que signifie une note à 7 ?
// Les articles avec une note à 7
if ($_REQUEST["nid"]==2) {
$wh.=" AND note=7 ";
}
// Les articles avec un statut 'cite' spécifique
if ($_REQUEST["cite"]!=-1) {
$wh.=" AND cite=".intval($_REQUEST["cite"])." ";
}
// Recherche de texte sur l'url ou l'id
$q=trim($_REQUEST["q"]);
if ($q) {
$wh.=" AND (url LIKE '%".addslashes($q)."%' OR id ='".addslashes($q)."') ";
}
// TODO: le nombre d'articles forcé n'est pas cohérent avec le nombre par défaut
// si le nombre d'articles à afficher est inférieur à 10, on force l'affichage à 100
$count=intval($_REQUEST["count"]);
if (!$count || $count<10) $count=100;
// TODO: offset n'est pas vérifié dans les valeurs passées en requête en début de script
$offset=intval($_REQUEST["offset"]);
if (!$offset) $offset=0;
list($total)=@mysql_fetch_array(mysql_query("SELECT COUNT(*) FROM presse $wh ;"));
$r=mysql_query("SELECT * FROM presse $wh ORDER BY ".$aorder[$order]." LIMIT $offset,$count");
//DEBUG
echo "<!-- SELECT * FROM presse $wh ORDER BY ".$aorder[$order]." LIMIT $offset,$count -->";
?>
</tr>
<tr>
<td colspan="2">
Afficher <select class="inl" name="count" id="count" onchange="document.forms['f1'].submit();">
<?php
$acount=array(10=>10,20=>20,50=>50,100=>100,200=>200,500=>500,1000=>1000,2000=>2000,5000=>5000,10000=>10000);
// TODO: La variable count n'est pas prise en compte ici...
eoption($acount,$_REQUEST["count"]);
?>
</select> par page. &nbsp; | &nbsp;
<?php pager($offset,$count,$total,"/rp/?offset=%%offset%%&count=".$count."&q=".urlencode($q)."&cite=".intval($_REQUEST["cite"])."&published=".intval($_REQUEST["published"])."&nid=".intval($_REQUEST["nid"])."&order=".intval($_REQUEST["order"]).""); ?>
</td>
<td colspan="2">Showing URL <?=$offset; ?> to <?=($offset+$count); ?>. on a total of <?=$total; ?></td>
</tr>
</table>
</form>
<!-- Fin de la partie gérant l'affichage -->
<!-- TODO: Définir à quoi sert ceci -->
<div id="smallbox" style="display:none; position: absolute; " >
<img src="/rp/ssc/1250.jpg" alt="" title="" id="ssc" />
</div>
<table class="box"><tr>
<th>ID</th>
<th>Date</th>
<th>Action</th>
<th>Titre</th>
<th colspan="2">Note</th>
<th>Node</th>
<th>From</th>
</tr>
<?php
$col=1;
$ids=array();
while ($c=mysql_fetch_array($r)) {
$ids[]=$c["id"];
$urls[$c["id"]]=$c["url"];
$title[$c["id"]]=$c["title"];
$col=3-$col;
echo "<tr class=\"c$col\">\n";
echo "<td>";
if ($c["seemscite"]) echo "<b>";
echo "".$c["id"]."";
if ($c["seemscite"]) echo "</b>";
echo "</td>\n";
echo "<td>".date_my2fr($c["datec"],1)."</td>\n";
echo "<td>";
echo "<a href=\"javascript:rswap(".$c["id"].");\"><img src=\"exec.png\" alt=\"Open the thumbnail\" title=\"Open the thumbnail\" /></a> &nbsp; ";
if ($c["note"]>2 && !$c["nid"]) {
echo "<a href=\"javascript:id(".$c["id"].",1)\"><img src=\"en.png\" alt=\"Send this to drupal IN ENGLISH\" title=\"Send this to drupal IN ENGLISH\" /></a>";
echo "<a href=\"javascript:id(".$c["id"].",2)\"><img src=\"fr.png\" alt=\"Send this to drupal EN FRANCAIS\" title=\"Send this to drupal EN FRANCAIS\" /></a>";
}
echo "</td>";
$infoTitre = ($c["title"] == "") ? substr($c["url"],0,60) : str_replace(" »", "&nbsp;»", str_replace("« ", "«&nbsp;", $c["title"]));
$infoTitre = html_entity_decode($infoTitre);
//if(is_utf8($infoTitre))
// $infoTitre = utf8_decode($infoTitre)."*";
//if (mb_detect_encoding($infoTitre, 'UTF-8') === true)
//$infoTitre = utf8_decode($infoTitre);
echo "<td><a target=\"_blank\" id=\"link".$c["id"]."\" href=\"".$c["url"]."\">".$infoTitre."</a></td>\n";
echo "<td>";
echo "<span id=\"note_".$c["id"]."\">";
echo $c["note"];
echo "</span>";
echo "</td><td>";
/*
<a href="javascript:publish(1,<?=$c["id"]; ?>)"><img id="py<?=$c["id"]; ?>" src="ham<?php if ($c["published"]==1) { echo "2"; } ?>.gif" alt="Mark as 'Published'" title="Mark as 'Published'"/></a>
<a href="javascript:publish(2,<?=$c["id"]; ?>)"><img id="pn<?=$c["id"]; ?>" src="spam<?php if ($c["published"]==2) { echo "2"; } ?>.gif" alt="Mark as 'Not a PR'" title="Mark as 'Not a PR'"/></a>
*/
// if (in_array($_SERVER["REMOTE_USER"],$privileged)) {
?>
<a href="javascript:note(1,<?=$c["id"]; ?>)"><img id="ny<?=$c["id"]; ?>" src="ham<?php if ($c["note"]>0) { echo "2"; } ?>.gif" alt="Add a point" title="Add a point"/></a>
<a href="javascript:note(-1,<?=$c["id"]; ?>)"><img id="nn<?=$c["id"]; ?>" src="spam<?php if ($c["note"]<0) { echo "2"; } ?>.gif" alt="Remove a point" title="Remove a point"/></a>
<?php
// }
echo "</td>\n";
echo "<td>";
if ($c["nid"]) {
echo "<a target=\"_blank\" href=\"/fr/node/".$c["nid"]."/edit\"><img src=\"modifier.png\" alt=\"Edit this node\" title=\"Edit this node\" /></a> &nbsp; ";
echo "<a target=\"_blank\" href=\"/fr/node/".$c["nid"]."\"><img src=\"exec.png\" alt=\"Got to this node\" title=\"Go to this node\" /></a> (".$c["nid"].")";
}
echo "&nbsp;";
echo "</td>\n";
echo "<td>".$c["provenance"]."</td>\n";
echo "</tr>\n";
}
?>
</table>
</td><td style="width: 30%; vertical-align: top">
<?php
foreach($ids as $id) {
?>
<div id="t<?=$id; ?>" class="smallbox"><?php
/*
<a href="<?=$urls[$id]; ?>" target="_blank"><?=substr($urls[$id],0,80); ?></a><br />
<h2><?=$title[$id]; ?></h2>
<?php if (is_file("ssc/".$id.".jpg")) { ?>
<img src="/rp/ssc/<?=$id; ?>.jpg" alt="" title="" id="ssc<?=$id; ?>"/><br />
<?php } ?>
<?php if (is_file("txt/".$id.".txt")) {
echo str_replace("\n\n","\n<br /><br />\n",file_get_contents("txt/".$id.".txt"));
}
*/
?></div>
<?php
}
?>
</td></tr></table>
</body>
</html>
getAbsolutePos = function(el) {
var SL = 0, ST = 0;
var is_div = /^div$/i.test(el.tagName);
if (is_div && el.scrollLeft)
SL = el.scrollLeft;
if (is_div && el.scrollTop)
ST = el.scrollTop;
var r = { x: el.offsetLeft - SL, y: el.offsetTop - ST };
if (el.offsetParent) {
var tmp = this.getAbsolutePos(el.offsetParent);
r.x += tmp.x;
r.y += tmp.y;
}
return r;
};
function moveat(src,dst) {
src=document.getElementById(src);
dst=document.getElementById(dst);
r=getAbsolutePos(dst);
src.style.left=(r.x+20)+"px";
src.style.top=(r.y+20)+"px";
}
/*******************************************************/
/* Afficher et Cacher les composants. */
function hide(s) {
if (document.all) {
if (document.all[s]) {
document.all[s].visibility="invisible";
eval("document.all."+s+".style.display=\"none\"");
}
} else {
if (document.getElementById(s)) {
document.getElementById(s).visibility="invisible";
document.getElementById(s).style.display="none";
}
}
}
function show(s,shm) {
if (!shm) shm="block";
if (document.all) {
if (document.all[s]) {
document.all[s].visibility="visible";
eval("document.all."+s+".style.display=\"block\"");
}
} else {
if (document.getElementById(s)) {
document.getElementById(s).visibility="visible";
document.getElementById(s).style.display=shm;
}
}
}
/*******************************************************/
/* XMLHTTPREQUEST compatible IE/Mozilla. */
var group=false;
function openxml() {
var xmlhttp;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
// JScript gives us Conditional compilation, we can cope with old IE versions.
// and security blocked creation of the objects.
try {
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (E) {
xmlhttp = false;
}
}
@end @*/
if (!xmlhttp && typeof XMLHttpRequest!='undefined') {
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
var cid=0;
function cite(status,id) {
x=openxml();
x.open("GET", "http://www.laquadrature.net/rp/ajx.php?field=cite&status="+status+"&id="+id+"",true);
cid=id;
x.onreadystatechange=function() {
if (x.readyState==4) {
st=parseInt(x.responseText,10);
if (st==0) {
document.getElementById('cy'+cid).src="/rp/ham.gif";
document.getElementById('cn'+cid).src="/rp/spam.gif";
} else if (st==1) {
document.getElementById('cy'+cid).src="/rp/ham2.gif";
document.getElementById('cn'+cid).src="/rp/spam.gif";
} else if (st==2) {
document.getElementById('cy'+cid).src="/rp/ham.gif";
document.getElementById('cn'+cid).src="/rp/spam2.gif";
}
delete x;
}
}
x.send(null);
}
var pid=0;
function publish(status,id) {
x=openxml();
x.open("GET", "http://www.laquadrature.net/rp/ajx.php?field=published&status="+status+"&id="+id+"",true);
cid=id;
x.onreadystatechange=function() {
if (x.readyState==4) {
st=parseInt(x.responseText,10);
if (st==0) {
document.getElementById('py'+cid).src="/rp/ham.gif";
document.getElementById('pn'+cid).src="/rp/spam.gif";
} else if (st==1) {
document.getElementById('py'+cid).src="/rp/ham2.gif";
document.getElementById('pn'+cid).src="/rp/spam.gif";
} else if (st==2) {
document.getElementById('py'+cid).src="/rp/ham.gif";
document.getElementById('pn'+cid).src="/rp/spam2.gif";
}
delete x;
}
}
x.send(null);
}
function regenerate(id) {
x=openxml();
x.open("GET", "http://www.laquadrature.net/rp/ajx.php?action=regenerate&id="+id+"",true);
x.send(null);
hide('ssc'+id);
}
function rin(i) {
/*
hide('smallbox');
document.getElementById('ssc').src="/rp/ssc/"+i+".jpg";
moveat('smallbox','link'+i);
show('smallbox');
*/
}
function rout(i) {
hide('t'+i);
/*
hide('smallbox');
document.getElementById('ssc').src="/rp/loading.png";
*/
}
var rid=0;
function rswap(i) {
if (rid!=i && rid!=0) {
hide('t'+rid);
rid=0;
}
if (rid==i) {
hide('t'+rid);
rid=0;
} else {
show('t'+i);
rid=i;
if (document.getElementById('t'+i).innerHTML=='') {
// ok, let's load it ...
x=openxml();
x.open("GET", "http://www.laquadrature.net/rp/ajcontent.php?id="+i,true);
x.onreadystatechange=function() {
if (x.readyState==4) {
document.getElementById('t'+i).innerHTML=x.responseText,10;
delete x;
}
}
x.send(null);
}
}
}
function id(i,lang) {
if (confirm("Voulez-vous vraiment importer cet article dans drupal (s'il n'existe pas deja...) ?")) {
window.open("http://www.laquadrature.net/rp/import_drupal.php?id="+i+"&lang="+lang);
}
}
function note(note,id) {
x=openxml();
x.open("GET", "/rp/ajx.php?action=note&note="+note+"&id="+id+"",true);
cid=id;
x.onreadystatechange=function() {
if (x.readyState==4) {
st=parseInt(x.responseText,10);
document.getElementById('note_'+cid).innerHTML=st;
if (st<0) {
document.getElementById('ny'+cid).src="/rp/ham.gif";
document.getElementById('nn'+cid).src="/rp/spam2.gif";
} else if (st>3) {
document.getElementById('ny'+cid).src="/rp/ham2.gif";
document.getElementById('nn'+cid).src="/rp/spam.gif";
} else if (st>=0) {
document.getElementById('ny'+cid).src="/rp/ham.gif";
document.getElementById('nn'+cid).src="/rp/spam.gif";
}
delete x;
}
}
x.send(null);
}
modifier.png

691 Bytes