aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Willingham <founder@kakste.com>2013-01-03 09:17:11 +0000
committerThomas Willingham <founder@kakste.com>2013-01-03 09:17:11 +0000
commitb1a02cf450c92e88f3375d15b153d0046bc5c724 (patch)
treea3c4db0f0dd1f9b0bde31ec1f78117d9acb19907
parent577236c372b4eaa1e93d60d7bedaecea8ef8c97f (diff)
parent1e7a5560f5a5887641d120e77f0f9993bf3b58b9 (diff)
downloadvolse-hubzilla-b1a02cf450c92e88f3375d15b153d0046bc5c724.tar.gz
volse-hubzilla-b1a02cf450c92e88f3375d15b153d0046bc5c724.tar.bz2
volse-hubzilla-b1a02cf450c92e88f3375d15b153d0046bc5c724.zip
Merge remote-tracking branch 'upstream/master'
-rw-r--r--boot.php2
-rw-r--r--images/red.pngbin4909 -> 1265 bytes
-rwxr-xr-xinclude/items.php18
-rw-r--r--include/notifier.php4
-rw-r--r--include/zot.php8
-rw-r--r--install/database.sql2
-rw-r--r--install/update.php10
-rw-r--r--mod/profile.php19
-rw-r--r--mod/search.php112
-rw-r--r--mod/zfinger.php2
-rw-r--r--version.inc2
11 files changed, 134 insertions, 45 deletions
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', '<br />' . "\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
--- a/images/red.png
+++ b/images/red.png
Binary files differ
diff --git a/include/items.php b/include/items.php
index 3cfdd59da..432f26804 100755
--- a/include/items.php
+++ b/include/items.php
@@ -4200,13 +4200,15 @@ function fetch_post_tags($items) {
$tag_finder = array();
if($items) {
foreach($items as $item) {
- if(array_key_exists('item_id',$item)) {
- if(! in_array($item['item_id'],$tag_finder))
- $tag_finder[] = $item['item_id'];
- }
- else {
- if(! in_array($item['id'],$tag_finder))
- $tag_finder[] = $item['id'];
+ if(is_array($item)) {
+ if(array_key_exists('item_id',$item)) {
+ if(! in_array($item['item_id'],$tag_finder))
+ $tag_finder[] = $item['item_id'];
+ }
+ else {
+ if(! in_array($item['id'],$tag_finder))
+ $tag_finder[] = $item['id'];
+ }
}
}
}
@@ -4222,7 +4224,7 @@ function fetch_post_tags($items) {
for($x = 0; $x < count($items); $x ++) {
- if(count($tags)) {
+ if($tags) {
foreach($tags as $t) {
if(array_key_exists('item_id',$items[$x])) {
if($t['oid'] == $items[$x]['item_id']) {
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/include/zot.php b/include/zot.php
index 46f0bd397..5771b67d1 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -358,7 +358,13 @@ function zot_register_hub($arr) {
$guid_hash = base64url_encode(hash('whirlpool',$arr['guid'] . $arr['guid_sig'], true));
- $x = z_fetch_url($arr['url'] . '/.well-known/zot-info/?f=&hash=' . $guid_hash);
+ $url = $arr['url'] . '/.well-known/zot-info/?f=&guid_hash=' . $guid_hash;
+
+ logger('zot_register_hub: ' . $url);
+
+ $x = z_fetch_url($url);
+
+ logger('zot_register_hub: ' . print_r($x,true));
if($x['success']) {
$record = json_decode($x['body'],true);
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 @@
<?php
-define( 'UPDATE_VERSION' , 1014 );
+define( 'UPDATE_VERSION' , 1015 );
/**
*
@@ -211,3 +211,11 @@ function update_r1013() {
return UPDATE_SUCCESS;
return UPDATE_FAILED;
}
+
+function update_r1014() {
+ $r = q("ALTER TABLE `verify` CHANGE `id` `id` INT( 10 ) UNSIGNED NOT NULL AUTO_INCREMENT");
+ if($r)
+ return UPDATE_SUCCESS;
+ return UPDATE_FAILED;
+}
+
diff --git a/mod/profile.php b/mod/profile.php
index 68cc53f56..1865d69fc 100644
--- a/mod/profile.php
+++ b/mod/profile.php
@@ -28,11 +28,22 @@ function profile_aside(&$a) {
$profile = argv(1);
}
- profile_load($a,$which,$profile);
-
- $a->set_widget('archive',posted_date_widget($a->get_baseurl(true) . '/channel/' . $a->profile['nickname'],$a->profile['profile_uid'],true));
- $a->set_widget('categories',categories_widget($a->get_baseurl(true) . '/channel/' . $a->profile['nickname'],$cat));
+ $x = q("select uid as profile_uid from channel where address = '%s' limit 1",
+ dbesc(argv(1))
+ );
+ if($x) {
+ $a->profile = $x[0];
+ $channel_display = get_pconfig($a->profile['profile_uid'],'system','channel_format');
+ if(! $channel_display)
+ profile_load($a,$which,$profile);
+ if($channel_display === 'full')
+ $a->page['template'] = 'full';
+ else {
+ $a->set_widget('archive',posted_date_widget($a->get_baseurl(true) . '/channel/' . $a->profile['nickname'],$a->profile['profile_uid'],true));
+ $a->set_widget('categories',categories_widget($a->get_baseurl(true) . '/channel/' . $a->profile['nickname'],$cat));
+ }
+ }
}
diff --git a/mod/search.php b/mod/search.php
index 3f34587ef..6f40ad4b0 100644
--- a/mod/search.php
+++ b/mod/search.php
@@ -88,6 +88,9 @@ function search_content(&$a) {
require_once('include/conversation.php');
require_once('include/items.php');
+
+ $observer = $a->get_observer();
+
$o = '<div id="live-search"></div>' . "\r\n";
$o .= '<h3>' . t('Search') . '</h3>';
@@ -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 .= '<div id="live-channel"></div>' . "\r\n";
+ $o .= "<script> var profile_uid = " . $a->profile['profile_uid']
+ . "; var netargs = '?f='; var profile_page = " . $a->pager['page'] . "; </script>\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;
}
diff --git a/mod/zfinger.php b/mod/zfinger.php
index b1de33fb7..b13af50b7 100644
--- a/mod/zfinger.php
+++ b/mod/zfinger.php
@@ -42,7 +42,7 @@ function zfinger_init(&$a) {
dbesc($zhash)
);
}
- if(strlen($zguid) && strlen($zguid_sig)) {
+ elseif(strlen($zguid) && strlen($zguid_sig)) {
$r = q("select channel.*, xchan.* from channel left join xchan on channel_hash = xchan_hash
where channel_guid = '%s' and channel_guid_sig = '%s' limit 1",
dbesc($zguid),
diff --git a/version.inc b/version.inc
index 634eab4e6..f3645eb72 100644
--- a/version.inc
+++ b/version.inc
@@ -1 +1 @@
-2013-01-01.187
+2013-01-02.188