New database update system that uses the database structure defined in dbstructure.php
This commit is contained in:
		
					parent
					
						
							
								e729d2e216
							
						
					
				
			
			
				commit
				
					
						0c77cee667
					
				
			
		
					 4 changed files with 380 additions and 328 deletions
				
			
		
							
								
								
									
										4
									
								
								boot.php
									
										
									
									
									
								
							
							
						
						
									
										4
									
								
								boot.php
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -1000,6 +1000,10 @@ if(! function_exists('update_db')) {
 | 
			
		|||
 | 
			
		||||
				if(DB_UPDATE_VERSION == UPDATE_VERSION) {
 | 
			
		||||
 | 
			
		||||
					// Compare the current structure with the defined structure
 | 
			
		||||
					require_once("include/dbstructure.php");
 | 
			
		||||
					update_structure(false, true);
 | 
			
		||||
 | 
			
		||||
					for($x = $stored; $x < $current; $x ++) {
 | 
			
		||||
						if(function_exists('update_' . $x)) {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1,5 +1,4 @@
 | 
			
		|||
<?php
 | 
			
		||||
 | 
			
		||||
require_once("boot.php");
 | 
			
		||||
 | 
			
		||||
function dbstructure_run(&$argv, &$argc) {
 | 
			
		||||
| 
						 | 
				
			
			@ -13,13 +12,13 @@ function dbstructure_run(&$argv, &$argc) {
 | 
			
		|||
		@include(".htconfig.php");
 | 
			
		||||
		require_once("include/dba.php");
 | 
			
		||||
		$db = new dba($db_host, $db_user, $db_pass, $db_data);
 | 
			
		||||
		        unset($db_host, $db_user, $db_pass, $db_data);
 | 
			
		||||
			unset($db_host, $db_user, $db_pass, $db_data);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	load_config('config');
 | 
			
		||||
	load_config('system');
 | 
			
		||||
 | 
			
		||||
	update_structure($a);
 | 
			
		||||
	update_structure(true, true);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
if (array_search(__file__,get_included_files())===0){
 | 
			
		||||
| 
						 | 
				
			
			@ -67,9 +66,9 @@ function table_structure($table) {
 | 
			
		|||
	return(array("fields"=>$fielddata, "indexes"=>$indexdata));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function print_structure($db) {
 | 
			
		||||
	foreach ($db AS $name => $structure) {
 | 
			
		||||
		echo "\t".'$db["'.$name."\"] = array(\n";
 | 
			
		||||
function print_structure($database) {
 | 
			
		||||
	foreach ($database AS $name => $structure) {
 | 
			
		||||
		echo "\t".'$database["'.$name."\"] = array(\n";
 | 
			
		||||
 | 
			
		||||
		echo "\t\t\t".'"fields" => array('."\n";
 | 
			
		||||
		foreach ($structure["fields"] AS $fieldname => $parameters) {
 | 
			
		||||
| 
						 | 
				
			
			@ -94,17 +93,20 @@ function print_structure($db) {
 | 
			
		|||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function update_structure($a) {
 | 
			
		||||
function update_structure($verbose, $action) {
 | 
			
		||||
	global $a, $db;
 | 
			
		||||
 | 
			
		||||
	$errors = false;
 | 
			
		||||
 | 
			
		||||
	// Get the current structure
 | 
			
		||||
	$db = array();
 | 
			
		||||
	$database = array();
 | 
			
		||||
 | 
			
		||||
	$tables = q("show tables");
 | 
			
		||||
 | 
			
		||||
	foreach ($tables AS $table) {
 | 
			
		||||
		$table = current($table);
 | 
			
		||||
 | 
			
		||||
		$db[$table] = table_structure($table);
 | 
			
		||||
		$database[$table] = table_structure($table);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Get the definition
 | 
			
		||||
| 
						 | 
				
			
			@ -112,34 +114,71 @@ function update_structure($a) {
 | 
			
		|||
 | 
			
		||||
	// Compare it
 | 
			
		||||
	foreach ($definition AS $name => $structure) {
 | 
			
		||||
		if (!isset($db[$name]))
 | 
			
		||||
			db_create_table($name, $structure["fields"]);
 | 
			
		||||
		$sql3="";
 | 
			
		||||
		if (!isset($database[$name]))
 | 
			
		||||
			$r = db_create_table($name, $structure["fields"], $verbose, $action);
 | 
			
		||||
                        if(false === $r)
 | 
			
		||||
				$errors .=  t('Errors encountered creating database tables.').$name.EOL;
 | 
			
		||||
		else {
 | 
			
		||||
			// Compare the field structure field by field
 | 
			
		||||
			foreach ($structure["fields"] AS $fieldname => $parameters) {
 | 
			
		||||
				if (!isset($db[$name]["fields"][$fieldname]))
 | 
			
		||||
					db_add_table_field($name, $fieldname, $parameters);
 | 
			
		||||
				else {
 | 
			
		||||
				if (!isset($database[$name]["fields"][$fieldname])) {
 | 
			
		||||
					$sql2=db_add_table_field($name, $fieldname, $parameters);
 | 
			
		||||
					if ($sql3 == "")
 | 
			
		||||
						$sql3 = "ALTER TABLE `".$name."` ".$sql2;
 | 
			
		||||
					else
 | 
			
		||||
						$sql3 .= ", ".$sql2;
 | 
			
		||||
				} else {
 | 
			
		||||
					// Compare the field definition
 | 
			
		||||
					$current_field_definition = implode($db[$name]["fields"][$fieldname]);
 | 
			
		||||
					$current_field_definition = implode($database[$name]["fields"][$fieldname]);
 | 
			
		||||
					$new_field_definition = implode($parameters);
 | 
			
		||||
					if ($current_field_definition != $new_field_definition)
 | 
			
		||||
						db_modify_table_field($name, $fieldname, $parameters);
 | 
			
		||||
					if ($current_field_definition != $new_field_definition) {
 | 
			
		||||
						$sql2=db_modify_table_field($fieldname, $parameters);
 | 
			
		||||
						if ($sql3 == "")
 | 
			
		||||
							$sql3 = "ALTER TABLE `".$name."` ".$sql2;
 | 
			
		||||
						else
 | 
			
		||||
							$sql3 .= ", ".$sql2;
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		// Drop the index if it isn't present in the definition
 | 
			
		||||
		if (isset($db[$name]))
 | 
			
		||||
			foreach ($db[$name]["indexes"] AS $indexname => $fieldnames)
 | 
			
		||||
				if (!isset($structure["indexes"][$indexname]))
 | 
			
		||||
					db_drop_index($name, $indexname);
 | 
			
		||||
		if (isset($database[$name]))
 | 
			
		||||
			foreach ($database[$name]["indexes"] AS $indexname => $fieldnames)
 | 
			
		||||
				if (!isset($structure["indexes"][$indexname])) {
 | 
			
		||||
					$sql2=db_drop_index($indexname);
 | 
			
		||||
					if ($sql3 == "")
 | 
			
		||||
						$sql3 = "ALTER TABLE `".$name."` ".$sql2;
 | 
			
		||||
					else
 | 
			
		||||
						$sql3 .= ", ".$sql2;
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
		// Create the index
 | 
			
		||||
		foreach ($structure["indexes"] AS $indexname => $fieldnames)
 | 
			
		||||
			if (!isset($db[$name]["indexes"][$indexname]))
 | 
			
		||||
				db_create_index($name, $indexname, $fieldnames);
 | 
			
		||||
			if (!isset($database[$name]["indexes"][$indexname])) {
 | 
			
		||||
				$sql2=db_create_index($indexname, $fieldnames);
 | 
			
		||||
				if ($sql3 == "")
 | 
			
		||||
					$sql3 = "ALTER TABLE `".$name."` ".$sql2;
 | 
			
		||||
				else
 | 
			
		||||
					$sql3 .= ", ".$sql2;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
		if ($sql3 != "") {
 | 
			
		||||
			$sql3 .= ";";
 | 
			
		||||
 | 
			
		||||
			if ($verbose)
 | 
			
		||||
				echo $sql3."\n";
 | 
			
		||||
 | 
			
		||||
			if ($action) {
 | 
			
		||||
				$r = @$db->q($sql3);
 | 
			
		||||
				if(false === $r)
 | 
			
		||||
					$errors .=  t('Errors encountered performing database changes.').$sql3.EOL;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return $errors;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function db_field_command($parameters, $create = true) {
 | 
			
		||||
| 
						 | 
				
			
			@ -160,7 +199,11 @@ function db_field_command($parameters, $create = true) {
 | 
			
		|||
	return($fieldstruct);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function db_create_table($name, $fields) {
 | 
			
		||||
function db_create_table($name, $fields, $verbose, $action) {
 | 
			
		||||
	global $a, $db;
 | 
			
		||||
 | 
			
		||||
	$r = true;
 | 
			
		||||
 | 
			
		||||
	$sql = "";
 | 
			
		||||
	foreach($fields AS $fieldname => $field) {
 | 
			
		||||
		if ($sql != "")
 | 
			
		||||
| 
						 | 
				
			
			@ -169,30 +212,33 @@ function db_create_table($name, $fields) {
 | 
			
		|||
		$sql .= "`".dbesc($fieldname)."` ".db_field_command($field);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	$sql = sprintf("CREATE TABLE IF NOT EXISTS `%s` (\n", dbesc($name)).$sql."\n) DEFAULT CHARSET=utf8";
 | 
			
		||||
	echo $sql.";\n";
 | 
			
		||||
	//$ret = q($sql);
 | 
			
		||||
	$sql = sprintf("ADD TABLE IF NOT EXISTS `%s` (\n", dbesc($name)).$sql."\n) DEFAULT CHARSET=utf8";
 | 
			
		||||
 | 
			
		||||
	if ($verbose)
 | 
			
		||||
		echo $sql.";\n";
 | 
			
		||||
 | 
			
		||||
	if ($action)
 | 
			
		||||
		$r = @$db->q($sql);
 | 
			
		||||
 | 
			
		||||
	return $r;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function db_add_table_field($name, $fieldname, $parameters) {
 | 
			
		||||
	$sql = sprintf("ALTER TABLE `%s` ADD `%s` %s", dbesc($name), dbesc($fieldname), db_field_command($parameters));
 | 
			
		||||
	echo $sql.";\n";
 | 
			
		||||
	//$ret = q($sql);
 | 
			
		||||
function db_add_table_field($fieldname, $parameters) {
 | 
			
		||||
	$sql = sprintf("ADD `%s` %s", dbesc($fieldname), db_field_command($parameters));
 | 
			
		||||
	return($sql);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function db_modify_table_field($name, $fieldname, $parameters) {
 | 
			
		||||
	$sql = sprintf("ALTER TABLE `%s` MODIFY `%s` %s", dbesc($name), dbesc($fieldname), db_field_command($parameters, false));
 | 
			
		||||
	echo $sql.";\n";
 | 
			
		||||
	//$ret = q($sql);
 | 
			
		||||
function db_modify_table_field($fieldname, $parameters) {
 | 
			
		||||
	$sql = sprintf("MODIFY `%s` %s", dbesc($fieldname), db_field_command($parameters, false));
 | 
			
		||||
	return($sql);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function db_drop_index($name, $indexname) {
 | 
			
		||||
	$sql = sprintf("DROP INDEX `%s` ON `%s`", dbesc($indexname), dbesc($name));
 | 
			
		||||
	echo $sql.";\n";
 | 
			
		||||
	//$ret = q($sql);
 | 
			
		||||
function db_drop_index($indexname) {
 | 
			
		||||
	$sql = sprintf("DROP INDEX `%s`", dbesc($indexname));
 | 
			
		||||
	return($sql);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function db_create_index($name, $indexname, $fieldnames) {
 | 
			
		||||
function db_create_index($indexname, $fieldnames) {
 | 
			
		||||
 | 
			
		||||
	if ($indexname == "PRIMARY")
 | 
			
		||||
		return;
 | 
			
		||||
| 
						 | 
				
			
			@ -208,20 +254,19 @@ function db_create_index($name, $indexname, $fieldnames) {
 | 
			
		|||
			$names .= "`".dbesc($fieldname)."`";
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	$sql = sprintf("CREATE INDEX `%s` ON `%s`(%s)", dbesc($indexname), dbesc($name), $names);
 | 
			
		||||
	echo $sql."\n";
 | 
			
		||||
	//$ret = q($sql);
 | 
			
		||||
	$sql = sprintf("ADD INDEX `%s` (%s)", dbesc($indexname), $names);
 | 
			
		||||
	return($sql);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function db_definition() {
 | 
			
		||||
 | 
			
		||||
	$db = array();
 | 
			
		||||
	$database = array();
 | 
			
		||||
 | 
			
		||||
	$db["addon"] = array(
 | 
			
		||||
	$database["addon"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"name" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"version" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"name" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"version" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"installed" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"hidden" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"timestamp" => array("type" => "bigint(20)", "not null" => "1", "default" => "0"),
 | 
			
		||||
| 
						 | 
				
			
			@ -231,13 +276,13 @@ function db_definition() {
 | 
			
		|||
					"PRIMARY" => array("id"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["attach"] = array(
 | 
			
		||||
	$database["attach"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"hash" => array("type" => "char(64)", "not null" => "1"),
 | 
			
		||||
					"filename" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"filetype" => array("type" => "char(64)", "not null" => "1"),
 | 
			
		||||
					"hash" => array("type" => "varchar(64)", "not null" => "1"),
 | 
			
		||||
					"filename" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"filetype" => array("type" => "varchar(64)", "not null" => "1"),
 | 
			
		||||
					"filesize" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"data" => array("type" => "longblob", "not null" => "1"),
 | 
			
		||||
					"created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
 | 
			
		||||
| 
						 | 
				
			
			@ -251,7 +296,7 @@ function db_definition() {
 | 
			
		|||
					"PRIMARY" => array("id"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["auth_codes"] = array(
 | 
			
		||||
	$database["auth_codes"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "varchar(40)", "not null" => "1", "primary" => "1"),
 | 
			
		||||
					"client_id" => array("type" => "varchar(20)", "not null" => "1"),
 | 
			
		||||
| 
						 | 
				
			
			@ -263,9 +308,9 @@ function db_definition() {
 | 
			
		|||
					"PRIMARY" => array("id"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["cache"] = array(
 | 
			
		||||
	$database["cache"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"k" => array("type" => "char(255)", "not null" => "1", "primary" => "1"),
 | 
			
		||||
					"k" => array("type" => "varchar(255)", "not null" => "1", "primary" => "1"),
 | 
			
		||||
					"v" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"updated" => array("type" => "datetime", "not null" => "1"),
 | 
			
		||||
					),
 | 
			
		||||
| 
						 | 
				
			
			@ -274,20 +319,20 @@ function db_definition() {
 | 
			
		|||
					"updated" => array("updated"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["challenge"] = array(
 | 
			
		||||
	$database["challenge"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"challenge" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"dfrn-id" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"challenge" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"dfrn-id" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"expire" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"type" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"last_update" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"type" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"last_update" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					),
 | 
			
		||||
			"indexes" => array(
 | 
			
		||||
					"PRIMARY" => array("id"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["clients"] = array(
 | 
			
		||||
	$database["clients"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"client_id" => array("type" => "varchar(20)", "not null" => "1", "primary" => "1"),
 | 
			
		||||
					"pw" => array("type" => "varchar(20)", "not null" => "1"),
 | 
			
		||||
| 
						 | 
				
			
			@ -300,11 +345,11 @@ function db_definition() {
 | 
			
		|||
					"PRIMARY" => array("client_id"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["config"] = array(
 | 
			
		||||
	$database["config"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"cat" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"k" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"cat" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"k" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"v" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					),
 | 
			
		||||
			"indexes" => array(
 | 
			
		||||
| 
						 | 
				
			
			@ -312,7 +357,7 @@ function db_definition() {
 | 
			
		|||
					"access" => array("cat","k"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["contact"] = array(
 | 
			
		||||
	$database["contact"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
| 
						 | 
				
			
			@ -321,23 +366,23 @@ function db_definition() {
 | 
			
		|||
					"remote_self" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"rel" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"duplex" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"network" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"name" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"nick" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"attag" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"network" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"name" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"nick" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"attag" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"photo" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"thumb" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"micro" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"site-pubkey" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"issued-id" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"dfrn-id" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"url" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"nurl" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"addr" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"alias" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"issued-id" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"dfrn-id" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"url" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"nurl" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"addr" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"alias" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"pubkey" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"prvkey" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"batch" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"batch" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"request" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"notify" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"poll" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
| 
						 | 
				
			
			@ -347,7 +392,7 @@ function db_definition() {
 | 
			
		|||
					"ret-aes" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"usehub" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"subhub" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"hub-verify" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"hub-verify" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"last-update" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
 | 
			
		||||
					"success_update" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
 | 
			
		||||
					"name-date" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
 | 
			
		||||
| 
						 | 
				
			
			@ -368,7 +413,7 @@ function db_definition() {
 | 
			
		|||
					"closeness" => array("type" => "tinyint(2)", "not null" => "1", "default" => "99"),
 | 
			
		||||
					"info" => array("type" => "mediumtext", "not null" => "1"),
 | 
			
		||||
					"profile-id" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"bdyear" => array("type" => "char(4)", "not null" => "1"),
 | 
			
		||||
					"bdyear" => array("type" => "varchar(4)", "not null" => "1"),
 | 
			
		||||
					"bd" => array("type" => "date", "not null" => "1"),
 | 
			
		||||
					"notify_new_posts" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"fetch_further_information" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
| 
						 | 
				
			
			@ -378,13 +423,13 @@ function db_definition() {
 | 
			
		|||
					"uid" => array("uid"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["conv"] = array(
 | 
			
		||||
	$database["conv"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"guid" => array("type" => "char(64)", "not null" => "1"),
 | 
			
		||||
					"guid" => array("type" => "varchar(64)", "not null" => "1"),
 | 
			
		||||
					"recips" => array("type" => "mediumtext", "not null" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"creator" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"creator" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
 | 
			
		||||
					"updated" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
 | 
			
		||||
					"subject" => array("type" => "mediumtext", "not null" => "1"),
 | 
			
		||||
| 
						 | 
				
			
			@ -394,10 +439,10 @@ function db_definition() {
 | 
			
		|||
					"uid" => array("uid"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["deliverq"] = array(
 | 
			
		||||
	$database["deliverq"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"cmd" => array("type" => "char(32)", "not null" => "1"),
 | 
			
		||||
					"cmd" => array("type" => "varchar(32)", "not null" => "1"),
 | 
			
		||||
					"item" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"contact" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					),
 | 
			
		||||
| 
						 | 
				
			
			@ -405,7 +450,7 @@ function db_definition() {
 | 
			
		|||
					"PRIMARY" => array("id"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["dsprphotoq"] = array(
 | 
			
		||||
	$database["dsprphotoq"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
| 
						 | 
				
			
			@ -416,12 +461,12 @@ function db_definition() {
 | 
			
		|||
					"PRIMARY" => array("id"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["event"] = array(
 | 
			
		||||
	$database["event"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"cid" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"uri" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"uri" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"created" => array("type" => "datetime", "not null" => "1"),
 | 
			
		||||
					"edited" => array("type" => "datetime", "not null" => "1"),
 | 
			
		||||
					"start" => array("type" => "datetime", "not null" => "1"),
 | 
			
		||||
| 
						 | 
				
			
			@ -429,7 +474,7 @@ function db_definition() {
 | 
			
		|||
					"summary" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"desc" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"location" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"type" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"type" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"nofinish" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"adjust" => array("type" => "tinyint(1)", "not null" => "1", "default" => "1"),
 | 
			
		||||
					"ignore" => array("type" => "tinyint(1) unsigned", "not null" => "1", "default" => "0"),
 | 
			
		||||
| 
						 | 
				
			
			@ -443,22 +488,22 @@ function db_definition() {
 | 
			
		|||
					"uid" => array("uid"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["fcontact"] = array(
 | 
			
		||||
	$database["fcontact"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"url" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"name" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"photo" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"request" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"nick" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"addr" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"batch" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"notify" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"poll" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"confirm" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"url" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"name" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"photo" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"request" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"nick" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"addr" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"batch" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"notify" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"poll" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"confirm" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"priority" => array("type" => "tinyint(1)", "not null" => "1"),
 | 
			
		||||
					"network" => array("type" => "char(32)", "not null" => "1"),
 | 
			
		||||
					"alias" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"network" => array("type" => "varchar(32)", "not null" => "1"),
 | 
			
		||||
					"alias" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"pubkey" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"updated" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
 | 
			
		||||
					),
 | 
			
		||||
| 
						 | 
				
			
			@ -467,7 +512,7 @@ function db_definition() {
 | 
			
		|||
					"addr" => array("addr"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["ffinder"] = array(
 | 
			
		||||
	$database["ffinder"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(10) unsigned", "not null" => "1"),
 | 
			
		||||
| 
						 | 
				
			
			@ -478,11 +523,11 @@ function db_definition() {
 | 
			
		|||
					"PRIMARY" => array("id"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["fserver"] = array(
 | 
			
		||||
	$database["fserver"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"server" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"posturl" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"server" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"posturl" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"key" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					),
 | 
			
		||||
			"indexes" => array(
 | 
			
		||||
| 
						 | 
				
			
			@ -490,15 +535,15 @@ function db_definition() {
 | 
			
		|||
					"server" => array("server"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["fsuggest"] = array(
 | 
			
		||||
	$database["fsuggest"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"cid" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"name" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"url" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"request" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"photo" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"name" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"url" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"request" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"photo" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"note" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"created" => array("type" => "datetime", "not null" => "1"),
 | 
			
		||||
					),
 | 
			
		||||
| 
						 | 
				
			
			@ -506,7 +551,7 @@ function db_definition() {
 | 
			
		|||
					"PRIMARY" => array("id"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["gcign"] = array(
 | 
			
		||||
	$database["gcign"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
| 
						 | 
				
			
			@ -518,21 +563,21 @@ function db_definition() {
 | 
			
		|||
					"gcid" => array("gcid"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["gcontact"] = array(
 | 
			
		||||
	$database["gcontact"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"name" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"url" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"nurl" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"photo" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"connect" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"name" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"url" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"nurl" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"photo" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"connect" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					),
 | 
			
		||||
			"indexes" => array(
 | 
			
		||||
					"PRIMARY" => array("id"),
 | 
			
		||||
					"nurl" => array("nurl"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["glink"] = array(
 | 
			
		||||
	$database["glink"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"cid" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
| 
						 | 
				
			
			@ -548,20 +593,20 @@ function db_definition() {
 | 
			
		|||
					"zcid" => array("zcid"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["group"] = array(
 | 
			
		||||
	$database["group"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(10) unsigned", "not null" => "1"),
 | 
			
		||||
					"visible" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"deleted" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"name" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"name" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					),
 | 
			
		||||
			"indexes" => array(
 | 
			
		||||
					"PRIMARY" => array("id"),
 | 
			
		||||
					"uid" => array("uid"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["group_member"] = array(
 | 
			
		||||
	$database["group_member"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(10) unsigned", "not null" => "1"),
 | 
			
		||||
| 
						 | 
				
			
			@ -573,22 +618,22 @@ function db_definition() {
 | 
			
		|||
					"uid_gid_contactid" => array("uid","gid","contact-id"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["guid"] = array(
 | 
			
		||||
	$database["guid"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"guid" => array("type" => "char(64)", "not null" => "1"),
 | 
			
		||||
					"guid" => array("type" => "varchar(64)", "not null" => "1"),
 | 
			
		||||
					),
 | 
			
		||||
			"indexes" => array(
 | 
			
		||||
					"PRIMARY" => array("id"),
 | 
			
		||||
					"guid" => array("guid"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["hook"] = array(
 | 
			
		||||
	$database["hook"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"hook" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"file" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"function" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"hook" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"file" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"function" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"priority" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0"),
 | 
			
		||||
					),
 | 
			
		||||
			"indexes" => array(
 | 
			
		||||
| 
						 | 
				
			
			@ -596,7 +641,7 @@ function db_definition() {
 | 
			
		|||
					"hook_file_function" => array("hook","file","function"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["intro"] = array(
 | 
			
		||||
	$database["intro"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(10) unsigned", "not null" => "1"),
 | 
			
		||||
| 
						 | 
				
			
			@ -605,7 +650,7 @@ function db_definition() {
 | 
			
		|||
					"knowyou" => array("type" => "tinyint(1)", "not null" => "1"),
 | 
			
		||||
					"duplex" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"note" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"hash" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"hash" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"datetime" => array("type" => "datetime", "not null" => "1"),
 | 
			
		||||
					"blocked" => array("type" => "tinyint(1)", "not null" => "1", "default" => "1"),
 | 
			
		||||
					"ignore" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
| 
						 | 
				
			
			@ -614,49 +659,49 @@ function db_definition() {
 | 
			
		|||
					"PRIMARY" => array("id"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["item"] = array(
 | 
			
		||||
	$database["item"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"guid" => array("type" => "char(64)", "not null" => "1"),
 | 
			
		||||
					"uri" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"guid" => array("type" => "varchar(64)", "not null" => "1"),
 | 
			
		||||
					"uri" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"contact-id" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"type" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"type" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"wall" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"gravity" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"parent" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"parent-uri" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"extid" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"thr-parent" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"parent-uri" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"extid" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"thr-parent" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
 | 
			
		||||
					"edited" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
 | 
			
		||||
					"commented" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
 | 
			
		||||
					"received" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
 | 
			
		||||
					"changed" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
 | 
			
		||||
					"owner-name" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"owner-link" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"owner-avatar" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"author-name" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"author-link" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"author-avatar" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"title" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"owner-name" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"owner-link" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"owner-avatar" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"author-name" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"author-link" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"author-avatar" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"title" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"body" => array("type" => "mediumtext", "not null" => "1"),
 | 
			
		||||
					"app" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"verb" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"object-type" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"app" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"verb" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"object-type" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"object" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"target-type" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"target-type" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"target" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"postopts" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"plink" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"resource-id" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"plink" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"resource-id" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"event-id" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"tag" => array("type" => "mediumtext", "not null" => "1"),
 | 
			
		||||
					"attach" => array("type" => "mediumtext", "not null" => "1"),
 | 
			
		||||
					"inform" => array("type" => "mediumtext", "not null" => "1"),
 | 
			
		||||
					"file" => array("type" => "mediumtext", "not null" => "1"),
 | 
			
		||||
					"location" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"coord" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"location" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"coord" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"allow_cid" => array("type" => "mediumtext", "not null" => "1"),
 | 
			
		||||
					"allow_gid" => array("type" => "mediumtext", "not null" => "1"),
 | 
			
		||||
					"deny_cid" => array("type" => "mediumtext", "not null" => "1"),
 | 
			
		||||
| 
						 | 
				
			
			@ -674,7 +719,7 @@ function db_definition() {
 | 
			
		|||
					"forum_mode" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"last-child" => array("type" => "tinyint(1) unsigned", "not null" => "1", "default" => "1"),
 | 
			
		||||
					"mention" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"network" => array("type" => "char(32)", "not null" => "1"),
 | 
			
		||||
					"network" => array("type" => "varchar(32)", "not null" => "1"),
 | 
			
		||||
					),
 | 
			
		||||
			"indexes" => array(
 | 
			
		||||
					"PRIMARY" => array("id"),
 | 
			
		||||
| 
						 | 
				
			
			@ -712,13 +757,13 @@ function db_definition() {
 | 
			
		|||
					"uid_ownerlink" => array("uid","owner-link"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["item_id"] = array(
 | 
			
		||||
	$database["item_id"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"iid" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"sid" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"service" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"sid" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"service" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					),
 | 
			
		||||
			"indexes" => array(
 | 
			
		||||
					"PRIMARY" => array("id"),
 | 
			
		||||
| 
						 | 
				
			
			@ -728,34 +773,34 @@ function db_definition() {
 | 
			
		|||
					"iid" => array("iid"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["locks"] = array(
 | 
			
		||||
	$database["locks"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"name" => array("type" => "char(128)", "not null" => "1"),
 | 
			
		||||
					"name" => array("type" => "varchar(128)", "not null" => "1"),
 | 
			
		||||
					"locked" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					),
 | 
			
		||||
			"indexes" => array(
 | 
			
		||||
					"PRIMARY" => array("id"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["mail"] = array(
 | 
			
		||||
	$database["mail"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(10) unsigned", "not null" => "1"),
 | 
			
		||||
					"guid" => array("type" => "char(64)", "not null" => "1"),
 | 
			
		||||
					"from-name" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"from-photo" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"from-url" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"contact-id" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"guid" => array("type" => "varchar(64)", "not null" => "1"),
 | 
			
		||||
					"from-name" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"from-photo" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"from-url" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"contact-id" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"convid" => array("type" => "int(11) unsigned", "not null" => "1"),
 | 
			
		||||
					"title" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"title" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"body" => array("type" => "mediumtext", "not null" => "1"),
 | 
			
		||||
					"seen" => array("type" => "tinyint(1)", "not null" => "1"),
 | 
			
		||||
					"reply" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"replied" => array("type" => "tinyint(1)", "not null" => "1"),
 | 
			
		||||
					"unknown" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"uri" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"parent-uri" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"uri" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"parent-uri" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
 | 
			
		||||
					),
 | 
			
		||||
			"indexes" => array(
 | 
			
		||||
| 
						 | 
				
			
			@ -768,19 +813,19 @@ function db_definition() {
 | 
			
		|||
					"parent-uri" => array("parent-uri"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["mailacct"] = array(
 | 
			
		||||
	$database["mailacct"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"server" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"server" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"port" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"ssltype" => array("type" => "char(16)", "not null" => "1"),
 | 
			
		||||
					"mailbox" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"user" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"ssltype" => array("type" => "varchar(16)", "not null" => "1"),
 | 
			
		||||
					"mailbox" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"user" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"pass" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"reply_to" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"reply_to" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"action" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"movetofolder" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"movetofolder" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"pubmail" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"last_check" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
 | 
			
		||||
					),
 | 
			
		||||
| 
						 | 
				
			
			@ -788,7 +833,7 @@ function db_definition() {
 | 
			
		|||
					"PRIMARY" => array("id"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["manage"] = array(
 | 
			
		||||
	$database["manage"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
| 
						 | 
				
			
			@ -799,29 +844,29 @@ function db_definition() {
 | 
			
		|||
					"uid_mid" => array("uid","mid"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["notify"] = array(
 | 
			
		||||
	$database["notify"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"hash" => array("type" => "char(64)", "not null" => "1"),
 | 
			
		||||
					"hash" => array("type" => "varchar(64)", "not null" => "1"),
 | 
			
		||||
					"type" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"name" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"url" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"photo" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"name" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"url" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"photo" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"date" => array("type" => "datetime", "not null" => "1"),
 | 
			
		||||
					"msg" => array("type" => "mediumtext", "not null" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"link" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"link" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"parent" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"seen" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"verb" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"otype" => array("type" => "char(16)", "not null" => "1"),
 | 
			
		||||
					"verb" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"otype" => array("type" => "varchar(16)", "not null" => "1"),
 | 
			
		||||
					),
 | 
			
		||||
			"indexes" => array(
 | 
			
		||||
					"PRIMARY" => array("id"),
 | 
			
		||||
					"uid" => array("uid"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["notify-threads"] = array(
 | 
			
		||||
	$database["notify-threads"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"notify-id" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
| 
						 | 
				
			
			@ -835,12 +880,12 @@ function db_definition() {
 | 
			
		|||
					"receiver-uid" => array("receiver-uid"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["pconfig"] = array(
 | 
			
		||||
	$database["pconfig"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"cat" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"k" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"cat" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"k" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"v" => array("type" => "mediumtext", "not null" => "1"),
 | 
			
		||||
					),
 | 
			
		||||
			"indexes" => array(
 | 
			
		||||
| 
						 | 
				
			
			@ -848,20 +893,20 @@ function db_definition() {
 | 
			
		|||
					"access" => array("uid","cat","k"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["photo"] = array(
 | 
			
		||||
	$database["photo"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(10) unsigned", "not null" => "1"),
 | 
			
		||||
					"contact-id" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"guid" => array("type" => "char(64)", "not null" => "1"),
 | 
			
		||||
					"resource-id" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"guid" => array("type" => "varchar(64)", "not null" => "1"),
 | 
			
		||||
					"resource-id" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"created" => array("type" => "datetime", "not null" => "1"),
 | 
			
		||||
					"edited" => array("type" => "datetime", "not null" => "1"),
 | 
			
		||||
					"title" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"title" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"desc" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"album" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"filename" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"type" => array("type" => "char(128)", "not null" => "1", "default" => "image/jpeg"),
 | 
			
		||||
					"album" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"filename" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"type" => array("type" => "varchar(128)", "not null" => "1", "default" => "image/jpeg"),
 | 
			
		||||
					"height" => array("type" => "smallint(6)", "not null" => "1"),
 | 
			
		||||
					"width" => array("type" => "smallint(6)", "not null" => "1"),
 | 
			
		||||
					"datasize" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
 | 
			
		||||
| 
						 | 
				
			
			@ -880,7 +925,7 @@ function db_definition() {
 | 
			
		|||
					"guid" => array("guid"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["poll"] = array(
 | 
			
		||||
	$database["poll"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
| 
						 | 
				
			
			@ -900,7 +945,7 @@ function db_definition() {
 | 
			
		|||
					"uid" => array("uid"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["poll_result"] = array(
 | 
			
		||||
	$database["poll_result"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"poll_id" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
| 
						 | 
				
			
			@ -912,35 +957,35 @@ function db_definition() {
 | 
			
		|||
					"choice" => array("choice"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["profile"] = array(
 | 
			
		||||
	$database["profile"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"profile-name" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"profile-name" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"is-default" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"hide-friends" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"name" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"pdesc" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"dob" => array("type" => "char(32)", "not null" => "1", "default" => "0000-00-00"),
 | 
			
		||||
					"address" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"locality" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"region" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"postal-code" => array("type" => "char(32)", "not null" => "1"),
 | 
			
		||||
					"country-name" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"hometown" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"gender" => array("type" => "char(32)", "not null" => "1"),
 | 
			
		||||
					"marital" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"name" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"pdesc" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"dob" => array("type" => "varchar(32)", "not null" => "1", "default" => "0000-00-00"),
 | 
			
		||||
					"address" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"locality" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"region" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"postal-code" => array("type" => "varchar(32)", "not null" => "1"),
 | 
			
		||||
					"country-name" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"hometown" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"gender" => array("type" => "varchar(32)", "not null" => "1"),
 | 
			
		||||
					"marital" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"with" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"howlong" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
 | 
			
		||||
					"sexual" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"politic" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"religion" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"sexual" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"politic" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"religion" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"pub_keywords" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"prv_keywords" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"likes" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"dislikes" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"about" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"summary" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"summary" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"music" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"book" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"tv" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
| 
						 | 
				
			
			@ -950,9 +995,9 @@ function db_definition() {
 | 
			
		|||
					"work" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"education" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"contact" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"homepage" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"photo" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"thumb" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"homepage" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"photo" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"thumb" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"publish" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"net-publish" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					),
 | 
			
		||||
| 
						 | 
				
			
			@ -961,39 +1006,39 @@ function db_definition() {
 | 
			
		|||
					"hometown" => array("hometown"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["profile_check"] = array(
 | 
			
		||||
	$database["profile_check"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(10) unsigned", "not null" => "1"),
 | 
			
		||||
					"cid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"dfrn_id" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"sec" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"dfrn_id" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"sec" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"expire" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					),
 | 
			
		||||
			"indexes" => array(
 | 
			
		||||
					"PRIMARY" => array("id"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["push_subscriber"] = array(
 | 
			
		||||
	$database["push_subscriber"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"callback_url" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"topic" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"nickname" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"callback_url" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"topic" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"nickname" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"push" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"last_update" => array("type" => "datetime", "not null" => "1"),
 | 
			
		||||
					"secret" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"secret" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					),
 | 
			
		||||
			"indexes" => array(
 | 
			
		||||
					"PRIMARY" => array("id"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["queue"] = array(
 | 
			
		||||
	$database["queue"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"cid" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"network" => array("type" => "char(32)", "not null" => "1"),
 | 
			
		||||
					"network" => array("type" => "varchar(32)", "not null" => "1"),
 | 
			
		||||
					"created" => array("type" => "datetime", "not null" => "1"),
 | 
			
		||||
					"last" => array("type" => "datetime", "not null" => "1"),
 | 
			
		||||
					"content" => array("type" => "mediumtext", "not null" => "1"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1008,24 +1053,24 @@ function db_definition() {
 | 
			
		|||
					"batch" => array("batch"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["register"] = array(
 | 
			
		||||
	$database["register"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"hash" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"hash" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"created" => array("type" => "datetime", "not null" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(11) unsigned", "not null" => "1"),
 | 
			
		||||
					"password" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"language" => array("type" => "char(16)", "not null" => "1"),
 | 
			
		||||
					"password" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"language" => array("type" => "varchar(16)", "not null" => "1"),
 | 
			
		||||
					),
 | 
			
		||||
			"indexes" => array(
 | 
			
		||||
					"PRIMARY" => array("id"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["search"] = array(
 | 
			
		||||
	$database["search"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"term" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"term" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					),
 | 
			
		||||
			"indexes" => array(
 | 
			
		||||
					"PRIMARY" => array("id"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1033,10 +1078,10 @@ function db_definition() {
 | 
			
		|||
					"term" => array("term"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["session"] = array(
 | 
			
		||||
	$database["session"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "bigint(20) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"sid" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"sid" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"data" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"expire" => array("type" => "int(10) unsigned", "not null" => "1"),
 | 
			
		||||
					),
 | 
			
		||||
| 
						 | 
				
			
			@ -1046,14 +1091,14 @@ function db_definition() {
 | 
			
		|||
					"expire" => array("expire"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["sign"] = array(
 | 
			
		||||
	$database["sign"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"iid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"retract_iid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"signed_text" => array("type" => "mediumtext", "not null" => "1"),
 | 
			
		||||
					"signature" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"signer" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"signer" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					),
 | 
			
		||||
			"indexes" => array(
 | 
			
		||||
					"PRIMARY" => array("id"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1061,13 +1106,13 @@ function db_definition() {
 | 
			
		|||
					"retract_iid" => array("retract_iid"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["spam"] = array(
 | 
			
		||||
	$database["spam"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(11)", "not null" => "1"),
 | 
			
		||||
					"spam" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"ham" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"term" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"term" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"date" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
 | 
			
		||||
					),
 | 
			
		||||
			"indexes" => array(
 | 
			
		||||
| 
						 | 
				
			
			@ -1078,14 +1123,14 @@ function db_definition() {
 | 
			
		|||
					"term" => array("term"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["term"] = array(
 | 
			
		||||
	$database["term"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"tid" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"oid" => array("type" => "int(10) unsigned", "not null" => "1"),
 | 
			
		||||
					"otype" => array("type" => "tinyint(3) unsigned", "not null" => "1"),
 | 
			
		||||
					"type" => array("type" => "tinyint(3) unsigned", "not null" => "1"),
 | 
			
		||||
					"term" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"url" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"term" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"url" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"aid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
 | 
			
		||||
					),
 | 
			
		||||
| 
						 | 
				
			
			@ -1098,7 +1143,7 @@ function db_definition() {
 | 
			
		|||
					"otype_type_term_tid" => array("otype","type","term","tid"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["thread"] = array(
 | 
			
		||||
	$database["thread"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"iid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0", "primary" => "1"),
 | 
			
		||||
					"uid" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1121,7 +1166,7 @@ function db_definition() {
 | 
			
		|||
					"origin" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"forum_mode" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"mention" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"network" => array("type" => "char(32)", "not null" => "1"),
 | 
			
		||||
					"network" => array("type" => "varchar(32)", "not null" => "1"),
 | 
			
		||||
					),
 | 
			
		||||
			"indexes" => array(
 | 
			
		||||
					"PRIMARY" => array("iid"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1136,7 +1181,7 @@ function db_definition() {
 | 
			
		|||
					"uid_commented" => array("uid","commented"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["tokens"] = array(
 | 
			
		||||
	$database["tokens"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "varchar(40)", "not null" => "1", "primary" => "1"),
 | 
			
		||||
					"secret" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1149,35 +1194,35 @@ function db_definition() {
 | 
			
		|||
					"PRIMARY" => array("id"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["unique_contacts"] = array(
 | 
			
		||||
	$database["unique_contacts"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"url" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"nick" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"name" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"avatar" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"url" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"nick" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"name" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"avatar" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					),
 | 
			
		||||
			"indexes" => array(
 | 
			
		||||
					"PRIMARY" => array("id"),
 | 
			
		||||
					"url" => array("url"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["user"] = array(
 | 
			
		||||
	$database["user"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"uid" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"guid" => array("type" => "char(64)", "not null" => "1"),
 | 
			
		||||
					"username" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"password" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"nickname" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"email" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"openid" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"timezone" => array("type" => "char(128)", "not null" => "1"),
 | 
			
		||||
					"language" => array("type" => "char(32)", "not null" => "1", "default" => "en"),
 | 
			
		||||
					"guid" => array("type" => "varchar(64)", "not null" => "1"),
 | 
			
		||||
					"username" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"password" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"nickname" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"email" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"openid" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"timezone" => array("type" => "varchar(128)", "not null" => "1"),
 | 
			
		||||
					"language" => array("type" => "varchar(32)", "not null" => "1", "default" => "en"),
 | 
			
		||||
					"register_date" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
 | 
			
		||||
					"login_date" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
 | 
			
		||||
					"default-location" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"default-location" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"allow_location" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"theme" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"theme" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"pubkey" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"prvkey" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
					"spubkey" => array("type" => "text", "not null" => "1"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1192,14 +1237,14 @@ function db_definition() {
 | 
			
		|||
					"notify-flags" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "65535"),
 | 
			
		||||
					"page-flags" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"prvnets" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"pwdreset" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"pwdreset" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					"maxreq" => array("type" => "int(11)", "not null" => "1", "default" => "10"),
 | 
			
		||||
					"expire" => array("type" => "int(11) unsigned", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"account_removed" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"account_expired" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"account_expires_on" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
 | 
			
		||||
					"expire_notification_sent" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
 | 
			
		||||
					"service_class" => array("type" => "char(32)", "not null" => "1"),
 | 
			
		||||
					"service_class" => array("type" => "varchar(32)", "not null" => "1"),
 | 
			
		||||
					"def_gid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
 | 
			
		||||
					"allow_cid" => array("type" => "mediumtext", "not null" => "1"),
 | 
			
		||||
					"allow_gid" => array("type" => "mediumtext", "not null" => "1"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1212,10 +1257,10 @@ function db_definition() {
 | 
			
		|||
					"nickname" => array("nickname"),
 | 
			
		||||
					)
 | 
			
		||||
			);
 | 
			
		||||
	$db["userd"] = array(
 | 
			
		||||
	$database["userd"] = array(
 | 
			
		||||
			"fields" => array(
 | 
			
		||||
					"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
 | 
			
		||||
					"username" => array("type" => "char(255)", "not null" => "1"),
 | 
			
		||||
					"username" => array("type" => "varchar(255)", "not null" => "1"),
 | 
			
		||||
					),
 | 
			
		||||
			"indexes" => array(
 | 
			
		||||
					"PRIMARY" => array("id"),
 | 
			
		||||
| 
						 | 
				
			
			@ -1223,5 +1268,5 @@ function db_definition() {
 | 
			
		|||
					)
 | 
			
		||||
			);
 | 
			
		||||
 | 
			
		||||
	return($db);
 | 
			
		||||
	return($database);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										116
									
								
								mod/install.php
									
										
									
									
									
								
							
							
						
						
									
										116
									
								
								mod/install.php
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -4,7 +4,7 @@ $install_wizard_pass=1;
 | 
			
		|||
 | 
			
		||||
 | 
			
		||||
function install_init(&$a){
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	// $baseurl/install/testrwrite to test if rewite in .htaccess is working
 | 
			
		||||
	if ($a->argc==2 && $a->argv[1]=="testrewrite") {
 | 
			
		||||
		echo "ok";
 | 
			
		||||
| 
						 | 
				
			
			@ -58,7 +58,7 @@ function install_post(&$a) {
 | 
			
		|||
				$a->data['db_conn_failed']=true;
 | 
			
		||||
			}
 | 
			
		||||
 | 
			
		||||
			return; 
 | 
			
		||||
			return;
 | 
			
		||||
			break;
 | 
			
		||||
		case 4:
 | 
			
		||||
			$urlpath = $a->get_path();
 | 
			
		||||
| 
						 | 
				
			
			@ -107,7 +107,7 @@ function get_db_errno() {
 | 
			
		|||
		return mysqli_connect_errno();
 | 
			
		||||
	else
 | 
			
		||||
		return mysql_errno();
 | 
			
		||||
}		
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function install_content(&$a) {
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -115,9 +115,9 @@ function install_content(&$a) {
 | 
			
		|||
	$o = '';
 | 
			
		||||
	$wizard_status = "";
 | 
			
		||||
	$install_title = t('Friendica Communications Server - Setup');
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	if(x($a->data,'db_conn_failed')) {
 | 
			
		||||
		$install_wizard_pass = 2;
 | 
			
		||||
		$wizard_status =  t('Could not connect to database.');
 | 
			
		||||
| 
						 | 
				
			
			@ -126,7 +126,7 @@ function install_content(&$a) {
 | 
			
		|||
		$install_wizard_pass = 2;
 | 
			
		||||
		$wizard_status =  t('Could not create table.');
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	$db_return_text="";
 | 
			
		||||
	if(x($a->data,'db_installed')) {
 | 
			
		||||
		$txt = '<p style="font-size: 130%;">';
 | 
			
		||||
| 
						 | 
				
			
			@ -140,7 +140,7 @@ function install_content(&$a) {
 | 
			
		|||
		$txt .= "<pre>".$a->data['db_failed'] . "</pre>". EOL ;
 | 
			
		||||
		$db_return_text .= $txt;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	if($db && $db->connected) {
 | 
			
		||||
		$r = q("SELECT COUNT(*) as `total` FROM `user`");
 | 
			
		||||
		if($r && count($r) && $r[0]['total']) {
 | 
			
		||||
| 
						 | 
				
			
			@ -157,7 +157,7 @@ function install_content(&$a) {
 | 
			
		|||
	if(x($a->data,'txt') && strlen($a->data['txt'])) {
 | 
			
		||||
		$db_return_text .= manual_config($a);
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	if ($db_return_text!="") {
 | 
			
		||||
		$tpl = get_markup_template('install.tpl');
 | 
			
		||||
		return replace_macros($tpl, array(
 | 
			
		||||
| 
						 | 
				
			
			@ -166,7 +166,7 @@ function install_content(&$a) {
 | 
			
		|||
			'$text' => $db_return_text . what_next(),
 | 
			
		||||
		));
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	switch ($install_wizard_pass){
 | 
			
		||||
		case 1: { // System check
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -180,21 +180,21 @@ function install_content(&$a) {
 | 
			
		|||
			check_smarty3($checks);
 | 
			
		||||
 | 
			
		||||
			check_keys($checks);
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
			if(x($_POST,'phpath'))
 | 
			
		||||
				$phpath = notags(trim($_POST['phpath']));
 | 
			
		||||
 | 
			
		||||
			check_php($phpath, $checks);
 | 
			
		||||
 | 
			
		||||
            check_htaccess($checks);
 | 
			
		||||
            
 | 
			
		||||
 | 
			
		||||
			function check_passed($v, $c){
 | 
			
		||||
				if ($c['required'])
 | 
			
		||||
					$v = $v && $c['status'];
 | 
			
		||||
				return $v;
 | 
			
		||||
			}
 | 
			
		||||
			$checkspassed = array_reduce($checks, "check_passed", true);
 | 
			
		||||
	        
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
			$tpl = get_markup_template('install_checks.tpl');
 | 
			
		||||
| 
						 | 
				
			
			@ -211,7 +211,7 @@ function install_content(&$a) {
 | 
			
		|||
			));
 | 
			
		||||
			return $o;
 | 
			
		||||
		}; break;
 | 
			
		||||
		
 | 
			
		||||
 | 
			
		||||
		case 2: { // Database config
 | 
			
		||||
 | 
			
		||||
			$dbhost = ((x($_POST,'dbhost')) ? notags(trim($_POST['dbhost'])) : 'localhost');
 | 
			
		||||
| 
						 | 
				
			
			@ -219,7 +219,7 @@ function install_content(&$a) {
 | 
			
		|||
			$dbpass = notags(trim($_POST['dbpass']));
 | 
			
		||||
			$dbdata = notags(trim($_POST['dbdata']));
 | 
			
		||||
			$phpath = notags(trim($_POST['phpath']));
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
			$tpl = get_markup_template('install_db.tpl');
 | 
			
		||||
			$o .= replace_macros($tpl, array(
 | 
			
		||||
| 
						 | 
				
			
			@ -230,23 +230,23 @@ function install_content(&$a) {
 | 
			
		|||
				'$info_03' => t('The database you specify below should already exist. If it does not, please create it before continuing.'),
 | 
			
		||||
 | 
			
		||||
				'$status' => $wizard_status,
 | 
			
		||||
				
 | 
			
		||||
 | 
			
		||||
				'$dbhost' => array('dbhost', t('Database Server Name'), $dbhost, ''),
 | 
			
		||||
				'$dbuser' => array('dbuser', t('Database Login Name'), $dbuser, ''),
 | 
			
		||||
				'$dbpass' => array('dbpass', t('Database Login Password'), $dbpass, ''),
 | 
			
		||||
				'$dbdata' => array('dbdata', t('Database Name'), $dbdata, ''),
 | 
			
		||||
				'$adminmail' => array('adminmail', t('Site administrator email address'), $adminmail, t('Your account email address must match this in order to use the web admin panel.')),
 | 
			
		||||
 | 
			
		||||
				
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
				'$lbl_10' => t('Please select a default timezone for your website'),
 | 
			
		||||
				
 | 
			
		||||
 | 
			
		||||
				'$baseurl' => $a->get_baseurl(),
 | 
			
		||||
				
 | 
			
		||||
 | 
			
		||||
				'$phpath' => $phpath,
 | 
			
		||||
				
 | 
			
		||||
 | 
			
		||||
				'$submit' => t('Submit'),
 | 
			
		||||
				
 | 
			
		||||
 | 
			
		||||
			));
 | 
			
		||||
			return $o;
 | 
			
		||||
		}; break;
 | 
			
		||||
| 
						 | 
				
			
			@ -257,38 +257,38 @@ function install_content(&$a) {
 | 
			
		|||
			$dbpass = notags(trim($_POST['dbpass']));
 | 
			
		||||
			$dbdata = notags(trim($_POST['dbdata']));
 | 
			
		||||
			$phpath = notags(trim($_POST['phpath']));
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
			$adminmail = notags(trim($_POST['adminmail']));
 | 
			
		||||
			$timezone = ((x($_POST,'timezone')) ? ($_POST['timezone']) : 'America/Los_Angeles');
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
			$tpl = get_markup_template('install_settings.tpl');
 | 
			
		||||
			$o .= replace_macros($tpl, array(
 | 
			
		||||
				'$title' => $install_title,
 | 
			
		||||
				'$pass' => t('Site settings'),
 | 
			
		||||
 | 
			
		||||
				'$status' => $wizard_status,
 | 
			
		||||
				
 | 
			
		||||
				'$dbhost' => $dbhost, 
 | 
			
		||||
 | 
			
		||||
				'$dbhost' => $dbhost,
 | 
			
		||||
				'$dbuser' => $dbuser,
 | 
			
		||||
				'$dbpass' => $dbpass,
 | 
			
		||||
				'$dbdata' => $dbdata,
 | 
			
		||||
				'$phpath' => $phpath,
 | 
			
		||||
				
 | 
			
		||||
 | 
			
		||||
				'$adminmail' => array('adminmail', t('Site administrator email address'), $adminmail, t('Your account email address must match this in order to use the web admin panel.')),
 | 
			
		||||
 | 
			
		||||
				
 | 
			
		||||
 | 
			
		||||
				'$timezone' => field_timezone('timezone', t('Please select a default timezone for your website'), $timezone, ''),
 | 
			
		||||
				
 | 
			
		||||
 | 
			
		||||
				'$baseurl' => $a->get_baseurl(),
 | 
			
		||||
				
 | 
			
		||||
				
 | 
			
		||||
				
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
				'$submit' => t('Submit'),
 | 
			
		||||
				
 | 
			
		||||
 | 
			
		||||
			));
 | 
			
		||||
			return $o;
 | 
			
		||||
		}; break;
 | 
			
		||||
			
 | 
			
		||||
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -327,9 +327,9 @@ function check_php(&$phpath, &$checks) {
 | 
			
		|||
		));
 | 
			
		||||
		$phpath="";
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	check_add($checks, t('Command line PHP').($passed?" (<tt>$phpath</tt>)":""), $passed, false, $help);
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	if($passed) {
 | 
			
		||||
		$cmd = "$phpath -v";
 | 
			
		||||
		$result = trim(shell_exec($cmd));
 | 
			
		||||
| 
						 | 
				
			
			@ -342,8 +342,8 @@ function check_php(&$phpath, &$checks) {
 | 
			
		|||
		}
 | 
			
		||||
		check_add($checks, t('PHP cli binary'), $passed2, true, $help);
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	if($passed2) {
 | 
			
		||||
		$str = autoname(8);
 | 
			
		||||
		$cmd = "$phpath testargs.php $str";
 | 
			
		||||
| 
						 | 
				
			
			@ -356,7 +356,7 @@ function check_php(&$phpath, &$checks) {
 | 
			
		|||
		}
 | 
			
		||||
		check_add($checks, t('PHP register_argc_argv'), $passed3, true, $help);
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -366,7 +366,7 @@ function check_keys(&$checks) {
 | 
			
		|||
 | 
			
		||||
	$res = false;
 | 
			
		||||
 | 
			
		||||
	if(function_exists('openssl_pkey_new')) 
 | 
			
		||||
	if(function_exists('openssl_pkey_new'))
 | 
			
		||||
		$res=openssl_pkey_new(array(
 | 
			
		||||
		'digest_alg' => 'sha1',
 | 
			
		||||
		'private_key_bits' => 4096,
 | 
			
		||||
| 
						 | 
				
			
			@ -390,8 +390,8 @@ function check_funcs(&$checks) {
 | 
			
		|||
	check_add($ck_funcs, t('OpenSSL PHP module'), true, true, "");
 | 
			
		||||
	check_add($ck_funcs, t('mysqli PHP module'), true, true, "");
 | 
			
		||||
	check_add($ck_funcs, t('mb_string PHP module'), true, true, "");
 | 
			
		||||
		
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
	if(function_exists('apache_get_modules')){
 | 
			
		||||
		if (! in_array('mod_rewrite',apache_get_modules())) {
 | 
			
		||||
			check_add($ck_funcs, t('Apache mod_rewrite module'), false, true, t('Error: Apache webserver mod-rewrite module is required but not installed.'));
 | 
			
		||||
| 
						 | 
				
			
			@ -420,9 +420,9 @@ function check_funcs(&$checks) {
 | 
			
		|||
		$ck_funcs[4]['status']= false;
 | 
			
		||||
		$ck_funcs[4]['help']= t('Error: mb_string PHP module required but not installed.');
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	$checks = array_merge($checks, $ck_funcs);
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
	/*if((x($_SESSION,'sysmsg')) && is_array($_SESSION['sysmsg']) && count($_SESSION['sysmsg']))
 | 
			
		||||
		notice( t('Please see the file "INSTALL.txt".') . EOL);*/
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -433,14 +433,14 @@ function check_htconfig(&$checks) {
 | 
			
		|||
	$help = "";
 | 
			
		||||
	if(	(file_exists('.htconfig.php') && !is_writable('.htconfig.php')) ||
 | 
			
		||||
		(!file_exists('.htconfig.php') && !is_writable('.')) ) {
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
		$status=false;
 | 
			
		||||
		$help = t('The web installer needs to be able to create a file called ".htconfig.php" in the top folder of your web server and it is unable to do so.') .EOL;
 | 
			
		||||
		$help .= t('This is most often a permission setting, as the web server may not be able to write files in your folder - even if you can.').EOL;
 | 
			
		||||
		$help .= t('At the end of this procedure, we will give you a text to save in a file named .htconfig.php in your Friendica top folder.').EOL;
 | 
			
		||||
		$help .= t('You can alternatively skip this procedure and perform a manual installation. Please see the file "INSTALL.txt" for instructions.').EOL; 
 | 
			
		||||
		$help .= t('You can alternatively skip this procedure and perform a manual installation. Please see the file "INSTALL.txt" for instructions.').EOL;
 | 
			
		||||
	}
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
	check_add($checks, t('.htconfig.php is writable'), $status, false, $help);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -449,14 +449,14 @@ function check_smarty3(&$checks) {
 | 
			
		|||
	$status = true;
 | 
			
		||||
	$help = "";
 | 
			
		||||
	if(	!is_writable('view/smarty3') ) {
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
		$status=false;
 | 
			
		||||
		$help = t('Friendica uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering.') .EOL;
 | 
			
		||||
		$help .= t('In order to store these compiled templates, the web server needs to have write access to the directory view/smarty3/ under the Friendica top level folder.').EOL;
 | 
			
		||||
		$help .= t('Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder.').EOL;
 | 
			
		||||
		$help .= t('Note: as a security measure, you should give the web server write access to view/smarty3/ only--not the template files (.tpl) that it contains.').EOL; 
 | 
			
		||||
		$help .= t('Note: as a security measure, you should give the web server write access to view/smarty3/ only--not the template files (.tpl) that it contains.').EOL;
 | 
			
		||||
	}
 | 
			
		||||
    
 | 
			
		||||
 | 
			
		||||
	check_add($checks, t('view/smarty3 is writable'), $status, true, $help);
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -471,14 +471,14 @@ function check_htaccess(&$checks) {
 | 
			
		|||
            $status = false;
 | 
			
		||||
            $help = t('Url rewrite in .htaccess is not working. Check your server configuration.');
 | 
			
		||||
        }
 | 
			
		||||
        check_add($checks, t('Url rewrite is working'), $status, true, $help); 
 | 
			
		||||
        check_add($checks, t('Url rewrite is working'), $status, true, $help);
 | 
			
		||||
    } else {
 | 
			
		||||
        // cannot check modrewrite if libcurl is not installed
 | 
			
		||||
    }
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
	
 | 
			
		||||
 | 
			
		||||
function manual_config(&$a) {
 | 
			
		||||
	$data = htmlentities($a->data['txt'],ENT_COMPAT,'UTF-8');
 | 
			
		||||
	$o = t('The database configuration file ".htconfig.php" could not be written. Please use the enclosed text to create a configuration file in your web server root.');
 | 
			
		||||
| 
						 | 
				
			
			@ -498,27 +498,31 @@ function load_database_rem($v, $i){
 | 
			
		|||
 | 
			
		||||
function load_database($db) {
 | 
			
		||||
 | 
			
		||||
	$str = file_get_contents('database.sql');
 | 
			
		||||
	require_once("include/dbstructure.php");
 | 
			
		||||
	$errors = update_structure(false, true);
 | 
			
		||||
 | 
			
		||||
/*	$str = file_get_contents('database.sql');
 | 
			
		||||
	$arr = explode(';',$str);
 | 
			
		||||
	$errors = false;
 | 
			
		||||
	foreach($arr as $a) {
 | 
			
		||||
		if(strlen(trim($a))) {	
 | 
			
		||||
		if(strlen(trim($a))) {
 | 
			
		||||
			$r = @$db->q(trim($a));
 | 
			
		||||
			if(false === $r) {
 | 
			
		||||
				$errors .=  t('Errors encountered creating database tables.') . $a . EOL;
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	}*/
 | 
			
		||||
 | 
			
		||||
	return $errors;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
function what_next() {
 | 
			
		||||
	$a = get_app();
 | 
			
		||||
	$baseurl = $a->get_baseurl();
 | 
			
		||||
	return 
 | 
			
		||||
	return
 | 
			
		||||
		t('<h1>What next</h1>')
 | 
			
		||||
		."<p>".t('IMPORTANT: You will need to [manually] setup a scheduled task for the poller.')
 | 
			
		||||
		.t('Please see the file "INSTALL.txt".')			
 | 
			
		||||
		.t('Please see the file "INSTALL.txt".')
 | 
			
		||||
		."</p><p>"
 | 
			
		||||
		.t("Go to your new Friendica node <a href='$baseurl/register'>registration page</a> and register as new user. Remember to use the same email you have entered as administrator email. This will allow you to enter the site admin panel.")
 | 
			
		||||
		."</p>";
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
							
								
								
									
										17
									
								
								update.php
									
										
									
									
									
								
							
							
						
						
									
										17
									
								
								update.php
									
										
									
									
									
								
							| 
						 | 
				
			
			@ -10,26 +10,25 @@ define( 'UPDATE_VERSION' , 1170 );
 | 
			
		|||
 * copying the latest files from the source code repository will always perform a clean
 | 
			
		||||
 * and painless upgrade.
 | 
			
		||||
 *
 | 
			
		||||
 * Each function in this file is named update_nnnn() where nnnn is an increasing number 
 | 
			
		||||
 * Each function in this file is named update_nnnn() where nnnn is an increasing number
 | 
			
		||||
 * which began counting at 1000.
 | 
			
		||||
 * 
 | 
			
		||||
 *
 | 
			
		||||
 * At the top of the file "boot.php" is a define for DB_UPDATE_VERSION. Any time there is a change
 | 
			
		||||
 * to the database schema or one which requires an upgrade path from the existing application,
 | 
			
		||||
 * the DB_UPDATE_VERSION and the UPDATE_VERSION at the top of this file are incremented.
 | 
			
		||||
 *
 | 
			
		||||
 * The current DB_UPDATE_VERSION is stored in the config area of the database. If the application starts up
 | 
			
		||||
 * and DB_UPDATE_VERSION is greater than the last stored build number, we will process every update function 
 | 
			
		||||
 * in order from the currently stored value to the new DB_UPDATE_VERSION. This is expected to bring the system 
 | 
			
		||||
 * and DB_UPDATE_VERSION is greater than the last stored build number, we will process every update function
 | 
			
		||||
 * in order from the currently stored value to the new DB_UPDATE_VERSION. This is expected to bring the system
 | 
			
		||||
 * up to current without requiring re-installation or manual intervention.
 | 
			
		||||
 *
 | 
			
		||||
 * Once the upgrade functions have completed, the current DB_UPDATE_VERSION is stored as the current value.
 | 
			
		||||
 * The DB_UPDATE_VERSION will always be one greater than the last numbered script in this file. 
 | 
			
		||||
 * The DB_UPDATE_VERSION will always be one greater than the last numbered script in this file.
 | 
			
		||||
 *
 | 
			
		||||
 * If you change the database schema, the following are required:
 | 
			
		||||
 *    1. Update the file database.sql to match the new schema.
 | 
			
		||||
 *    2. Update this file by adding a new function at the end with the number of the current DB_UPDATE_VERSION.
 | 
			
		||||
 *       This function should modify the current database schema and perform any other steps necessary
 | 
			
		||||
 *       to ensure that upgrade is silent and free from requiring interaction.
 | 
			
		||||
 *    1. Update the file include/dbstructure.php to match the new schema.
 | 
			
		||||
 *    2. If there is a need for a post procession, update this file by adding a new function at the end with the number of the current DB_UPDATE_VERSION.
 | 
			
		||||
 *       This function should perform some post procession steps but no database updates.
 | 
			
		||||
 *    3. Increment the DB_UPDATE_VERSION in boot.php *AND* the UPDATE_VERSION in this file to match it
 | 
			
		||||
 *    4. TEST the upgrade prior to checkin and filing a pull request.
 | 
			
		||||
 *
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue