summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xclasses/Group_inbox.php22
-rwxr-xr-xclasses/Group_member.php24
-rwxr-xr-xclasses/Related_group.php22
-rwxr-xr-xclasses/User_group.php31
-rwxr-xr-x[-rw-r--r--]classes/laconica.ini46
-rw-r--r--db/laconica.sql57
6 files changed, 202 insertions, 0 deletions
diff --git a/classes/Group_inbox.php b/classes/Group_inbox.php
new file mode 100755
index 000000000..826889636
--- /dev/null
+++ b/classes/Group_inbox.php
@@ -0,0 +1,22 @@
+<?php
+/**
+ * Table Definition for group_inbox
+ */
+require_once 'classes/Memcached_DataObject';
+
+class Group_inbox extends Memcached_DataObject
+{
+ ###START_AUTOCODE
+ /* the code below is auto generated do not remove the above tag */
+
+ public $__table = 'group_inbox'; // table name
+ public $group_id; // int(4) primary_key not_null
+ public $notice_id; // int(4) primary_key not_null
+ public $created; // datetime() not_null
+
+ /* Static get */
+ function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('Group_inbox',$k,$v); }
+
+ /* the code above is auto generated do not remove the tag below */
+ ###END_AUTOCODE
+}
diff --git a/classes/Group_member.php b/classes/Group_member.php
new file mode 100755
index 000000000..6aba84f65
--- /dev/null
+++ b/classes/Group_member.php
@@ -0,0 +1,24 @@
+<?php
+/**
+ * Table Definition for group_member
+ */
+require_once 'classes/Memcached_DataObject';
+
+class Group_member extends Memcached_DataObject
+{
+ ###START_AUTOCODE
+ /* the code below is auto generated do not remove the above tag */
+
+ public $__table = 'group_member'; // table name
+ public $group_id; // int(4) primary_key not_null
+ public $profile_id; // int(4) primary_key not_null
+ public $is_admin; // tinyint(1)
+ public $created; // datetime() not_null
+ public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
+
+ /* Static get */
+ function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('Group_member',$k,$v); }
+
+ /* the code above is auto generated do not remove the tag below */
+ ###END_AUTOCODE
+}
diff --git a/classes/Related_group.php b/classes/Related_group.php
new file mode 100755
index 000000000..40e4904c5
--- /dev/null
+++ b/classes/Related_group.php
@@ -0,0 +1,22 @@
+<?php
+/**
+ * Table Definition for related_group
+ */
+require_once 'classes/Memcached_DataObject';
+
+class Related_group extends Memcached_DataObject
+{
+ ###START_AUTOCODE
+ /* the code below is auto generated do not remove the above tag */
+
+ public $__table = 'related_group'; // table name
+ public $group_id; // int(4) primary_key not_null
+ public $related_group_id; // int(4) primary_key not_null
+ public $created; // datetime() not_null
+
+ /* Static get */
+ function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('Related_group',$k,$v); }
+
+ /* the code above is auto generated do not remove the tag below */
+ ###END_AUTOCODE
+}
diff --git a/classes/User_group.php b/classes/User_group.php
new file mode 100755
index 000000000..e8aaec744
--- /dev/null
+++ b/classes/User_group.php
@@ -0,0 +1,31 @@
+<?php
+/**
+ * Table Definition for user_group
+ */
+require_once 'classes/Memcached_DataObject';
+
+class User_group extends Memcached_DataObject
+{
+ ###START_AUTOCODE
+ /* the code below is auto generated do not remove the above tag */
+
+ public $__table = 'user_group'; // table name
+ public $id; // int(4) primary_key not_null
+ public $nickname; // varchar(64) unique_key
+ public $fullname; // varchar(255)
+ public $homepage; // varchar(255)
+ public $description; // varchar(140)
+ public $location; // varchar(255)
+ public $original_logo; // varchar(255)
+ public $homepage_logo; // varchar(255)
+ public $stream_logo; // varchar(255)
+ public $mini_logo; // varchar(255)
+ public $created; // datetime() not_null
+ public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
+
+ /* Static get */
+ function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('User_group',$k,$v); }
+
+ /* the code above is auto generated do not remove the tag below */
+ ###END_AUTOCODE
+}
diff --git a/classes/laconica.ini b/classes/laconica.ini
index db76b2dee..255122a97 100644..100755
--- a/classes/laconica.ini
+++ b/classes/laconica.ini
@@ -98,6 +98,26 @@ id = K
service = K
uri = U
+[group_inbox]
+group_id = 129
+notice_id = 129
+created = 142
+
+[group_inbox__keys]
+group_id = K
+notice_id = K
+
+[group_member]
+group_id = 129
+profile_id = 129
+is_admin = 17
+created = 142
+modified = 384
+
+[group_member__keys]
+group_id = K
+profile_id = K
+
[invitation]
code = 130
user_id = 129
@@ -225,6 +245,15 @@ claimed = 14
notice_id = K
transport = K
+[related_group]
+group_id = 129
+related_group_id = 129
+created = 142
+
+[related_group__keys]
+group_id = K
+related_group_id = K
+
[remember_me]
code = 130
user_id = 129
@@ -332,6 +361,23 @@ jabber = U
sms = U
uri = U
+[user_group]
+id = 129
+nickname = 2
+fullname = 2
+homepage = 2
+description = 2
+location = 2
+original_logo = 2
+homepage_logo = 2
+stream_logo = 2
+mini_logo = 2
+created = 142
+modified = 384
+
+[user_group__keys]
+id = N
+
[user_openid]
canonical = 130
display = 130
diff --git a/db/laconica.sql b/db/laconica.sql
index a366a6bcb..012270b51 100644
--- a/db/laconica.sql
+++ b/db/laconica.sql
@@ -368,3 +368,60 @@ create table profile_block (
constraint primary key (blocker, blocked)
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
+
+create table user_group (
+
+ id integer auto_increment primary key comment 'unique identifier',
+
+ nickname varchar(64) unique key comment 'nickname for addressing',
+ fullname varchar(255) comment 'display name',
+ homepage varchar(255) comment 'URL, cached so we dont regenerate',
+ description varchar(140) comment 'descriptive biography',
+ location varchar(255) comment 'related physical location, if any',
+
+ original_logo varchar(255) comment 'original size logo',
+ homepage_logo varchar(255) comment 'homepage (profile) size logo',
+ stream_logo varchar(255) comment 'stream-sized logo',
+ mini_logo varchar(255) comment 'mini logo',
+
+ created datetime not null comment 'date this record was created',
+ modified timestamp comment 'date this record was modified',
+
+ index user_group_nickname_idx (nickname)
+
+) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
+
+create table group_member (
+
+ group_id integer not null comment 'foreign key to user_group' references user_group (id),
+ profile_id integer not null comment 'foreign key to profile table' references profile (id),
+ is_admin boolean default false comment 'is this user an admin?',
+
+ created datetime not null comment 'date this record was created',
+ modified timestamp comment 'date this record was modified',
+
+ constraint primary key (group_id, profile_id)
+
+) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
+
+create table related_group (
+
+ group_id integer not null comment 'foreign key to user_group' references user_group (id),
+ related_group_id integer not null comment 'foreign key to user_group' references user_group (id),
+
+ created datetime not null comment 'date this record was created',
+
+ constraint primary key (group_id, related_group_id)
+
+) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
+
+create table group_inbox (
+ group_id integer not null comment 'group receiving the message' references user_group (id),
+ notice_id integer not null comment 'notice received' references notice (id),
+ created datetime not null comment 'date the notice was created',
+
+ constraint primary key (group_id, notice_id),
+ index group_inbox_created_idx (created)
+
+) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
+