mirror of
https://git.friendi.ca/friendica/friendica-addons.git
synced 2024-11-29 06:53:15 +00:00
Merge pull request #628 from annando/and-again-abstraction
Some more replaced item SQL queries
This commit is contained in:
commit
114c0a32d4
3 changed files with 26 additions and 39 deletions
|
@ -213,17 +213,17 @@ function mailstream_subject($item) {
|
||||||
$parent = $item['thr-parent'];
|
$parent = $item['thr-parent'];
|
||||||
// Don't look more than 100 levels deep for a subject, in case of loops
|
// Don't look more than 100 levels deep for a subject, in case of loops
|
||||||
for ($i = 0; ($i < 100) && $parent; $i++) {
|
for ($i = 0; ($i < 100) && $parent; $i++) {
|
||||||
$r = q("SELECT `thr-parent`, `title` FROM `item` WHERE `uri` = '%s'", dbesc($parent));
|
$parent_item = Item::selectFirst(['thr-parent', 'title'], ['uri' => $parent]);
|
||||||
if (!DBM::is_result($r)) {
|
if (!DBM::is_result($parent_item)) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if ($r[0]['thr-parent'] === $parent) {
|
if ($parent_item['thr-parent'] === $parent) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
if ($r[0]['title']) {
|
if ($parent_item['title']) {
|
||||||
return L10n::t('Re:') . ' ' . mailstream_decode_subject($r[0]['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",
|
$r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d",
|
||||||
intval($item['contact-id']), intval($item['uid']));
|
intval($item['contact-id']), intval($item['uid']));
|
||||||
|
|
|
@ -1075,12 +1075,7 @@ function statusnet_createpost(App $a, $uid, $post, $self, $create_user, $only_ex
|
||||||
|
|
||||||
$postarray['uri'] = $hostname . "::" . $content->id;
|
$postarray['uri'] = $hostname . "::" . $content->id;
|
||||||
|
|
||||||
$r = q("SELECT * FROM `item` WHERE `extid` = '%s' AND `uid` = %d LIMIT 1",
|
if (dba::exists('item', ['extid' => $postarray['uri'], 'uid' => $uid])) {
|
||||||
dbesc($postarray['uri']),
|
|
||||||
intval($uid)
|
|
||||||
);
|
|
||||||
|
|
||||||
if (DBM::is_result($r)) {
|
|
||||||
return [];
|
return [];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1090,31 +1085,23 @@ function statusnet_createpost(App $a, $uid, $post, $self, $create_user, $only_ex
|
||||||
|
|
||||||
$parent = $hostname . "::" . $content->in_reply_to_status_id;
|
$parent = $hostname . "::" . $content->in_reply_to_status_id;
|
||||||
|
|
||||||
$r = q("SELECT * FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
$fields = ['uri', 'parent-uri', 'parent'];
|
||||||
dbesc($parent),
|
$item = Item::selectFirst($fields, ['uri' => $parent, 'uid' => $uid]);
|
||||||
intval($uid)
|
|
||||||
);
|
if (!DBM::is_result($item)) {
|
||||||
if (DBM::is_result($r)) {
|
$item = Item::selectFirst($fields, ['extid' => $parent, 'uid' => $uid]);
|
||||||
$postarray['thr-parent'] = $r[0]["uri"];
|
}
|
||||||
$postarray['parent-uri'] = $r[0]["parent-uri"];
|
|
||||||
$postarray['parent'] = $r[0]["parent"];
|
if (DBM::is_result($item)) {
|
||||||
$postarray['object-type'] = ACTIVITY_OBJ_COMMENT;
|
$postarray['thr-parent'] = $item['uri'];
|
||||||
} else {
|
$postarray['parent-uri'] = $item['parent-uri'];
|
||||||
$r = q("SELECT * FROM `item` WHERE `extid` = '%s' AND `uid` = %d LIMIT 1",
|
$postarray['parent'] = $item['parent'];
|
||||||
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;
|
$postarray['object-type'] = ACTIVITY_OBJ_COMMENT;
|
||||||
} else {
|
} else {
|
||||||
$postarray['thr-parent'] = $postarray['uri'];
|
$postarray['thr-parent'] = $postarray['uri'];
|
||||||
$postarray['parent-uri'] = $postarray['uri'];
|
$postarray['parent-uri'] = $postarray['uri'];
|
||||||
$postarray['object-type'] = ACTIVITY_OBJ_NOTE;
|
$postarray['object-type'] = ACTIVITY_OBJ_NOTE;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// Is it me?
|
// Is it me?
|
||||||
$own_url = PConfig::get($uid, 'statusnet', 'own_url');
|
$own_url = PConfig::get($uid, 'statusnet', 'own_url');
|
||||||
|
|
|
@ -8,6 +8,8 @@
|
||||||
*/
|
*/
|
||||||
use Friendica\Core\Addon;
|
use Friendica\Core\Addon;
|
||||||
use Friendica\Core\L10n;
|
use Friendica\Core\L10n;
|
||||||
|
use Friendica\ModelItem;
|
||||||
|
use Friendica\Database\DBM;
|
||||||
|
|
||||||
function viewsrc_install() {
|
function viewsrc_install() {
|
||||||
Addon::registerHook('item_photo_menu', 'addon/viewsrc/viewsrc.php', 'viewsrc_item_photo_menu');
|
Addon::registerHook('item_photo_menu', 'addon/viewsrc/viewsrc.php', 'viewsrc_item_photo_menu');
|
||||||
|
@ -40,14 +42,12 @@ function viewsrc_item_photo_menu(&$a, &$b)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (local_user() != $b['item']['uid']) {
|
if (local_user() != $b['item']['uid']) {
|
||||||
$r = q("SELECT `id` FROM `item` WHERE `uid` = %d AND `guid` = '%s'",
|
$item = Item::selectFirstForUser(local_user(), ['id'], ['uid' => local_user(), 'guid' => $b['item']['guid']]);
|
||||||
intval(local_user()), dbesc($b['item']['guid']));
|
if (!DBM::is_result($item)) {
|
||||||
|
|
||||||
if (!$r) {
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$item_id = $r[0]['id'];
|
$item_id = $item['id'];
|
||||||
} else {
|
} else {
|
||||||
$item_id = $b['item']['id'];
|
$item_id = $b['item']['id'];
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue