diff options
-rw-r--r-- | boot.php | 3 | ||||
-rw-r--r-- | include/datetime.php | 22 | ||||
-rw-r--r-- | mod/directory.php | 14 | ||||
-rw-r--r-- | view/style.css | 9 | ||||
-rw-r--r-- | wip/todo | 4 |
5 files changed, 46 insertions, 6 deletions
@@ -356,4 +356,5 @@ function xmlify($str) { function hex2bin($s) { return(pack("H*",$s)); -}
\ No newline at end of file +} + diff --git a/include/datetime.php b/include/datetime.php index f75193b1b..0beadbe78 100644 --- a/include/datetime.php +++ b/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; +} diff --git a/mod/directory.php b/mod/directory.php index 0a7d7355e..aec34f910 100644 --- a/mod/directory.php +++ b/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']; diff --git a/view/style.css b/view/style.css index 609c8a8f7..701a7d0c5 100644 --- a/view/style.css +++ b/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; +}
\ No newline at end of file @@ -17,7 +17,9 @@ contact editor reputation -directory page search, pager, details +directory page pager + +profile advanced details submit, display publish to external directory |