示例#1
0
 /**
  * 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;
 }