- $condition = '`item`.`id`';
- }
-
- $r = q(
- "SELECT `item`.*, `item`.`id` AS `item_id`,
- `contact`.`name`, `contact`.`network`, `contact`.`photo`, `contact`.`url`,
- `contact`.`name-date`, `contact`.`uri-date`, `contact`.`avatar-date`,
- `contact`.`thumb`, `contact`.`dfrn-id`, `contact`.`self`,
- `sign`.`signed_text`, `sign`.`signature`, `sign`.`signer`
- FROM `item`
- STRAIGHT_JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
- AND (NOT `contact`.`blocked` OR `contact`.`pending`)
- LEFT JOIN `sign` ON `sign`.`iid` = `item`.`id`
- WHERE %s = %d AND `item`.`visible` AND NOT `item`.`moderated` AND `item`.`parent` != 0
- AND NOT `item`.`private`",
- $condition,
- intval($item_id)
- );
-
- if (!DBM::is_result($r)) {
+ $condition = ['id' => $item_id];
+ }
+
+ $fields = ['author-id', 'uid', 'id', 'parent', 'uri', 'thr-parent',
+ 'parent-uri', 'created', 'edited', 'verb', 'object-type',
+ 'guid', 'private', 'title', 'body', 'location', 'coord', 'app',
+ 'attach', 'object', 'allow_cid', 'allow_gid', 'deny_cid', 'deny_gid',
+ 'extid', 'target', 'tag', 'bookmark', 'deleted',
+ 'author-link', 'owner-link', 'signed_text', 'signature', 'signer'];
+ $ret = Item::select($fields, $condition);
+ $items = dba::inArray($ret);
+ if (!DBM::is_result($items)) {