55 lines
1.9 KiB
PHP
55 lines
1.9 KiB
PHP
<?php
|
|
/*! @file
|
|
|
|
@id $Id$
|
|
|
|
@see @ref messagetable for the database schema
|
|
|
|
@page database Database
|
|
|
|
@section messagetable Message Table
|
|
|
|
<table>
|
|
<caption>Table: message</caption>
|
|
<tr><th>Colum Name</th><th>SQL Type</th><th>Description</th></tr>
|
|
<tr><td>id</td><td>int, primary key</td><td>Incrementing message id starting at 1.</td></tr>
|
|
<tr><td>time</td><td>timestamp</td><td>Time when message has been stored in the database.</td></tr>
|
|
<tr><td>user</td><td>varchar(50), references \ref usertable "user (name)"</td><td>The sender's user name (pseudonym).</td></tr>
|
|
<tr><td>msg</td><td>longtext</td><td>The encryped and armored message text.</td></tr>
|
|
</table>
|
|
*/
|
|
// 1 2 3 4 5 6 7 8
|
|
// 45678901234567890123456789012345678901234567890123456789012345678901234567890
|
|
|
|
require_once("opendb.php");
|
|
try {
|
|
$query = <<<EOD
|
|
create table if not exists
|
|
message (
|
|
id
|
|
int primary key not null auto_increment
|
|
comment "id of the message, it is used in the client to check if a message has already been downloaded or not",
|
|
time
|
|
timestamp default current_timestamp
|
|
comment "time when the message has been stored on the server",
|
|
user
|
|
varchar(50) not null
|
|
comment "name of the user that sent the message",
|
|
msg
|
|
longtext not null
|
|
comment "message content, must be armored gnupg encrypted format",
|
|
foreign key (user)
|
|
references user(name)
|
|
on delete cascade
|
|
on update cascade
|
|
) character set utf8 engine=innodb
|
|
comment="table to hold all messages for later download by the receiver";
|
|
EOD;
|
|
$db->query($query);
|
|
$db->query('set global max_allowed_packet=1000000000');
|
|
$db->query('set global net_buffer_length=1000000');
|
|
} catch (Exception $e) {
|
|
error('database error on server');
|
|
}
|
|
?>
|