PATH="/usr/local/sbin:/usr/local/bin:/bin:/sbin:/usr/bin:/usr/sbin"
export PATH

echo -n serendipity

. which_user  # sets $user and $home, will exit if borked
. user_info   # sets other variables

weblog="blog"
db="${user}_s9y"

# first the database ...

sudo newdb.mysql "$db"

err=`temp`
cat <<End | mysql -p"$password" "$db" >"$err" 2>&1 || { echo "mysql failed:"; cat "$err"; rm "$err"; exit 1; }

CREATE TABLE s9y_authors (
  realname varchar(255) NOT NULL default '',
  username varchar(20) default NULL,
  password varchar(32) default NULL,
  authorid int(11) NOT NULL auto_increment,
  mail_comments int(1) default '1',
  mail_trackbacks int(1) default '1',
  email varchar(128) NOT NULL default '',
  userlevel int(4) unsigned NOT NULL default '0',
  right_publish int(1) default '1',
  PRIMARY KEY  (authorid)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE s9y_category (
  categoryid int(11) NOT NULL auto_increment,
  category_name varchar(255) default NULL,
  category_icon varchar(255) default NULL,
  category_description text,
  authorid int(11) default NULL,
  category_left int(11) default '0',
  category_right int(11) default '0',
  parentid int(11) NOT NULL default '0',
  PRIMARY KEY  (categoryid)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE s9y_comments (
  id int(11) NOT NULL auto_increment,
  entry_id int(10) unsigned NOT NULL default '0',
  parent_id int(10) unsigned NOT NULL default '0',
  timestamp int(10) unsigned default NULL,
  title varchar(150) default NULL,
  author varchar(80) default NULL,
  email varchar(200) default NULL,
  url varchar(200) default NULL,
  ip varchar(15) default NULL,
  body text,
  type varchar(100) default 'regular',
  subscribed enum('true','false') NOT NULL default 'true',
  status varchar(50) NOT NULL default '',
  referer varchar(200) default NULL,
  PRIMARY KEY  (id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE s9y_config (
  name varchar(255) NOT NULL default '',
  value text NOT NULL,
  authorid int(11) default '0',
  KEY configauthorid_idx (authorid)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE s9y_entries (
  id int(11) NOT NULL auto_increment,
  title varchar(200) default NULL,
  timestamp int(10) unsigned default NULL,
  body text,
  comments int(4) unsigned default '0',
  trackbacks int(4) unsigned default '0',
  extended text,
  exflag int(1) default NULL,
  author varchar(20) default NULL,
  authorid int(11) default NULL,
  isdraft enum('true','false') NOT NULL default 'true',
  allow_comments enum('true','false') NOT NULL default 'true',
  last_modified int(10) unsigned default NULL,
  moderate_comments enum('true','false') NOT NULL default 'true',
  PRIMARY KEY  (id),
  KEY date_idx (timestamp),
  KEY mod_idx (last_modified),
  FULLTEXT KEY entry_idx (title,body,extended)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE s9y_entrycat (
  entryid int(11) NOT NULL default '0',
  categoryid int(11) NOT NULL default '0',
  UNIQUE KEY entryid_idx (entryid,categoryid)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE s9y_entryproperties (
  entryid int(11) NOT NULL default '0',
  property varchar(255) NOT NULL default '',
  value text,
  UNIQUE KEY prop_idx (entryid,property),
  KEY entrypropid_idx (entryid)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE s9y_exits (
  entry_id int(11) NOT NULL default '0',
  day date NOT NULL default '0000-00-00',
  count int(11) NOT NULL default '0',
  scheme varchar(5) default NULL,
  host varchar(128) NOT NULL default '',
  port varchar(5) default NULL,
  path varchar(255) default NULL,
  query varchar(255) default NULL,
  PRIMARY KEY  (host,day,entry_id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE s9y_images (
  id int(11) NOT NULL auto_increment,
  name varchar(255) NOT NULL default '',
  extension varchar(5) NOT NULL default '',
  mime varchar(255) NOT NULL default '',
  size int(11) NOT NULL default '0',
  dimensions_width int(11) NOT NULL default '0',
  dimensions_height int(11) NOT NULL default '0',
  date int(11) NOT NULL default '0',
  thumbnail_name varchar(255) NOT NULL default '',
  authorid int(11) default '0',
  path text,
  hotlink int(1) default NULL,
  PRIMARY KEY  (id),
  KEY imagesauthorid_idx (authorid),
  FULLTEXT KEY pathkey_idx (path)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE s9y_plugins (
  name varchar(128) NOT NULL default '',
  placement varchar(6) NOT NULL default 'right',
  sort_order int(4) NOT NULL default '0',
  authorid int(11) default '0',
  path varchar(255) default NULL,
  PRIMARY KEY  (name),
  KEY pluginauthorid_idx (authorid)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE s9y_references (
  id int(11) NOT NULL auto_increment,
  entry_id int(10) unsigned NOT NULL default '0',
  link text,
  name text,
  PRIMARY KEY  (id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE s9y_referrers (
  entry_id int(11) NOT NULL default '0',
  day date NOT NULL default '0000-00-00',
  count int(11) NOT NULL default '0',
  scheme varchar(5) default NULL,
  host varchar(128) NOT NULL default '',
  port varchar(5) default NULL,
  path varchar(255) default NULL,
  query varchar(255) default NULL,
  PRIMARY KEY  (host,day,entry_id)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

CREATE TABLE s9y_suppress (
  ip varchar(15) default NULL,
  scheme varchar(5) default NULL,
  host varchar(128) default NULL,
  port varchar(5) default NULL,
  path varchar(255) default NULL,
  query varchar(255) default NULL,
  last timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP,
  KEY url_idx (host,ip)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;

INSERT INTO s9y_authors VALUES ('$name','$user','$md5sum',1,1,1,'$email',255,1);

INSERT INTO s9y_config VALUES ('template','default',0),('serendipityPath','/var/www/$user/$weblog/',0),('uploadPath','uploads/',0),('serendipityHTTPPath','/$weblog/',0),('templatePath','templates/',0),('uploadHTTPPath','uploads/',0),('baseURL','http://$user.$domain/$weblog/',0),('autodetect_baseURL','',0),('indexFile','index.php',0),('allowSubscriptions','1',0),('blogTitle','my blog',0),('blogDescription','as yet nondescript ...',0),('lang','en',0),('lang_content_negotiation','',0),('fetchLimit','15',0),('useGzip','1',0),('wysiwyg','false',0),('XHTML11','',0),('enablePopup','',0),('embed','false',0),('top_as_links','',0),('blockReferer',';',0),('rewrite','none',0),('serverOffsetHours','0',0),('showFutureEntries','',0),('magick','',0),('convert','/usr/bin/convert',0),('thumbSuffix','serendipityThumb',0),('thumbSize','110',0);

INSERT INTO s9y_plugins VALUES ('@serendipity_calendar_plugin:36095486a75d9f83217e3bc2d7b4453d','right',1,0,''),('@serendipity_quicksearch_plugin:e91029e9c917af2de32d54842133d8d6','right',2,0,''),('@serendipity_archives_plugin:82614455a9da164ddaeb08ee3068c36f','right',3,0,''),('@serendipity_categories_plugin:384d6a394c28a142c72e854008f159e9','right',4,0,''),('@serendipity_syndication_plugin:0803c2832b3a96e44980c7d1561bdaa5','right',5,0,''),('@serendipity_superuser_plugin:b3f9bcc43ab34739ed6b71707c1caa4d','right',6,0,''),('@serendipity_plug_plugin:a0cbc04448ec565d77cec374053c0dcf','right',7,0,''),('serendipity_event_s9ymarkup:f4b8381fccc9dba2df2ab4724db9df83','event',1,0,''),('serendipity_event_emoticate:3e1d822e5a83065eeaef0e27b798a28e','event',2,0,''),('serendipity_event_nl2br:3c3bb7098c18da1699101db8d00de885','event',3,0,''),('serendipity_event_browsercompatibility:f973c01b1eb665e2cde8bb8919ec5e78','event',4,0,''),('serendipity_event_spamblock:dcb1fe0526415d8aaea2bf2d1d16435d','event',5,0,'');

End



# now the ~/www/blog directory ...

weblogdir="/home/$user/www/$weblog"

mkdir -p "$weblogdir"
cp -r /usr/local/lib/php/s9y/deployment/* "$weblogdir"
cp -r /usr/local/lib/php/s9y/templates "$weblogdir"
cp -r /usr/local/lib/php/s9y/htmlarea "$weblogdir"
mkdir "$weblogdir/templates_c"
mkdir "$weblogdir/plugins"

config="$weblogdir/serendipity_config_local.inc.php"
umask 077
cat <<End >"$config"
<?php
	/*
	  Serendipity configuration file
	  Written on `date -R`
	*/

	\$serendipity['versionInstalled']  = '0.8';
	\$serendipity['dbName']            = '$db';
	\$serendipity['dbPrefix']          = 's9y_';
	\$serendipity['dbHost']            = 'localhost';
	\$serendipity['dbUser']            = '$user';
	\$serendipity['dbPass']            = '$password';
	\$serendipity['dbType']            = 'mysql';
	\$serendipity['dbPersistent']      = false;

	// End of Serendipity configuration file
	// You can place your own special variables after here:

?>
End
chmod +x "$config"

rm "$err"


echo " (blog)."
