aboutsummaryrefslogtreecommitdiffstats
path: root/mod
diff options
context:
space:
mode:
authorfriendica <info@friendica.com>2015-02-03 15:06:16 -0800
committerfriendica <info@friendica.com>2015-02-03 15:06:16 -0800
commitdf632c423252a19b41d3502412135309063b85fa (patch)
tree29bab49ddb2cdb26af128e97922d7b86c30c0826 /mod
parent448af7458f096be07fc5173e234c7e6d2d20a50a (diff)
downloadvolse-hubzilla-df632c423252a19b41d3502412135309063b85fa.tar.gz
volse-hubzilla-df632c423252a19b41d3502412135309063b85fa.tar.bz2
volse-hubzilla-df632c423252a19b41d3502412135309063b85fa.zip
run ratingsearch on the server
Diffstat (limited to 'mod')
-rw-r--r--mod/ratings.php (renamed from mod/prep.php)55
-rw-r--r--mod/ratingsearch.php58
2 files changed, 87 insertions, 26 deletions
diff --git a/mod/prep.php b/mod/ratings.php
index 950b602c9..fe7cca6e1 100644
--- a/mod/prep.php
+++ b/mod/ratings.php
@@ -1,7 +1,14 @@
<?php
+require_once('include/dir_fns.php');
-function prep_init(&$a) {
+function ratings_init(&$a) {
+
+ $dirmode = intval(get_config('system','directory_mode'));
+
+ $x = find_upstream_directory($dirmode);
+ if($x)
+ $url = $x['url'];
$poco_rating = get_config('system','poco_rating_enable');
// if unset default to enabled
@@ -19,29 +26,36 @@ function prep_init(&$a) {
return;
}
- if(strpos($hash,'@')) {
- $r = q("select * from hubloc where hubloc_addr = '%s' limit 1",
- dbesc($hash)
- );
- if($r)
- $hash = $r[0]['hubloc_hash'];
+ $results = false;
+
+ $x = z_fetch_url($url . '/ratingsearch/' . $hash);
+
+
+ if($x['success'])
+ $results = json_decode($x['body'],true);
+
+
+ if((! $results) || (! $results['success'])) {
+
+ notice('No results.');
+ return;
}
- $p = q("select * from xchan where xchan_hash like '%s'",
- dbesc($hash . '%')
- );
+ $a->poi = $results['target'];
+ $a->data = $results['ratings'];
- if($p)
- $a->poi = $p[0];
+ if(! $a->data) {
+ notice( t('No ratings') . EOL);
+ }
+ return;
}
-function prep_content(&$a) {
-
+function ratings_content(&$a) {
$poco_rating = get_config('system','poco_rating_enable');
// if unset default to enabled
@@ -51,22 +65,11 @@ function prep_content(&$a) {
if(! $poco_rating)
return;
- if(! $a->poi)
- return;
-
- $r = q("select * from xlink left join xchan on xlink_xchan = xchan_hash where xlink_link like '%s' and xlink_rating != 0 and xlink_static = 1",
- dbesc(($a->poi) ? $a->poi['xchan_hash'] : argv(1))
- );
-
- if(! $r)
- notice( t('No ratings available') . EOL);
-
-
$o = replace_macros(get_markup_template('prep.tpl'),array(
'$header' => t('Ratings'),
'$rating_lbl' => t('Rating: ' ),
'$rating_text_lbl' => t('Description: '),
- '$raters' => $r
+ '$raters' => $a->data
));
return $o;
diff --git a/mod/ratingsearch.php b/mod/ratingsearch.php
new file mode 100644
index 000000000..9a537bf97
--- /dev/null
+++ b/mod/ratingsearch.php
@@ -0,0 +1,58 @@
+<?php
+
+
+function ratingsearch_init(&$a) {
+
+ $ret = array('success' => false);
+
+ $dirmode = intval(get_config('system','directory_mode'));
+
+ if($dirmode == DIRECTORY_MODE_NORMAL) {
+ $ret['message'] = 'This site is not a directory server.';
+ json_return_and_die($ret);
+ }
+
+ if(argc() > 1)
+ $hash = argv(1);
+
+ if(! $hash) {
+ $ret['message'] = 'No channel identifier';
+ json_return_and_die($ret);
+ }
+
+ if(strpos($hash,'@')) {
+ $r = q("select * from hubloc where hubloc_addr = '%s' limit 1",
+ dbesc($hash)
+ );
+ if($r)
+ $hash = $r[0]['hubloc_hash'];
+ }
+
+ $p = q("select * from xchan where xchan_hash like '%s'",
+ dbesc($hash . '%')
+ );
+
+ if($p)
+ $ret['target'] = $p[0];
+ else {
+ $ret['message'] = 'channel not found';
+ json_return_and_die($ret);
+ }
+
+ $ret['success'] = true;
+
+ $r = q("select * from xlink left join xchan on xlink_xchan = xchan_hash
+ where xlink_link = '%s' and xlink_rating != 0 and xlink_static = 1",
+ dbesc($p[0]['xchan_hash'])
+ );
+
+ if($r) {
+ $ret['ratings'] = $r;
+ }
+ else
+ $ret['ratings'] = array();
+
+ json_return_and_die($ret);
+
+}
+