diff --git a/classes/Memcached_DataObject.php b/classes/Memcached_DataObject.php index b857ae64b9..51b1556d77 100644 --- a/classes/Memcached_DataObject.php +++ b/classes/Memcached_DataObject.php @@ -34,11 +34,12 @@ class Memcached_DataObject extends Safe_DataObject { if (is_null($v)) { $v = $k; - // XXX: HACK! - $i = new $cls; - $keys = $i->keys(); + $keys = self::pkeyCols($cls); + if (count($keys) > 1) { + // FIXME: maybe call pkeyGet() ourselves? + throw new Exception('Use pkeyGet() for compound primary keys'); + } $k = $keys[0]; - unset($i); } $i = Memcached_DataObject::getcached($cls, $k, $v); if ($i === false) { // false == cache miss diff --git a/lib/moremenu.php b/lib/moremenu.php index fa335b3c7b..8aed58a921 100644 --- a/lib/moremenu.php +++ b/lib/moremenu.php @@ -81,7 +81,12 @@ class MoreMenu extends Menu } foreach ($toShow as $item) { - list($actionName, $args, $label, $description, $id) = $item; + if (count($item) == 5) { + list($actionName, $args, $label, $description, $id) = $item; + } else { + list($actionName, $args, $label, $description) = $item; + $id = null; + } $this->item($actionName, $args, $label, $description, $id); }