diff options
author | Andrew Manning <tamanning@zoho.com> | 2016-04-20 21:05:01 -0400 |
---|---|---|
committer | Andrew Manning <tamanning@zoho.com> | 2016-04-20 21:05:01 -0400 |
commit | b96eb1c8230ae2f5986d6f22934c606bbca9728e (patch) | |
tree | fecd2279927b61da28801094dc7d6b1cfa8d98fe /Zotlabs/Module/Match.php | |
parent | 7594796ee11c0b245d02d145868a13ac3d84ebfc (diff) | |
parent | 635580091a227529cb491e6441a5acbfff3177be (diff) | |
download | volse-hubzilla-b96eb1c8230ae2f5986d6f22934c606bbca9728e.tar.gz volse-hubzilla-b96eb1c8230ae2f5986d6f22934c606bbca9728e.tar.bz2 volse-hubzilla-b96eb1c8230ae2f5986d6f22934c606bbca9728e.zip |
Merge branch 'dev' into toggle-context-help
Diffstat (limited to 'Zotlabs/Module/Match.php')
-rw-r--r-- | Zotlabs/Module/Match.php | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/Zotlabs/Module/Match.php b/Zotlabs/Module/Match.php new file mode 100644 index 000000000..c422e4b3e --- /dev/null +++ b/Zotlabs/Module/Match.php @@ -0,0 +1,84 @@ +<?php +namespace Zotlabs\Module; + +/** + * @brief Controller for /match. + * + * It takes keywords from your profile and queries the directory server for + * matching keywords from other profiles. + * + * @FIXME this has never been properly ported from Friendica. + * + * @param App &$a + * @return void|string + */ + +class Match extends \Zotlabs\Web\Controller { + + function get() { + + $o = ''; + if (! local_channel()) + return; + + $_SESSION['return_url'] = z_root() . '/' . \App::$cmd; + + $o .= '<h2>' . t('Profile Match') . '</h2>'; + + $r = q("SELECT `keywords` FROM `profile` WHERE `is_default` = 1 AND `uid` = %d LIMIT 1", + intval(local_channel()) + ); + if (! count($r)) + return; + + if (! $r[0]['keywords']) { + notice( t('No keywords to match. Please add keywords to your default profile.') . EOL); + return; + } + + $params = array(); + $tags = trim($r[0]['keywords']); + + if ($tags) { + $params['s'] = $tags; + if (\App::$pager['page'] != 1) + $params['p'] = \App::$pager['page']; + + // if(strlen(get_config('system','directory_submit_url'))) + // $x = post_url('http://dir.friendica.com/msearch', $params); + // else + // $x = post_url(z_root() . '/msearch', $params); + + $j = json_decode($x); + + if ($j->total) { + \App::set_pager_total($j->total); + \App::set_pager_itemspage($j->items_page); + } + + if (count($j->results)) { + $tpl = get_markup_template('match.tpl'); + foreach ($j->results as $jj) { + $connlnk = z_root() . '/follow/?url=' . $jj->url; + $o .= replace_macros($tpl,array( + '$url' => zid($jj->url), + '$name' => $jj->name, + '$photo' => $jj->photo, + '$inttxt' => ' ' . t('is interested in:'), + '$conntxt' => t('Connect'), + '$connlnk' => $connlnk, + '$tags' => $jj->tags + )); + } + } else { + info( t('No matches') . EOL); + } + } + + $o .= cleardiv(); + $o .= paginate($a); + + return $o; + } + +} |