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'); }
protected function find_years_months() { return WpTesting_Query_Passing::create()->queryAllMonthsByRespondent($this->wp->getCurrentUserId()); }
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; }