/**
* Parse the query parameters to appropriate Column, Value, Search Filter Modifiers
* array(
* array(
* 'Column' => ColumnName,
* 'Value' => ColumnValue,
* 'Modifier' => ModifierType
* )
* )
*
* @param array $params raw GET vars array
* @return array formatted query parameters
*/
function parseQueryParameters(array $params)
{
$parsedParams = array();
$searchFilterModifiersSeparator = Config::inst()->get('RESTfulAPI_DefaultQueryHandler', 'searchFilterModifiersSeparator');
foreach ($params as $key__mod => $value) {
// skip url, flush, flushtoken
if (in_array(strtoupper($key__mod), Config::inst()->get('RESTfulAPI_DefaultQueryHandler', 'skipedQueryParameters'))) {
continue;
}
$param = array();
$key__mod = explode($searchFilterModifiersSeparator, $key__mod);
$param['Column'] = $this->deSerializer->unformatName($key__mod[0]);
$param['Value'] = $value;
if (isset($key__mod[1])) {
$param['Modifier'] = $key__mod[1];
} else {
$param['Modifier'] = null;
}
array_push($parsedParams, $param);
}
return $parsedParams;
}