pass notify endpoint with friend suggestions
This commit is contained in:
parent
f7964efa52
commit
3fe1e19725
6 changed files with 49 additions and 11 deletions
2
boot.php
2
boot.php
|
@ -6,7 +6,7 @@ ini_set('pcre.backtrack_limit', 250000);
|
||||||
|
|
||||||
define ( 'FRIENDIKA_VERSION', '2.2.1023' );
|
define ( 'FRIENDIKA_VERSION', '2.2.1023' );
|
||||||
define ( 'DFRN_PROTOCOL_VERSION', '2.21' );
|
define ( 'DFRN_PROTOCOL_VERSION', '2.21' );
|
||||||
define ( 'DB_UPDATE_VERSION', 1069 );
|
define ( 'DB_UPDATE_VERSION', 1070 );
|
||||||
|
|
||||||
define ( 'EOL', "<br />\r\n" );
|
define ( 'EOL', "<br />\r\n" );
|
||||||
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
|
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
|
||||||
|
|
|
@ -509,7 +509,8 @@ CREATE TABLE IF NOT EXISTS `fcontact` (
|
||||||
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
|
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
|
||||||
`url` CHAR( 255 ) NOT NULL ,
|
`url` CHAR( 255 ) NOT NULL ,
|
||||||
`name` CHAR( 255 ) NOT NULL ,
|
`name` CHAR( 255 ) NOT NULL ,
|
||||||
`photo` CHAR( 255 ) NOT NULL
|
`photo` CHAR( 255 ) NOT NULL ,
|
||||||
|
`request` CHAR( 255 ) NOT NULL
|
||||||
) ENGINE = MYISAM DEFAULT CHARSET=utf8;
|
) ENGINE = MYISAM DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `ffinder` (
|
CREATE TABLE IF NOT EXISTS `ffinder` (
|
||||||
|
@ -526,6 +527,7 @@ CREATE TABLE IF NOT EXISTS `fsuggest` (
|
||||||
`cid` INT NOT NULL ,
|
`cid` INT NOT NULL ,
|
||||||
`name` CHAR( 255 ) NOT NULL ,
|
`name` CHAR( 255 ) NOT NULL ,
|
||||||
`url` CHAR( 255 ) NOT NULL ,
|
`url` CHAR( 255 ) NOT NULL ,
|
||||||
|
`request` CHAR( 255 ) NOT NULL,
|
||||||
`photo` CHAR( 255 ) NOT NULL ,
|
`photo` CHAR( 255 ) NOT NULL ,
|
||||||
`note` TEXT NOT NULL ,
|
`note` TEXT NOT NULL ,
|
||||||
`created` DATETIME NOT NULL
|
`created` DATETIME NOT NULL
|
||||||
|
|
|
@ -71,6 +71,16 @@ function notifier_run($argv, $argc){
|
||||||
if(! count($items))
|
if(! count($items))
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
elseif($cmd === 'suggest') {
|
||||||
|
$suggest = q("SELECT * FROM `fsuggest` WHERE `id` = %d LIMIT 1",
|
||||||
|
intval($item_id)
|
||||||
|
);
|
||||||
|
if(! count($suggest))
|
||||||
|
return;
|
||||||
|
$uid = $suggest[0]['uid'];
|
||||||
|
$recipients[] = $suggest[0]['cid'];
|
||||||
|
$item = $suggest[0];
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
|
|
||||||
// find ancestors
|
// find ancestors
|
||||||
|
@ -126,7 +136,7 @@ function notifier_run($argv, $argc){
|
||||||
// fill this in with a single salmon slap if applicable
|
// fill this in with a single salmon slap if applicable
|
||||||
$slap = '';
|
$slap = '';
|
||||||
|
|
||||||
if($cmd != 'mail') {
|
if($cmd != 'mail' && $cmd != 'suggest') {
|
||||||
|
|
||||||
require_once('include/group.php');
|
require_once('include/group.php');
|
||||||
|
|
||||||
|
@ -236,6 +246,26 @@ function notifier_run($argv, $argc){
|
||||||
'$parent_id' => xmlify($item['parent-uri'])
|
'$parent_id' => xmlify($item['parent-uri'])
|
||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
elseif($cmd === 'suggest') {
|
||||||
|
$notify_hub = false; // suggestions are not public
|
||||||
|
|
||||||
|
$sugg_template = get_markup_template('atom_suggest.tpl');
|
||||||
|
|
||||||
|
$atom .= replace_macros($sugg_template, array(
|
||||||
|
'$name' => xmlify($item['name']),
|
||||||
|
'$url' => xmlify($item['url']),
|
||||||
|
'$photo' => xmlify($item['photo']),
|
||||||
|
'$request' => xmlify($item['request']),
|
||||||
|
'$note' => xmlify($item['note'])
|
||||||
|
));
|
||||||
|
|
||||||
|
// We don't need this any more
|
||||||
|
|
||||||
|
q("DELETE FROM `fsuggest` WHERE `id` = %d LIMIT 1",
|
||||||
|
intval($item['id'])
|
||||||
|
);
|
||||||
|
|
||||||
|
}
|
||||||
else {
|
else {
|
||||||
if($followup) {
|
if($followup) {
|
||||||
foreach($items as $item) { // there is only one item
|
foreach($items as $item) { // there is only one item
|
||||||
|
|
|
@ -165,6 +165,7 @@ function dfrn_notify_post(&$a) {
|
||||||
$fsugg['name'] = notags(unxmlify($base['name'][0]['data']));
|
$fsugg['name'] = notags(unxmlify($base['name'][0]['data']));
|
||||||
$fsugg['photo'] = notags(unxmlify($base['photo'][0]['data']));
|
$fsugg['photo'] = notags(unxmlify($base['photo'][0]['data']));
|
||||||
$fsugg['url'] = notags(unxmlify($base['url'][0]['data']));
|
$fsugg['url'] = notags(unxmlify($base['url'][0]['data']));
|
||||||
|
$fsugg['request'] = notags(unxmlify($base['request'][0]['data']));
|
||||||
$fsugg['body'] = escape_tags(unxmlify($base['note'][0]['data']));
|
$fsugg['body'] = escape_tags(unxmlify($base['note'][0]['data']));
|
||||||
|
|
||||||
// Does our member already have a friend matching this description?
|
// Does our member already have a friend matching this description?
|
||||||
|
@ -180,24 +181,25 @@ function dfrn_notify_post(&$a) {
|
||||||
// Do we already have an fcontact record for this person?
|
// Do we already have an fcontact record for this person?
|
||||||
|
|
||||||
$fid = 0;
|
$fid = 0;
|
||||||
$r = q("SELECT * FROM `fcontact` WHERE `url` = '%s' AND `name` = '%s' AND `photo` = '%s' LIMIT 1",
|
$r = q("SELECT * FROM `fcontact` WHERE `url` = '%s' AND `name` = '%s' AND `request` = '%s' LIMIT 1",
|
||||||
dbesc($fsugg['url']),
|
dbesc($fsugg['url']),
|
||||||
dbesc($fsugg['name']),
|
dbesc($fsugg['name']),
|
||||||
dbesc($fsugg['photo'])
|
dbesc($fsugg['request'])
|
||||||
);
|
);
|
||||||
if(count($r)) {
|
if(count($r)) {
|
||||||
$fid = $r[0]['id'];
|
$fid = $r[0]['id'];
|
||||||
}
|
}
|
||||||
if(! $fid)
|
if(! $fid)
|
||||||
$r = q("INSERT INTO `fcontact` ( `name`,`url`,`photo` ) VALUES ( '%s', '%s', '%s' ) ",
|
$r = q("INSERT INTO `fcontact` ( `name`,`url`,`photo`,`request` ) VALUES ( '%s', '%s', '%s', '%s' ) ",
|
||||||
dbesc($fsugg['name']),
|
dbesc($fsugg['name']),
|
||||||
dbesc($fsugg['url']),
|
dbesc($fsugg['url']),
|
||||||
dbesc($fsugg['photo'])
|
dbesc($fsugg['photo']),
|
||||||
|
dbesc($fsugg['request'])
|
||||||
);
|
);
|
||||||
$r = q("SELECT * FROM `fcontact` WHERE `url` = '%s' AND `name` = '%s' AND `photo` = '%s' LIMIT 1",
|
$r = q("SELECT * FROM `fcontact` WHERE `url` = '%s' AND `name` = '%s' AND `request` = '%s' LIMIT 1",
|
||||||
dbesc($fsugg['url']),
|
dbesc($fsugg['url']),
|
||||||
dbesc($fsugg['name']),
|
dbesc($fsugg['name']),
|
||||||
dbesc($fsugg['photo'])
|
dbesc($fsugg['request'])
|
||||||
);
|
);
|
||||||
if(count($r)) {
|
if(count($r)) {
|
||||||
$fid = $r[0]['id'];
|
$fid = $r[0]['id'];
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<?php
|
<?php
|
||||||
|
|
||||||
define( 'UPDATE_VERSION' , 1069 );
|
define( 'UPDATE_VERSION' , 1070 );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
|
@ -561,4 +561,7 @@ function update_1068() {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function update_1069() {
|
||||||
|
q("ALTER TABLE `fsuggest` ADD `request` CHAR( 255 ) NOT NULL AFTER `url` ");
|
||||||
|
q("ALTER TABLE `fcontact` ADD `request` CHAR( 255 ) NOT NULL AFTER `photo` ");
|
||||||
|
}
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
<dfrn:url>$url</dfrn:url>
|
<dfrn:url>$url</dfrn:url>
|
||||||
<dfrn:name>$name</dfrn:name>
|
<dfrn:name>$name</dfrn:name>
|
||||||
<dfrn:photo>$photo</dfrn:photo>
|
<dfrn:photo>$photo</dfrn:photo>
|
||||||
|
<dfrn:request>$request</dfrn:request>
|
||||||
<dfrn:note>$note</dfrn:note>
|
<dfrn:note>$note</dfrn:note>
|
||||||
|
|
||||||
</dfrn:suggest>
|
</dfrn:suggest>
|
||||||
|
|
Loading…
Reference in a new issue