add rating support to poco
This commit is contained in:
parent
ace1104d08
commit
e754845c80
2
boot.php
2
boot.php
@ -16,7 +16,7 @@ require_once('include/features.php');
|
|||||||
define ( 'FRIENDICA_PLATFORM', 'Friendica Red');
|
define ( 'FRIENDICA_PLATFORM', 'Friendica Red');
|
||||||
define ( 'FRIENDICA_VERSION', trim(file_get_contents('version.inc')) . 'R');
|
define ( 'FRIENDICA_VERSION', trim(file_get_contents('version.inc')) . 'R');
|
||||||
define ( 'ZOT_REVISION', 1 );
|
define ( 'ZOT_REVISION', 1 );
|
||||||
define ( 'DB_UPDATE_VERSION', 1028 );
|
define ( 'DB_UPDATE_VERSION', 1029 );
|
||||||
|
|
||||||
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' );
|
||||||
|
@ -37,13 +37,12 @@ function poco_load($xchan = null,$url = null) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$url = $url . '?f=&fields=displayName,hash,urls,photos' ;
|
$url = $url . '?f=&fields=displayName,hash,urls,photos,rating' ;
|
||||||
|
|
||||||
logger('poco_load: ' . $url, LOGGER_DEBUG);
|
logger('poco_load: ' . $url, LOGGER_DEBUG);
|
||||||
|
|
||||||
$s = z_fetch_url($url);
|
$s = z_fetch_url($url);
|
||||||
|
|
||||||
|
|
||||||
if(! $s['success']) {
|
if(! $s['success']) {
|
||||||
logger('poco_load: returns ' . print_r($s,true));
|
logger('poco_load: returns ' . print_r($s,true));
|
||||||
return;
|
return;
|
||||||
@ -67,9 +66,11 @@ function poco_load($xchan = null,$url = null) {
|
|||||||
$address = '';
|
$address = '';
|
||||||
$name = '';
|
$name = '';
|
||||||
$hash = '';
|
$hash = '';
|
||||||
|
$rating = 0;
|
||||||
|
|
||||||
$name = $entry['displayName'];
|
$name = $entry['displayName'];
|
||||||
$hash = $entry['hash'];
|
$hash = $entry['hash'];
|
||||||
|
$rating = ((array_key_exists('rating',$entry)) ? intval($entry['rating']) : 0);
|
||||||
|
|
||||||
if(x($entry,'urls') && is_array($entry['urls'])) {
|
if(x($entry,'urls') && is_array($entry['urls'])) {
|
||||||
foreach($entry['urls'] as $url) {
|
foreach($entry['urls'] as $url) {
|
||||||
@ -121,15 +122,17 @@ function poco_load($xchan = null,$url = null) {
|
|||||||
dbesc($hash)
|
dbesc($hash)
|
||||||
);
|
);
|
||||||
if(! $r) {
|
if(! $r) {
|
||||||
q("insert into xlink ( xlink_xchan, xlink_link, xlink_updated ) values ( '%s', '%s', '%s' ) ",
|
q("insert into xlink ( xlink_xchan, xlink_link, xlink_rating, xlink_updated ) values ( '%s', '%s', %d, '%s' ) ",
|
||||||
dbesc($xchan),
|
dbesc($xchan),
|
||||||
dbesc($hash),
|
dbesc($hash),
|
||||||
|
intval($rating),
|
||||||
dbesc(datetime_convert())
|
dbesc(datetime_convert())
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
q("update xlink set xlink_updated = '%s' where xlink_id = %d limit 1",
|
q("update xlink set xlink_updated = '%s', rating = %d where xlink_id = %d limit 1",
|
||||||
dbesc(datetime_convert()),
|
dbesc(datetime_convert()),
|
||||||
|
intval($rating),
|
||||||
intval($r[0]['xlink_id'])
|
intval($r[0]['xlink_id'])
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
@ -892,11 +892,13 @@ CREATE TABLE IF NOT EXISTS `xlink` (
|
|||||||
`xlink_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
`xlink_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||||
`xlink_xchan` char(255) NOT NULL DEFAULT '',
|
`xlink_xchan` char(255) NOT NULL DEFAULT '',
|
||||||
`xlink_link` char(255) NOT NULL DEFAULT '',
|
`xlink_link` char(255) NOT NULL DEFAULT '',
|
||||||
|
`xlink_rating` int(11) NOT NULL DEFAULT '0',
|
||||||
`xlink_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
`xlink_updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||||
PRIMARY KEY (`xlink_id`),
|
PRIMARY KEY (`xlink_id`),
|
||||||
KEY `xlink_xchan` (`xlink_xchan`),
|
KEY `xlink_xchan` (`xlink_xchan`),
|
||||||
KEY `xlink_link` (`xlink_link`),
|
KEY `xlink_link` (`xlink_link`),
|
||||||
KEY `xlink_updated` (`xlink_updated`)
|
KEY `xlink_updated` (`xlink_updated`),
|
||||||
|
KEY `xlink_rating` (`xlink_rating`)
|
||||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||||
|
|
||||||
CREATE TABLE IF NOT EXISTS `xprof` (
|
CREATE TABLE IF NOT EXISTS `xprof` (
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
define( 'UPDATE_VERSION' , 1028 );
|
define( 'UPDATE_VERSION' , 1029 );
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
@ -350,3 +350,10 @@ ADD INDEX ( `abook_rating` )");
|
|||||||
return UPDATE_FAILED;
|
return UPDATE_FAILED;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function update_r1028() {
|
||||||
|
$r = q"ALTER TABLE `xlink` ADD `xlink_rating` INT NOT NULL DEFAULT '0' AFTER `xlink_link` ,
|
||||||
|
ADD INDEX ( `xlink_rating` ) ");
|
||||||
|
if($r)
|
||||||
|
return UPDATE_SUCCESS;
|
||||||
|
return UPDATE_FAILED;
|
||||||
|
}
|
||||||
|
12
mod/poco.php
12
mod/poco.php
@ -126,10 +126,8 @@ function poco_init(&$a) {
|
|||||||
'displayName' => false,
|
'displayName' => false,
|
||||||
'urls' => false,
|
'urls' => false,
|
||||||
'preferredUsername' => false,
|
'preferredUsername' => false,
|
||||||
'photos' => false
|
'photos' => false,
|
||||||
|
'rating' => false
|
||||||
|
|
||||||
|
|
||||||
);
|
);
|
||||||
|
|
||||||
if((! x($_GET,'fields')) || ($_GET['fields'] === '@all'))
|
if((! x($_GET,'fields')) || ($_GET['fields'] === '@all'))
|
||||||
@ -165,6 +163,12 @@ function poco_init(&$a) {
|
|||||||
$entry['preferredUsername'] = substr($rr['xchan_addr'],0,strpos($rr['xchan_addr'],'@'));
|
$entry['preferredUsername'] = substr($rr['xchan_addr'],0,strpos($rr['xchan_addr'],'@'));
|
||||||
if($fields_ret['photos'])
|
if($fields_ret['photos'])
|
||||||
$entry['photos'] = array(array('value' => $rr['xchan_photo_l'], 'mimetype' => $rr['xchan_photo_mimetype'], 'type' => 'profile'));
|
$entry['photos'] = array(array('value' => $rr['xchan_photo_l'], 'mimetype' => $rr['xchan_photo_mimetype'], 'type' => 'profile'));
|
||||||
|
if($fields_ret['rating']) {
|
||||||
|
$entry['rating'] = ((array_key_exists('abook_rating',$rr)) ? array(intval($rr['abook_rating'])) : 0);
|
||||||
|
// maybe this should be a composite calculated rating in $system_mode
|
||||||
|
if($system_mode)
|
||||||
|
$entry['rating'] = 0;
|
||||||
|
}
|
||||||
$ret['entry'][] = $entry;
|
$ret['entry'][] = $entry;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user