<?php
-// $Id: spam.php,v 1.40 2006/11/26 02:57:26 henoheno Exp $
+// $Id: spam.php,v 1.41 2006/11/26 06:35:47 henoheno Exp $
// Copyright (C) 2006 PukiWiki Developers Team
// License: GPL v2 or (at your option) any later version
// Area elevation for '(especially external)link' intension
if (! empty($array)) {
-
+
$area_shadow = array();
foreach(array_keys($array) as $key){
$area_shadow[$key] = & $array[$key]['area'];
$areas[$_area][1][1], // Area end (</a>)
);
}
- area_measure($areas, $area_shadow, -1, 'anchor');
+ area_measure($areas, $area_shadow, 1, 'anchor');
}
// phpBB's "BBCode" by preg_match_all()
$areas[$_area][2][1], // Area end ([/url])
);
}
- area_measure($areas, $area_shadow, -1, 'bbcode');
+ area_measure($areas, $area_shadow, 1, 'bbcode');
}
// Various Wiki syntax
}
// TODO: Ignore list
-// TODO: require_or_include_once(another file)
+// TODO: require_or_include_once(another file) for Admin
function is_badhost($hosts = '', $asap = TRUE)
{
static $blocklist_regex;
return array(
'quantity' => 8, // Allow N URIs
'area' => array(
- 'total' => 0, // Allow N areas
- 'anchor' => 0, // <a href> HTML tag
- 'bbcode' => 0, // [url] or [link] BBCode
+ // 'total' => 0, // Allow N areas total, enabled below
+ 'anchor' => 0, // Area: <a href> HTML tag
+ 'bbcode' => 0, // Area: [url] or [link] BBCode
),
'non_uniq' => 3, // Allow N duped (and normalized) URIs
'badhost' => TRUE,
// Using invalid area
if ((! $is_spam || ! $asap) && isset($method['area'])) {
foreach($pickups as $pickup) {
- // Total
- $total = 0;
foreach ($pickup['area'] as $key => $value) {
if ($key == 'offset') continue;
$progress['area']['total'] += $value;
$progress['area'][$key] += $value;
- if ($value < 0) {
+ if (
+ (isset($method['area']['total']) &&
+ $progress['area']['total'] > $method['area']['total']) ||
+ (isset($method['area'][$key]) &&
+ $progress['area'][$key] > $method['area'][$key])
+ ) {
$is_spam = TRUE;
if ($is_spam && $asap) break;
}
- if ($asap) break;
}
+ if ($is_spam && $asap) break;
}
}
//var_dump($method['area'], $is_spam);
<?php
-// $Id: spam.php,v 1.40 2006/11/26 02:57:26 henoheno Exp $
+// $Id: spam.php,v 1.41 2006/11/26 06:35:47 henoheno Exp $
// Copyright (C) 2006 PukiWiki Developers Team
// License: GPL v2 or (at your option) any later version
// Area elevation for '(especially external)link' intension
if (! empty($array)) {
-
+
$area_shadow = array();
foreach(array_keys($array) as $key){
$area_shadow[$key] = & $array[$key]['area'];
$areas[$_area][1][1], // Area end (</a>)
);
}
- area_measure($areas, $area_shadow, -1, 'anchor');
+ area_measure($areas, $area_shadow, 1, 'anchor');
}
// phpBB's "BBCode" by preg_match_all()
$areas[$_area][2][1], // Area end ([/url])
);
}
- area_measure($areas, $area_shadow, -1, 'bbcode');
+ area_measure($areas, $area_shadow, 1, 'bbcode');
}
// Various Wiki syntax
}
// TODO: Ignore list
-// TODO: require_or_include_once(another file)
+// TODO: require_or_include_once(another file) for Admin
function is_badhost($hosts = '', $asap = TRUE)
{
static $blocklist_regex;
return array(
'quantity' => 8, // Allow N URIs
'area' => array(
- 'total' => 0, // Allow N areas
- 'anchor' => 0, // <a href> HTML tag
- 'bbcode' => 0, // [url] or [link] BBCode
+ // 'total' => 0, // Allow N areas total, enabled below
+ 'anchor' => 0, // Area: <a href> HTML tag
+ 'bbcode' => 0, // Area: [url] or [link] BBCode
),
'non_uniq' => 3, // Allow N duped (and normalized) URIs
'badhost' => TRUE,
// Using invalid area
if ((! $is_spam || ! $asap) && isset($method['area'])) {
foreach($pickups as $pickup) {
- // Total
- $total = 0;
foreach ($pickup['area'] as $key => $value) {
if ($key == 'offset') continue;
$progress['area']['total'] += $value;
$progress['area'][$key] += $value;
- if ($value < 0) {
+ if (
+ (isset($method['area']['total']) &&
+ $progress['area']['total'] > $method['area']['total']) ||
+ (isset($method['area'][$key]) &&
+ $progress['area'][$key] > $method['area'][$key])
+ ) {
$is_spam = TRUE;
if ($is_spam && $asap) break;
}
- if ($asap) break;
}
+ if ($is_spam && $asap) break;
}
}
//var_dump($method['area'], $is_spam);