first prototype of profile match against global directory (hint: set some keywords)

This commit is contained in:
Friendika 2011-03-21 19:33:06 -07:00
parent f73e40c188
commit e16bca4f76
2 changed files with 43 additions and 1 deletions

View File

@ -14,7 +14,7 @@ function install_post(&$a) {
$phpath = notags(trim($_POST['phpath'])); $phpath = notags(trim($_POST['phpath']));
require_once("dba.php"); require_once("dba.php");
unset ($db); unset($db);
$db = new dba($dbhost, $dbuser, $dbpass, $dbdata, true); $db = new dba($dbhost, $dbuser, $dbpass, $dbdata, true);
if(mysqli_connect_errno()) { if(mysqli_connect_errno()) {

42
mod/match.php Normal file
View File

@ -0,0 +1,42 @@
<?php
function match_content(&$a) {
if(! local_user())
return;
$r = q("SELECT `pub_keywords`, `prv_keywords` FROM `profile` WHERE `is-default` = 1 AND `uid` = %d LIMIT 1",
intval(local_user())
);
if(! count($r))
return;
if(! $r[0]['pub_keywords'] && (! $r[0]['prv_keywords'])) {
notice('No keywords to match. Please add keywords to your default profile.');
return;
}
$params = array();
$tags = trim($r[0]['pub_keywords'] . ' ' . $r[0]['prv_keywords']);
if($tags) {
$params['s'] = $tags;
$x = post_url('http://dir.friendika.com/msearch', $params);
$j = json_decode($x);
if(count($j)) {
foreach($j as $jj) {
$o .= '<a href="' . $jj[1] . '">' . '<img src="' . $jj[2] . '" alt="' . $jj[1] . '" />' . $jj[0] . '</a>';
}
}
else {
notice( t('No matches') . EOL);
}
}
return $o;
}