Browse Source

more directory work

pull/1/head
Mike Macgirvin 12 years ago
parent
commit
cb54cda174
  1. 3
      boot.php
  2. 22
      include/datetime.php
  3. 14
      mod/directory.php
  4. 9
      view/style.css
  5. 4
      wip/todo

3
boot.php

@ -356,4 +356,5 @@ function xmlify($str) {
function hex2bin($s) {
return(pack("H*",$s));
}
}

22
include/datetime.php

@ -115,7 +115,8 @@ function relative_date($posted_date) {
$diff -= $minutes*60;
$seconds = $diff;
if($months > 2)
return(datetime_convert('UTC',date_default_timezone_get(),$posted_date,'\o\n Y-m-d \a\t H:i:s'));
if ($months>0) {
// over a month old,
return 'over a month ago';
@ -143,3 +144,22 @@ function relative_date($posted_date) {
// show relative date and add proper verbiage
return $relative_date.' ago';
}
function age($dob,$owner_tz = '',$viewer_tz = '') {
if(strlen($dob) != 10)
return 0;
if(! $owner_tz)
$owner_tz = date_default_timezone_get();
if(! $viewer_tz)
$viewer_tz = date_default_timezone_get();
$birthdate = datetime_convert('UTC',$owner_tz,$dob . ' 00:00:00+00:00','Y-m-d');
list($year,$month,$day) = explode("-",$birthdate);
$year_diff = datetime_convert('UTC',$viewer_tz,'now','Y') - $year;
$curr_month = datetime_convert('UTC',$viewer_tz,'now','m');
$curr_day = datetime_convert('UTC',$viewer_tz,'now','d');
if(($curr_month < $month) || (($curr_month == $month) && ($curr_day < $day)))
$year_diff--;
return $year_diff;
}

14
mod/directory.php

@ -3,14 +3,20 @@
function directory_content(&$a) {
$search = ((x($_GET,'search')) ? notags(trim($_GET['search'])) : '');
$tpl .= file_get_contents('view/directory_header.tpl');
$o .= replace_macros($tpl, array(
'$search' => $search
));
$r = q("SELECT `profile`.*, `profile`.`uid` AS `profile_uid`, `user`.`nickname` FROM `profile` LEFT JOIN `user` ON `user`.`uid` = `profile`.`uid` WHERE `is-default` = 1 AND `publish` = 1 ORDER BY `name` ASC");
if($search)
$search = dbesc($search);
$sql_extra = ((strlen($search)) ? " AND MATCH (`profile`.`name`, `user`.`nickname`, `locality`,`region`,`country-name`,`gender`,`marital`,`sexual`,`about`,`romance`,`employer`,`school`) AGAINST ('$search' IN BOOLEAN MODE) " : "");
$r = q("SELECT `profile`.*, `profile`.`uid` AS `profile_uid`, `user`.`nickname`, `user`.`timezone` FROM `profile` LEFT JOIN `user` ON `user`.`uid` = `profile`.`uid` WHERE `is-default` = 1 AND `publish` = 1 $sql_extra ORDER BY `name` ASC");
if(count($r)) {
$tpl = file_get_contents('view/directory_item.tpl');
@ -36,8 +42,10 @@ function directory_content(&$a) {
$details .= ', ';
$details .= $rr['country-name'];
}
if(strlen($rr['dob']))
$details .= '<br />Age: ' ; // . calculate age($rr['dob'])) ;
if(strlen($rr['dob'])) {
if(($years = age($rr['dob'],$rr['timezone'],'')) != 0)
$details .= "<br />Age: $years" ;
}
if(strlen($rr['gender']))
$details .= '<br />Gender: ' . $rr['gender'];

9
view/style.css

@ -491,3 +491,12 @@ input#dfrn-url {
overflow: auto;
}
#directory-search-wrapper {
float: right;
margin-right: 20px;
margin-bottom: 50px;
}
#directory-search-end {
clear: both;
}

4
wip/todo

@ -17,7 +17,9 @@ contact editor
reputation
directory page search, pager, details
directory page pager
profile advanced details submit, display
publish to external directory

Loading…
Cancel
Save