Subversion Repositories stackman

Rev

Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
3 daniel-mar 1
#!/usr/bin/php
2
<?php
3
 
4
require_once __DIR__ . '/includes/db.inc.php';
5
require_once __DIR__ . '/includes/src.inc.php';
6
 
7
if ($argc <> 2) {
8
	echo "Syntax: $argv[0] <id>\n";
9
	#db_close();
10
	exit(2);
11
}
12
 
13
$id = trim($argv[1]);
14
 
15
# Range support
16
if (strpos($id, '-') !== false) {
17
	$ary = explode('-', $id, 2);
18
	$id_min = $ary[0];
19
	$id_max = $ary[1];
20
} else {
21
	$id_min = $id;
22
	$id_max = $id;
23
}
24
if (($id_min == 0) || ($id_max == 0)) {
25
	fwrite(STDERR, "0 not a valid ID\n");
26
	#db_close();
27
	exit(3);
28
}
29
if ($id_min>$id_max) {
30
	fwrite(STDERR, "RANGE ERROR $id_min>$id_max\n");
31
	#db_close();
32
	exit(3);
33
}
34
$id_cnt = $id_max-$id_min + 1;
35
 
36
# Simulation mode
37
if ($stam_cfg['simulation']) {
38
	fwrite(STDERR, "============ STRIKE SIMULATION: $id_min..$id_max\n");
39
	#db_close();
40
	exit(0);
41
}
42
 
43
$str = db_query("SELECT id, cat, txt FROM stam_entries WHERE
44
	id >= '".db_real_escape_string($id_min)."'
45
	AND id <= '".db_real_escape_string($id_max)."'
46
	");
47
if (!$str) {
48
	fwrite(STDERR, db_error()."\n");
49
	#db_close();
50
	exit(1);
51
}
52
while ($row = db_fetch_array($str)) {
53
	$id  = $row['id'];
54
	$cat = $row['cat'];
55
	$txt = $row['txt'];
56
 
57
	$x = db_query("UPDATE stam_entries SET state = 'S' WHERE
58
		id = '".db_real_escape_string($id)."'");
59
	if (!$x) {
60
		fwrite(STDERR, db_error()."\n");
61
		#db_close();
62
		exit(1);
63
	}
64
 
65
	$afr = db_affected_rows();
66
	if ($afr != 1) {
67
		fwrite(STDERR, "Error: Could not update $id <$cat> '$txt'\n");
68
		#db_close();
69
		exit(1);
70
	} else {
71
		#echo green("OK! Striked: $id <$cat> $txt\n");
72
		echo green("OK! $id - <$cat> $txt\n");
73
	}
74
}
75
 
76
# ---
77
 
78
function green($txt) {
79
	return "\033[1;32;40m".$txt."\033[0m";
80
}
81