Subversion Repositories Applications.projet

Rev

Rev 283 | Rev 293 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 283 Rev 284
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
*/