示例#1
0
 protected function processAction($action, $ids)
 {
     if (!in_array($action, array('trash', 'untrash', 'delete'))) {
         return parent::processAction($action, $ids);
     }
     $passings = WpTesting_Query_Passing::create()->findAllByIds($ids);
     if (count($passings) == 0) {
         return parent::processAction($action, $ids);
     }
     switch ($action) {
         case 'trash':
             foreach ($passings as $passing) {
                 $passing->trash();
             }
             break;
         case 'untrash':
             foreach ($passings as $passing) {
                 $passing->publish();
             }
             break;
         case 'delete':
             foreach ($passings as $passing) {
                 $passing->delete(true);
             }
             break;
     }
     $referer = $this->wp->getReferer();
     if ($referer) {
         return $this->wp->safeRedirect($referer);
     }
     return $this->wp->redirect('?post_type=wpt_test&page=wpt_test_respondents_results');
 }
示例#2
0
 protected function find_years_months()
 {
     return WpTesting_Query_Passing::create()->queryAllMonthsByRespondent($this->wp->getCurrentUserId());
 }
示例#3
0
 public function get_views()
 {
     $results = WpTesting_Query_Passing::create()->countAllStatuses();
     $views = array('all' => '');
     $currentStatus = fRequest::get('passing_status');
     $defaultUrl = '?post_type=wpt_test&page=wpt_test_respondents_results';
     $total = 0;
     foreach ($results as $row) {
         $status = $this->wp->getPostStatusObject($row['passing_status']);
         $text = sprintf($this->wp->translatePlural($status->label_count['singular'], $status->label_count['plural'], $row['passing_count']), $row['passing_count']);
         $url = $defaultUrl . '&passing_status=' . $row['passing_status'];
         $class = $currentStatus == $row['passing_status'] ? 'current' : '';
         $views[$row['passing_status']] = $this->render_link($url, $text, $class);
         if ($status->show_in_admin_all_list) {
             $total += $row['passing_count'];
         }
     }
     $class = empty($currentStatus) ? 'current' : '';
     $views['all'] = $this->render_link($defaultUrl, sprintf($this->wp->translatePluralWithContext('All <span class="count">(%s)</span>', 'All <span class="count">(%s)</span>', $total, 'posts'), $total), $class);
     return $views;
 }