summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrion Vibber <brion@pobox.com>2010-11-03 12:20:25 -0700
committerBrion Vibber <brion@pobox.com>2010-11-03 12:20:25 -0700
commit607d9589775dc79afd4e7295ce00bcf3eeb84d04 (patch)
treead7d68988ab97c18556b5ba97406fbbc02840c0e
parent1ceaa50cb0f82eb10891156f32de2963a483d8ef (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.
-rw-r--r--plugins/UserFlag/User_flag_profile.php23
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);
}
/**