Merge dirfind into template_rework

This commit is contained in:
rabuzarus 2015-10-17 22:22:35 +02:00
commit dbf1f9efcd
3 changed files with 88 additions and 68 deletions

View file

@ -38,10 +38,6 @@ function dirfind_content(&$a, $prefix = "") {
$o = ''; $o = '';
$o .= replace_macros(get_markup_template("section_title.tpl"),array(
'$title' => sprintf( t('People Search - %s'), $search)
));
if($search) { if($search) {
if ($local) { if ($local) {
@ -121,7 +117,6 @@ function dirfind_content(&$a, $prefix = "") {
$id = 0; $id = 0;
$tpl = get_markup_template('match.tpl');
foreach($j->results as $jj) { foreach($j->results as $jj) {
// If We already know this contact then don't show the "connect" button // If We already know this contact then don't show the "connect" button
@ -143,17 +138,27 @@ function dirfind_content(&$a, $prefix = "") {
$jj->photo = str_replace("http:///photo/", get_server()."/photo/", $jj->photo); $jj->photo = str_replace("http:///photo/", get_server()."/photo/", $jj->photo);
$o .= replace_macros($tpl,array( $entry = array(
'$url' => zrl($jj->url), 'url' => zrl($jj->url),
'$name' => htmlentities($jj->name), 'name' => htmlentities($jj->name),
'$photo' => proxy_url($jj->photo, false, PROXY_SIZE_THUMB), 'photo' => proxy_url($jj->photo, false, PROXY_SIZE_THUMB),
'$tags' => $jj->tags, 'tags' => $jj->tags,
'$conntxt' => $conntxt, 'conntxt' => $conntxt,
'$connlnk' => $connlnk, 'connlnk' => $connlnk,
'$photo_menu' => $photo_menu, 'photo_menu' => $photo_menu,
'$id' => ++$id, 'id' => ++$id,
)); );
$entries[] = $entry;
} }
$tpl = get_markup_template('match.tpl');
$o .= replace_macros($tpl,array(
'title' => sprintf( t('People Search - %s'), $search),
'$entries' => $entries,
'$paginate' => paginate($a),
));
} }
else { else {
info( t('No matches') . EOL); info( t('No matches') . EOL);
@ -161,7 +166,5 @@ function dirfind_content(&$a, $prefix = "") {
} }
$o .= '<div class="clear"></div>';
$o .= paginate($a);
return $o; return $o;
} }

View file

@ -4,6 +4,15 @@ require_once('include/socgraph.php');
require_once('include/contact_widgets.php'); require_once('include/contact_widgets.php');
require_once('mod/proxy.php'); require_once('mod/proxy.php');
/**
* @brief Controller for /match.
*
* It takes keywords from your profile and queries the directory server for
* matching keywords from other profiles.
*
* @param App &$a
* @return void|string
*/
function match_content(&$a) { function match_content(&$a) {
$o = ''; $o = '';
@ -15,10 +24,6 @@ function match_content(&$a) {
$_SESSION['return_url'] = $a->get_baseurl() . '/' . $a->cmd; $_SESSION['return_url'] = $a->get_baseurl() . '/' . $a->cmd;
$o .= replace_macros(get_markup_template("section_title.tpl"),array(
'$title' => t('Profile Match')
));
$r = q("SELECT `pub_keywords`, `prv_keywords` FROM `profile` WHERE `is-default` = 1 AND `uid` = %d LIMIT 1", $r = q("SELECT `pub_keywords`, `prv_keywords` FROM `profile` WHERE `is-default` = 1 AND `uid` = %d LIMIT 1",
intval(local_user()) intval(local_user())
); );
@ -27,7 +32,6 @@ function match_content(&$a) {
if(! $r[0]['pub_keywords'] && (! $r[0]['prv_keywords'])) { if(! $r[0]['pub_keywords'] && (! $r[0]['prv_keywords'])) {
notice( t('No keywords to match. Please add keywords to your default profile.') . EOL); notice( t('No keywords to match. Please add keywords to your default profile.') . EOL);
return; return;
} }
$params = array(); $params = array();
@ -52,9 +56,6 @@ function match_content(&$a) {
if(count($j->results)) { if(count($j->results)) {
$tpl = get_markup_template('match.tpl');
foreach($j->results as $jj) { foreach($j->results as $jj) {
$match_nurl = normalise_link($jj->url); $match_nurl = normalise_link($jj->url);
$match = q("SELECT `nurl` FROM `contact` WHERE `uid` = '%d' AND nurl='%s' LIMIT 1", $match = q("SELECT `nurl` FROM `contact` WHERE `uid` = '%d' AND nurl='%s' LIMIT 1",
@ -63,24 +64,33 @@ function match_content(&$a) {
if (!count($match)) { if (!count($match)) {
$jj->photo = str_replace("http:///photo/", get_server()."/photo/", $jj->photo); $jj->photo = str_replace("http:///photo/", get_server()."/photo/", $jj->photo);
$connlnk = $a->get_baseurl() . '/follow/?url=' . $jj->url; $connlnk = $a->get_baseurl() . '/follow/?url=' . $jj->url;
$o .= replace_macros($tpl,array( $entry = array(
'$url' => zrl($jj->url), 'url' => zrl($jj->url),
'$name' => $jj->name, 'name' => $jj->name,
'$photo' => proxy_url($jj->photo, false, PROXY_SIZE_THUMB), 'photo' => proxy_url($jj->photo, false, PROXY_SIZE_THUMB),
'$inttxt' => ' ' . t('is interested in:'), 'inttxt' => ' ' . t('is interested in:'),
'$conntxt' => t('Connect'), 'conntxt' => t('Connect'),
'$connlnk' => $connlnk, 'connlnk' => $connlnk,
'$tags' => $jj->tags 'tags' => $jj->tags
)); );
$entries[] = $entry;
} }
} }
} else {
$tpl = get_markup_template('match.tpl');
$o .= replace_macros($tpl,array(
'$title' => t('Profile Match'),
'entries' => $entries,
'$paginate' => paginate($a),
));
}
else {
info( t('No matches') . EOL); info( t('No matches') . EOL);
} }
} }
$o .= cleardiv();
$o .= paginate($a);
return $o; return $o;
} }

View file

@ -1,33 +1,40 @@
{{include file="section_title.tpl"}}
<div class="profile-match-wrapper"> {{foreach $entries as $entry}}
<div class="profile-match-photo" id="contact-entry-photo-{{$id}}" <div class="profile-match-wrapper">
onmouseover="if (typeof t{{$id}} != 'undefined') clearTimeout(t{{$id}}); openMenu('contact-photo-menu-button-{{$id}}')" <div class="profile-match-photo" id="contact-entry-photo-{{$entry.id}}"
onmouseout="t{{$id}}=setTimeout('closeMenu(\'contact-photo-menu-button-{{$id}}\'); closeMenu(\'contact-photo-menu-{{$id}}\');',200)" > onmouseover="if (typeof t{{$entry.id}} != 'undefined') clearTimeout(t{{$id}}); openMenu('contact-photo-menu-button-{{$entry.id}}')"
<a href="{{$url}}"> onmouseout="t{{$entry.id}}=setTimeout('closeMenu(\'contact-photo-menu-button-{{$entry.id}}\'); closeMenu(\'contact-photo-menu-{{$entry.id}}\');',200)" >
<img width="80" height="80" src="{{$photo}}" alt="{{$name}}" title="{{$name}}[{{$tags}}]" /> <a href="{{$entry.url}}">
</a> <img width="80" height="80" src="{{$entry.photo}}" alt="{{$entry.name}}" title="{{$entry.name}}[{{$entry.tags}}]" />
{{if $photo_menu}} </a>
<span onclick="openClose('contact-photo-menu-{{$id}}');" class="fakelink contact-photo-menu-button" id="contact-photo-menu-button-{{$id}}">menu</span> {{if $entry.photo_menu}}
<div class="contact-photo-menu" id="contact-photo-menu-{{$id}}"> <span onclick="openClose('contact-photo-menu-{{$entry.id}}');" class="fakelink contact-photo-menu-button" id="contact-photo-menu-button-{{$entry.id}}">menu</span>
<ul> <div class="contact-photo-menu" id="contact-photo-menu-{{$entry.id}}">
{{foreach $photo_menu as $k=>$c}} <ul>
{{if $c.2}} {{foreach $entry.photo_menu as $k=>$c}}
<li><a class="{{$k}}" target="redir" href="{{$c.1}}">{{$c.0}}</a></li> {{if $c.2}}
{{else}} <li><a class="{{$k}}" target="redir" href="{{$c.1}}">{{$c.0}}</a></li>
<li><a class="{{$k}}" href="{{$c.1}}">{{$c.0}}</a></li> {{else}}
{{/if}} <li><a class="{{$k}}" href="{{$c.1}}">{{$c.0}}</a></li>
{{/foreach}} {{/if}}
</ul> {{/foreach}}
</div> </ul>
{{/if}} </div>
</div> {{/if}}
<div class="profile-match-break"></div> </div>
<div class="profile-match-name"> <div class="profile-match-break"></div>
<a href="{{$url}}" title="{{$name}}[{{$tags}}]">{{$name}}</a> <div class="profile-match-name">
</div> <a href="{{$entry.url}}" title="{{$entry.name}}[{{$entry.tags}}]">{{$entry.name}}</a>
<div class="profile-match-end"></div> </div>
{{if $connlnk}} <div class="profile-match-end"></div>
<div class="profile-match-connect"><a href="{{$connlnk}}" title="{{$conntxt}}">{{$conntxt}}</a></div> {{if $entry.connlnk}}
{{/if}} <div class="profile-match-connect"><a href="{{$entry.connlnk}}" title="{{$entry.conntxt}}">{{$entry.conntxt}}</a></div>
{{/if}}
</div> </div>
{{/foreach}}
<div class="clear"></div>
{{$paginate}}