private static function filter_value($value) { if ('1' == wpmoly_o('rewrite-enable')) { $value = WPMOLY_L10n::untranslate_rewrite($value); } else { $value = WPMOLY_L10n::translate_rewrite($value); } return $value; }
/** * Parse grid sorting parameters * * @since 2.1.1 * * @param array $args Query parameters * * @return array Parsed parameters */ public static function parse_query_vars($vars) { $translate = '1' == wpmoly_o('rewrite-enable'); $defaults = array('letter', 'paged', 'columns', 'rows', 'order', 'meta', 'detail', 'value', 'view'); $params = array(); foreach ($defaults as $default) { if (isset($vars[$default])) { $var = $vars[$default]; if ($translate || in_array($default, array('meta', 'detail'))) { $var = WPMOLY_L10n::untranslate_rewrite($var); } $params[$default] = $var; } } // I can haz sortingz! if (isset($vars['sorting']) && '' != $vars['sorting']) { $sorting = '/' . $vars['sorting']; $regex = array('letter' => '(\\/([0-9A-Za-z]{1}))\\/', 'number' => '(([0-9]{1,})\\:([0-9]{1,})|([0-9]{1,}))\\/?', 'order' => '(asc|desc|ASC|DESC)\\/?', 'orderby' => '(title|year|date|localdate|rating)\\/?', 'paged' => '(page\\/([0-9]{1,}))\\/?'); // Has letter? $preg = preg_match("/{$regex['letter']}/", $sorting, $matches); if ($preg && isset($matches[2]) && '' != $matches[2]) { $params['letter'] = $matches[2]; } // Has number/columns? $preg = preg_match("/{$regex['number']}/", $sorting, $matches); if ($preg && (isset($matches[2]) && '' != $matches[2]) && (isset($matches[3]) && '' != $matches[3])) { $params['columns'] = $matches[2]; $params['rows'] = $matches[3]; } // Has sorting? $preg = preg_match("/{$regex['order']}/", $sorting, $matches); if ($preg && isset($matches[1]) && '' != $matches[1]) { $params['order'] = strtoupper($matches[1]); } $preg = preg_match("/{$regex['orderby']}/", $sorting, $matches); if ($preg && isset($matches[1]) && '' != $matches[1]) { $params['orderby'] = $matches[1]; } // Has pagination? $preg = preg_match("/{$regex['paged']}/", $sorting, $matches); if ($preg) { $params['paged'] = $matches[2]; } } return $params; }