From d8d745891a31450ff8fc57e24c11139a600f544e Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Mon, 2 Jun 2014 23:41:33 +0200 Subject: [PATCH 01/12] New hook that is called when items expire --- include/expire.php | 8 ++++++-- include/items.php | 18 +++++++++++++++--- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/include/expire.php b/include/expire.php index a73272a2ef..a7b561bf0c 100644 --- a/include/expire.php +++ b/include/expire.php @@ -8,7 +8,7 @@ function expire_run(&$argv, &$argc){ if(is_null($a)) { $a = new App; } - + if(is_null($db)) { @include(".htconfig.php"); require_once("include/dba.php"); @@ -38,7 +38,7 @@ function expire_run(&$argv, &$argc){ q("optimize table item"); logger('expire: start'); - + $r = q("SELECT `uid`,`username`,`expire` FROM `user` WHERE `expire` != 0"); if(count($r)) { foreach($r as $rr) { @@ -47,6 +47,10 @@ function expire_run(&$argv, &$argc){ } } + load_hooks(); + + call_hooks('expire'); + return; } diff --git a/include/items.php b/include/items.php index c80e3478e3..7aac15b585 100755 --- a/include/items.php +++ b/include/items.php @@ -4102,7 +4102,7 @@ function item_getfeedattach($item) { -function item_expire($uid,$days) { +function item_expire($uid, $days, $network = "", $force = false) { if((! $uid) || ($days < 1)) return; @@ -4113,9 +4113,17 @@ function item_expire($uid,$days) { $expire_network_only = get_pconfig($uid,'expire','network_only'); $sql_extra = ((intval($expire_network_only)) ? " AND wall = 0 " : ""); + if ($network != "") { + $sql_extra .= sprintf(" AND network = '%s' ", dbesc($network)); + // There is an index "uid_network_received" but not "uid_network_created" + // This avoids the creation of another index just for one purpose. + // And it doesn't really matter wether to look at "received" or "created" + $range = "AND `received` < UTC_TIMESTAMP() - INTERVAL %d DAY "; + } else + $range = "AND `created` < UTC_TIMESTAMP() - INTERVAL %d DAY "; + $r = q("SELECT * FROM `item` - WHERE `uid` = %d - AND `created` < UTC_TIMESTAMP() - INTERVAL %d DAY + WHERE `uid` = %d $range AND `id` = `parent` $sql_extra AND `deleted` = 0", @@ -4129,6 +4137,10 @@ function item_expire($uid,$days) { $expire_items = get_pconfig($uid, 'expire','items'); $expire_items = (($expire_items===false)?1:intval($expire_items)); // default if not set: 1 + // Forcing expiring of items - but not notes and marked items + if ($force) + $expire_items = true; + $expire_notes = get_pconfig($uid, 'expire','notes'); $expire_notes = (($expire_notes===false)?1:intval($expire_notes)); // default if not set: 1 From d3878d717ccd22de8cc393b87301e45f994f7ab6 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Mon, 2 Jun 2014 23:45:32 +0200 Subject: [PATCH 02/12] bbcode: new element "attachment" for attached links. --- include/bbcode.php | 76 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/include/bbcode.php b/include/bbcode.php index 4ccab8db5d..d6fc81983f 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -2,6 +2,79 @@ require_once("include/oembed.php"); require_once('include/event.php'); +function bb_attachment($Text, $plaintext = false, $tryoembed = true) { + $Text = preg_replace_callback("/\[attachment(.*?)\](.*?)\[\/attachment\]/ism", + function ($match) use ($plaintext){ + + $attributes = $match[1]; + + $type = ""; + preg_match("/type='(.*?)'/ism", $attributes, $matches); + if ($matches[1] != "") + $type = $matches[1]; + + preg_match('/type="(.*?)"/ism', $attributes, $matches); + if ($matches[1] != "") + $type = $matches[1]; + + if ($type == "") + return($match[0]); + + if (!in_array($type, array("link", "audio", "video"))) + return($match[0]); + + $url = ""; + preg_match("/url='(.*?)'/ism", $attributes, $matches); + if ($matches[1] != "") + $url = $matches[1]; + + preg_match('/url="(.*?)"/ism', $attributes, $matches); + if ($matches[1] != "") + $url = $matches[1]; + + $title = ""; + preg_match("/title='(.*?)'/ism", $attributes, $matches); + if ($matches[1] != "") + $title = $matches[1]; + + preg_match('/title="(.*?)"/ism', $attributes, $matches); + if ($matches[1] != "") + $title = $matches[1]; + + $image = ""; + preg_match("/image='(.*?)'/ism", $attributes, $matches); + if ($matches[1] != "") + $image = $matches[1]; + + preg_match('/image="(.*?)"/ism', $attributes, $matches); + if ($matches[1] != "") + $image = $matches[1]; + + if ($plaintext) + $text = sprintf('%s', $url, $title); + else { + $text = sprintf('', $type); + + $bookmark = array(sprintf('[bookmark=%s]%s[/bookmark]', $url, $title), $title, $url); + if ($tryoembed) + $oembed = tryoembed($bookmark); + else + $oembed = $bookmark[0]; + + if (($image != "") AND !strstr(strtolower($oembed), "%s', $image, $title); // To-Do: Anführungszeichen in "alt" + + $text .= $oembed; + + $text .= sprintf('
%s
', trim($match[2])); + } + + return($text); + },$Text); + + return($Text); +} + function bb_rearrange_link($shared) { if ($shared[1] != "type-link") return($shared[0]); @@ -706,6 +779,9 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal $Text = preg_replace("/\n\[code\]/ism", "[code]", $Text); $Text = preg_replace("/\[\/code\]\n/ism", "[/code]", $Text); + // Handle attached links or videos + $Text = bb_attachment($Text, ($simplehtml != 4) AND ($simplehtml != 0), $tryoembed); + // Rearrange shared links if (get_config("system", "rearrange_shared_links") AND (!$simplehtml OR $tryoembed)) $Text = preg_replace_callback("(\[class=(.*?)\](.*?)\[\/class\])ism","bb_rearrange_link",$Text); From e729d2e216caace996adb3c37b27281abb062f04 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Wed, 4 Jun 2014 00:43:43 +0200 Subject: [PATCH 03/12] Show title for the reply button. --- view/theme/vier/templates/wall_thread.tpl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/view/theme/vier/templates/wall_thread.tpl b/view/theme/vier/templates/wall_thread.tpl index 7363032d82..06adc011cc 100644 --- a/view/theme/vier/templates/wall_thread.tpl +++ b/view/theme/vier/templates/wall_thread.tpl @@ -99,7 +99,7 @@ {{if $item.threaded}} {{/if}} {{if $item.comment}} - + {{/if}} {{if $item.vote}} {{if $item.vote.like}} @@ -122,7 +122,7 @@ {{/if}} -
{{$item.location}} {{$item.postopts}}
+
{{$item.location}} {{$item.postopts}}
{{if $item.drop.pagedrop}} From 0c77cee6678e1fc3b0f591b5864a79ae4f9d6aa2 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Wed, 4 Jun 2014 00:44:58 +0200 Subject: [PATCH 04/12] New database update system that uses the database structure defined in dbstructure.php --- boot.php | 4 + include/dbstructure.php | 571 ++++++++++++++++++++++------------------ mod/install.php | 116 ++++---- update.php | 17 +- 4 files changed, 380 insertions(+), 328 deletions(-) diff --git a/boot.php b/boot.php index 53d1c18ba1..dbd5c7640e 100644 --- a/boot.php +++ b/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)) { diff --git a/include/dbstructure.php b/include/dbstructure.php index 309b7e05af..83a75e4d1b 100644 --- a/include/dbstructure.php +++ b/include/dbstructure.php @@ -1,5 +1,4 @@ $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); } diff --git a/mod/install.php b/mod/install.php index 4be728f267..484846ccd6 100755 --- a/mod/install.php +++ b/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 = '

'; @@ -140,7 +140,7 @@ function install_content(&$a) { $txt .= "

".$a->data['db_failed'] . "
". 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?" ($phpath)":""), $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('

What next

') ."

".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".') ."

" .t("Go to your new Friendica node registration page 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.") ."

"; diff --git a/update.php b/update.php index 4f3f4daec6..9303e5d19c 100644 --- a/update.php +++ b/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. * From 48e2b422ddf6d2c927a84f06e5b3945d40d208f3 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Wed, 4 Jun 2014 21:25:31 +0200 Subject: [PATCH 05/12] Preparation for an bidirectional app.net connector --- boot.php | 2 ++ mod/item.php | 3 ++- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/boot.php b/boot.php index dbd5c7640e..bcecdaa6b1 100644 --- a/boot.php +++ b/boot.php @@ -143,6 +143,7 @@ define ( 'NETWORK_PUMPIO', 'pump'); // pump.io define ( 'NETWORK_TWITTER', 'twit'); // Twitter define ( 'NETWORK_DIASPORA2', 'dspc'); // Diaspora connector define ( 'NETWORK_STATUSNET', 'stac'); // Statusnet connector +define ( 'NETWORK_APPNET', 'apdn'); // app.net define ( 'NETWORK_PHANTOM', 'unkn'); // Place holder @@ -169,6 +170,7 @@ $netgroup_ids = array( NETWORK_TWITTER => (-14), NETWORK_DIASPORA2 => (-15), NETWORK_STATUSNET => (-16), + NETWORK_APPNET => (-17), NETWORK_PHANTOM => (-127), ); diff --git a/mod/item.php b/mod/item.php index 08145d5a0f..20f7f2957e 100644 --- a/mod/item.php +++ b/mod/item.php @@ -1127,7 +1127,8 @@ function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) { if(count($r)) { $profile = $r[0]['url']; //set newname to nick, find alias - if(($r[0]['network'] === NETWORK_OSTATUS) OR ($r[0]['network'] === NETWORK_TWITTER) OR ($r[0]['network'] === NETWORK_STATUSNET)) { + if(($r[0]['network'] === NETWORK_OSTATUS) OR ($r[0]['network'] === NETWORK_TWITTER) + OR ($r[0]['network'] === NETWORK_STATUSNET) OR ($r[0]['network'] === NETWORK_APPNET)) { $newname = $r[0]['nick']; $stat = true; if($r[0]['alias']) From a41cc6f45f2b6238a39999597cb72bd446be09b4 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Thu, 5 Jun 2014 17:44:35 +0200 Subject: [PATCH 06/12] Added app.net --- include/contact_selectors.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/include/contact_selectors.php b/include/contact_selectors.php index dfdd2fa38f..c04b07fb64 100644 --- a/include/contact_selectors.php +++ b/include/contact_selectors.php @@ -88,7 +88,8 @@ function network_to_name($s) { NETWORK_PUMPIO => t('pump.io'), NETWORK_TWITTER => t('Twitter'), NETWORK_DIASPORA2 => t('Diaspora Connector'), - NETWORK_STATUSNET => t('Statusnet') + NETWORK_STATUSNET => t('Statusnet'), + NETWORK_APPNET => t('App.net') ); call_hooks('network_to_name', $nets); From 4984a3703f1996faaf279375e6aa4a49c0639ff8 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Thu, 5 Jun 2014 21:36:55 +0200 Subject: [PATCH 07/12] Vier: Redesigned tabs --- view/theme/vier/style.css | 40 ++++++++++++++++++++++++++------------- 1 file changed, 27 insertions(+), 13 deletions(-) diff --git a/view/theme/vier/style.css b/view/theme/vier/style.css index 56fcb40855..616256d40b 100644 --- a/view/theme/vier/style.css +++ b/view/theme/vier/style.css @@ -1869,13 +1869,18 @@ h2 { ul.tabs { list-style-type: none; padding-bottom: 10px; - padding-left: 0px; + padding-left: 10px; + padding-top: 0px; margin-bottom: 5px; - line-height: 27px; - height: 27px; - font-size: 11px; + line-height: 28px; + height: 20px; +/* font-size: 11px; */ + font-size: 13px; font-weight: bold; /* margin-bottom: 30px; */ + background-color: #FAFAFA; + box-shadow: 1px 2px 0px 0px #D8D8D8; + border-bottom: 1px solid #D2D2D2; } ul.tabs li { float: left; @@ -1890,13 +1895,16 @@ ul.tabs a { display: block; float: left; padding-bottom: 0px; - padding: 0px 12px 0px 12px; - color: #444; + padding: 0px; +/* padding: 0px 12px 0px 12px; */ +/* color: #444; */ + color: darkgrey; } ul.tabs a { - box-shadow: 1px 2px 0px 0px #D8D8D8; - margin-right: 5px; +/* box-shadow: 1px 2px 0px 0px #D8D8D8; */ + margin-right: 15px; + margin-left: 5px; } #birthday-notice, #event-notice { @@ -1919,25 +1927,31 @@ div.pager, .birthday-notice, .comment-edit-submit-wrapper .fakelink { color: black; } -div.pager, .birthday-notice, ul.tabs a, .comment-edit-submit-wrapper .fakelink { - border: 1px solid lightgray; +div.pager, .birthday-notice, .comment-edit-submit-wrapper .fakelink { +/* border: 1px solid lightgray; */ background: #F2F2F2; margin-top: 2px; margin-bottom: 2px; } ul.tabs a:hover { - color: #333; +/* color: #333; */ + color: grey; } #event-notice:hover, #birthday-notice:hover, ul.tabs li .active, .comment-edit-submit-wrapper .fakelink:hover { color: black; } -ul.tabs a:hover, #event-notice:hover, #birthday-notice:hover, ul.tabs li .active, .comment-edit-submit-wrapper .fakelink:hover { +ul.tabs a:hover, ul.tabs li .active { + border-bottom: 2px solid #244C5E; + text-decoration: none; +} + +#event-notice:hover, #birthday-notice:hover, .comment-edit-submit-wrapper .fakelink:hover { background-color: #e5e5e5; text-decoration: none; - border: 1px solid darkgray; +/* border: 1px solid darkgray; */ } .comment-edit-bb { From c83aae2f1f7d812c41d203479821c4e607dfffb3 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Thu, 5 Jun 2014 23:59:38 +0200 Subject: [PATCH 08/12] Vier: Making the pager look better --- view/theme/vier/style.css | 67 ++++++++++++++++++++++++++------------- 1 file changed, 45 insertions(+), 22 deletions(-) diff --git a/view/theme/vier/style.css b/view/theme/vier/style.css index 616256d40b..12195eb323 100644 --- a/view/theme/vier/style.css +++ b/view/theme/vier/style.css @@ -193,26 +193,35 @@ img { margin-bottom: 5px; } +div.pager a { + margin-left: 5px; + margin-right: 5px; +} + +span.pager_first a, span.pager_n a, +span.pager_last a, span.pager_prev a, span.pager_next a { + color: darkgrey; +} + div.pager { -/* .birthday-notice { */ + clear: left; text-align: center; +/* height: 1.2em; padding-bottom: 12px; color: black; - /*-webkit-border-radius: 6px; - -moz-border-radius: 6px; - border-radius: 6px;*/ background-color: #f2f2f2; - clear: left; margin-top: 5px; padding: 1%; height: 1em; margin-bottom: 5px; -}*/ +*/ +} -.birthday-notice { +.birthday-notice, .event-notice { margin-top: 5px; margin-bottom: 5px; + background-color: #FAFAFA; } #live-network { @@ -1866,7 +1875,7 @@ h2 { } /** /acl **/ /** tab buttons **/ -ul.tabs { +div.pager, ul.tabs { list-style-type: none; padding-bottom: 10px; padding-left: 10px; @@ -1890,7 +1899,7 @@ ul.tabs li { border-bottom: 1px solid #005c94; }*/ -ul.tabs a { +ul.tabs a, div.pager a { /* min-width: 34px; */ display: block; float: left; @@ -1922,34 +1931,46 @@ ul.tabs a { margin-bottom: 0px; } -div.pager, .birthday-notice, .comment-edit-submit-wrapper .fakelink { +.birthday-notice, .event-notice { + padding: 2px 7px 2px 7px; + color: darkgray; + font-weight: bold; +} +.comment-edit-submit-wrapper .fakelink { padding: 2px 7px 2px 7px; color: black; } -div.pager, .birthday-notice, .comment-edit-submit-wrapper .fakelink { +.comment-edit-submit-wrapper .fakelink { /* border: 1px solid lightgray; */ background: #F2F2F2; margin-top: 2px; margin-bottom: 2px; } -ul.tabs a:hover { -/* color: #333; */ - color: grey; -} - -#event-notice:hover, #birthday-notice:hover, ul.tabs li .active, .comment-edit-submit-wrapper .fakelink:hover { +#event-notice:hover, #birthday-notice:hover, ul.tabs li .active, +.comment-edit-submit-wrapper .fakelink:hover { color: black; } -ul.tabs a:hover, ul.tabs li .active { - border-bottom: 2px solid #244C5E; - text-decoration: none; +span.pager_current, span.pager_n a:hover, +span.pager_first a:hover, span.pager_last a:hover, +span.pager_prev a:hover, span.pager_next a:hover, +ul.tabs a:hover { + border-bottom: 2px solid #244C5E; + text-decoration: none; + color: grey; +} + +ul.tabs li .active, span.pager_current a { + border-bottom: 2px solid #244C5E; + text-decoration: none; + color: black; } #event-notice:hover, #birthday-notice:hover, .comment-edit-submit-wrapper .fakelink:hover { - background-color: #e5e5e5; +/* background-color: #e5e5e5; */ + color: grey; text-decoration: none; /* border: 1px solid darkgray; */ } @@ -2091,8 +2112,10 @@ aside form .field label { /* contacts */ .contact-entry-wrapper { width: 120px; - height: 120px; + height: 130px; float: left; + overflow: hidden; + margin-left: 5px; } /* photo */ .lframe { From bb641dec62df50b8db4d18d5c49f1c2ff53debc2 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Fri, 6 Jun 2014 00:38:27 +0200 Subject: [PATCH 09/12] Vier: pager content is now centered --- view/theme/vier/style.css | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/view/theme/vier/style.css b/view/theme/vier/style.css index 12195eb323..c224be8c81 100644 --- a/view/theme/vier/style.css +++ b/view/theme/vier/style.css @@ -1901,10 +1901,10 @@ ul.tabs li { ul.tabs a, div.pager a { /* min-width: 34px; */ - display: block; - float: left; - padding-bottom: 0px; +/* display: block; + float: left; */ padding: 0px; + padding-bottom: 6px; /* padding: 0px 12px 0px 12px; */ /* color: #444; */ color: darkgrey; @@ -1960,6 +1960,7 @@ ul.tabs a:hover { border-bottom: 2px solid #244C5E; text-decoration: none; color: grey; + padding-bottom: 6px; } ul.tabs li .active, span.pager_current a { From c5f993eb42b81fa2c09601d65b8b60e6c55328d6 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Tue, 10 Jun 2014 20:20:51 +0200 Subject: [PATCH 10/12] Added support for detecting app.net profiles --- include/bbcode.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/include/bbcode.php b/include/bbcode.php index d6fc81983f..23949d24be 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -608,6 +608,10 @@ function GetProfileUsername($profile, $username) { if ($twitter != $profile) return($username." (".$twitter.")"); + $appnet = preg_replace("=https?://alpha.app.net/(.*)=ism", "$1@alpha.app.net", $profile); + if ($appnet != $profile) + return($username." (".$appnet.")"); + $gplus = preg_replace("=https?://plus.google.com/(.*)=ism", "$1@plus.google.com", $profile); if ($gplus != $profile) return($username." (".$gplus.")"); @@ -634,7 +638,7 @@ function GetProfileUsername($profile, $username) { // pumpio (http://host.name/user) $rest = preg_replace("=https?://([\.\w]+)/([\.\w]+)(.*)=ism", "$3", $profile); if ($rest == "") { - $pumpio = preg_replace("=https?://([\.\w]+)/([\.\w]+)(.*)=ism", "*$2@$1*", $profile); + $pumpio = preg_replace("=https?://([\.\w]+)/([\.\w]+)(.*)=ism", "$2@$1", $profile); if ($pumpio != $profile) return($username." (".$pumpio.")"); } @@ -898,8 +902,8 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal // Check for sized text // [size=50] --> font-size: 50px (with the unit). - $Text = preg_replace("(\[size=(\d*?)\](.*?)\[\/size\])ism","$2",$Text); - $Text = preg_replace("(\[size=(.*?)\](.*?)\[\/size\])ism","$2",$Text); + $Text = preg_replace("(\[size=(\d*?)\](.*?)\[\/size\])ism","$2",$Text); + $Text = preg_replace("(\[size=(.*?)\](.*?)\[\/size\])ism","$2",$Text); // Check for centered text $Text = preg_replace("(\[center\](.*?)\[\/center\])ism","
$1
",$Text); From 405a0aaee28eee9c6b37e6cb6bf2163f35f31b78 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Tue, 10 Jun 2014 20:21:43 +0200 Subject: [PATCH 11/12] Community: New option to reduce the maximum amount if posts per person. --- mod/community.php | 25 +++++++++++++++++++++++-- 1 file changed, 23 insertions(+), 2 deletions(-) diff --git a/mod/community.php b/mod/community.php index 54259a81e5..8a2c64ad8c 100644 --- a/mod/community.php +++ b/mod/community.php @@ -90,11 +90,32 @@ function community_content(&$a, $update = 0) { return $o; } + $maxpostperauthor = get_config('system','max_author_posts_community_page'); + + if ($maxpostperauthor != 0) { + $previousauthor = ""; + $numposts = 0; + $s = array(); + + foreach ($r AS $row=>$item) { + if ($previousauthor == $item["author-link"]) + ++$numposts; + else + $numposts = 0; + + $previousauthor = $item["author-link"]; + + if ($numposts < $maxpostperauthor) + $s[] = $item; + } + } else + $s = $r; + // we behave the same in message lists as the search module - $o .= conversation($a,$r,'community',$update); + $o .= conversation($a,$s,'community',$update); - if( get_config('alt_pager', 'global') || get_pconfig(local_user(),'system','alt_pager') ) { + if(get_config('alt_pager', 'global') || get_pconfig(local_user(),'system','alt_pager') ) { $o .= alt_pager($a,count($r)); } else { From ce29f55536b5d010003bd97dd3645f40e4d29f20 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Tue, 10 Jun 2014 20:22:53 +0200 Subject: [PATCH 12/12] Vier: Some small color changes --- include/dba_pdo.php | 2 +- view/theme/vier/style.css | 13 +++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/include/dba_pdo.php b/include/dba_pdo.php index 2f1309b9a2..7cd8c638e7 100644 --- a/include/dba_pdo.php +++ b/include/dba_pdo.php @@ -100,7 +100,7 @@ class dba { public function q($sql, $onlyquery = false) { global $a; - + $strHandler = (true === $onlyquery) ? 'PDOStatement' : 'MULTI'; $strQueryAlias = md5($sql); diff --git a/view/theme/vier/style.css b/view/theme/vier/style.css index c224be8c81..eb9cfc8897 100644 --- a/view/theme/vier/style.css +++ b/view/theme/vier/style.css @@ -200,7 +200,7 @@ div.pager a { span.pager_first a, span.pager_n a, span.pager_last a, span.pager_prev a, span.pager_next a { - color: darkgrey; + color: darkgray; } div.pager { @@ -221,7 +221,7 @@ div.pager { .birthday-notice, .event-notice { margin-top: 5px; margin-bottom: 5px; - background-color: #FAFAFA; + background-color: #F5F5F5; } #live-network { @@ -392,7 +392,8 @@ code { #sidebar-ungrouped:hover, .side-link:hover, .nets-ul li:hover, #forum-list div:hover, .nets-all:hover, .saved-search-li:hover, li.tool:hover, .admin.link:hover, aside h4 a:hover, #message-new:hover { /* background-color: #ddd; */ - background-color: #e5e5e5; +/* background-color: #e5e5e5; */ + background-color: #F5F5F5; } #message-new a { @@ -1907,7 +1908,7 @@ ul.tabs a, div.pager a { padding-bottom: 6px; /* padding: 0px 12px 0px 12px; */ /* color: #444; */ - color: darkgrey; + color: darkgray; } ul.tabs a { @@ -1933,7 +1934,7 @@ ul.tabs a { .birthday-notice, .event-notice { padding: 2px 7px 2px 7px; - color: darkgray; + color: darkgrey; font-weight: bold; } .comment-edit-submit-wrapper .fakelink { @@ -2115,7 +2116,7 @@ aside form .field label { width: 120px; height: 130px; float: left; - overflow: hidden; +/* overflow: hidden; */ margin-left: 5px; } /* photo */