#!/usr/bin/php
<?php

require_once __DIR__ . '/includes/db.inc.php';
require_once __DIR__ . '/includes/src.inc.php';

if ($argc <> 2) {
	echo "Syntax: $argv[0] <id>\n";
	#db_close();
	exit(2);
}

$id = trim($argv[1]);

# Range support
if (strpos($id, '-') !== false) {
	$ary = explode('-', $id, 2);
	$id_min = $ary[0];
	$id_max = $ary[1];
} else {
	$id_min = $id;
	$id_max = $id;
}
if (($id_min == 0) || ($id_max == 0)) {
	fwrite(STDERR, "0 not a valid ID\n");
	#db_close();
	exit(3);
}
if ($id_min>$id_max) {
	fwrite(STDERR, "RANGE ERROR $id_min>$id_max\n");
	#db_close();
	exit(3);
}
$id_cnt = $id_max-$id_min + 1;

# Simulation mode
if ($stam_cfg['simulation']) {
	fwrite(STDERR, "============ UN-STRIKE SIMULATION: $id_min..$id_max\n");
	#db_close();
	exit(0);
}

$str = db_query("SELECT id, cat, txt FROM stam_entries WHERE
	id >= '".db_real_escape_string($id_min)."'
	AND id <= '".db_real_escape_string($id_max)."'
	");
if (!$str) {
	fwrite(STDERR, db_error()."\n");
	#db_close();
	exit(1);
}
while ($row = db_fetch_array($str)) {
	$id  = $row['id'];
	$cat = $row['cat'];
	$txt = $row['txt'];

	$x = db_query("UPDATE stam_entries SET state = 'E' WHERE
		id = '".db_real_escape_string($id)."'");
	if (!$x) {
		fwrite(STDERR, db_error()."\n");
		#db_close();
		exit(1);
	}

	$afr = db_affected_rows();
	if ($afr != 1) {
		fwrite(STDERR, "Error: Could not update $id <$cat> '$txt'\n");
		#db_close();
		exit(1);
	} else {
		# echo green("OK! Revealed: $id <$cat> $txt\n");
		echo green("OK! $id + <$cat> $txt\n");
	}
}

# ---

function green($txt) {
	return "\033[1;32;40m".$txt."\033[0m";
}

