/** * Retrieves contest data. */ function get_data() { $orderby = ''; $order = 'desc'; if (isset($_GET['orderby'])) { $orderby = $_GET['orderby']; } if (isset($_GET['order'])) { $order = $_GET['order']; } $data = array(); $data = CH_Contest::get_all($orderby, $order, $this->get_pagenum(), $this->per_page); $this->found_posts = CH_Contest::get_num(); return $data; }
/** * Wordpress widget settings. * @param mixed $instance */ public function form($instance) { $contest_id = ''; if (isset($instance['contest_id'])) { $contest_id = $instance['contest_id']; } $contests = CH_Contest::get_all(); echo '<p>' . _e('Contest:', 'contesthopper') . '<select id="' . $this->get_field_id('contest_id') . '" name="' . $this->get_field_name('contest_id') . '" class="widefat">'; foreach ($contests as $contest) { $selected = ''; if ($contest_id == $contest->ID) { $selected = ' selected="selected"'; } echo '<option value="' . esc_attr($contest->ID) . '"' . $selected . '>' . esc_html($contest->ch_headline) . '</option>'; } echo '</select></p>'; }
/** * Table constructor with optional contest parameter. * @param CH_Contest $contest * @return CH_Table_Participants */ function __construct($contest = '') { $this->per_page = 30; $this->contest = $contest; if (!is_object($contest)) { $this->contest = ''; } if ($this->contest != '') { $this->current_winner_num = $this->contest->get_current_winner_num(); } $this->extra_nav = array(); $contests = CH_Contest::get_all(); foreach ($contests as $contest) { $this->extra_nav[$contest->ID] = $contest->ch_headline; } parent::__construct(); }
/** * Contest autoexpiry method. * Called on <i>contesthopper_autoexpiry</i> hook, that was registered by <i>wp_schedule_event()</i> on plugin install. * Method checks for active contests that have <i>ch_autoselect_winner</i> attribute set, calls * contest object methods to pick the desired number of winners and sets the contest to <i>winners_picked</i> * status. */ function process_autoexpiry() { $contests = CH_Contest::get_all('', '', '', '', 'active'); foreach ($contests as $contest) { if ($contest->is_expired()) { if (isset($contest->ch_autoselect_winner) && $contest->ch_autoselect_winner == '1') { $winners_num = 1; if (isset($contest->ch_winners_num) && is_numeric($contest->ch_winners_num) && $contest->ch_winners_num > 0) { $winners_num = $contest->ch_winners_num; } $current_winners = $contest->get_current_winner_num(); $pick_num = intval($winners_num) - intval($current_winners); if ($pick_num > 0) { $contest->pick_winners($pick_num); } $contest->set_status('winners_picked'); } } } }