/** * sort metapages by a meta * * @access public * @param string|null $meta meta name. * @param boolean $reverse sort in reverse order * @version $Id: v 1.2 2008-06-10 07:23:17Z sonots $ */ function sort_by($meta, $reverse = false) { switch ($meta) { case 'name': $metas = $this->get_metas('relname'); sonots::natcasesort_filenames($metas); break; case 'date': $metas = $this->get_metas('timestamp'); arsort($metas, SORT_NUMERIC); break; case 'reading': $metas = $this->get_metas('reading'); sonots::natcasesort_filenames($metas); break; case 'popular': $metas = $this->get_metas('popular'); arsort($metas, SORT_NUMERIC); break; case 'title': $metas = $this->get_metas('title'); $metas = array_map('make_link', $metas); $metas = array_map('strip_tags', $metas); $metas = array_map('trim', $metas); asort($metas, SORT_STRING); break; default: $metas = $this->get_metas($meta); asort($metas, SORT_STRING); break; } if ($reverse) { $metas = array_reverse($metas, true); } sonots::array_asort_key($this->metapages, $metas); }