<?php

/*
 * This script will create the database tables that we need.
 */

$LOCKOUT FALSE;


if (
$LOGOUT) {
  echo 
'<p>Sorry, you may not run this.<br>If you are the server admin then please edit createtables.php and change \$LOCKOUT = TRUE; to say FALSE;</p>';
  exit;
}
require 
dirname(__FILE__) . '/inc/config.inc.php';

if (isset(
$_GET['type'])) {
  if (
$_GET['type'] == 'pgsql'$PG_CONFIG['DB_TYPE'] = 'pgsql';
  if (
$_GET['type'] == 'mysql'$PG_CONFIG['DB_TYPE'] = 'mysql';
}

$dbcolumn_maps = array(
  
'pgsql' => array(
    
':sep:'    => ',',
    
'SERIAL'  => 'SERIAL',
    
'CHAR'    => 'CHAR',
    
'VARCHAR' => 'VARCHAR',
    
'CLOB'    => 'TEXT',
    
'BLOB'    => 'BLOB',
    
':index'  => 'CREATE INDEX =TABLE=_=COLUMN=_index ON =TABLE= (=COLUMN=);',
  ),
  
'mysql' => array(
    
':sep:'    => ',',
    
'SERIAL'  => 'INTEGER NOT NULL AUTO_INCREMENT',
    
'CHAR'    => 'CHAR',
    
'VARCHAR' => 'VARCHAR',
    
'CLOB'    => 'LONGTEXT',
    
'BLOB'    => 'LONGBLOB',
    
':index'  => 'CREATE INDEX =TABLE=_=COLUMN=_index ON =TABLE= (=COLUMN=);',
  ),
);


$table_schemas = array(
  
'temp' => array(
    
'name' => 'archive'# Table name
    
'schema' => array(   # Specify the table columns in our non-DB specific format
      
'ID           SERIAL',
      
'METHOD       VARCHAR 16',
      
'HOST         VARCHAR 255',
      
'PATH         VARCHAR 1024',
      
'QUERYSTRING  VARCHAR 4096',
      
'MIMETYPE     VARCHAR 64',
      
'CONTENT      BLOB',
      
':index       HOST',
      
':index       MIMETYPE',
    ),
  ),
);


$returnmessage '';
$schemaSQL PGLIB_GenerateSchema($PG_CONFIG['DB_TYPE'], $table_schemas$dbcolumn_maps$returnmessage);

if (
$returnmessage != '') {
  echo 
$returnmessage;
  exit;
}

echo 
'<table border="1"><tr><td><pre>',
     
print_r($table_schemastrue),
     
'</pre></td><td><b>',
     
$PG_CONFIG['DB_TYPE'],
     
'</b><br><pre>',
     
$schemaSQL,
     
'</pre><td></tr></table>';

echo 
'<a href="?type=pgsql">PGSQL</a> | <a href="?type=mysql">MYSQL</a>';
?>