Some of the last direct SQL calls to the item table had been changed
This commit is contained in:
parent
dd1e6dd4a5
commit
70af2cecf2
6 changed files with 63 additions and 99 deletions
|
@ -1859,20 +1859,17 @@ function file_tag_update_pconfig($uid, $file_old, $file_new, $type = 'file') {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function file_tag_save_file($uid, $item, $file)
|
function file_tag_save_file($uid, $item_id, $file)
|
||||||
{
|
{
|
||||||
if (!intval($uid)) {
|
if (!intval($uid)) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$r = q("SELECT `file` FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
$item = Item::selectFirst(['file'], ['id' => $item_id, 'uid' => $uid]);
|
||||||
intval($item),
|
if (DBM::is_result($item)) {
|
||||||
intval($uid)
|
if (!stristr($item['file'],'[' . file_tag_encode($file) . ']')) {
|
||||||
);
|
$fields = ['file' => $item['file'] . '[' . file_tag_encode($file) . ']'];
|
||||||
if (DBM::is_result($r)) {
|
Item::update($fields, ['id' => $item_id]);
|
||||||
if (!stristr($r[0]['file'],'[' . file_tag_encode($file) . ']')) {
|
|
||||||
$fields = ['file' => $r[0]['file'] . '[' . file_tag_encode($file) . ']'];
|
|
||||||
Item::update($fields, ['id' => $item]);
|
|
||||||
}
|
}
|
||||||
$saved = PConfig::get($uid, 'system', 'filetags');
|
$saved = PConfig::get($uid, 'system', 'filetags');
|
||||||
if (!strlen($saved) || !stristr($saved, '[' . file_tag_encode($file) . ']')) {
|
if (!strlen($saved) || !stristr($saved, '[' . file_tag_encode($file) . ']')) {
|
||||||
|
@ -1883,7 +1880,7 @@ function file_tag_save_file($uid, $item, $file)
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
function file_tag_unsave_file($uid, $item, $file, $cat = false)
|
function file_tag_unsave_file($uid, $item_id, $file, $cat = false)
|
||||||
{
|
{
|
||||||
if (!intval($uid)) {
|
if (!intval($uid)) {
|
||||||
return false;
|
return false;
|
||||||
|
@ -1897,16 +1894,13 @@ function file_tag_unsave_file($uid, $item, $file, $cat = false)
|
||||||
$termtype = TERM_FILE;
|
$termtype = TERM_FILE;
|
||||||
}
|
}
|
||||||
|
|
||||||
$r = q("SELECT `file` FROM `item` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
$item = Item::selectFirst(['file'], ['id' => $item_id, 'uid' => $uid]);
|
||||||
intval($item),
|
if (!DBM::is_result($item)) {
|
||||||
intval($uid)
|
|
||||||
);
|
|
||||||
if (! DBM::is_result($r)) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$fields = ['file' => str_replace($pattern,'',$r[0]['file'])];
|
$fields = ['file' => str_replace($pattern,'',$item['file'])];
|
||||||
Item::update($fields, ['id' => $item]);
|
Item::update($fields, ['id' => $item_id]);
|
||||||
|
|
||||||
$r = q("SELECT `oid` FROM `term` WHERE `term` = '%s' AND `otype` = %d AND `type` = %d AND `uid` = %d",
|
$r = q("SELECT `oid` FROM `term` WHERE `term` = '%s' AND `otype` = %d AND `type` = %d AND `uid` = %d",
|
||||||
dbesc($file),
|
dbesc($file),
|
||||||
|
|
|
@ -21,22 +21,19 @@ function starred_init(App $a) {
|
||||||
killme();
|
killme();
|
||||||
}
|
}
|
||||||
|
|
||||||
$r = q("SELECT `starred` FROM `item` WHERE `uid` = %d AND `id` = %d LIMIT 1",
|
$item = Item::selectForUser(local_user(), ['starred'], ['uid' => local_user(), 'id' => $message_id]);
|
||||||
intval(local_user()),
|
if (!DBM::is_result($item)) {
|
||||||
intval($message_id)
|
|
||||||
);
|
|
||||||
if (! DBM::is_result($r)) {
|
|
||||||
killme();
|
killme();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (! intval($r[0]['starred'])) {
|
if (!intval($item['starred'])) {
|
||||||
$starred = 1;
|
$starred = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
Item::update(['starred' => $starred], ['id' => $message_id]);
|
Item::update(['starred' => $starred], ['id' => $message_id]);
|
||||||
|
|
||||||
// See if we've been passed a return path to redirect to
|
// See if we've been passed a return path to redirect to
|
||||||
$return_path = ((x($_REQUEST,'return')) ? $_REQUEST['return'] : '');
|
$return_path = (x($_REQUEST,'return') ? $_REQUEST['return'] : '');
|
||||||
if ($return_path) {
|
if ($return_path) {
|
||||||
$rand = '_=' . time();
|
$rand = '_=' . time();
|
||||||
if (strpos($return_path, '?')) {
|
if (strpos($return_path, '?')) {
|
||||||
|
|
|
@ -175,23 +175,19 @@ EOT;
|
||||||
}
|
}
|
||||||
|
|
||||||
// if the original post is on this site, update it.
|
// if the original post is on this site, update it.
|
||||||
|
$original_item = Item::selectFirst(['tag','id','uid'], ['origin' => true, 'uri' => $item['uri']]);
|
||||||
$r = q("SELECT `tag`,`id`,`uid` FROM `item` WHERE `origin`=1 AND `uri`='%s' LIMIT 1",
|
if (DBM::is_result($original_item)) {
|
||||||
dbesc($item['uri'])
|
|
||||||
);
|
|
||||||
|
|
||||||
if (DBM::is_result($r)) {
|
|
||||||
$x = q("SELECT `blocktags` FROM `user` WHERE `uid`=%d LIMIT 1",
|
$x = q("SELECT `blocktags` FROM `user` WHERE `uid`=%d LIMIT 1",
|
||||||
intval($r[0]['uid'])
|
intval($original_item['uid'])
|
||||||
);
|
);
|
||||||
$t = q("SELECT COUNT(`tid`) AS `tcount` FROM `term` WHERE `oid`=%d AND `term`='%s'",
|
$t = q("SELECT COUNT(`tid`) AS `tcount` FROM `term` WHERE `oid`=%d AND `term`='%s'",
|
||||||
intval($r[0]['id']),
|
intval($original_item['id']),
|
||||||
dbesc($term)
|
dbesc($term)
|
||||||
);
|
);
|
||||||
|
|
||||||
if (DBM::is_result($x) && !$x[0]['blocktags'] && $t[0]['tcount'] == 0){
|
if (DBM::is_result($x) && !$x[0]['blocktags'] && $t[0]['tcount'] == 0){
|
||||||
q("INSERT INTO term (`oid`, `otype`, `type`, `term`, `url`, `uid`) VALUE (%d, %d, %d, '%s', '%s', %d)",
|
q("INSERT INTO term (`oid`, `otype`, `type`, `term`, `url`, `uid`) VALUE (%d, %d, %d, '%s', '%s', %d)",
|
||||||
intval($r[0]['id']),
|
intval($original_item['id']),
|
||||||
$term_objtype,
|
$term_objtype,
|
||||||
TERM_HASHTAG,
|
TERM_HASHTAG,
|
||||||
dbesc($term),
|
dbesc($term),
|
||||||
|
|
|
@ -938,10 +938,10 @@ class DFRN
|
||||||
|
|
||||||
if (($item['parent'] != $item['id']) || ($item['parent-uri'] !== $item['uri']) || (($item['thr-parent'] !== '') && ($item['thr-parent'] !== $item['uri']))) {
|
if (($item['parent'] != $item['id']) || ($item['parent-uri'] !== $item['uri']) || (($item['thr-parent'] !== '') && ($item['thr-parent'] !== $item['uri']))) {
|
||||||
$parent_item = (($item['thr-parent']) ? $item['thr-parent'] : $item['parent-uri']);
|
$parent_item = (($item['thr-parent']) ? $item['thr-parent'] : $item['parent-uri']);
|
||||||
$parent = q("SELECT `guid`,`plink` FROM `item` WHERE `uri` = '%s' AND `uid` = %d", dbesc($parent_item), intval($item['uid']));
|
$parent = Item::selectFirst(['guid','plink'], ['uri' => $parent_item, 'uid' => $item['uid']]);
|
||||||
$attributes = ["ref" => $parent_item, "type" => "text/html",
|
$attributes = ["ref" => $parent_item, "type" => "text/html",
|
||||||
"href" => $parent[0]['plink'],
|
"href" => $parent['plink'],
|
||||||
"dfrn:diaspora_guid" => $parent[0]['guid']];
|
"dfrn:diaspora_guid" => $parent['guid']];
|
||||||
XML::addElement($doc, $entry, "thr:in-reply-to", "", $attributes);
|
XML::addElement($doc, $entry, "thr:in-reply-to", "", $attributes);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2161,13 +2161,8 @@ class DFRN
|
||||||
|
|
||||||
$is_a_remote_action = false;
|
$is_a_remote_action = false;
|
||||||
|
|
||||||
$r = q(
|
$parent = Item::selectFirst(['parent-uri'], ['uri' => $item["parent-uri"]]);
|
||||||
"SELECT `item`.`parent-uri` FROM `item`
|
if (DBM::is_result($parent)) {
|
||||||
WHERE `item`.`uri` = '%s'
|
|
||||||
LIMIT 1",
|
|
||||||
dbesc($item["parent-uri"])
|
|
||||||
);
|
|
||||||
if (DBM::is_result($r)) {
|
|
||||||
$r = q(
|
$r = q(
|
||||||
"SELECT `item`.`forum_mode`, `item`.`wall` FROM `item`
|
"SELECT `item`.`forum_mode`, `item`.`wall` FROM `item`
|
||||||
INNER JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
|
INNER JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
|
||||||
|
@ -2175,9 +2170,9 @@ class DFRN
|
||||||
AND `item`.`uid` = %d
|
AND `item`.`uid` = %d
|
||||||
$sql_extra
|
$sql_extra
|
||||||
LIMIT 1",
|
LIMIT 1",
|
||||||
dbesc($r[0]["parent-uri"]),
|
dbesc($parent["parent-uri"]),
|
||||||
dbesc($r[0]["parent-uri"]),
|
dbesc($parent["parent-uri"]),
|
||||||
dbesc($r[0]["parent-uri"]),
|
dbesc($parent["parent-uri"]),
|
||||||
intval($importer["importer_uid"])
|
intval($importer["importer_uid"])
|
||||||
);
|
);
|
||||||
if (DBM::is_result($r)) {
|
if (DBM::is_result($r)) {
|
||||||
|
@ -2318,25 +2313,15 @@ class DFRN
|
||||||
$item["gravity"] = GRAVITY_LIKE;
|
$item["gravity"] = GRAVITY_LIKE;
|
||||||
// only one like or dislike per person
|
// only one like or dislike per person
|
||||||
// splitted into two queries for performance issues
|
// splitted into two queries for performance issues
|
||||||
$r = q(
|
$condition = ['uid' => $item["uid"], 'author-id' => $item["author-id"],
|
||||||
"SELECT `id` FROM `item` WHERE `uid` = %d AND `author-id` = %d AND `verb` = '%s' AND `parent-uri` = '%s' AND NOT `deleted` LIMIT 1",
|
'verb' => $item["verb"], 'parent-uri' => $item["parent-uri"]];
|
||||||
intval($item["uid"]),
|
if (dba::exists('item', $condition)) {
|
||||||
intval($item["author-id"]),
|
|
||||||
dbesc($item["verb"]),
|
|
||||||
dbesc($item["parent-uri"])
|
|
||||||
);
|
|
||||||
if (DBM::is_result($r)) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
$r = q(
|
$condition = ['uid' => $item["uid"], 'author-id' => $item["author-id"],
|
||||||
"SELECT `id` FROM `item` WHERE `uid` = %d AND `author-id` = %d AND `verb` = '%s' AND `thr-parent` = '%s' AND NOT `deleted` LIMIT 1",
|
'verb' => $item["verb"], 'thr-parent' => $item["parent-uri"]];
|
||||||
intval($item["uid"]),
|
if (dba::exists('item', $condition)) {
|
||||||
intval($item["author-id"]),
|
|
||||||
dbesc($item["verb"]),
|
|
||||||
dbesc($item["parent-uri"])
|
|
||||||
);
|
|
||||||
if (DBM::is_result($r)) {
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
@ -2348,22 +2333,17 @@ class DFRN
|
||||||
$xt = XML::parseString($item["target"], false);
|
$xt = XML::parseString($item["target"], false);
|
||||||
|
|
||||||
if ($xt->type == ACTIVITY_OBJ_NOTE) {
|
if ($xt->type == ACTIVITY_OBJ_NOTE) {
|
||||||
$r = q(
|
$item_tag = Item::selectFirst(['id', 'tag'], ['uri' => $xt->id, 'uid' => $importer["importer_uid"]]);
|
||||||
"SELECT `id`, `tag` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
if (!DBM::is_result($item_tag)) {
|
||||||
dbesc($xt->id),
|
|
||||||
intval($importer["importer_uid"])
|
|
||||||
);
|
|
||||||
|
|
||||||
if (!DBM::is_result($r)) {
|
|
||||||
logger("Query failed to execute, no result returned in " . __FUNCTION__);
|
logger("Query failed to execute, no result returned in " . __FUNCTION__);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
// extract tag, if not duplicate, add to parent item
|
// extract tag, if not duplicate, add to parent item
|
||||||
if ($xo->content) {
|
if ($xo->content) {
|
||||||
if (!stristr($r[0]["tag"], trim($xo->content))) {
|
if (!stristr($item_tag["tag"], trim($xo->content))) {
|
||||||
$tag = $r[0]["tag"] . (strlen($r[0]["tag"]) ? ',' : '') . '#[url=' . $xo->id . ']'. $xo->content . '[/url]';
|
$tag = $item_tag["tag"] . (strlen($item_tag["tag"]) ? ',' : '') . '#[url=' . $xo->id . ']'. $xo->content . '[/url]';
|
||||||
Item::update(['tag' => $tag], ['id' => $r[0]["id"]]);
|
Item::update(['tag' => $tag], ['id' => $item_tag["id"]]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -438,12 +438,10 @@ class OnePoll
|
||||||
$refs_arr[$x] = "'" . Email::msgid2iri(str_replace(['<', '>', ' '],['', '', ''],dbesc($refs_arr[$x]))) . "'";
|
$refs_arr[$x] = "'" . Email::msgid2iri(str_replace(['<', '>', ' '],['', '', ''],dbesc($refs_arr[$x]))) . "'";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
$qstr = implode(',', $refs_arr);
|
$condition = ['uri' => $refs_arr, 'uid' => $importer_uid];
|
||||||
$r = q("SELECT `parent-uri` FROM `item` USE INDEX (`uid_uri`) WHERE `uri` IN ($qstr) AND `uid` = %d LIMIT 1",
|
$parent = Item::selectFirst(['parent-uri'], $condition);
|
||||||
intval($importer_uid)
|
if (DBM::is_result($parent)) {
|
||||||
);
|
$datarray['parent-uri'] = $parent['parent-uri']; // Set the parent as the top-level item
|
||||||
if (DBM::is_result($r)) {
|
|
||||||
$datarray['parent-uri'] = $r[0]['parent-uri']; // Set the parent as the top-level item
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -472,12 +470,11 @@ class OnePoll
|
||||||
|
|
||||||
// If it seems to be a reply but a header couldn't be found take the last message with matching subject
|
// If it seems to be a reply but a header couldn't be found take the last message with matching subject
|
||||||
if (empty($datarray['parent-uri']) && $reply) {
|
if (empty($datarray['parent-uri']) && $reply) {
|
||||||
$r = q("SELECT `parent-uri` FROM `item` WHERE `title` = \"%s\" AND `uid` = %d AND `network` = '%s' ORDER BY `created` DESC LIMIT 1",
|
$condition = ['title' => $datarray['title'], 'uid' => importer_uid, 'network' => NETWORK_MAIL];
|
||||||
dbesc(protect_sprintf($datarray['title'])),
|
$params = ['order' => ['created' => true]];
|
||||||
intval($importer_uid),
|
$parent = Item::selectFirst(['parent-uri'], $condition, $params);
|
||||||
dbesc(NETWORK_MAIL));
|
if (DBM::is_result($parent)) {
|
||||||
if (DBM::is_result($r)) {
|
$datarray['parent-uri'] = $parent['parent-uri'];
|
||||||
$datarray['parent-uri'] = $r[0]['parent-uri'];
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ class TagUpdate
|
||||||
|
|
||||||
dba::close($messages);
|
dba::close($messages);
|
||||||
|
|
||||||
$messages = dba::p("SELECT `guid` FROM `item` WHERE `uid` = 0");
|
$messages = dba::select('item', ['guid'], ['uid' => 0]);
|
||||||
|
|
||||||
logger('fetched messages: ' . dba::num_rows($messages));
|
logger('fetched messages: ' . dba::num_rows($messages));
|
||||||
while ($message = dba::fetch(messages)) {
|
while ($message = dba::fetch(messages)) {
|
||||||
|
|
Loading…
Reference in a new issue