/**
  * Parse the status query.
  *
  * @since 1.0
  *
  * @return Where|null
  */
 protected function parse_status()
 {
     if ($this->args['status'] === 'any') {
         return null;
     } else {
         $white_list = Release::get_statuses();
         $statuses = (array) $this->args['status'];
         foreach ($statuses as $status) {
             if (!isset($white_list[$status])) {
                 throw new \InvalidArgumentException("Invalid status {$status}");
             }
         }
         return new Where('status', true, (array) $this->args['status']);
     }
 }
Esempio n. 2
0
 /**
  * Get an associative array ( id => link ) with the list
  * of views available on this table.
  *
  * @since  1.0
  * @access protected
  *
  * @return array
  */
 protected function get_views()
 {
     $statuses = Release::get_statuses();
     $any = array('any' => __("All", Plugin::SLUG));
     $statuses = $any + $statuses;
     $links = array();
     foreach ($statuses as $status => $label) {
         $links[$status] = sprintf('<a href="%1$s">%2$s</a>', $this->get_view_link($status), $label) . " ({$this->counts[$status]})";
     }
     $selected = isset($_GET['status']) ? $_GET['status'] : 'any';
     $links[$selected] = "<strong>{$statuses[$selected]} ({$this->counts[$selected]})</strong>";
     return $links;
 }
 public function test_statuses_exist()
 {
     $statuses = Release::get_statuses();
     $this->assertArrayHasKey('draft', $statuses, 'Draft status does not exist.');
     $this->assertArrayHasKey('active', $statuses, 'Active status does not exist.');
     $this->assertArrayHasKey('paused', $statuses, 'Paused status does not exist.');
     $this->assertArrayHasKey('archived', $statuses, 'Archived status does not exist.');
 }
 /**
  * Enqueue scripts and styles.
  *
  * @since 1.0
  */
 private function enqueue()
 {
     $release = itelic_get_release($_GET['ID']);
     wp_enqueue_style('itelic-admin-releases-edit');
     wp_enqueue_script('itelic-admin-releases-edit');
     wp_localize_script('itelic-admin-releases-edit', 'ITELIC', array('prevVersion' => __("Previous version: %s", Plugin::SLUG), 'uploadTitle' => __("Choose Software File", Plugin::SLUG), 'uploadButton' => __("Replace File", Plugin::SLUG), 'uploadLabel' => __("Upload File", Plugin::SLUG), 'lessUpgrade' => __("Less", Plugin::SLUG), 'moreUpgrade' => __("More", Plugin::SLUG), 'saving' => __("Saving", Plugin::SLUG), 'ibdLoadOn' => 'loadCharts', 'statuses' => Release::get_statuses(), 'types' => Release::get_types(true), 'release' => $_GET['ID'], 'update_nonce' => wp_create_nonce('itelic-update-release-' . $_GET['ID']), 'ok' => __("Ok", Plugin::SLUG), 'cancel' => __("Cancel", Plugin::SLUG), 'currentVersion' => $release ? $release->get_product()->get_feature('licensing', array('field' => 'version')) : ''));
     wp_enqueue_media();
 }