$parent = $item['thr-parent'];
// Don't look more than 100 levels deep for a subject, in case of loops
for ($i = 0; ($i < 100) && $parent; $i++) {
- $r = q("SELECT `thr-parent`, `title` FROM `item` WHERE `uri` = '%s'", dbesc($parent));
- if (!DBM::is_result($r)) {
+ $parent_item = Item::selectFirst(['thr-parent', 'title'], ['uri' => $parent]);
+ if (!DBM::is_result($parent_item)) {
break;
}
- if ($r[0]['thr-parent'] === $parent) {
+ if ($parent_item['thr-parent'] === $parent) {
break;
}
- if ($r[0]['title']) {
- return L10n::t('Re:') . ' ' . mailstream_decode_subject($r[0]['title']);
+ if ($parent_item['title']) {
+ return L10n::t('Re:') . ' ' . mailstream_decode_subject($parent_item['title']);
}
- $parent = $r[0]['thr-parent'];
+ $parent = $parent_item['thr-parent'];
}
$r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d",
intval($item['contact-id']), intval($item['uid']));
$postarray['uri'] = $hostname . "::" . $content->id;
- $r = q("SELECT * FROM `item` WHERE `extid` = '%s' AND `uid` = %d LIMIT 1",
- dbesc($postarray['uri']),
- intval($uid)
- );
-
- if (DBM::is_result($r)) {
+ if (dba::exists('item', ['extid' => $postarray['uri'], 'uid' => $uid])) {
return [];
}
$parent = $hostname . "::" . $content->in_reply_to_status_id;
- $r = q("SELECT * FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
- dbesc($parent),
- intval($uid)
- );
- if (DBM::is_result($r)) {
- $postarray['thr-parent'] = $r[0]["uri"];
- $postarray['parent-uri'] = $r[0]["parent-uri"];
- $postarray['parent'] = $r[0]["parent"];
+ $fields = ['uri', 'parent-uri', 'parent'];
+ $item = Item::selectFirst($fields, ['uri' => $parent, 'uid' => $uid]);
+
+ if (!DBM::is_result($item)) {
+ $item = Item::selectFirst($fields, ['extid' => $parent, 'uid' => $uid]);
+ }
+
+ if (DBM::is_result($item)) {
+ $postarray['thr-parent'] = $item['uri'];
+ $postarray['parent-uri'] = $item['parent-uri'];
+ $postarray['parent'] = $item['parent'];
$postarray['object-type'] = ACTIVITY_OBJ_COMMENT;
} else {
- $r = q("SELECT * FROM `item` WHERE `extid` = '%s' AND `uid` = %d LIMIT 1",
- dbesc($parent),
- intval($uid)
- );
- if (DBM::is_result($r)) {
- $postarray['thr-parent'] = $r[0]['uri'];
- $postarray['parent-uri'] = $r[0]['parent-uri'];
- $postarray['parent'] = $r[0]['parent'];
- $postarray['object-type'] = ACTIVITY_OBJ_COMMENT;
- } else {
- $postarray['thr-parent'] = $postarray['uri'];
- $postarray['parent-uri'] = $postarray['uri'];
- $postarray['object-type'] = ACTIVITY_OBJ_NOTE;
- }
+ $postarray['thr-parent'] = $postarray['uri'];
+ $postarray['parent-uri'] = $postarray['uri'];
+ $postarray['object-type'] = ACTIVITY_OBJ_NOTE;
}
// Is it me?
*/
use Friendica\Core\Addon;
use Friendica\Core\L10n;
+use Friendica\ModelItem;
+use Friendica\Database\DBM;
function viewsrc_install() {
Addon::registerHook('item_photo_menu', 'addon/viewsrc/viewsrc.php', 'viewsrc_item_photo_menu');
}
if (local_user() != $b['item']['uid']) {
- $r = q("SELECT `id` FROM `item` WHERE `uid` = %d AND `guid` = '%s'",
- intval(local_user()), dbesc($b['item']['guid']));
-
- if (!$r) {
+ $item = Item::selectFirstForUser(local_user(), ['id'], ['uid' => local_user(), 'guid' => $b['item']['guid']]);
+ if (!DBM::is_result($item)) {
return;
}
- $item_id = $r[0]['id'];
+ $item_id = $item['id'];
} else {
$item_id = $b['item']['id'];
}