From 60871555f539caec07f2dcfe37f11fc090bac1be Mon Sep 17 00:00:00 2001
From: friendica <info@friendica.com>
Date: Thu, 12 Apr 2012 06:50:11 -0700
Subject: [PATCH] reverting recent db driver changes - won't install cleanly,
 won't update cleanly, and leaks DB credentials over the web if there's a
 connection problem

---
 database.sql    | 1105 +++++++++++++++++++++++++++--------------------
 include/dba.php |  496 +++++++++------------
 mod/install.php |    2 +-
 3 files changed, 846 insertions(+), 757 deletions(-)
 mode change 100644 => 100755 include/dba.php

diff --git a/database.sql b/database.sql
index 6824dd1bd4..eadb53cc64 100644
--- a/database.sql
+++ b/database.sql
@@ -1,19 +1,77 @@
 -- phpMyAdmin SQL Dump
--- version 2.11.9.4
+-- version 3.3.10.4
 -- http://www.phpmyadmin.net
 --
 
 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
 
-
-/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
-/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
-/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
-/*!40101 SET NAMES utf8 */;
+-- --------------------------------------------------------
 
 --
+-- Table structure for table `addon`
 --
 
+CREATE TABLE IF NOT EXISTS `addon` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `name` char(255) NOT NULL,
+  `version` char(255) NOT NULL,
+  `installed` tinyint(1) NOT NULL DEFAULT '0',
+  `timestamp` bigint(20) NOT NULL DEFAULT '0',
+  `plugin_admin` tinyint(1) NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `attach`
+--
+
+CREATE TABLE IF NOT EXISTS `attach` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL,
+  `hash` char(64) NOT NULL,
+  `filename` char(255) NOT NULL,
+  `filetype` char(64) NOT NULL,
+  `filesize` int(11) NOT NULL,
+  `data` longblob NOT NULL,
+  `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+  `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+  `allow_cid` mediumtext NOT NULL,
+  `allow_gid` mediumtext NOT NULL,
+  `deny_cid` mediumtext NOT NULL,
+  `deny_gid` mediumtext NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `auth_codes`
+--
+
+CREATE TABLE IF NOT EXISTS `auth_codes` (
+  `id` varchar(40) NOT NULL,
+  `client_id` varchar(20) NOT NULL,
+  `redirect_uri` varchar(200) NOT NULL,
+  `expires` int(11) NOT NULL,
+  `scope` varchar(250) NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `cache`
+--
+
+CREATE TABLE IF NOT EXISTS `cache` (
+  `k` char(255) NOT NULL,
+  `v` text NOT NULL,
+  `updated` datetime NOT NULL,
+  PRIMARY KEY (`k`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
 -- --------------------------------------------------------
 
 --
@@ -32,17 +90,36 @@ CREATE TABLE IF NOT EXISTS `challenge` (
 
 -- --------------------------------------------------------
 
-CREATE TABLE IF NOT EXISTS `config` (
-  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
-  `cat` char(255) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL,
-  `k` char(255) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL,
-  `v` text NOT NULL,
-  PRIMARY KEY (`id`), 
-  UNIQUE KEY `access`(`cat`,`k`)
+--
+-- Table structure for table `clients`
+--
+
+CREATE TABLE IF NOT EXISTS `clients` (
+  `client_id` varchar(20) NOT NULL,
+  `pw` varchar(20) NOT NULL,
+  `redirect_uri` varchar(200) NOT NULL,
+  `name` text,
+  `icon` text,
+  `uid` int(11) NOT NULL DEFAULT '0',
+  PRIMARY KEY (`client_id`)
 ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
 
+-- --------------------------------------------------------
 
+--
+-- Table structure for table `config`
+--
 
+CREATE TABLE IF NOT EXISTS `config` (
+  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+  `cat` char(255) CHARACTER SET ascii NOT NULL,
+  `k` char(255) CHARACTER SET ascii NOT NULL,
+  `v` text NOT NULL,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `access` (`cat`,`k`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
 
 --
 -- Table structure for table `contact`
@@ -52,7 +129,7 @@ CREATE TABLE IF NOT EXISTS `contact` (
   `id` int(11) NOT NULL AUTO_INCREMENT,
   `uid` int(11) NOT NULL COMMENT 'owner uid',
   `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `self` tinyint(1) NOT NULL DEFAULT '0',
+  `self` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'boolean 1 == info for local UID, primarily name and photo to use in item displays.',
   `remote_self` tinyint(1) NOT NULL DEFAULT '0',
   `rel` tinyint(1) NOT NULL DEFAULT '0',
   `duplex` tinyint(1) NOT NULL DEFAULT '0',
@@ -60,7 +137,7 @@ CREATE TABLE IF NOT EXISTS `contact` (
   `name` char(255) NOT NULL,
   `nick` char(255) NOT NULL,
   `attag` char(255) NOT NULL,
-  `photo` text NOT NULL, 
+  `photo` text NOT NULL COMMENT 'remote photo URL initially until approved',
   `thumb` text NOT NULL,
   `micro` text NOT NULL,
   `site-pubkey` text NOT NULL,
@@ -96,32 +173,219 @@ CREATE TABLE IF NOT EXISTS `contact` (
   `forum` tinyint(1) NOT NULL DEFAULT '0',
   `hidden` tinyint(1) NOT NULL DEFAULT '0',
   `pending` tinyint(1) NOT NULL DEFAULT '1',
-  `rating` tinyint(1) NOT NULL DEFAULT '0',
-  `reason` text NOT NULL,
+  `rating` tinyint(1) NOT NULL DEFAULT '0' COMMENT '0-5 reputation, 0 unknown, 1 call police, 5 inscrutable',
+  `reason` text NOT NULL COMMENT 'why a rating was given - will help friends decide to make friends or not',
   `closeness` tinyint(2) NOT NULL DEFAULT '99',
   `info` mediumtext NOT NULL,
-  `profile-id` int(11) NOT NULL DEFAULT '0',
-  `bdyear` CHAR( 4 ) NOT NULL COMMENT 'birthday notify flag',
+  `profile-id` int(11) NOT NULL DEFAULT '0' COMMENT 'which profile to display - 0 is public default',
+  `bdyear` char(4) NOT NULL COMMENT 'birthday notify flag',
   `bd` date NOT NULL,
   PRIMARY KEY (`id`),
   KEY `uid` (`uid`),
   KEY `self` (`self`),
-  KEY `network` (`network`),
-  KEY `name` (`name`),
-  KEY `nick` (`nick`),
-  KEY `attag` (`attag`),
-  KEY `url` (`url`),
-  KEY `nurl` (`nurl`),
-  KEY `addr` (`addr`),
-  KEY `batch` (`batch`),
   KEY `issued-id` (`issued-id`),
   KEY `dfrn-id` (`dfrn-id`),
   KEY `blocked` (`blocked`),
   KEY `readonly` (`readonly`),
-  KEY `forum` (`forum`),
-  KEY `hidden` (`hidden`),
+  KEY `network` (`network`),
+  KEY `name` (`name`),
+  KEY `nick` (`nick`),
+  KEY `attag` (`attag`),
+  KEY `addr` (`addr`),
+  KEY `url` (`url`),
+  KEY `batch` (`batch`),
+  KEY `nurl` (`nurl`),
   KEY `pending` (`pending`),
-  KEY `closeness` (`closeness`)  
+  KEY `hidden` (`hidden`),
+  KEY `forum` (`forum`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `conv`
+--
+
+CREATE TABLE IF NOT EXISTS `conv` (
+  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+  `guid` char(64) NOT NULL,
+  `recips` mediumtext NOT NULL,
+  `uid` int(11) NOT NULL,
+  `creator` char(255) NOT NULL,
+  `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+  `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+  `subject` mediumtext NOT NULL,
+  PRIMARY KEY (`id`),
+  KEY `created` (`created`),
+  KEY `updated` (`updated`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `deliverq`
+--
+
+CREATE TABLE IF NOT EXISTS `deliverq` (
+  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+  `cmd` char(32) NOT NULL,
+  `item` int(11) NOT NULL,
+  `contact` int(11) NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `event`
+--
+
+CREATE TABLE IF NOT EXISTS `event` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL,
+  `cid` int(11) NOT NULL,
+  `uri` char(255) NOT NULL,
+  `created` datetime NOT NULL,
+  `edited` datetime NOT NULL,
+  `start` datetime NOT NULL,
+  `finish` datetime NOT NULL,
+  `desc` text NOT NULL,
+  `location` text NOT NULL,
+  `type` char(255) NOT NULL,
+  `nofinish` tinyint(1) NOT NULL DEFAULT '0',
+  `adjust` tinyint(1) NOT NULL DEFAULT '1',
+  `allow_cid` mediumtext NOT NULL,
+  `allow_gid` mediumtext NOT NULL,
+  `deny_cid` mediumtext NOT NULL,
+  `deny_gid` mediumtext NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `fcontact`
+--
+
+CREATE TABLE IF NOT EXISTS `fcontact` (
+  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+  `url` char(255) NOT NULL,
+  `name` char(255) NOT NULL,
+  `photo` char(255) NOT NULL,
+  `request` char(255) NOT NULL,
+  `nick` char(255) NOT NULL,
+  `addr` char(255) NOT NULL,
+  `batch` char(255) NOT NULL,
+  `notify` char(255) NOT NULL,
+  `poll` char(255) NOT NULL,
+  `confirm` char(255) NOT NULL,
+  `priority` tinyint(1) NOT NULL,
+  `network` char(32) NOT NULL,
+  `alias` char(255) NOT NULL,
+  `pubkey` text NOT NULL,
+  `updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+  PRIMARY KEY (`id`),
+  KEY `addr` (`addr`),
+  KEY `network` (`network`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `ffinder`
+--
+
+CREATE TABLE IF NOT EXISTS `ffinder` (
+  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+  `uid` int(10) unsigned NOT NULL,
+  `cid` int(10) unsigned NOT NULL,
+  `fid` int(10) unsigned NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `fserver`
+--
+
+CREATE TABLE IF NOT EXISTS `fserver` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `server` char(255) NOT NULL,
+  `posturl` char(255) NOT NULL,
+  `key` text NOT NULL,
+  PRIMARY KEY (`id`),
+  KEY `server` (`server`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `fsuggest`
+--
+
+CREATE TABLE IF NOT EXISTS `fsuggest` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL,
+  `cid` int(11) NOT NULL,
+  `name` char(255) NOT NULL,
+  `url` char(255) NOT NULL,
+  `request` char(255) NOT NULL,
+  `photo` char(255) NOT NULL,
+  `note` text NOT NULL,
+  `created` datetime NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `gcign`
+--
+
+CREATE TABLE IF NOT EXISTS `gcign` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL,
+  `gcid` int(11) NOT NULL,
+  PRIMARY KEY (`id`),
+  KEY `uid` (`uid`),
+  KEY `gcid` (`gcid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `gcontact`
+--
+
+CREATE TABLE IF NOT EXISTS `gcontact` (
+  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+  `name` char(255) NOT NULL,
+  `url` char(255) NOT NULL,
+  `nurl` char(255) NOT NULL,
+  `photo` char(255) NOT NULL,
+  `connect` char(255) NOT NULL,
+  PRIMARY KEY (`id`),
+  KEY `nurl` (`nurl`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `glink`
+--
+
+CREATE TABLE IF NOT EXISTS `glink` (
+  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+  `cid` int(11) NOT NULL,
+  `uid` int(11) NOT NULL,
+  `gcid` int(11) NOT NULL,
+  `updated` datetime NOT NULL,
+  PRIMARY KEY (`id`),
+  KEY `cid` (`cid`),
+  KEY `uid` (`uid`),
+  KEY `gcid` (`gcid`),
+  KEY `updated` (`updated`)
 ) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
 
 -- --------------------------------------------------------
@@ -155,6 +419,33 @@ CREATE TABLE IF NOT EXISTS `group_member` (
 
 -- --------------------------------------------------------
 
+--
+-- Table structure for table `guid`
+--
+
+CREATE TABLE IF NOT EXISTS `guid` (
+  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+  `guid` char(64) NOT NULL,
+  PRIMARY KEY (`id`),
+  KEY `guid` (`guid`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `hook`
+--
+
+CREATE TABLE IF NOT EXISTS `hook` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `hook` char(255) NOT NULL,
+  `file` char(255) NOT NULL,
+  `function` char(255) NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
 --
 -- Table structure for table `intro`
 --
@@ -183,18 +474,18 @@ CREATE TABLE IF NOT EXISTS `intro` (
 CREATE TABLE IF NOT EXISTS `item` (
   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
   `guid` char(64) NOT NULL,
-  `uri` char(255) NOT NULL,
+  `uri` char(255) CHARACTER SET ascii NOT NULL,
   `uid` int(10) unsigned NOT NULL DEFAULT '0',
   `contact-id` int(10) unsigned NOT NULL DEFAULT '0',
   `type` char(255) NOT NULL,
   `wall` tinyint(1) NOT NULL DEFAULT '0',
   `gravity` tinyint(1) NOT NULL DEFAULT '0',
   `parent` int(10) unsigned NOT NULL DEFAULT '0',
-  `parent-uri` char(255) NOT NULL,
+  `parent-uri` char(255) CHARACTER SET ascii NOT NULL,
   `extid` char(255) NOT NULL,
   `thr-parent` char(255) NOT NULL,
-  `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+  `created` datetime NOT NULL,
+  `edited` datetime NOT NULL,
   `commented` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
   `received` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
   `changed` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
@@ -213,9 +504,9 @@ CREATE TABLE IF NOT EXISTS `item` (
   `target-type` char(255) NOT NULL,
   `target` text NOT NULL,
   `postopts` text NOT NULL,
-  `plink` char(255) NOT NULL, 
+  `plink` char(255) NOT NULL,
   `resource-id` char(255) NOT NULL,
-  `event-id` int(10) unsigned NOT NULL,
+  `event-id` int(11) NOT NULL,
   `tag` mediumtext NOT NULL,
   `attach` mediumtext NOT NULL,
   `inform` mediumtext NOT NULL,
@@ -239,42 +530,59 @@ CREATE TABLE IF NOT EXISTS `item` (
   `forum_mode` tinyint(1) NOT NULL DEFAULT '0',
   `last-child` tinyint(1) unsigned NOT NULL DEFAULT '1',
   PRIMARY KEY (`id`),
-  KEY `guid` (`guid`),
   KEY `uri` (`uri`),
   KEY `uid` (`uid`),
   KEY `contact-id` (`contact-id`),
   KEY `type` (`type`),
   KEY `parent` (`parent`),
   KEY `parent-uri` (`parent-uri`),
-  KEY `extid` (`extid`),
   KEY `created` (`created`),
   KEY `edited` (`edited`),
-  KEY `received` (`received`),
-  KEY `moderated` (`moderated`),
   KEY `visible` (`visible`),
-  KEY `spam` (`spam`),
-  KEY `starred` (`starred`),
-  KEY `bookmark` (`bookmark`),
   KEY `deleted` (`deleted`),
-  KEY `origin`  (`origin`),
-  KEY `forum_mode` (`forum_mode`),
   KEY `last-child` (`last-child`),
   KEY `unseen` (`unseen`),
+  KEY `extid` (`extid`),
+  KEY `received` (`received`),
+  KEY `starred` (`starred`),
+  KEY `guid` (`guid`),
+  KEY `origin` (`origin`),
   KEY `wall` (`wall`),
-  KEY `author-name` (`author-name`),
+  KEY `forum_mode` (`forum_mode`),
   KEY `author-link` (`author-link`),
+  KEY `bookmark` (`bookmark`),
+  KEY `moderated` (`moderated`),
+  KEY `spam` (`spam`),
+  KEY `author-name` (`author-name`),
   FULLTEXT KEY `title` (`title`),
   FULLTEXT KEY `body` (`body`),
-  FULLTEXT KEY `tag` (`tag`),
-  FULLTEXT KEY `file` (`file`),
   FULLTEXT KEY `allow_cid` (`allow_cid`),
   FULLTEXT KEY `allow_gid` (`allow_gid`),
   FULLTEXT KEY `deny_cid` (`deny_cid`),
-  FULLTEXT KEY `deny_gid` (`deny_gid`)
+  FULLTEXT KEY `deny_gid` (`deny_gid`),
+  FULLTEXT KEY `tag` (`tag`),
+  FULLTEXT KEY `file` (`file`)
 ) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
 
 -- --------------------------------------------------------
 
+--
+-- Table structure for table `item_id`
+--
+
+CREATE TABLE IF NOT EXISTS `item_id` (
+  `iid` int(11) NOT NULL,
+  `uid` int(11) NOT NULL,
+  `sid` char(255) NOT NULL,
+  `service` char(255) NOT NULL,
+  PRIMARY KEY (`iid`),
+  KEY `uid` (`uid`),
+  KEY `sid` (`sid`),
+  KEY `service` (`service`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
 --
 -- Table structure for table `mail`
 --
@@ -287,26 +595,130 @@ CREATE TABLE IF NOT EXISTS `mail` (
   `from-photo` char(255) NOT NULL,
   `from-url` char(255) NOT NULL,
   `contact-id` char(255) NOT NULL,
-  `convid` int(10) unsigned NOT NULL,
+  `convid` int(11) NOT NULL,
   `title` char(255) NOT NULL,
   `body` mediumtext NOT NULL,
-  `seen` tinyint(1) NOT NULL DEFAULT '0',
+  `seen` tinyint(1) NOT NULL,
   `reply` tinyint(1) NOT NULL DEFAULT '0',
-  `replied` tinyint(1) NOT NULL DEFAULT '0',
+  `replied` tinyint(1) NOT NULL,
   `unknown` tinyint(1) NOT NULL DEFAULT '0',
   `uri` char(255) NOT NULL,
   `parent-uri` char(255) NOT NULL,
   `created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
   PRIMARY KEY (`id`),
+  KEY `reply` (`reply`),
   KEY `uid` (`uid`),
   KEY `guid` (`guid`),
-  KEY `convid` (`convid`),
-  KEY `reply` (`reply`),
-  KEY `unknown` (`unknown`),
+  KEY `seen` (`seen`),
   KEY `uri` (`uri`),
   KEY `parent-uri` (`parent-uri`),
-  KEY `created` (`created`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+  KEY `created` (`created`),
+  KEY `convid` (`convid`),
+  KEY `unknown` (`unknown`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `mailacct`
+--
+
+CREATE TABLE IF NOT EXISTS `mailacct` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL,
+  `server` char(255) NOT NULL,
+  `port` int(11) NOT NULL,
+  `ssltype` char(16) NOT NULL,
+  `mailbox` char(255) NOT NULL,
+  `user` char(255) NOT NULL,
+  `pass` text NOT NULL,
+  `action` int(11) NOT NULL,
+  `movetofolder` char(255) NOT NULL,
+  `reply_to` char(255) NOT NULL,
+  `pubmail` tinyint(1) NOT NULL DEFAULT '0',
+  `last_check` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+  PRIMARY KEY (`id`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `manage`
+--
+
+CREATE TABLE IF NOT EXISTS `manage` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL,
+  `mid` int(11) NOT NULL,
+  PRIMARY KEY (`id`),
+  KEY `uid` (`uid`),
+  KEY `mid` (`mid`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `notify`
+--
+
+CREATE TABLE IF NOT EXISTS `notify` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `hash` char(64) NOT NULL,
+  `name` char(255) NOT NULL,
+  `url` char(255) NOT NULL,
+  `photo` char(255) NOT NULL,
+  `date` datetime NOT NULL,
+  `msg` mediumtext NOT NULL,
+  `uid` int(11) NOT NULL,
+  `link` char(255) NOT NULL,
+  `parent` int(11) NOT NULL,
+  `seen` tinyint(1) NOT NULL DEFAULT '0',
+  `type` int(11) NOT NULL,
+  `verb` char(255) NOT NULL,
+  `otype` char(16) NOT NULL,
+  PRIMARY KEY (`id`),
+  KEY `type` (`type`),
+  KEY `seen` (`seen`),
+  KEY `uid` (`uid`),
+  KEY `date` (`date`),
+  KEY `hash` (`hash`),
+  KEY `parent` (`parent`),
+  KEY `link` (`link`),
+  KEY `otype` (`otype`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `notify-threads`
+--
+
+CREATE TABLE IF NOT EXISTS `notify-threads` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `notify-id` int(11) NOT NULL,
+  `master-parent-item` int(10) unsigned NOT NULL DEFAULT '0',
+  `parent-item` int(10) unsigned NOT NULL DEFAULT '0',
+  `receiver-uid` int(11) NOT NULL,
+  PRIMARY KEY (`id`),
+  KEY `master-parent-item` (`master-parent-item`),
+  KEY `receiver-uid` (`receiver-uid`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `pconfig`
+--
+
+CREATE TABLE IF NOT EXISTS `pconfig` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL DEFAULT '0',
+  `cat` char(255) CHARACTER SET ascii NOT NULL,
+  `k` char(255) CHARACTER SET ascii NOT NULL,
+  `v` mediumtext NOT NULL,
+  PRIMARY KEY (`id`),
+  UNIQUE KEY `access` (`uid`,`cat`,`k`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
 
 -- --------------------------------------------------------
 
@@ -317,8 +729,8 @@ CREATE TABLE IF NOT EXISTS `mail` (
 CREATE TABLE IF NOT EXISTS `photo` (
   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
   `uid` int(10) unsigned NOT NULL,
-  `contact-id` int(10) unsigned NOT NULL,
-  `guid` char(64) NOT NULL, 
+  `contact-id` int(10) unsigned NOT NULL DEFAULT '0',
+  `guid` char(64) NOT NULL,
   `resource-id` char(255) NOT NULL,
   `created` datetime NOT NULL,
   `edited` datetime NOT NULL,
@@ -340,12 +752,49 @@ CREATE TABLE IF NOT EXISTS `photo` (
   KEY `resource-id` (`resource-id`),
   KEY `album` (`album`),
   KEY `scale` (`scale`),
-  KEY `profile` (`profile`),
-  KEY `guid` (`guid`)
+  KEY `profile` (`profile`)
 ) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
 
 -- --------------------------------------------------------
 
+--
+-- Table structure for table `poll`
+--
+
+CREATE TABLE IF NOT EXISTS `poll` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL,
+  `q0` mediumtext NOT NULL,
+  `q1` mediumtext NOT NULL,
+  `q2` mediumtext NOT NULL,
+  `q3` mediumtext NOT NULL,
+  `q4` mediumtext NOT NULL,
+  `q5` mediumtext NOT NULL,
+  `q6` mediumtext NOT NULL,
+  `q7` mediumtext NOT NULL,
+  `q8` mediumtext NOT NULL,
+  `q9` mediumtext NOT NULL,
+  PRIMARY KEY (`id`),
+  KEY `uid` (`uid`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `poll_result`
+--
+
+CREATE TABLE IF NOT EXISTS `poll_result` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `poll_id` int(11) NOT NULL,
+  `choice` int(11) NOT NULL,
+  PRIMARY KEY (`id`),
+  KEY `poll_id` (`poll_id`),
+  KEY `choice` (`choice`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
 --
 -- Table structure for table `profile`
 --
@@ -366,7 +815,6 @@ CREATE TABLE IF NOT EXISTS `profile` (
   `country-name` char(255) NOT NULL,
   `gender` char(32) NOT NULL,
   `marital` char(255) NOT NULL,
-  `showwith` tinyint(1) NOT NULL DEFAULT '0',
   `with` text NOT NULL,
   `sexual` char(255) NOT NULL,
   `politic` char(255) NOT NULL,
@@ -403,7 +851,7 @@ CREATE TABLE IF NOT EXISTS `profile` (
 CREATE TABLE IF NOT EXISTS `profile_check` (
   `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
   `uid` int(10) unsigned NOT NULL,
-  `cid` int(10) unsigned NOT NULL,
+  `cid` int(10) unsigned NOT NULL DEFAULT '0',
   `dfrn_id` char(255) NOT NULL,
   `sec` char(255) NOT NULL,
   `expire` int(11) NOT NULL,
@@ -412,6 +860,59 @@ CREATE TABLE IF NOT EXISTS `profile_check` (
 
 -- --------------------------------------------------------
 
+--
+-- Table structure for table `queue`
+--
+
+CREATE TABLE IF NOT EXISTS `queue` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `cid` int(11) NOT NULL,
+  `network` char(32) NOT NULL,
+  `created` datetime NOT NULL,
+  `last` datetime NOT NULL,
+  `content` mediumtext NOT NULL,
+  `batch` tinyint(1) NOT NULL DEFAULT '0',
+  PRIMARY KEY (`id`),
+  KEY `cid` (`cid`),
+  KEY `network` (`network`),
+  KEY `created` (`created`),
+  KEY `last` (`last`),
+  KEY `batch` (`batch`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `register`
+--
+
+CREATE TABLE IF NOT EXISTS `register` (
+  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+  `hash` char(255) NOT NULL,
+  `created` datetime NOT NULL,
+  `uid` int(10) unsigned NOT NULL,
+  `password` char(255) NOT NULL,
+  `language` char(16) NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `search`
+--
+
+CREATE TABLE IF NOT EXISTS `search` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL,
+  `term` char(255) NOT NULL,
+  PRIMARY KEY (`id`),
+  KEY `uid` (`uid`),
+  KEY `term` (`term`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
 --
 -- Table structure for table `session`
 --
@@ -428,6 +929,58 @@ CREATE TABLE IF NOT EXISTS `session` (
 
 -- --------------------------------------------------------
 
+--
+-- Table structure for table `sign`
+--
+
+CREATE TABLE IF NOT EXISTS `sign` (
+  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
+  `iid` int(10) unsigned NOT NULL,
+  `signed_text` mediumtext NOT NULL,
+  `signature` text NOT NULL,
+  `signer` char(255) NOT NULL,
+  PRIMARY KEY (`id`),
+  KEY `iid` (`iid`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `spam`
+--
+
+CREATE TABLE IF NOT EXISTS `spam` (
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `uid` int(11) NOT NULL,
+  `spam` int(11) NOT NULL DEFAULT '0',
+  `ham` int(11) NOT NULL DEFAULT '0',
+  `term` char(255) NOT NULL,
+  `date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
+  PRIMARY KEY (`id`),
+  KEY `uid` (`uid`),
+  KEY `spam` (`spam`),
+  KEY `ham` (`ham`),
+  KEY `term` (`term`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
+--
+-- Table structure for table `tokens`
+--
+
+CREATE TABLE IF NOT EXISTS `tokens` (
+  `id` varchar(40) NOT NULL,
+  `secret` text NOT NULL,
+  `client_id` varchar(20) NOT NULL,
+  `expires` int(11) NOT NULL,
+  `scope` varchar(200) NOT NULL,
+  `uid` int(11) NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
+
+-- --------------------------------------------------------
+
 --
 -- Table structure for table `user`
 --
@@ -441,7 +994,7 @@ CREATE TABLE IF NOT EXISTS `user` (
   `email` char(255) NOT NULL,
   `openid` char(255) NOT NULL,
   `timezone` char(128) NOT NULL,
-  `language` char(32) NOT NULL DEFAULT 'en',
+  `language` char(16) NOT NULL DEFAULT 'en',
   `register_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
   `login_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
   `default-location` char(255) NOT NULL,
@@ -451,423 +1004,47 @@ CREATE TABLE IF NOT EXISTS `user` (
   `prvkey` text NOT NULL,
   `spubkey` text NOT NULL,
   `sprvkey` text NOT NULL,
-  `verified` tinyint(1) unsigned NOT NULL DEFAULT '0', 
-  `blocked` tinyint(1) unsigned NOT NULL DEFAULT '0', 
-  `blockwall` tinyint(1) unsigned NOT NULL DEFAULT '0',
-  `hidewall` tinyint(1) unsigned NOT NULL DEFAULT '0',
-  `blocktags` tinyint(1) unsigned NOT NULL DEFAULT '0',
-  `unkmail` tinyint(1) unsigned NOT NULL DEFAULT '0',
-  `cntunkmail` int(11) unsigned NOT NULL DEFAULT '10',
-  `notify-flags` int(11) unsigned NOT NULL DEFAULT '65535', 
-  `page-flags` int(11) unsigned NOT NULL DEFAULT '0',
+  `verified` tinyint(1) unsigned NOT NULL DEFAULT '0',
+  `blocked` tinyint(1) unsigned NOT NULL DEFAULT '0',
+  `blockwall` tinyint(1) NOT NULL DEFAULT '0',
+  `hidewall` tinyint(1) NOT NULL DEFAULT '0',
+  `blocktags` tinyint(1) NOT NULL DEFAULT '0',
+  `unkmail` tinyint(1) NOT NULL DEFAULT '0',
+  `cntunkmail` int(11) NOT NULL DEFAULT '10',
+  `notify-flags` int(11) unsigned NOT NULL DEFAULT '65535',
+  `page-flags` int(11) NOT NULL DEFAULT '0',
   `prvnets` tinyint(1) NOT NULL DEFAULT '0',
   `pwdreset` char(255) NOT NULL,
   `maxreq` int(11) NOT NULL DEFAULT '10',
-  `expire` int(11) unsigned NOT NULL DEFAULT '0',
-  `account_expired` tinyint( 1 ) NOT NULL DEFAULT '0',
+  `expire` int(10) unsigned NOT NULL DEFAULT '0',
+  `account_expired` tinyint(1) NOT NULL DEFAULT '0',
   `account_expires_on` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
   `expire_notification_sent` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `allow_cid` mediumtext NOT NULL, 
+  `allow_cid` mediumtext NOT NULL,
   `allow_gid` mediumtext NOT NULL,
-  `deny_cid` mediumtext NOT NULL, 
+  `deny_cid` mediumtext NOT NULL,
   `deny_gid` mediumtext NOT NULL,
   `openidserver` text NOT NULL,
-  PRIMARY KEY (`uid`), 
+  PRIMARY KEY (`uid`),
   KEY `nickname` (`nickname`),
+  KEY `login_date` (`login_date`),
   KEY `account_expired` (`account_expired`),
   KEY `hidewall` (`hidewall`),
   KEY `blockwall` (`blockwall`),
-  KEY `unkmail` (`unkmail`),
-  KEY `cntunkmail` (`cntunkmail`),
   KEY `blocked` (`blocked`),
   KEY `verified` (`verified`),
-  KEY `login_date` (`login_date`)
-) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-
-
-CREATE TABLE IF NOT EXISTS `register` (
-  `id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
-  `hash` CHAR( 255 ) NOT NULL ,
-  `created` DATETIME NOT NULL ,
-  `uid` INT(11) UNSIGNED NOT NULL,
-  `password` CHAR(255) NOT NULL,
-  `language` CHAR(16) NOT NULL,
-  PRIMARY KEY (`id`)
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-
-CREATE TABLE IF NOT EXISTS `clients` (
-`client_id` VARCHAR( 20 ) NOT NULL ,
-`pw` VARCHAR( 20 ) NOT NULL ,
-`redirect_uri` VARCHAR( 200 ) NOT NULL ,
-`name` VARCHAR( 128 ) NULL DEFAULT NULL,
-`icon` VARCHAR( 255 ) NULL DEFAULT NULL,
-`uid` INT NOT NULL DEFAULT 0,
-PRIMARY KEY ( `client_id` )
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `tokens` (
-`id` VARCHAR( 40 ) NOT NULL ,
-`secret` VARCHAR( 40 ) NOT NULL ,
-`client_id` VARCHAR( 20 ) NOT NULL ,
-`expires` INT NOT NULL ,
-`scope` VARCHAR( 200 ) NOT NULL ,
-`uid` INT NOT NULL ,
-PRIMARY KEY ( `id` )
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `auth_codes` (
-`id` VARCHAR( 40 ) NOT NULL ,
-`client_id` VARCHAR( 20 ) NOT NULL ,
-`redirect_uri` VARCHAR( 200 ) NOT NULL ,
-`expires` INT NOT NULL ,
-`scope` VARCHAR( 250 ) NOT NULL ,
-PRIMARY KEY ( `id` )
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `queue` (
-`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`cid` INT NOT NULL ,
-`network` CHAR( 32 ) NOT NULL,
-`created` DATETIME NOT NULL ,
-`last` DATETIME NOT NULL ,
-`content` MEDIUMTEXT NOT NULL,
-`batch` TINYINT( 1 ) NOT NULL DEFAULT '0',
-INDEX ( `cid` ),
-INDEX ( `created` ),
-INDEX ( `last` ),
-INDEX ( `network` ),
-INDEX ( `batch` )
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `pconfig` (
-`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`uid` INT NOT NULL DEFAULT '0',
-`cat` CHAR( 255 ) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL ,
-`k` CHAR( 255 ) CHARACTER SET ascii COLLATE ascii_general_ci NOT NULL ,
-`v` MEDIUMTEXT NOT NULL, 
-UNIQUE KEY `access`(`cat`, `k`)
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-
-CREATE TABLE IF NOT EXISTS `hook` (
-`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`hook` CHAR( 255 ) NOT NULL ,
-`file` CHAR( 255 ) NOT NULL ,
-`function` CHAR( 255 ) NOT NULL
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-
-CREATE TABLE IF NOT EXISTS `addon` (
-`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`name` CHAR( 255 ) NOT NULL ,
-`version` CHAR( 255 ) NOT NULL ,
-`installed` TINYINT( 1 ) NOT NULL DEFAULT '0' ,
-`timestamp` BIGINT NOT NULL DEFAULT '0' ,
-`plugin_admin` TINYINT( 1 ) NOT NULL DEFAULT '0'
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-
-CREATE TABLE IF NOT EXISTS `event` (
-`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`uid` INT NOT NULL ,
-`cid` INT NOT NULL ,
-`uri` CHAR( 255 ) NOT NULL,
-`created` DATETIME NOT NULL ,
-`edited` DATETIME NOT NULL ,
-`start` DATETIME NOT NULL ,
-`finish` DATETIME NOT NULL ,
-`desc` TEXT NOT NULL ,
-`location` TEXT NOT NULL ,
-`type` CHAR( 255 ) NOT NULL ,
-`nofinish` TINYINT( 1 ) NOT NULL DEFAULT '0',
-`adjust` TINYINT( 1 ) NOT NULL DEFAULT '1',
-`allow_cid` MEDIUMTEXT NOT NULL ,
-`allow_gid` MEDIUMTEXT NOT NULL ,
-`deny_cid` MEDIUMTEXT NOT NULL ,
-`deny_gid` MEDIUMTEXT NOT NULL
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `cache` (
- `k` CHAR( 255 ) NOT NULL PRIMARY KEY ,
- `v` TEXT NOT NULL,
- `updated` DATETIME NOT NULL
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-
-CREATE TABLE IF NOT EXISTS `fcontact` (
-`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`url` CHAR( 255 ) NOT NULL ,
-`name` CHAR( 255 ) NOT NULL ,
-`photo` CHAR( 255 ) NOT NULL ,
-`request` CHAR( 255 ) NOT NULL,
-`nick` CHAR( 255 ) NOT NULL ,
-`addr` CHAR( 255 ) NOT NULL ,
-`batch` CHAR( 255) NOT NULL,
-`notify` CHAR( 255 ) NOT NULL ,
-`poll` CHAR( 255 ) NOT NULL ,
-`confirm` CHAR( 255 ) NOT NULL ,
-`priority` TINYINT( 1 ) NOT NULL ,
-`network` CHAR( 32 ) NOT NULL ,
-`alias` CHAR( 255 ) NOT NULL ,
-`pubkey` TEXT NOT NULL ,
-`updated` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
-INDEX ( `addr` ),
-INDEX ( `network` )
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `ffinder` (
-`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`uid` INT UNSIGNED NOT NULL ,
-`cid` INT UNSIGNED NOT NULL ,
-`fid` INT UNSIGNED NOT NULL
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-
-CREATE TABLE IF NOT EXISTS `fsuggest` (
-`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`uid` INT NOT NULL ,
-`cid` INT NOT NULL ,
-`name` CHAR( 255 ) NOT NULL ,
-`url` CHAR( 255 ) NOT NULL ,
-`request` CHAR( 255 ) NOT NULL,
-`photo` CHAR( 255 ) NOT NULL ,
-`note` TEXT NOT NULL ,
-`created` DATETIME NOT NULL
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
- 
-
-CREATE TABLE IF NOT EXISTS `mailacct` (
-`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`uid` INT NOT NULL,
-`server` CHAR( 255 ) NOT NULL ,
-`port` INT NOT NULL,
-`ssltype` CHAR( 16 ) NOT NULL,
-`mailbox` CHAR( 255 ) NOT NULL,
-`user` CHAR( 255 ) NOT NULL ,
-`pass` TEXT NOT NULL ,
-`reply_to` CHAR( 255 ) NOT NULL ,
-`action` INT NOT NULL ,
-`movetofolder` CHAR(255) NOT NULL ,
-`pubmail` TINYINT(1) NOT NULL DEFAULT '0',
-`last_check` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00'
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `attach` (
-`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`uid` INT NOT NULL ,
-`hash` CHAR(64) NOT NULL,
-`filename` CHAR(255) NOT NULL,
-`filetype` CHAR( 64 ) NOT NULL ,
-`filesize` INT NOT NULL ,
-`data` LONGBLOB NOT NULL ,
-`created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
-`edited` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
-`allow_cid` MEDIUMTEXT NOT NULL ,
-`allow_gid` MEDIUMTEXT NOT NULL ,
-`deny_cid` MEDIUMTEXT NOT NULL ,
-`deny_gid` MEDIUMTEXT NOT NULL
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `guid` (
-`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`guid` CHAR( 64 ) NOT NULL ,
-INDEX ( `guid` )
-) ENGINE = MyISAM  DEFAULT CHARSET=utf8;
-
-
-CREATE TABLE IF NOT EXISTS `sign` (
-`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`iid` INT UNSIGNED NOT NULL ,
-`signed_text` MEDIUMTEXT NOT NULL ,
-`signature` TEXT NOT NULL ,
-`signer` CHAR( 255 ) NOT NULL ,
-INDEX ( `iid` )
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-
-CREATE TABLE IF NOT EXISTS `deliverq` (
-`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`cmd` CHAR( 32 ) NOT NULL ,
-`item` INT NOT NULL ,
-`contact` INT NOT NULL
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `search` (
-`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`uid` INT NOT NULL ,
-`term` CHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
-INDEX ( `uid` ),
-INDEX ( `term` )
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `fserver` (
-`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`server` CHAR( 255 ) NOT NULL ,
-`posturl` CHAR( 255 ) NOT NULL ,
-`key` TEXT NOT NULL,
-INDEX ( `server` )
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `gcontact` (
-`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`name` CHAR( 255 ) NOT NULL ,
-`url` CHAR( 255 ) NOT NULL ,
-`nurl` CHAR( 255 ) NOT NULL ,
-`photo` CHAR( 255 ) NOT NULL,
-`connect` CHAR( 255 ) NOT NULL,
-INDEX ( `nurl` )
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `glink` (
-`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`cid` INT NOT NULL ,
-`uid` INT NOT NULL ,
-`gcid` INT NOT NULL,
-`updated` DATETIME NOT NULL,
-INDEX ( `cid` ),
-INDEX ( `uid` ),
-INDEX ( `gcid` ),
-INDEX ( `updated` )
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `gcign` (
-`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`uid` INT NOT NULL ,
-`gcid` INT NOT NULL,
-INDEX ( `uid` ),
-INDEX ( `gcid` )
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-
-CREATE TABLE IF NOT EXISTS `conv` (
-  `id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-  `guid` CHAR( 64 ) NOT NULL ,
-  `recips` MEDIUMTEXT NOT NULL ,
-  `uid` INT NOT NULL,
-  `creator` CHAR( 255 ) NOT NULL ,
-  `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `updated` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
-  `subject` MEDIUMTEXT NOT NULL,
-  INDEX ( `created` ),
-  INDEX ( `updated` )
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-
-CREATE TABLE IF NOT EXISTS `notify` (
-`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`hash` CHAR( 64 ) NOT NULL,
-`type` INT( 11 ) NOT NULL ,
-`name` CHAR( 255 ) NOT NULL ,
-`url` CHAR( 255 ) NOT NULL ,
-`photo` CHAR( 255 ) NOT NULL ,
-`date` DATETIME NOT NULL ,
-`msg` MEDIUMTEXT NOT NULL ,
-`uid` INT NOT NULL ,
-`link` CHAR( 255 ) NOT NULL ,
-`parent` INT( 11 ) NOT NULL,
-`seen` TINYINT( 1 ) NOT NULL DEFAULT '0',
-`verb` CHAR( 255 ) NOT NULL,
-`otype` CHAR( 16 ) NOT NULL,
-INDEX ( `hash` ),
-INDEX ( `type` ),
-INDEX ( `uid` ),
-INDEX ( `link` ),
-INDEX ( `parent` ),
-INDEX ( `seen` ),
-INDEX ( `date` ),
-INDEX ( `otype` )
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `item_id` (
-`iid` INT NOT NULL ,
-`uid` INT NOT NULL ,
-`sid` CHAR ( 255 ) NOT NULL,
-`service` char ( 255 ) NOT NULL,
-PRIMARY KEY ( `iid` ),
-INDEX ( `uid` ),
-INDEX ( `sid` ),
-INDEX ( `service` )
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `manage` (
-`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`uid` INT NOT NULL ,
-`mid` INT NOT NULL,
-INDEX ( `uid` ),
-INDEX ( `mid` )
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `poll_result` (
-`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`poll_id` INT NOT NULL ,
-`choice` INT NOT NULL ,
-INDEX ( `poll_id` ),
-INDEX ( `choice` )
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-
-CREATE TABLE IF NOT EXISTS `poll` (
-`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`uid` INT NOT NULL ,
-`q0` MEDIUMTEXT NOT NULL ,
-`q1` MEDIUMTEXT NOT NULL ,
-`q2` MEDIUMTEXT NOT NULL ,
-`q3` MEDIUMTEXT NOT NULL ,
-`q4` MEDIUMTEXT NOT NULL ,
-`q5` MEDIUMTEXT NOT NULL ,
-`q6` MEDIUMTEXT NOT NULL ,
-`q7` MEDIUMTEXT NOT NULL ,
-`q8` MEDIUMTEXT NOT NULL ,
-`q9` MEDIUMTEXT NOT NULL ,
-INDEX ( `uid` )
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
+  KEY `unkmail` (`unkmail`),
+  KEY `cntunkmail` (`cntunkmail`)
+) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
 
+-- --------------------------------------------------------
 
 --
--- Table structure for table `notify-threads`
+-- Table structure for table `userd`
 --
--- notify-id:          notify.id of the first notification of this thread
--- master-parent-item: item.id of the parent item
--- parent-item:        item.id of the imediate parent (only for multi-thread)
---                     not used yet.
--- receiver-uid: user.uid of the receiver of this notification.
---
--- If we query for a master-parent-item and receiver-uid...
---   * Returns 1 item: this is not the parent notification, 
---     so just "follow" the thread (references to this notification)
---   * Returns no item: this is the first notification related to
---     this parent item. So, create the record and use the message-id 
---     header.
-
-
-CREATE TABLE IF NOT EXISTS `notify-threads` (
-`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`notify-id` INT NOT NULL,
-`master-parent-item` INT( 10 ) unsigned NOT NULL DEFAULT '0',
-`parent-item` INT( 10 ) unsigned NOT NULL DEFAULT '0',
-`receiver-uid` INT NOT NULL,
-INDEX ( `master-parent-item` ),
-INDEX ( `receiver-uid` )
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
-CREATE TABLE IF NOT EXISTS `spam` (
-`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`uid` INT NOT NULL,
-`spam` INT NOT NULL DEFAULT '0',
-`ham` INT NOT NULL DEFAULT '0',
-`term` CHAR(255) NOT NULL,
-`date` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00',
-INDEX ( `uid` ),
-INDEX ( `spam` ),
-INDEX ( `ham` ),
-INDEX ( `term` )
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
 
 CREATE TABLE IF NOT EXISTS `userd` (
-`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
-`username` CHAR( 255 ) NOT NULL,
-INDEX ( `username` )
-) ENGINE = MyISAM DEFAULT CHARSET=utf8;
-
+  `id` int(11) NOT NULL AUTO_INCREMENT,
+  `username` char(255) NOT NULL,
+  PRIMARY KEY (`id`)
+) ENGINE=MyISAM DEFAULT CHARSET=utf8;
diff --git a/include/dba.php b/include/dba.php
old mode 100644
new mode 100755
index 1421a703dc..76cc0bc7b9
--- a/include/dba.php
+++ b/include/dba.php
@@ -8,273 +8,189 @@ require_once('include/datetime.php');
  *
  * For debugging, insert 'dbg(1);' anywhere in the program flow.
  * dbg(0); will turn it off. Logging is performed at LOGGER_DATA level.
- * When logging, all binary info is converted to
- * text and html entities are escaped so that
- * the debugging stream is safe to view
- * within both terminals and web pages.
+ * When logging, all binary info is converted to text and html entities are escaped so that 
+ * the debugging stream is safe to view within both terminals and web pages.
  *
  */
+ 
+if(! class_exists('dba')) { 
+class dba {
 
-if(! class_exists('dba')) {
+	private $debug = 0;
+	private $db;
+	public  $mysqli = true;
+	public  $connected = false;
+	public  $error = false;
 
-	class dba {
+	function __construct($server,$user,$pass,$db,$install = false) {
 
-		private $debug = 0;
-		private $db;
-		private $exceptions; 
-		
-		public  $mysqli = true;
-		public  $connected = false;
-		public  $error = false;
+		$server = trim($server);
+		$user = trim($user);
+		$pass = trim($pass);
+		$db = trim($db);
 
-		function __construct($server,$user,$pass,$db,$install = false) {
-
-			$server = trim($server);
-			$user = trim($user);
-			$pass = trim($pass);
-			$db = trim($db);
-
-			//we need both, server and username, so fail if one is missing
-			if (!(strlen($server) && strlen($user))){
-				$this->connected = false;
-				$this->db = null;
-				throw new InvalidArgumentException(t("Server name of user name are missing. "));
-			}
-
-			//when we are installing
-			if($install) {
-				if(strlen($server) && ($server !== 'localhost') && ($server !== '127.0.0.1')) {
-					if(! dns_get_record($server, DNS_A + DNS_CNAME + DNS_PTR)) {
-						$this->connected = false;
-						$this->db = null;
-						throw new InvalidArgumentException( t('Cannot locate DNS info for database server \'%s\''), $server);
-					}
-				}
-			}
-
-			if(class_exists('mysqli')) {
-				$this->db = new mysqli($server,$user,$pass,$db);
-				if(NULL === $this->db->connect_error) {
-					$this->connected = true;
-				} else {
-					throw new RuntimeException($this->db->connect_error);
-				}
-			} else {
-				$this->mysqli = false;
-				$this->db = mysql_connect($server,$user,$pass);
-				if($this->db && mysql_select_db($db,$this->db)) {
-					$this->connected = true;
-				} else {
-					throw new RuntimeException(mysql_error());
-				}
-			}
-		}
-
-		public function excep($excep) {
-			$this->exceptions=$excep; 
+		if (!(strlen($server) && strlen($user))){
+			$this->connected = false;
+			$this->db = null;
+			return;			
 		}
 		
-		public function getdb() {
-			return $this->db;
-		}
-
-		public function q($sql) {
-
-			if((! $this->db) || (! $this->connected)) {
-				$this->throwOrLog(new RuntimeException(t("There is no db connection. ")));
-				return;
-			}
-
-			if($this->mysqli) {
-				$result = $this->db->query($sql);
-			} else {
-				$result = mysql_query($sql,$this->db);
-			}
-
-			//on debug mode or fail, the query is written to the log.
-			//this won't work if logger can not read it's logging level
-			//from the db.
-			if($this->debug || FALSE === $result) {
-
-				$mesg = '';
-
-				if($result === false) {
-					$mesg = 'false '.$this->error();
-				} elseif($result === true) {
-					$mesg = 'true';
-				} else {
-					if($this->mysqli) {
-						$mesg = $result->num_rows . t(' results') . EOL;
-					} else {
-						$mesg = mysql_num_rows($result) . t(' results') . EOL;
-					}
-				}
-
-				$str =  'SQL = ' . printable($sql) . EOL . t('SQL returned ') . $mesg . EOL;
-
-
-			 // If dbfail.out exists, we will write any failed calls directly to it,
-			 // regardless of any logging that may or may nor be in effect.
-			 // These usually indicate SQL syntax errors that need to be resolved.
-				if(file_exists('dbfail.out')) {
-					file_put_contents('dbfail.out', datetime_convert() . "\n" . $str . "\n", FILE_APPEND);
-				}
-				logger('dba: ' . $str );
-				if(FALSE===$result) {
-					$this->throwOrLog(new RuntimeException('dba: ' . $str));
-					return; 
-				}
-			}
-				
-
-			if($result === true) {
-				return $result;
-			}
-
-			$r = array();
-			if($this->mysqli) {
-				if($result->num_rows) {
-					while($x = $result->fetch_array(MYSQLI_ASSOC)) {
-						$r[] = $x;
-					}
-					$result->free_result();
-				}
-			} else {
-				if(mysql_num_rows($result)) {
-					while($x = mysql_fetch_array($result, MYSQL_ASSOC)) {
-						$r[] = $x;
-					}
-					mysql_free_result($result);
-				}
-			}
-
-
-			if($this->debug) {
-				logger('dba: ' . printable(print_r($r, true)));
-			}
-			return($r);
-		}
-
-		private function error() {
-			if($this->mysqli) {
-				return $this->db->error;
-			} else {
-				return mysql_error($this->db);
-			}
-		}
-		
-		private function throwOrLog(Exception $ex) {
-			if($this->exceptions) {
-				throw $ex; 
-			} else {
-				logger('dba: '.$ex->getMessage()); 
-			}
-		}
-		
-		/**
-		 * starts a transaction. Transactions need to be finished with 
-		 * commit() or rollback(). Please mind that the db table engine may
-		 * not support this. 
-		 */
-		public function beginTransaction() {
-			if($this->mysqli) {
-				return $this->db->autocommit(false);
-			} else {
-				//no transaction support in mysql module...
-				mysql_query('SET AUTOCOMMIT = 0;', $db); 
-			}
-		}
-		
-		/**
-		 * rollback a transaction. So, rollback anything that was done since the last call 
-		 * to beginTransaction(). 
-		 */
-		public function rollback() {
-			if($this->mysqli) {
-				return $this->db->rollback();
-			} else {
-				//no transaction support in mysql module...
-				mysql_query('ROLLBACK;', $db);
-			}
-			$this->stopTransaction(); 
-		}
-
-		/**
-		 * commit a transaction. So, write any query to the database. 
-		 */
-		public function commit() {
-			if($this->mysqli) {
-				return $this->db->commit();
-			} else {
-				//no transaction support in mysql module...
-				mysql_query('COMMIT;', $db);
-			}
-			$this->stopTransaction();
-		}
-		
-		private function stopTransaction() {
-			if($this->mysqli) {
-				return $this->db->autocommit(true);
-			} else {
-				//no transaction support in mysql module...
-				mysql_query('SET AUTOCOMMIT = 1;', $db);
-			}
-		}
-		
-		public function dbg($dbg) {
-			$this->debug = $dbg;
-		}
-
-		public function escape($str) {
-			if($this->db && $this->connected) {
-				if($this->mysqli) {
-					return $this->db->real_escape_string($str);
-				} else {
-					return mysql_real_escape_string($str,$this->db);
+		if($install) {
+			if(strlen($server) && ($server !== 'localhost') && ($server !== '127.0.0.1')) {
+				if(! dns_get_record($server, DNS_A + DNS_CNAME + DNS_PTR)) {
+					$this->error = sprintf( t('Cannot locate DNS info for database server \'%s\''), $server);
+					$this->connected = false;
+					$this->db = null;
+					return;
 				}
 			}
 		}
 
-		function __destruct() {
-			if ($this->db) {
-				if($this->mysqli) {
-					$this->db->close();
-				}
-			} else {
-				mysql_close($this->db);
+		if(class_exists('mysqli')) {
+			$this->db = @new mysqli($server,$user,$pass,$db);
+			if(! mysqli_connect_errno()) {
+				$this->connected = true;
 			}
 		}
+		else {
+			$this->mysqli = false;
+			$this->db = mysql_connect($server,$user,$pass);
+			if($this->db && mysql_select_db($db,$this->db)) {
+				$this->connected = true;
+			}
+		}
+		if(! $this->connected) {
+			$this->db = null;
+			if(! $install)
+				system_unavailable();
+		}
 	}
-}
+
+	public function getdb() {
+		return $this->db;
+	}
+
+	public function q($sql) {
+		
+		if((! $this->db) || (! $this->connected))
+			return false;
+		
+		if($this->mysqli)
+			$result = @$this->db->query($sql);
+		else
+			$result = @mysql_query($sql,$this->db);
+
+		if($this->debug) {
+
+			$mesg = '';
+
+			if($this->mysqli) {
+				if($this->db->errno)
+					logger('dba: ' . $this->db->error);
+			}
+			elseif(mysql_errno($this->db))
+				logger('dba: ' . mysql_error($this->db));
+
+			if($result === false)
+				$mesg = 'false';
+			elseif($result === true)
+				$mesg = 'true';
+			else {
+				if($this->mysqli)
+					$mesg = $result->num_rows . ' results' . EOL;
+    			else
+					$mesg = mysql_num_rows($result) . ' results' . EOL;
+			}
+    
+			$str =  'SQL = ' . printable($sql) . EOL . 'SQL returned ' . $mesg . EOL;
+
+			logger('dba: ' . $str );
+		}
+
+		/**
+		 * If dbfail.out exists, we will write any failed calls directly to it,
+		 * regardless of any logging that may or may nor be in effect.
+		 * These usually indicate SQL syntax errors that need to be resolved.
+		 */
+
+		if($result === false) {
+			logger('dba: ' . printable($sql) . ' returned false.');
+			if(file_exists('dbfail.out'))
+				file_put_contents('dbfail.out', datetime_convert() . "\n" . printable($sql) . ' returned false' . "\n", FILE_APPEND);
+		}
+
+		if(($result === true) || ($result === false))
+			return $result;
+
+		$r = array();
+		if($this->mysqli) {
+			if($result->num_rows) {
+				while($x = $result->fetch_array(MYSQLI_ASSOC))
+					$r[] = $x;
+				$result->free_result();
+			}
+		}
+		else {
+			if(mysql_num_rows($result)) {
+				while($x = mysql_fetch_array($result, MYSQL_ASSOC))
+					$r[] = $x;
+				mysql_free_result($result);
+			}
+		}
+
+    
+		if($this->debug)
+			logger('dba: ' . printable(print_r($r, true)));
+		return($r);
+	}
+
+	public function dbg($dbg) {
+		$this->debug = $dbg;
+	}
+
+	public function escape($str) {
+		if($this->db && $this->connected) {
+			if($this->mysqli)
+				return @$this->db->real_escape_string($str);
+			else
+				return @mysql_real_escape_string($str,$this->db);
+		}
+	}
+
+	function __destruct() {
+		if ($this->db) 
+			if($this->mysqli)
+				$this->db->close();
+			else
+				mysql_close($this->db);
+	}
+}}
 
 if(! function_exists('printable')) {
-	function printable($s) {
-		$s = preg_replace("~([\x01-\x08\x0E-\x0F\x10-\x1F\x7F-\xFF])~",".", $s);
-		$s = str_replace("\x00",'.',$s);
-		if(x($_SERVER,'SERVER_NAME'))
-			$s = escape_tags($s);
-		return $s;
-	}
-}
+function printable($s) {
+	$s = preg_replace("~([\x01-\x08\x0E-\x0F\x10-\x1F\x7F-\xFF])~",".", $s);
+	$s = str_replace("\x00",'.',$s);
+	if(x($_SERVER,'SERVER_NAME'))
+		$s = escape_tags($s);
+	return $s;
+}}
 
 // Procedural functions
-if(! function_exists('dbg')) {
-	function dbg($state) {
-		global $db;
-		if($db)
-			$db->dbg($state);
-	}
-}
+if(! function_exists('dbg')) { 
+function dbg($state) {
+	global $db;
+	if($db)
+	$db->dbg($state);
+}}
 
-if(! function_exists('dbesc')) {
-	function dbesc($str) {
-		global $db;
-		if($db && $db->connected)
-			return($db->escape($str));
-		else
-			return(str_replace("'","\\'",$str));
-	}
-}
+if(! function_exists('dbesc')) { 
+function dbesc($str) {
+	global $db;
+	if($db && $db->connected)
+		return($db->escape($str));
+	else
+		return(str_replace("'","\\'",$str));
+}}
 
 
 
@@ -283,31 +199,30 @@ if(! function_exists('dbesc')) {
 // Example: $r = q("SELECT * FROM `%s` WHERE `uid` = %d",
 //                   'user', 1);
 
-if(! function_exists('q')) {
-	function q($sql) {
+if(! function_exists('q')) { 
+function q($sql) {
 
-		global $db;
-		$args = func_get_args();
-		unset($args[0]);
-
-		if($db && $db->connected) {
-			$stmt = vsprintf($sql,$args);
-			if($stmt === false)
-				logger('dba: vsprintf error: ' . print_r(debug_backtrace(),true));
-			return $db->q($stmt);
-		}
-
-		/**
-		 *
-		 * This will happen occasionally trying to store the
-		 * session data after abnormal program termination
-		 *
-		 */
-		logger('dba: no database: ' . print_r($args,true));
-		return false;
+	global $db;
+	$args = func_get_args();
+	unset($args[0]);
 
+	if($db && $db->connected) {
+		$stmt = vsprintf($sql,$args);
+		if($stmt === false)
+			logger('dba: vsprintf error: ' . print_r(debug_backtrace(),true));
+		return $db->q($stmt);
 	}
-}
+
+	/**
+	 *
+	 * This will happen occasionally trying to store the 
+	 * session data after abnormal program termination 
+	 *
+	 */
+	logger('dba: no database: ' . print_r($args,true));
+	return false; 
+
+}}
 
 /**
  *
@@ -315,39 +230,36 @@ if(! function_exists('q')) {
  *
  */
 
-if(! function_exists('dbq')) {
-	function dbq($sql) {
+if(! function_exists('dbq')) { 
+function dbq($sql) {
 
-		global $db;
-		if($db && $db->connected)
-			$ret = $db->q($sql);
-		else
-			$ret = false;
-		return $ret;
-	}
-}
+	global $db;
+	if($db && $db->connected)
+		$ret = $db->q($sql);
+	else
+		$ret = false;
+	return $ret;
+}}
 
 
-// Caller is responsible for ensuring that any integer arguments to
+// Caller is responsible for ensuring that any integer arguments to 
 // dbesc_array are actually integers and not malformed strings containing
-// SQL injection vectors. All integer array elements should be specifically
-// cast to int to avoid trouble.
+// SQL injection vectors. All integer array elements should be specifically 
+// cast to int to avoid trouble. 
 
 
 if(! function_exists('dbesc_array_cb')) {
-	function dbesc_array_cb(&$item, $key) {
-		if(is_string($item))
-			$item = dbesc($item);
-	}
-}
+function dbesc_array_cb(&$item, $key) {
+	if(is_string($item))
+		$item = dbesc($item);
+}}
 
 
 if(! function_exists('dbesc_array')) {
-	function dbesc_array(&$arr) {
-		if(is_array($arr) && count($arr)) {
-			array_walk($arr,'dbesc_array_cb');
-		}
+function dbesc_array(&$arr) {
+	if(is_array($arr) && count($arr)) {
+		array_walk($arr,'dbesc_array_cb');
 	}
-}
+}}		
 
 
diff --git a/mod/install.php b/mod/install.php
index d1142248a3..2eb98ee916 100644
--- a/mod/install.php
+++ b/mod/install.php
@@ -451,7 +451,7 @@ function load_database_rem($v, $i){
 function load_database($db) {
 
 	$str = file_get_contents('database.sql');
-	$str = array_reduce(explode("\n", $str),"load_database_rem","");
+//	$str = array_reduce(explode("\n", $str),"load_database_rem","");
 	$arr = explode(';',$str);
 	$errors = false;
 	foreach($arr as $a) {