{
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
}
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);
}