OSDN Git Service

Roughly reconstruncted: spam_pickup() => spam_uri_pickup()
[pukiwiki/pukiwiki_sandbox.git] / spam_pickup.php
1 <?php
2 // $Id: spam_pickup.php,v 1.11 2006/11/12 10:59:56 henoheno Exp $
3 // Concept-work of spam-uri metrics
4 // Copyright (C) 2006 PukiWiki Developers Team
5 // License: GPL v2 or (at your option) any later version
6
7 error_reporting(E_ALL); // Debug purpose
8
9 require('spam.php');
10
11 // Recursive array_map()
12 // e.g. Sanitilze ALL values (Debug purpose): var_dump(recursive_map('htmlspecialchars', $array));
13 function recursive_map($func, $array)
14 {
15         if (is_array($array)) {
16                 if (! empty($array)) {
17                         $array = array_map('recursive_map',
18                                  array_fill(0, count($array), $func), $array);
19                 }
20         } else {
21                 $array = $func($array);
22         }
23         return $array;
24 }
25
26 // $array[0] => $array['name']
27 function array_rename_key(& $array, $from, $to, $force = FALSE, $default = '')
28 {
29         if (isset($array[$from])) {
30                 $array[$to] = & $array[$from];
31                 unset($array[$from]);
32         } else if ($force) {
33                 $array[$to] = $default;
34         } else {
35                 return FALSE;
36         }
37         return TRUE;
38 }
39
40 function show_form($string)
41 {
42         $base = basename(__FILE__);
43         $string = htmlspecialchars($string);
44         print <<< EOF
45 <form action="$base" method="post">
46         <textarea name="msg" rows="8" cols="80">$string</textarea><br />
47         <input type="submit" name="write" value="Submit" />
48 </form>
49 <br/>
50 EOF;
51 }
52
53
54 // ---- Show form and result
55 echo basename(__FILE__) . '<br />';
56 $msg = isset($_POST['msg']) ? $_POST['msg'] : '';
57 show_form($msg);
58 echo '<pre>';
59
60 $pickup = TRUE;
61 if ($pickup) {
62         $results = spam_uri_pickup($msg);
63
64         // Measure
65         $count = count($results);
66         $area = 0;
67         foreach($results as $result)
68                 if (isset($result['area']))
69                         $area += $result['area'];
70         $average = $count ? ($area / $count) : 'NULL';
71
72         echo "TOTAL = $count URIs, AREA_TOTAL = $area, AREA_AVERAGE = " . $average . "</br >" . "</br >";
73
74         $a = array();
75         var_dump(array_tree('/a/b/c/d/e', '/', false));
76         var_dump($a);
77         echo "<br/>";
78 }
79
80 var_dump('is_uri_spam($msg)', is_uri_spam($msg));
81
82 //$notify = TRUE;
83 //var_dump('pkwk_spamfilter($msg)', pkwk_spamfilter('A', 'PAGE', array('msg' => $msg)));
84 //echo "\n";
85
86 if ($pickup) {
87         var_dump('$results', $results);
88 }
89 echo '</pre>';
90
91 ?>