Example #1
0
 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']);
                 }
             }
         }
     }
 }
Example #2
0
 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();
 }
Example #3
0
 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);
 }