Version 1.1 ()
------------------------------------------------------------------------
+ * Huge SQL improvement by "caching" the current timestamp for
+ 5 minutes, so that an SQL string for the central logic will
+ stay the same for a 5 minute window, thus relying on the DB-Server
+ to cache query results more efficiently. Major thanks to
+ Matthew Groeninger.
+
* Enhanced nl2br plugin so that it will NOT put breaks into pre-
defined tags like <pre>, <code> etc. Not enabled by default.
Thanks to Brendon K from the forums!
if (!isset($serendipity['GET']['adminModule']) && !serendipity_db_bool($serendipity['showFutureEntries'])) {
if (!empty($cond['and'])) {
- $cond['and'] .= " AND e.timestamp <= " . time();
+ $cond['and'] .= " AND e.timestamp <= " . serendipity_db_time();
} else {
- $cond['and'] = "WHERE e.timestamp <= " . time();
+ $cond['and'] = "WHERE e.timestamp <= " . serendipity_db_time();
}
}
$cond['and'] = " "; // intentional dummy string to attach dummy AND parts to the WHERE clauses
if ($fetchDrafts == 'false') {
- $cond['and'] = " AND e.isdraft = 'false' " . (!serendipity_db_bool($serendipity['showFutureEntries']) ? " AND e.timestamp <= " . time() : '');
+ $cond['and'] = " AND e.isdraft = 'false' " . (!serendipity_db_bool($serendipity['showFutureEntries']) ? " AND e.timestamp <= " . serendipity_db_time() : '');
}
if (isset($serendipity['GET']['adminModule']) && $serendipity['GET']['adminModule'] == 'entries' && !serendipity_checkPermission('adminEntriesMaintainOthers')) {
}
}
- $cond['and'] = " AND isdraft = 'false' " . (!serendipity_db_bool($serendipity['showFutureEntries']) ? " AND timestamp <= " . time() : '');
+ $cond['and'] = " AND isdraft = 'false' " . (!serendipity_db_bool($serendipity['showFutureEntries']) ? " AND timestamp <= " . serendipity_db_time() : '');
serendipity_plugin_api::hook_event('frontend_fetchentries', $cond, array('source' => 'search', 'term' => $term));
serendipity_ACL_SQL($cond, 'limited');
WHERE isdraft = 'false'
AND timestamp >= $s
AND timestamp <= $e "
- . (!serendipity_db_bool($serendipity['showFutureEntries']) ? " AND timestamp <= " . time() : '')
+ . (!serendipity_db_bool($serendipity['showFutureEntries']) ? " AND timestamp <= " . serendipity_db_time() : '')
. (!empty($cat_sql) ? ' AND ' . $cat_sql : '')
. (!empty($serendipity['GET']['viewAuthor']) ? ' AND e.authorid = ' . (int)$serendipity['GET']['viewAuthor'] : '') . "
GROUP BY ec.entryid", false, 'assoc');
$res = serendipity_db_query("SELECT SUM(e.comments) AS sum
FROM {$serendipity['dbPrefix']}entries AS e
WHERE e.isdraft = 'false'
- " . (!serendipity_db_bool($serendipity['showFutureEntries']) ? " AND e.timestamp <= " . time() : ''), true, 'assoc');
+ " . (!serendipity_db_bool($serendipity['showFutureEntries']) ? " AND e.timestamp <= " . serendipity_db_time() : ''), true, 'assoc');
return $res['sum'];
case 'trackbacks':
$res = serendipity_db_query("SELECT SUM(e.trackbacks) AS sum
FROM {$serendipity['dbPrefix']}entries AS e
WHERE e.isdraft = 'false'
- " . (!serendipity_db_bool($serendipity['showFutureEntries']) ? " AND e.timestamp <= " . time() : ''), true, 'assoc');
+ " . (!serendipity_db_bool($serendipity['showFutureEntries']) ? " AND e.timestamp <= " . serendipity_db_time() : ''), true, 'assoc');
return $res['sum'];
case 'entries':
$res = serendipity_db_query("SELECT COUNT(e.id) AS sum
FROM {$serendipity['dbPrefix']}entries AS e
WHERE e.isdraft = 'false'
- " . (!serendipity_db_bool($serendipity['showFutureEntries']) ? " AND e.timestamp <= " . time() : ''), true, 'assoc');
+ " . (!serendipity_db_bool($serendipity['showFutureEntries']) ? " AND e.timestamp <= " . serendipity_db_time() : ''), true, 'assoc');
return $res['sum'];
}
$cond = array();
$cond['and'] = "WHERE e.timestamp >= " . serendipity_serverOffsetHour($firstts, true) . "
AND e.timestamp <= " . serendipity_serverOffsetHour($endts, true) . "
- " . (!serendipity_db_bool($serendipity['showFutureEntries']) ? " AND e.timestamp <= " . time() : '') . "
+ " . (!serendipity_db_bool($serendipity['showFutureEntries']) ? " AND e.timestamp <= " . serendipity_db_time() : '') . "
AND e.isdraft = 'false'";
serendipity_plugin_api::hook_event('frontend_fetchentries', $cond, array('noCache' => false, 'noSticky' => false, 'source' => 'calendar'));
WHERE ec.categoryid = c.categoryid
AND ec.entryid = e.id
AND e.isdraft = 'false'
- " . (!serendipity_db_bool($serendipity['showFutureEntries']) ? " AND e.timestamp <= " . time() : '') . "
+ " . (!serendipity_db_bool($serendipity['showFutureEntries']) ? " AND e.timestamp <= " . serendipity_db_time() : '') . "
GROUP BY c.categoryid, c.category_name
ORDER BY postings DESC";
$category_rows = serendipity_db_query($cat_sql);
$_GET['serendipity']['action'] = 'read';
$_GET['serendipity']['id'] = $id;
- $title = serendipity_db_query("SELECT title FROM {$serendipity['dbPrefix']}entries WHERE id=$id AND isdraft = 'false' " . (!serendipity_db_bool($serendipity['showFutureEntries']) ? " AND timestamp <= " . time() : ''), true);
+ $title = serendipity_db_query("SELECT title FROM {$serendipity['dbPrefix']}entries WHERE id=$id AND isdraft = 'false' " . (!serendipity_db_bool($serendipity['showFutureEntries']) ? " AND timestamp <= " . serendipity_db_time() : ''), true);
if (is_array($title)) {
$serendipity['head_title'] = htmlspecialchars($title[0]);
$serendipity['head_subtitle'] = htmlspecialchars($serendipity['blogTitle']);