summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEvan Prodromou <evan@status.net>2010-02-24 23:28:41 -0500
committerEvan Prodromou <evan@status.net>2010-02-24 23:28:41 -0500
commitbd68154772e80a98e9e5c96c6df8772ce3b2a84f (patch)
tree0f287955e7a8fb8456307a1e6118edcf8d7d8e47
parent374c488cf136b378d4fb47c4a6add309694e9146 (diff)
Make user_group able to handle remote groups
We add a local_group table to store data about local groups. It has the unique key for nickname, so /group/<nickname> looks up here. Updated DB data object classes and data files.
-rwxr-xr-xclasses/Local_group.php23
-rw-r--r--classes/User_group.php27
-rwxr-xr-x[-rw-r--r--]classes/statusnet.ini58
-rw-r--r--db/statusnet.sql14
4 files changed, 72 insertions, 50 deletions
diff --git a/classes/Local_group.php b/classes/Local_group.php
new file mode 100755
index 000000000..02663048f
--- /dev/null
+++ b/classes/Local_group.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * Table Definition for local_group
+ */
+require_once 'classes/Memcached_DataObject.php';
+
+class Local_group extends Memcached_DataObject
+{
+ ###START_AUTOCODE
+ /* the code below is auto generated do not remove the above tag */
+
+ public $__table = 'local_group'; // table name
+ public $group_id; // int(4) primary_key not_null
+ public $nickname; // varchar(64) unique_key
+ public $created; // datetime not_null default_0000-00-00%2000%3A00%3A00
+ public $modified; // timestamp not_null default_CURRENT_TIMESTAMP
+
+ /* Static get */
+ function staticGet($k,$v=NULL) { return DB_DataObject::staticGet('Local_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
index 1382aa407..6e58a4d67 100644
--- a/classes/User_group.php
+++ b/classes/User_group.php
@@ -10,21 +10,22 @@ class User_group extends Memcached_DataObject
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; // text()
- 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 $design_id; // int(4)
- public $created; // datetime() not_null
- public $modified; // timestamp() not_null default_CURRENT_TIMESTAMP
+ public $nickname; // varchar(64)
+ public $fullname; // varchar(255)
+ public $homepage; // varchar(255)
+ public $description; // text
+ 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 $design_id; // int(4)
+ public $created; // datetime not_null default_0000-00-00%2000%3A00%3A00
+ public $modified; // timestamp not_null default_CURRENT_TIMESTAMP
+ public $uri; // varchar(255) unique_key
/* Static get */
- function staticGet($k,$v=NULL) { return Memcached_DataObject::staticGet('User_group',$k,$v); }
+ function staticGet($k,$v=NULL) { return DB_DataObject::staticGet('User_group',$k,$v); }
/* the code above is auto generated do not remove the tag below */
###END_AUTOCODE
diff --git a/classes/statusnet.ini b/classes/statusnet.ini
index 81c1b68b2..d483f4741 100644..100755
--- a/classes/statusnet.ini
+++ b/classes/statusnet.ini
@@ -1,3 +1,4 @@
+
[avatar]
profile_id = 129
original = 17
@@ -55,7 +56,6 @@ modified = 384
[conversation__keys]
id = N
-uri = U
[deleted_notice]
id = 129
@@ -103,7 +103,6 @@ modified = 384
[file__keys]
id = N
-url = U
[file_oembed]
file_id = 129
@@ -245,13 +244,6 @@ modified = 384
group_id = K
profile_id = K
-[invitation]
-code = 130
-user_id = 129
-address = 130
-address_type = 130
-created = 142
-
[inbox]
user_id = 129
notice_ids = 66
@@ -259,9 +251,26 @@ notice_ids = 66
[inbox__keys]
user_id = K
+[invitation]
+code = 130
+user_id = 129
+address = 130
+address_type = 130
+created = 142
+
[invitation__keys]
code = K
+[local_group]
+group_id = 129
+nickname = 2
+created = 142
+modified = 384
+
+[local_group__keys]
+group_id = K
+nickname = U
+
[location_namespace]
id = 129
description = 2
@@ -369,7 +378,7 @@ icon = 130
source_url = 2
organization = 2
homepage = 2
-callback_url = 130
+callback_url = 2
type = 17
access_type = 17
created = 142
@@ -377,7 +386,6 @@ modified = 384
[oauth_application__keys]
id = N
-name = U
[oauth_application_user]
profile_id = 129
@@ -440,13 +448,13 @@ tag = K
[queue_item]
id = 129
-frame = 66
+frame = 194
transport = 130
created = 142
claimed = 14
[queue_item__keys]
-id = K
+id = N
[related_group]
group_id = 129
@@ -593,31 +601,10 @@ mini_logo = 2
design_id = 1
created = 142
modified = 384
+uri = 2
[user_group__keys]
id = N
-nickname = U
-
-[user_openid]
-canonical = 130
-display = 130
-user_id = 129
-created = 142
-modified = 384
-
-[user_openid__keys]
-canonical = K
-display = U
-
-[user_openid_trustroot]
-trustroot = 130
-user_id = 129
-created = 142
-modified = 384
-
-[user_openid__keys]
-trustroot = K
-user_id = K
[user_location_prefs]
user_id = 129
@@ -627,4 +614,3 @@ modified = 384
[user_location_prefs__keys]
user_id = K
-
diff --git a/db/statusnet.sql b/db/statusnet.sql
index 97117c80a..75d060e28 100644
--- a/db/statusnet.sql
+++ b/db/statusnet.sql
@@ -406,7 +406,7 @@ create table profile_block (
create table user_group (
id integer auto_increment primary key comment 'unique identifier',
- nickname varchar(64) unique key comment 'nickname for addressing',
+ nickname varchar(64) comment 'nickname for addressing',
fullname varchar(255) comment 'display name',
homepage varchar(255) comment 'URL, cached so we dont regenerate',
description text comment 'group description',
@@ -421,6 +421,8 @@ create table user_group (
created datetime not null comment 'date this record was created',
modified timestamp comment 'date this record was modified',
+ uri varchar(255) unique key comment 'universal identifier',
+
index user_group_nickname_idx (nickname)
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_general_ci;
@@ -641,3 +643,13 @@ create table conversation (
modified timestamp comment 'date this record was modified'
) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
+create table local_group (
+
+ group_id integer primary key comment 'group represented' references user_group (id),
+ nickname varchar(64) unique key comment 'group represented',
+
+ created datetime not null comment 'date this record was created',
+ modified timestamp comment 'date this record was modified'
+
+) ENGINE=InnoDB CHARACTER SET utf8 COLLATE utf8_bin;
+