diff --git a/boot.php b/boot.php
index 9bee6c35c..b8742b458 100644
--- a/boot.php
+++ b/boot.php
@@ -16,7 +16,7 @@ require_once('include/features.php');
define ( 'FRIENDICA_PLATFORM', 'Friendica Red');
define ( 'FRIENDICA_VERSION', trim(file_get_contents('version.inc')) . 'R');
define ( 'ZOT_REVISION', 1 );
-define ( 'DB_UPDATE_VERSION', 1014 );
+define ( 'DB_UPDATE_VERSION', 1015 );
define ( 'EOL', '
' . "\r\n" );
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
diff --git a/images/red.png b/images/red.png
index 1d0a2950e..c7831bb52 100644
Binary files a/images/red.png and b/images/red.png differ
diff --git a/include/notifier.php b/include/notifier.php
index 71571cbd5..ebb6f7bb5 100644
--- a/include/notifier.php
+++ b/include/notifier.php
@@ -49,7 +49,7 @@ require_once('include/html2plain.php');
require_once('include/cli_startup.php');
require_once('include/zot.php');
-
+require_once('include/queue_fn.php');
function notifier_run($argv, $argc){
@@ -261,8 +261,8 @@ function notifier_run($argv, $argc){
stringify_array_elms($recipients);
if(! $recipients)
return;
- logger('notifier: recipients: ' . print_r($recipients,true));
+ logger('notifier: recipients: ' . print_r($recipients,true));
$env_recips = null;
if($private) {
diff --git a/install/database.sql b/install/database.sql
index 5a17346e1..a4d885541 100644
--- a/install/database.sql
+++ b/install/database.sql
@@ -805,7 +805,7 @@ CREATE TABLE IF NOT EXISTS `tokens` (
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `verify` (
- `id` int(10) unsigned NOT NULL,
+ `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`channel` int(10) unsigned NOT NULL DEFAULT '0',
`type` char(32) NOT NULL DEFAULT '',
`token` char(255) NOT NULL DEFAULT '',
diff --git a/install/update.php b/install/update.php
index 549ae63ed..cff3115a2 100644
--- a/install/update.php
+++ b/install/update.php
@@ -1,6 +1,6 @@
get_observer();
+
$o = '
' . "\r\n";
$o .= '' . t('Search') . '
';
@@ -136,26 +139,90 @@ function search_content(&$a) {
// OR your own posts if you are a logged in member
// No items will be shown if the member has a blocked profile wall.
- if(! get_pconfig(local_user(),'system','alt_pager')) {
- $r = q("SELECT distinct(`item`.`uri`) as `total`
- FROM `item` LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id` LEFT JOIN `user` ON `user`.`uid` = `item`.`uid`
- WHERE `item`.`visible` = 1 AND `item`.`deleted` = 0 and `item`.`moderated` = 0
- AND (( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' AND `item`.`private` = 0 AND `user`.`hidewall` = 0)
- OR `item`.`uid` = %d )
- AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
- $sql_extra group by `item`.`uri` ",
- intval(local_user())
- );
- if(count($r))
- $a->set_pager_total(count($r));
- if(! count($r)) {
- info( t('No results.') . EOL);
- return $o;
- }
+
+ if((! $update) && (! $load)) {
+
+ // This is ugly, but we can't pass the profile_uid through the session to the ajax updater,
+ // because browser prefetching might change it on us. We have to deliver it with the page.
+
+ $o .= '' . "\r\n";
+ $o .= "\r\n";
+
+ $a->page['htmlhead'] .= replace_macros(get_markup_template("build_query.tpl"),array(
+ '$baseurl' => z_root(),
+ '$pgtype' => 'search',
+ '$uid' => (($a->profile['profile_uid']) ? $a->profile['profile_uid'] : '0'),
+ '$gid' => '0',
+ '$cid' => '0',
+ '$cmin' => '0',
+ '$cmax' => '0',
+ '$star' => '0',
+ '$liked' => '0',
+ '$conv' => '0',
+ '$spam' => '0',
+ '$nouveau' => '0',
+ '$wall' => '0',
+ '$page' => (($a->pager['page'] != 1) ? $a->pager['page'] : 1),
+ '$search' => (($tag) ? '#' : '') . $search,
+ '$order' => '',
+ '$file' => '',
+ '$cats' => '',
+ '$dend' => '',
+ '$dbegin' => ''
+ ));
+
+
}
+
+
+ if(($update) && ($load)) {
+
+ $pager_sql = sprintf(" LIMIT %d, %d ",intval($a->pager['start']), intval($a->pager['itemspage']));
+
+ if($load) {
+ $r = q("SELECT distinct(uri), item.* from item
+ WHERE item_restrict = 0
+ AND (( `item`.`allow_cid` = '' AND `item`.`allow_gid` = '' AND `item`.`deny_cid` = '' AND `item`.`deny_gid` = '' AND not ( item_flags & %d ))
+ OR ( `item`.`uid` = %d ))
+ $sql_extra
+ group by uri ORDER BY created DESC $pager_sql ",
+ intval(ITEM_PRIVATE),
+ intval(local_user()),
+ intval(ABOOK_FLAG_BLOCKED)
+
+ );
+ }
+ else {
+ $r = array();
+ }
+ }
+
+ if($r) {
+
+ $parents_str = ids_to_querystr($r,'item_id');
+
+ $items = q("SELECT `item`.*, `item`.`id` AS `item_id`
+ FROM `item`
+ WHERE item_restrict = 0 and
+ $sql_extra ",
+ intval($a->profile['profile_uid']),
+ dbesc($parents_str)
+ );
+
+ xchan_query($items);
+ $items = fetch_post_tags($items);
+ $items = conv_sort($items,'created');
+
+ } else {
+ $items = array();
+ }
+
+
+
$r = q("SELECT distinct(`item`.`uri`), `item`.*, `item`.`id` AS `item_id`,
`contact`.`name`, `contact`.`photo`, `contact`.`url`, `contact`.`alias`, `contact`.`rel`,
`contact`.`network`, `contact`.`thumb`, `contact`.`self`, `contact`.`writable`,
@@ -177,7 +244,7 @@ function search_content(&$a) {
);
- $a = fetch_post_tags($a);
+// $a = fetch_post_tags($a);
if(! count($r)) {
info( t('No results.') . EOL);
@@ -192,12 +259,7 @@ function search_content(&$a) {
$o .= conversation($a,$r,'search',false);
- if(! get_pconfig(local_user(),'system','alt_pager')) {
- $o .= paginate($a);
- }
- else {
- $o .= alt_pager($a,count($r));
- }
+ $o .= alt_pager($a,count($r));
return $o;
}