コード例 #1
0
ファイル: url.php プロジェクト: claremontdesign/zbase
/**
 * Create URL based from current
 *
 * @param array $params Array of params to place/replace to the url
 * @param boolean $addReplace If replace, will add and replace params, else, will create new based on params
 * @return string
 */
function zbase_url_from_current($params = [], $replace = true, $add = false)
{
    if (!empty($replace) && !empty($add)) {
        $queryStrings = array_replace_recursive(zbase_request_query_inputs(), $params);
    } else {
        $queryStrings = $params;
    }
    if (!empty($replace)) {
        $qs = zbase_request_query_inputs();
        foreach ($params as $pK => $pV) {
            if (array_key_exists($pK, $qs)) {
                unset($qs[$pK]);
            }
        }
        $queryStrings = array_replace_recursive($qs, $params);
    }
    $urlQ = [];
    foreach ($queryStrings as $k => $v) {
        if (is_array($v)) {
            foreach ($v as $vK => $vV) {
                $urlQ[] = $k . '[' . $vK . ']=' . $vV;
            }
        } else {
            $urlQ[] = $k . '=' . $v;
        }
    }
    if (zbase_is_angular_template()) {
        $home = route('index');
        return '#' . str_replace($home, '', zbase_url() . '?' . implode('&', $urlQ));
    }
    return zbase_url() . '?' . implode('&', $urlQ);
}
コード例 #2
0
                if (!empty($s['label'])) {
                    $selected = '';
                    if (!empty($currentSorting) && array_key_exists($column, $currentSorting)) {
                        $selected = ' selected="selected"';
                        $currentDir = $currentSorting[$column];
                        $params = ['sort' => [$column => strtolower($currentDir) == 'asc' ? 'desc' : 'asc']];
                    } else {
                        $params = ['sort' => [$column => 'asc']];
                    }
                    $url = zbase_url_from_current($params);
                    $sortingOptions[] = '<option ' . $selected . ' value="' . $url . '">' . $s['label'] . '</option>';
                }
            }
        }
    }
}
if (!empty($sortingOptions)) {
    ?>
	<div class="form-group">
		<select class="form-control" onchange="window.location = jQuery(this).val();">
			<option value="<?php 
    echo zbase_url();
    ?>
">Sort</option>
			<?php 
    echo implode('', $sortingOptions);
    ?>
		</select>
	</div>
<?php 
}