Line 17... |
Line 17... |
17 |
// | |
|
17 |
// | |
|
18 |
// | You should have received a copy of the GNU General Public |
|
18 |
// | You should have received a copy of the GNU General Public |
|
19 |
// | License along with this library; if not, write to the Free Software |
|
19 |
// | License along with this library; if not, write to the Free Software |
|
20 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
20 |
// | Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
|
21 |
// +------------------------------------------------------------------------------------------------------+
|
21 |
// +------------------------------------------------------------------------------------------------------+
|
22 |
// CVS : $Id: projet_statistiques.php,v 1.1 2008-03-27 09:15:36 j_grillot Exp $
|
22 |
// CVS : $Id: projet_statistiques.php,v 1.2 2008-03-28 08:19:07 j_grillot Exp $
|
23 |
/**
|
23 |
/**
|
24 |
* Application projet
|
24 |
* Application projet
|
25 |
*
|
25 |
*
|
26 |
* Script pour calculer les statistiques
|
26 |
* Script pour calculer les statistiques
|
27 |
*
|
27 |
*
|
Line 29... |
Line 29... |
29 |
//Auteur original :
|
29 |
//Auteur original :
|
30 |
*@author Alexandre Granier <alexandre@tela-botanica.org>
|
30 |
*@author Alexandre Granier <alexandre@tela-botanica.org>
|
31 |
//Autres auteurs :
|
31 |
//Autres auteurs :
|
32 |
*@author Julien Grillot <julien.grillot@gmail.com>
|
32 |
*@author Julien Grillot <julien.grillot@gmail.com>
|
33 |
*@copyright Tela-Botanica 2000-2005
|
33 |
*@copyright Tela-Botanica 2000-2005
|
34 |
*@version $Revision: 1.1 $
|
34 |
*@version $Revision: 1.2 $
|
35 |
// +------------------------------------------------------------------------------------------------------+
|
35 |
// +------------------------------------------------------------------------------------------------------+
|
36 |
*/
|
36 |
*/
|
Line 37... |
Line 37... |
37 |
|
37 |
|
38 |
// +------------------------------------------------------------------------------------------------------+
|
38 |
// +------------------------------------------------------------------------------------------------------+
|
Line 47... |
Line 47... |
47 |
define("NB_SEC_INSERT", 7*24*3600);
|
47 |
define("NB_SEC_INSERT", 7*24*3600);
|
48 |
define("NB_SEC_UPDATE", 2*3600);
|
48 |
define("NB_SEC_UPDATE", 2*3600);
|
49 |
define("URL_WIKINI", "http://www.tela-botanica.org/wikini/");
|
49 |
define("URL_WIKINI", "http://www.tela-botanica.org/wikini/");
|
Line 50... |
Line 50... |
50 |
|
50 |
|
51 |
/**
|
- |
|
52 |
* Retourne le contenu de la page $adresse de facon asynchrone
|
- |
|
53 |
* @param string $adresse URL de la page dont le contenu doit etre recupere
|
- |
|
54 |
* @param int timeout temps d'attente maximum avant abandon de la recuperation
|
- |
|
55 |
*/
|
- |
|
56 |
function monFileGetContents($adresse, $timeout = 30){
|
- |
|
57 |
$url = parse_url($adresse);
|
- |
|
58 |
$url['port'] = isset($url['port']) ? $url['port'] : '80';
|
- |
|
59 |
$url['scheme'] = isset($url['scheme']) ? strtoupper($url['scheme']) : 'HTTP';
|
- |
|
60 |
$fp = fsockopen($url['host'], $url['port'], $errno, $errstr, $timeout);
|
- |
|
61 |
if (!$fp) {
|
- |
|
62 |
echo "Erreur de socket: $errno - $errstr<br />\n";
|
- |
|
63 |
return false;
|
- |
|
64 |
} else {
|
- |
|
65 |
$header = 'GET '.$url['path'].' '.$url['scheme']."/1.1\r\n";
|
- |
|
66 |
|
- |
|
67 |
$header .= "Host: www.yahoo.com\r\n";
|
- |
|
68 |
$header .= "User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.2.1) Gecko/20021204\r\n";
|
- |
|
69 |
$header .= "Referer: http://www.yahoo.com/\r\n";
|
- |
|
70 |
|
- |
|
71 |
$header .= 'Connection: Close\r\n\r\n';
|
- |
|
72 |
|
- |
|
73 |
fputs($fp, $header);
|
- |
|
74 |
stream_set_timeout($fp, $timeout);
|
- |
|
75 |
while (!feof($fp)) {
|
- |
|
76 |
$page .= fread($fp, 262144);
|
- |
|
77 |
}
|
- |
|
78 |
$stream = stream_get_meta_data($fp);
|
- |
|
79 |
fclose($fp);
|
- |
|
80 |
if ($stream['timed_out']) {
|
- |
|
81 |
echo 'Le délai de réponse de la page <b>'.$adresse.'</b> a dépassé le timeout de <b>'.$timeout.'</b> sec.';
|
- |
|
82 |
return false;
|
- |
|
83 |
}else{
|
- |
|
84 |
return $page;
|
- |
|
85 |
}
|
- |
|
86 |
}
|
- |
|
87 |
}
|
- |
|
88 |
|
- |
|
89 |
/**
|
51 |
/**
|
90 |
* Procedure retrouvant le nombre de contribution, de message et le contenu de la page a partir des informations de la BDD
|
52 |
* Procedure retrouvant le nombre de contribution, de message et le contenu de la page a partir des informations de la BDD
|
91 |
* @param object $ligne resultat d'un fetch row contenant l'url du document a analyser
|
53 |
* @param object $ligne resultat d'un fetch row contenant l'url du document a analyser
|
92 |
* @param int $nombre_contrib recupere le nombre de contributions du projet
|
54 |
* @param int $nombre_contrib recupere le nombre de contributions du projet
|
93 |
* @param int $nombre_message recupere le nombre de nouveaux messages du projet
|
55 |
* @param int $nombre_message recupere le nombre de nouveaux messages du projet
|
Line 113... |
Line 75... |
113 |
$url='http://fr.groups.yahoo.com/group/'.$ligne->AGO_A_NOMGRP;
|
75 |
$url='http://fr.groups.yahoo.com/group/'.$ligne->AGO_A_NOMGRP;
|
Line 114... |
Line 76... |
114 |
|
76 |
|
115 |
// Recherche du schema retrouvant le nombre de nouveaux message dans la semaine
|
77 |
// Recherche du schema retrouvant le nombre de nouveaux message dans la semaine
|
Line 116... |
Line 78... |
116 |
$pattern='>([0-9]+)</span> nouveau';
|
78 |
$pattern='>([0-9]+)</span> nouveau';
|
117 |
|
- |
|
118 |
// Quelques soucis avec la version asynchrone
|
79 |
|
Line 119... |
Line 80... |
119 |
//$contenu=monFileGetContents($url);
|
80 |
// Quelques soucis avec la version asynchrone (sockopen)
|
120 |
$contenu=file_get_contents($url);
|
81 |
$contenu=file_get_contents($url);
|
121 |
|
82 |
|
Line 269... |
Line 230... |
269 |
|
230 |
|
Line 270... |
Line 231... |
270 |
return $res;
|
231 |
return $res;
|
271 |
|
232 |
|
- |
|
233 |
/* +--Fin du code ---------------------------------------------------------------------------------------+
|
- |
|
234 |
* $Log: not supported by cvs2svn $
|
- |
|
235 |
* Revision 1.1 2008-03-27 09:15:36 j_grillot
|
272 |
/* +--Fin du code ---------------------------------------------------------------------------------------+
|
236 |
* Correction du bug sur le parsing xml
|
273 |
* $Log: not supported by cvs2svn $
|
237 |
*
|
274 |
* +--Fin du code ----------------------------------------------------------------------------------------+
|
238 |
* +--Fin du code ----------------------------------------------------------------------------------------+
|
275 |
*/
|
239 |
*/
|