<?

/*
 * This file may contain 2 functions, a db_update_$ver_pre() and a
 * db_update_$ver_post(). _pre() is called before the SQL patch is
 * applied, and as expected, _post() is called after.
 *
 * These functions are called from the main db_update.php file, and included
 * once, so any global variables declared in here WILL REMAIN across both
 * calls.  meaning you can pull some stuff out of the database in _pre(), and
 * then the patch will be applied, and they it can be inserted back into the
 * database in _post().
 * Also note that MULTIPLE php scripts could be included if the db update is
 * large, so global variable names probably shouldn't conflict... put the version
 * number in them
 */

$update_62_committee = array();

function db_update_62_pre()
{
	global $update_62_committee;
	$q = $pdo->prepare('SELECT * FROM committees_members');
	$q->execute();
	while ($r = $q->fetch(PDO::FETCH_ASSOC)) {
		$update_62_committee[] = $r;
	}
}

function db_update_62_post()
{
	global $update_62_committee;
	global $config;

	foreach ($update_62_committee as $c) {
		list($fn, $ln) = split(' ', $c['name'], 2);
		$username = $c['email'];

		if ($config['committee_password_expiry_days'] > 0) {
			$passwordexpiry = "DATE_ADD(CURDATE(),
				INTERVAL {$config['committee_password_expiry_days']} DAY)";
		} else {
			$passwordexpiry = 'NULL';
		}

		$deleted = ($c['deleted'] == 'Y') ? 'yes' : 'no';
		$q = "INSERT INTO users
			(`types`,`firstname`,`lastname`,`username`,`password`,`passwordexpiry`,
			`email`,`phonehome`,`phonework`,`phonecell`,`fax`,`organization`,
			`created`,`deleted`) 
			VALUES ('committee','$fn', '$ln', '$username',
				'" . $c['password'] . "',
				$passwordexpiry,
				'{$c['email']}',
				'{$c['phonehome']}',
				'{$c['phonework']}',
				'{$c['phonecell']}',
				'{$c['fax']}',
				'" . $c['organization'] . "',
				NOW(),
				'$deleted')";
		$stmt = $pdo->prepare($q);
		$stmt->execute();
		echo "$q\n";
		$id = $pdo->lastInsertId();

		$access_admin = ($c['access_admin'] == 'Y') ? 'yes' : 'no';
		$access_config = ($c['access_config'] == 'Y') ? 'yes' : 'no';
		$access_super = ($c['access_super'] == 'Y') ? 'yes' : 'no';
		$displayemail = ($c['displayemail'] == 'Y') ? 'yes' : 'no';
		$q = "INSERT INTO users_committee(`users_id`,`emailprivate`,
				`ord`,`displayemail`,`access_admin`,`access_config`,
				`access_super`) VALUES (
					'$id', '{$c['emailprivate']}',
					'{$c['ord']}',
					'$displayemail',
					'$access_admin',
					'$access_config',
					'$access_super')";
		$stmt = $pdo->prepare($q);
		$stmt->execute();
		echo "$q\n";
		show_pdo_errors_if_any($pdo);

		/* Update committee links */
		$q = "UPDATE committees_link SET users_id='$id'
				WHERE committees_members_id='{$c['id']}'";
		$stmt = $pdo->prepare($q);
		$stmt->execute();
		echo "$q\n";
	}
}

?>