diff options
author | Brion Vibber <brion@pobox.com> | 2010-11-03 12:20:25 -0700 |
---|---|---|
committer | Brion Vibber <brion@pobox.com> | 2010-11-03 12:20:25 -0700 |
commit | 607d9589775dc79afd4e7295ce00bcf3eeb84d04 (patch) | |
tree | ad7d68988ab97c18556b5ba97406fbbc02840c0e /plugins/UserFlag | |
parent | 1ceaa50cb0f82eb10891156f32de2963a483d8ef (diff) |
UserFlag fixes to prevent PHP notices breaking AJAX submissions when display_errors is on. Key & seq defs weren't quite right, which caused accesses to unset array indices in DB_DataObject.
Diffstat (limited to 'plugins/UserFlag')
-rw-r--r-- | plugins/UserFlag/User_flag_profile.php | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/plugins/UserFlag/User_flag_profile.php b/plugins/UserFlag/User_flag_profile.php index 69fe0f356..f4e9844df 100644 --- a/plugins/UserFlag/User_flag_profile.php +++ b/plugins/UserFlag/User_flag_profile.php @@ -79,21 +79,36 @@ class User_flag_profile extends Memcached_DataObject /** * return key definitions for DB_DataObject * - * @return array key definitions + * @return array of key names */ function keys() { - return array('profile_id' => 'K', 'user_id' => 'K'); + return array_keys($this->keyTypes()); } /** * return key definitions for DB_DataObject * - * @return array key definitions + * @return array map of key definitions */ function keyTypes() { - return $this->keys(); + return array('profile_id' => 'K', 'user_id' => 'K'); + } + + /** + * Magic formula for non-autoincrementing integer primary keys + * + * If a table has a single integer column as its primary key, DB_DataObject + * assumes that the column is auto-incrementing and makes a sequence table + * to do this incrementation. Since we don't need this for our class, we + * overload this method and return the magic formula that DB_DataObject needs. + * + * @return array magic three-false array that stops auto-incrementing. + */ + function sequenceKey() + { + return array(false, false, false); } /** |