public function yop_poll_do_scheduler() { require_once YOP_POLL_MODELS . 'yop_poll_model.php'; $yop_polls = Yop_Poll_Model::get_polls_for_view(array('return_fields' => 'ID')); if (count($yop_polls) > 0) { foreach ($yop_polls as $yop_poll_id) { $yop_poll_options = Yop_Poll_Model::get_poll_options_by_id($yop_poll_id['ID']); if ('yes' == $yop_poll_options['schedule_reset_poll_stats']) { $reset_time = new DateTime($yop_poll_options['schedule_reset_poll_date']); $now_date = new DateTime(date("Y-m-d H:i:s", current_time('timestamp'))); if ($reset_time->format("Y-m-d H") == $now_date->format("Y-m-d H")) { $unit_multiplier = 0; switch (strtolower(trim($yop_poll_options['schedule_reset_poll_recurring_unit']))) { case 'hour': $unit_multiplier = 60 * 60; break; case 'day': $unit_multiplier = 60 * 60 * 24; break; } $next_reset_date = strtotime($yop_poll_options['schedule_reset_poll_date']) + intval($yop_poll_options['schedule_reset_poll_recurring_value']) * $unit_multiplier; if ($next_reset_date <= current_time('timestamp')) { $next_reset_date = strtotime(substr(current_time('mysql'), 0, 11) . substr(date('Y-m-d H:i:s', $yop_poll_options['schedule_reset_poll_date']), 11, 2) . ':00:00') + intval($yop_poll_options['schedule_reset_poll_recurring_value']) * $unit_multiplier; } $poll_options = get_yop_poll_meta($yop_poll_id['ID'], 'options', true); $poll_options['schedule_reset_poll_date'] = date('d-m-Y H:i:s', $next_reset_date); update_yop_poll_meta($yop_poll_id['ID'], 'options', $poll_options); //Call reset stats function YOP_POLL_Abstract_Model::reset_poll_stats_from_database($yop_poll_id['ID']); } } } } }
private function reset_stats() { if (check_admin_referer('yop-poll-view-action', 'yop-poll-view-name')) { // if( current_user_can( 'delete_own_yop_polls' ) ) { if (isset($_REQUEST['id'])) { YOP_POLL_Abstract_Model::reset_poll_stats_from_database($_REQUEST['id']); } else { if (isset($_REQUEST['yoppollcheck'])) { $polls = (array) $_REQUEST['yoppollcheck']; foreach ($polls as $poll) { YOP_POLL_Abstract_Model::reset_poll_stats_from_database($poll); } } } //} } else { wp_die(__yop_poll('You are not allowed to reset votes for this poll.')); } self::view_polls(); }
function __construct($id = 0, $is_view_results = 'no', $question_sort = "poll_order", $question_sort_rule = "ASC", $answer_sort = "question_order", $answer_sort_rule = "ASC") { parent::__construct($id, $is_view_results, $question_sort, $question_sort_rule, $answer_sort, $answer_sort_rule); }