]> git.mxchange.org Git - friendica.git/commitdiff
more directory work
authorMike Macgirvin <mike@macgirvin.com>
Sat, 10 Jul 2010 05:47:32 +0000 (22:47 -0700)
committerMike Macgirvin <mike@macgirvin.com>
Sat, 10 Jul 2010 05:47:32 +0000 (22:47 -0700)
boot.php
include/datetime.php
mod/directory.php
view/style.css
wip/todo

index fab44a7a459dac8a11703ee22e15a8bab3fb0f54..ddc2fa381e2e65f0a429f70e285f82e89ce64ba7 100644 (file)
--- a/boot.php
+++ b/boot.php
@@ -356,4 +356,5 @@ function xmlify($str) {
 
 function hex2bin($s) {
        return(pack("H*",$s));
-}
\ No newline at end of file
+}
+
index f75193b1bdb8cc8be85bb4bfda608c01ea337434..0beadbe78ebc0e5e774f69df0ce87c7232705746 100644 (file)
@@ -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;
+}
index 0a7d7355e76910d31dfb0cf2388be22637f1a80d..aec34f910d8f57ac1653b1d483779092925ee6d8 100644 (file)
@@ -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'];
 
index 609c8a8f774618c3e9220c6a3c7e4ac6ac0f3623..701a7d0c5fdb1ca9c576b2873fe6e5c76beea8b1 100644 (file)
@@ -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
index 9b0057698c2bb5a5d8961352504be796e403fda7..e32f6939738d6cdd4489ca7fdba6640a0953056e 100644 (file)
--- a/wip/todo
+++ b/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