Merge pull request #32 from MrPetovan/bug/fix-directory-filters
Fix directory filter links
This commit is contained in:
commit
b21b493613
3 changed files with 44 additions and 24 deletions
|
@ -17,9 +17,14 @@ function directory_init(App $a)
|
|||
|
||||
function directory_content(App $a)
|
||||
{
|
||||
$forums = false;
|
||||
if ($a->argc == 2 && $a->argv[1] === 'forum') {
|
||||
$forums = true;
|
||||
$filter = false;
|
||||
if ($a->argc == 2) {
|
||||
if ($a->argv[1] === 'forums') {
|
||||
$filter = 'forums';
|
||||
}
|
||||
if ($a->argv[1] === 'people') {
|
||||
$filter = 'people';
|
||||
}
|
||||
}
|
||||
|
||||
$alpha = false;
|
||||
|
@ -33,15 +38,17 @@ function directory_content(App $a)
|
|||
'$header' => t('Global Directory'),
|
||||
'$submit' => t('Find'),
|
||||
'$forum' => $a->get_baseurl() . (($forums) ? '' : '/directory/forum'),
|
||||
'$toggle' => (($forums) ? t('Show People') : t('Show Community Forums')),
|
||||
'$toggle' => (($filter == 'forums') ? t('Show People') : t('Show Community Forums')),
|
||||
'$alpha' => (($alpha) ? t('Updated order') : t('Alphabetic order')),
|
||||
'$alink' => (($alpha) ? str_replace('&alpha=1', '', $a->query_string) : $a->query_string . "&alpha=1"),
|
||||
'$args' => (($forums) ? '/forum' : ''),
|
||||
'$args' => (($filter == 'forums') ? '/forum' : ''),
|
||||
));
|
||||
|
||||
$sql_extra = '';
|
||||
if ($forums) {
|
||||
if ($filter == 'forums') {
|
||||
$sql_extra .= ' AND `comm` = 1 ';
|
||||
}else if ($filter == 'people') {
|
||||
$sql_extra .= ' AND `comm` = 0 ';
|
||||
}
|
||||
|
||||
$sql_extra = str_replace('%', '%%', $sql_extra);
|
||||
|
@ -77,7 +84,7 @@ function directory_content(App $a)
|
|||
$view->output(array(
|
||||
'total' => number_format($total),
|
||||
'results' => $r,
|
||||
'filter' => $forums ? 'forums' : '',
|
||||
'filter' => $filter,
|
||||
));
|
||||
|
||||
killme();
|
||||
|
|
|
@ -7,20 +7,35 @@ use \BadMethodCallException;
|
|||
*/
|
||||
class Search extends BaseHelper
|
||||
{
|
||||
|
||||
public function filterAllUrl($query)
|
||||
|
||||
public function filterAllUrl($query = '')
|
||||
{
|
||||
return $this->app->get_baseurl() . '/search?query=' . urlencode($query);
|
||||
if (empty($query)) {
|
||||
$url = $this->app->get_baseurl() . '/directory';
|
||||
} else {
|
||||
$url = $this->app->get_baseurl() . '/search?query=' . urlencode($query);
|
||||
}
|
||||
return $url;
|
||||
}
|
||||
|
||||
public function filterPeopleUrl($query)
|
||||
|
||||
public function filterPeopleUrl($query = '')
|
||||
{
|
||||
return $this->app->get_baseurl() . '/search/people?query=' . urlencode($query);
|
||||
if (empty($query)) {
|
||||
$url = $this->app->get_baseurl() . '/directory/people';
|
||||
} else {
|
||||
$url = $this->app->get_baseurl() . '/search/people?query=' . urlencode($query);
|
||||
}
|
||||
return $url;
|
||||
}
|
||||
|
||||
public function filterForumsUrl($query)
|
||||
|
||||
public function filterForumsUrl($query = '')
|
||||
{
|
||||
return $this->app->get_baseurl() . '/search/forums?query=' . urlencode($query);
|
||||
if (empty($query)) {
|
||||
$url = $this->app->get_baseurl() . '/directory/forums';
|
||||
} else {
|
||||
$url = $this->app->get_baseurl() . '/search/forums?query=' . urlencode($query);
|
||||
}
|
||||
return $url;
|
||||
}
|
||||
|
||||
|
||||
}
|
|
@ -1,9 +1,9 @@
|
|||
<div class="sub-menu-outer">
|
||||
<div class="sub-menu-inner search-options">
|
||||
<a class="option <?php echo $filter === null ? 'active' : '' ?>" href="<?php echo $this->filterAllUrl(''); ?>">All</a>
|
||||
<a class="option <?php echo $filter == 'people' ? 'active' : '' ?>" href="<?php echo $this->filterPeopleUrl(''); ?>">People</a>
|
||||
<a class="option <?php echo $filter == 'forums' ? 'active' : '' ?>" href="<?php echo $this->filterForumsUrl(''); ?>">Forums</a>
|
||||
</div>
|
||||
<div class="sub-menu-inner search-options">
|
||||
<a class="option <?php echo empty($filter) ? 'active' : '' ?>" href="<?php echo $this->filterAllUrl(''); ?>">All</a>
|
||||
<a class="option <?php echo $filter == 'people' ? 'active' : '' ?>" href="<?php echo $this->filterPeopleUrl(''); ?>">People</a>
|
||||
<a class="option <?php echo $filter == 'forums' ? 'active' : '' ?>" href="<?php echo $this->filterForumsUrl(''); ?>">Forums</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="directory-results">
|
||||
|
@ -16,13 +16,11 @@
|
|||
<?php if (count($results)): ?>
|
||||
|
||||
<?php
|
||||
|
||||
foreach ($results as $profile) {
|
||||
echo $this->view('_profile', array('profile' => $profile));
|
||||
}
|
||||
?>
|
||||
|
||||
|
||||
<?php else: ?>
|
||||
|
||||
<h3>There were no results</h3>
|
||||
|
|
Loading…
Reference in a new issue