From df632c423252a19b41d3502412135309063b85fa Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 3 Feb 2015 15:06:16 -0800 Subject: run ratingsearch on the server --- mod/prep.php | 75 -------------------------------------------------- mod/ratings.php | 78 ++++++++++++++++++++++++++++++++++++++++++++++++++++ mod/ratingsearch.php | 58 ++++++++++++++++++++++++++++++++++++++ 3 files changed, 136 insertions(+), 75 deletions(-) delete mode 100644 mod/prep.php create mode 100644 mod/ratings.php create mode 100644 mod/ratingsearch.php (limited to 'mod') diff --git a/mod/prep.php b/mod/prep.php deleted file mode 100644 index 950b602c9..000000000 --- a/mod/prep.php +++ /dev/null @@ -1,75 +0,0 @@ - 1) - $hash = argv(1); - - if(! $hash) { - notice('Must supply a channel identififier.'); - return; - } - - 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) - $a->poi = $p[0]; - -} - - - - - -function prep_content(&$a) { - - - $poco_rating = get_config('system','poco_rating_enable'); - // if unset default to enabled - if($poco_rating === false) - $poco_rating = true; - - 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 - )); - - return $o; -} - - \ No newline at end of file diff --git a/mod/ratings.php b/mod/ratings.php new file mode 100644 index 000000000..fe7cca6e1 --- /dev/null +++ b/mod/ratings.php @@ -0,0 +1,78 @@ + 1) + $hash = argv(1); + + if(! $hash) { + notice('Must supply a channel identififier.'); + return; + } + + $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; + } + + $a->poi = $results['target']; + $a->data = $results['ratings']; + + if(! $a->data) { + notice( t('No ratings') . EOL); + } + + return; +} + + + + + +function ratings_content(&$a) { + + $poco_rating = get_config('system','poco_rating_enable'); + // if unset default to enabled + if($poco_rating === false) + $poco_rating = true; + + if(! $poco_rating) + return; + + $o = replace_macros(get_markup_template('prep.tpl'),array( + '$header' => t('Ratings'), + '$rating_lbl' => t('Rating: ' ), + '$rating_text_lbl' => t('Description: '), + '$raters' => $a->data + )); + + return $o; +} + + \ No newline at end of file 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 @@ + 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); + +} + -- cgit v1.2.3