<?php
/**
* Updates, holds all the functions for database updates, checks to see if new versions have
* different table structures.
*
* @name Updates
* @verision --
* @package --
* @author Rashaud Teague <rashaud.teague@gmail.com>
* @since 03/22/2009
* @license GNU GPL
*/

function check_db_update() {
	$vf = 'version_'.str_replace('.', '_', APP_VERSION);
	if (function_exists($vf))
		$vf();
}

function version_0_3_0() {
	global $db;
	
	$sql = "SELECT * FROM pages";
	$result = mysql_query($sql) or die(mysql_error());
	
	$tbl_fields = array();
	for ($i = 0; $i < mysql_num_fields($result); $i++) {
		$field = mysql_fetch_field($result, $i);
		$tbl_fields[] = $field->name;
	}
	if (!in_array('hidden', $tbl_fields)) {
		if (isset($sql))
			unset($sql);
		$sql = "ALTER TABLE `pages` ADD `hidden` tinyint(1) unsigned NOT NULL default '0'";
		$result = mysql_query($sql) or die(mysql_error());
		return;
	} else {
		return;
	}
}

function version_1_0_0() {
	$sql = "SELECT * FROM sys_config";
	$result = mysql_query($sql) or die(mysql_error());
	
	$tbl_fields = array();
	for ($i = 0; $i < mysql_num_fields($result); $i++) {
		$field = mysql_fetch_field($result, $i);
		$tbl_fields[] = $field->name;
	}
	if (!in_array('site_url', $tbl_fields)) {
		if (isset($sql))
			unset($sql);
		$sql = "ALTER TABLE `sys_config` ADD `site_url` varchar(150) NOT NULL default ''";
		$result = mysql_query($sql) or die(mysql_error());
		return;
	} else {
		return;
	}
}

function version_1_2_1() {
	version_0_3_0();
	version_1_0_0();
	
	$sql = "SELECT * FROM pages";
	$result = mysql_query($sql) or die(mysql_error());
	
	$tbl_fields = array();
	for ($i = 0; $i < mysql_num_fields($result); $i++) {
		$field = mysql_fetch_field($result, $i);
		$tbl_fields[] = $field->name;
	}
	if (!in_array('views', $tbl_fields)) {
		if (isset($sql))
			unset($sql);
		$sql = "ALTER TABLE `pages` ADD `views` int(10) unsigned NOT NULL default '0'";
		$result = mysql_query($sql) or die(mysql_error());
		return;
	} else {
		return;
	}
}

function version_1_3_3() {
	version_1_2_1();
}

function version_1_4_0() {
	version_1_3_3();
	
	$sql = "SELECT * FROM sys_config";
	$result = mysql_query($sql) or die(mysql_error());
	
	$tbl_fields = array();
	for ($i = 0; $i < mysql_num_fields($result); $i++) {
		$field = mysql_fetch_field($result, $i);
		$tbl_fields[] = $field->name;
	}
	if (!in_array('rsurl_toggle', $tbl_fields)) {
		if (isset($sql))
			unset($sql);
		$sql = "ALTER TABLE `sys_config` ADD `rsurl_toggle` tinyint(1) unsigned NOT NULL default '1'";
		$result = mysql_query($sql) or die(mysql_error());
		return;
	} else {
		return;
	}
}

function version_1_4_1() {
	version_1_4_0();
	
	$sql = "SELECT * FROM pages";
	$result = mysql_query($sql) or die(mysql_error());
	
	$tbl_fields = array();
	for ($i = 0; $i < mysql_num_fields($result); $i++) {
		$field = mysql_fetch_field($result, $i);
		$tbl_fields[] = $field->name;
	}
	if (!in_array('locked', $tbl_fields)) {
		if (isset($sql))
			unset($sql);
		$sql = "ALTER TABLE `pages` ADD `locked` tinyint(1) unsigned NOT NULL default '0'";
		$result = mysql_query($sql) or die(mysql_error());
		return;
	} else {
		return;
	}
}
?>