diff options
author | friendica <info@friendica.com> | 2013-09-19 01:01:51 -0700 |
---|---|---|
committer | friendica <info@friendica.com> | 2013-09-19 01:01:51 -0700 |
commit | 63fc92b9e5d75f0dda0aecaaa0e1feb56d2b9744 (patch) | |
tree | 415659dab562b71736a628be8beb7103bc543886 | |
parent | 14f6bf06e7d0dd7a851715bb081e2f2a55d79c2a (diff) | |
download | volse-hubzilla-63fc92b9e5d75f0dda0aecaaa0e1feb56d2b9744.tar.gz volse-hubzilla-63fc92b9e5d75f0dda0aecaaa0e1feb56d2b9744.tar.bz2 volse-hubzilla-63fc92b9e5d75f0dda0aecaaa0e1feb56d2b9744.zip |
sync item_search with yesterday's network fix for collections. Add ud_addr to update table to store the target address since it's possible the mirroring directory won't yet have an xchan or hubloc they can link the ud_hash to and therefore mayn't know how to contact them.
-rwxr-xr-x | boot.php | 2 | ||||
-rwxr-xr-x | include/items.php | 18 | ||||
-rw-r--r-- | install/database.sql | 4 | ||||
-rw-r--r-- | install/update.php | 10 | ||||
-rw-r--r-- | version.inc | 2 |
5 files changed, 26 insertions, 10 deletions
@@ -44,7 +44,7 @@ require_once('include/taxonomy.php'); define ( 'RED_PLATFORM', 'Red Matrix' ); define ( 'RED_VERSION', trim(file_get_contents('version.inc')) . 'R'); define ( 'ZOT_REVISION', 1 ); -define ( 'DB_UPDATE_VERSION', 1071 ); +define ( 'DB_UPDATE_VERSION', 1072 ); define ( 'EOL', '<br />' . "\r\n" ); define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' ); diff --git a/include/items.php b/include/items.php index c83eceabe..a60e3fdd6 100755 --- a/include/items.php +++ b/include/items.php @@ -3645,16 +3645,22 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C return $result; } - $contacts = expand_groups(array($arr['group'])); - if((is_array($contacts)) && count($contacts)) { - $contact_str = implode(',',$contacts); + + $contact_str = ''; + $contacts = group_get_members($group); + if($contacts) { + foreach($contacts as $c) { + if($contact_str) + $contact_str .= ','; + $contact_str .= "'" . $c['xchan'] . "'"; + } } else { - $contact_str = ' 0 '; - $result['message'] = t('Collection has no members.'); + $contact_str = ' 0 '; + info( t('Group is empty')); } - $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND ( author_xchan IN ( $contact_str ) OR owner_xchan in ( $contact_str) or allow_gid like '" . protect_sprintf('%<' . dbesc($r[0]['hash']) . '>%') . "' ) and item_restrict = 0 ) "; + $sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND (( author_xchan IN ( $contact_str ) OR owner_xchan in ( $contact_str)) or allow_gid like '" . protect_sprintf('%<' . dbesc($r[0]['hash']) . '>%') . "' ) and item_restrict = 0 ) "; } elseif($arr['cid'] && $uid) { diff --git a/install/database.sql b/install/database.sql index 21d7575e9..a74b30d59 100644 --- a/install/database.sql +++ b/install/database.sql @@ -892,11 +892,13 @@ CREATE TABLE IF NOT EXISTS `updates` ( `ud_guid` char(255) NOT NULL DEFAULT '', `ud_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `ud_flags` int(11) NOT NULL DEFAULT '0', + `ud_addr` char(255) NOT NULL DEFAULT '', PRIMARY KEY (`ud_id`), KEY `ud_hash` (`ud_hash`), KEY `ud_guid` (`ud_guid`), KEY `ud_date` (`ud_date`), - KEY `ud_flags` (`ud_flags`) + KEY `ud_flags` (`ud_flags`), + KEY `ud_addr` (`ud_addr`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; CREATE TABLE IF NOT EXISTS `verify` ( diff --git a/install/update.php b/install/update.php index c135cc586..ccbdd79fd 100644 --- a/install/update.php +++ b/install/update.php @@ -1,6 +1,6 @@ <?php -define( 'UPDATE_VERSION' , 1071 ); +define( 'UPDATE_VERSION' , 1072 ); /** * @@ -805,3 +805,11 @@ ADD INDEX ( `ud_flags` )"); return UPDATE_FAILED; } +function update_r1071() { + $r = q("ALTER TABLE `updates` ADD `ud_addr` CHAR( 255 ) NOT NULL DEFAULT '', +ADD INDEX ( `ud_addr` ) "); + if($r) + return UPDATE_SUCCESS; + return UPDATE_FAILED; +} + diff --git a/version.inc b/version.inc index b1c3d8c72..d60d24690 100644 --- a/version.inc +++ b/version.inc @@ -1 +1 @@ -2013-09-18.440 +2013-09-19.441 |