diff options
author | friendica <info@friendica.com> | 2013-01-20 20:14:13 -0800 |
---|---|---|
committer | friendica <info@friendica.com> | 2013-01-20 20:14:13 -0800 |
commit | c9f10f41f4e3f2dd5f644fb8e97aef415de22f1d (patch) | |
tree | d6bed27a06285b69d7c555552bd9d604d1982a2e /mod/directory.php | |
parent | 59eed70246e3e222e02410808736fb916acf798c (diff) | |
download | volse-hubzilla-c9f10f41f4e3f2dd5f644fb8e97aef415de22f1d.tar.gz volse-hubzilla-c9f10f41f4e3f2dd5f644fb8e97aef415de22f1d.tar.bz2 volse-hubzilla-c9f10f41f4e3f2dd5f644fb8e97aef415de22f1d.zip |
Ensure that Red members never see the accursed "and nobody was found..." when you've put in an explicit address of a channel you know for certain exists.
Diffstat (limited to 'mod/directory.php')
-rw-r--r-- | mod/directory.php | 159 |
1 files changed, 80 insertions, 79 deletions
diff --git a/mod/directory.php b/mod/directory.php index 99687a373..d9182d1bd 100644 --- a/mod/directory.php +++ b/mod/directory.php @@ -57,7 +57,6 @@ function directory_content(&$a) { if($search) $query .= '&name=' . urlencode($search); - } if($a->pager['page'] != 1) $query .= '&p=' . $a->pager['page']; @@ -67,111 +66,113 @@ function directory_content(&$a) { if($x['success']) { $t = 0; $j = json_decode($x['body'],true); - if($j && $j['results']) { - - $entries = array(); - - $photo = 'thumb'; + if($j) { - foreach($j['results'] as $rr) { + if($j['results']) { + $entries = array(); + $photo = 'thumb'; + foreach($j['results'] as $rr) { - $profile_link = chanlink_url($rr['url']); + $profile_link = chanlink_url($rr['url']); - $pdesc = (($rr['description']) ? $rr['description'] . '<br />' : ''); + $pdesc = (($rr['description']) ? $rr['description'] . '<br />' : ''); - $details = ''; - if(strlen($rr['locale'])) - $details .= $rr['locale']; - if(strlen($rr['region'])) { + $details = ''; if(strlen($rr['locale'])) - $details .= ', '; - $details .= $rr['region']; - } - if(strlen($rr['country'])) { - if(strlen($details)) - $details .= ', '; - $details .= $rr['country']; - } - if(strlen($rr['birthday'])) { - if(($years = age($rr['birthday'],'UTC','')) != 0) - $details .= '<br />' . t('Age: ') . $years ; - } - if(strlen($rr['gender'])) - $details .= '<br />' . t('Gender: ') . $rr['gender']; - - $page_type = ''; - - $profile = $rr; - - if ((x($profile,'locale') == 1) - || (x($profile,'region') == 1) - || (x($profile,'postcode') == 1) - || (x($profile,'country') == 1)) - $location = t('Location:'); - - $gender = ((x($profile,'gender') == 1) ? t('Gender:') : False); + $details .= $rr['locale']; + if(strlen($rr['region'])) { + if(strlen($rr['locale'])) + $details .= ', '; + $details .= $rr['region']; + } + if(strlen($rr['country'])) { + if(strlen($details)) + $details .= ', '; + $details .= $rr['country']; + } + if(strlen($rr['birthday'])) { + if(($years = age($rr['birthday'],'UTC','')) != 0) + $details .= '<br />' . t('Age: ') . $years ; + } + if(strlen($rr['gender'])) + $details .= '<br />' . t('Gender: ') . $rr['gender']; + + $page_type = ''; + + $profile = $rr; + + if ((x($profile,'locale') == 1) + || (x($profile,'region') == 1) + || (x($profile,'postcode') == 1) + || (x($profile,'country') == 1)) + $location = t('Location:'); + + $gender = ((x($profile,'gender') == 1) ? t('Gender:') : False); - $marital = ((x($profile,'marital') == 1) ? t('Status:') : False); + $marital = ((x($profile,'marital') == 1) ? t('Status:') : False); - $homepage = ((x($profile,'homepage') == 1) ? t('Homepage:') : False); + $homepage = ((x($profile,'homepage') == 1) ? t('Homepage:') : False); - $about = ((x($profile,'about') == 1) ? t('About:') : False); + $about = ((x($profile,'about') == 1) ? t('About:') : False); - $entry = array( - 'id' => ++$t, - 'profile_link' => $profile_link, - 'photo' => $rr['photo'], - 'alttext' => $rr['name'] . ' ' . $rr['address'], - 'name' => $rr['name'], - 'details' => $pdesc . $details, - 'profile' => $profile, - 'location' => $location, - 'gender' => $gender, - 'pdesc' => $pdesc, - 'marital' => $marital, - 'homepage' => $homepage, - 'about' => $about, + $entry = array( + 'id' => ++$t, + 'profile_link' => $profile_link, + 'photo' => $rr['photo'], + 'alttext' => $rr['name'] . ' ' . $rr['address'], + 'name' => $rr['name'], + 'details' => $pdesc . $details, + 'profile' => $profile, + 'location' => $location, + 'gender' => $gender, + 'pdesc' => $pdesc, + 'marital' => $marital, + 'homepage' => $homepage, + 'about' => $about, - ); + ); - $arr = array('contact' => $rr, 'entry' => $entry); + $arr = array('contact' => $rr, 'entry' => $entry); - call_hooks('directory_item', $arr); + call_hooks('directory_item', $arr); - $entries[] = $entry; + $entries[] = $entry; - unset($profile); - unset($location); + unset($profile); + unset($location); - } + } - logger('entries: ' . print_r($entries,true)); + logger('mod_directory: entries: ' . print_r($entries,true), LOGGER_DATA); - $o .= replace_macros($tpl, array( - '$search' => $search, - '$desc' => t('Find'), - '$finddsc' => t('Finding:'), - '$safetxt' => htmlspecialchars($search,ENT_QUOTES,'UTF-8'), - '$entries' => $entries, - '$dirlbl' => t('Directory'), - '$submit' => t('Find') - )); + $o .= replace_macros($tpl, array( + '$search' => $search, + '$desc' => t('Find'), + '$finddsc' => t('Finding:'), + '$safetxt' => htmlspecialchars($search,ENT_QUOTES,'UTF-8'), + '$entries' => $entries, + '$dirlbl' => t('Directory'), + '$submit' => t('Find') + )); - $o .= alt_pager($a,$j['records'], t('more'), t('back')); + $o .= alt_pager($a,$j['records'], t('more'), t('back')); + } + else { + if($a->pager['page'] == 1 && $j['records'] == 0 && strpos($search,'@')) { + goaway(z_root() . '/chanview/?f=&address=' . $search); + } + info( t("No entries (some entries may be hidden).") . EOL); + } } - - else - info( t("No entries (some entries may be hidden).") . EOL); - } - + } return $o; } |