/** * Parses out all of the needed parameters for this plugin * * @return array */ private function parseCommonParameters() { $current_folder = URL::getCurrent(); // Strip taxonomy segments because they don't reflect physical folder locations if (Taxonomy::isTaxonomyUrl($current_folder)) { $current_folder = URL::stripTaxonomy($current_folder); } // determine folder $folders = array('folders' => $this->fetchParam(array('folder', 'folders', 'from'), $current_folder)); // determine filters $filters = array('show_hidden' => $this->fetchParam('show_hidden', false, null, true, false), 'show_drafts' => $this->fetchParam('show_drafts', false, null, true, false), 'since' => $this->fetchParam('since'), 'until' => $this->fetchParam('until'), 'show_past' => $this->fetchParam('show_past', true, null, true), 'show_future' => $this->fetchParam('show_future', false, null, true), 'type' => 'entries', 'conditions' => trim($this->fetchParam('conditions', null, false, false, false)), 'where' => trim($this->fetchParam('where', null, false, false, false))); // determine supplemental data $supplements = array('locate_with' => $this->fetchParam('locate_with', null, false, false, false), 'center_point' => $this->fetchParam('center_point', null, false, false, false)); // determine other factors $other = array('taxonomy' => $this->fetchParam('taxonomy', false, null, true, null), 'sort_by' => $this->fetchParam('sort_by', 'order_key'), 'sort_dir' => $this->fetchParam('sort_dir')); $other['sort'] = $this->fetchParam('sort', $other['sort_by'] . ' ' . $other['sort_dir'], null, false, null); return $other + $supplements + $filters + $folders; }