mirror of
https://github.com/friendica/friendica
synced 2025-04-27 00:30:10 +00:00
We now use memcache if configured and installed.
This commit is contained in:
parent
deb2fee2f0
commit
ee5ada6991
13 changed files with 339 additions and 130 deletions
|
@ -18,42 +18,61 @@ function add_thread($itemid, $onlyshadow = false) {
|
|||
.implode("', '", array_values($item))
|
||||
."')");
|
||||
|
||||
logger("add_thread: Add thread for item ".$itemid." - ".print_r($result, true), LOGGER_DEBUG);
|
||||
logger("Add thread for item ".$itemid." - ".print_r($result, true), LOGGER_DEBUG);
|
||||
}
|
||||
}
|
||||
|
||||
function add_shadow_thread($itemid) {
|
||||
$items = q("SELECT `uid`, `wall`, `private`, `moderated`, `visible`, `contact-id`, `deleted`, `network`
|
||||
FROM `item` WHERE `id` = %d AND (`parent` = %d OR `parent` = 0) LIMIT 1", intval($itemid), intval($itemid));
|
||||
|
||||
if (!dbm::is_result($items)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$item = $items[0];
|
||||
|
||||
// is it already a copy?
|
||||
if (($itemid == 0) OR ($item['uid'] == 0))
|
||||
if (($itemid == 0) OR ($item['uid'] == 0)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Is it a visible public post?
|
||||
if (!$item["visible"] OR $item["deleted"] OR $item["moderated"] OR $item["private"])
|
||||
if (!$item["visible"] OR $item["deleted"] OR $item["moderated"] OR $item["private"]) {
|
||||
return;
|
||||
}
|
||||
|
||||
// is it an entry from a connector? Only add an entry for natively connected networks
|
||||
if (!in_array($item["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS, "")))
|
||||
if (!in_array($item["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS, ""))) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Only do these checks if the post isn't a wall post
|
||||
if (!$item["wall"]) {
|
||||
// Check, if hide-friends is activated - then don't do a shadow entry
|
||||
$r = q("SELECT `hide-friends` FROM `profile` WHERE `is-default` AND `uid` = %d AND NOT `hide-friends`",
|
||||
$item['uid']);
|
||||
if (!count($r))
|
||||
|
||||
if (!dbm::is_result($r)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// Check if the contact is hidden or blocked
|
||||
$r = q("SELECT `id` FROM `contact` WHERE NOT `hidden` AND NOT `blocked` AND `id` = %d",
|
||||
$item['contact-id']);
|
||||
if (!count($r))
|
||||
|
||||
if (!dbm::is_result($r)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Only add a shadow, if the profile isn't hidden
|
||||
$r = q("SELECT `uid` FROM `user` where `uid` = %d AND NOT `hidewall`", $item['uid']);
|
||||
if (!count($r))
|
||||
if (!dbm::is_result($r)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$item = q("SELECT * FROM `item` WHERE `id` = %d",
|
||||
intval($itemid));
|
||||
$item = q("SELECT * FROM `item` WHERE `id` = %d", intval($itemid));
|
||||
|
||||
if (count($item) AND ($item[0]["allow_cid"] == '') AND ($item[0]["allow_gid"] == '') AND
|
||||
($item[0]["deny_cid"] == '') AND ($item[0]["deny_gid"] == '')) {
|
||||
|
@ -61,7 +80,7 @@ function add_thread($itemid, $onlyshadow = false) {
|
|||
$r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `uid` = 0 LIMIT 1",
|
||||
dbesc($item['uri']));
|
||||
|
||||
if (!$r) {
|
||||
if (!dbm::is_result($r)) {
|
||||
// Preparing public shadow (removing user specific data)
|
||||
require_once("include/items.php");
|
||||
require_once("include/Contact.php");
|
||||
|
@ -72,7 +91,7 @@ function add_thread($itemid, $onlyshadow = false) {
|
|||
$item[0]['contact-id'] = get_contact($item[0]['author-link'], 0);
|
||||
$public_shadow = item_store($item[0], false, false, true);
|
||||
|
||||
logger("add_thread: Stored public shadow for post ".$itemid." under id ".$public_shadow, LOGGER_DEBUG);
|
||||
logger("Stored public shadow for thread ".$itemid." under id ".$public_shadow, LOGGER_DEBUG);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -193,8 +212,10 @@ function update_threads() {
|
|||
|
||||
logger("update_threads: fetched messages: ".count($messages));
|
||||
|
||||
while ($message = $db->qfetch())
|
||||
while ($message = $db->qfetch()) {
|
||||
add_thread($message["id"]);
|
||||
add_shadow_thread($message["id"]);
|
||||
}
|
||||
$db->qclose();
|
||||
}
|
||||
|
||||
|
@ -227,7 +248,7 @@ function update_shadow_copy() {
|
|||
|
||||
logger("fetched messages: ".count($messages));
|
||||
while ($message = $db->qfetch())
|
||||
add_thread($message["iid"], true);
|
||||
add_shadow_thread($message["iid"]);
|
||||
|
||||
$db->qclose();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue