/** * Função que trata a ação de edição em massa do prazo de discussão */ function delibera_custom_bulk_action() { $wp_list_table = _get_list_table('WP_Posts_List_Table'); $action = $wp_list_table->current_action(); switch ($action) { case 'set_prazodiscussao': check_admin_referer('bulk-posts'); $pautas_ids = $_REQUEST['post']; $novo_prazo_discussao = $_REQUEST['novo_prazo_discussao']; $inovo_prazo_discussao = DateTime::createFromFormat('d/m/Y', $novo_prazo_discussao)->getTimestamp(); $pautas_afetadas = 0; foreach ($pautas_ids as $pauta_id) { delibera_set_novo_prazo_discussao_relatoria($pauta_id, $inovo_prazo_discussao, delibera_get_config()); $pautas_afetadas++; } $sendback = admin_url("edit.php?post_type=pauta&pautas_afetadas={$pautas_afetadas}&novo_prazo={$novo_prazo_discussao}"); wp_redirect($sendback); exit; break; } }
function delibera_novo_prazo($postID) { $situacao = delibera_get_situacao($postID); $opts = delibera_get_config(); switch ($situacao->slug) { case 'validacao': $inova_data = strtotime("+{$opts['dias_novo_prazo']} days"); $nova_data = date("d/m/Y", $inova_data); $inova_datad = strtotime("+{$opts['dias_discussao']} days", $inova_data); $nova_datad = date("d/m/Y", $inova_datad); $inova_datavt = strtotime("+{$opts['dias_votacao']} days", $inova_datad); $nova_datavt = date("d/m/Y", $inova_datavt); $inova_datarel = strtotime("+{$opts['dias_votacao_relator']} days", $inova_datavt); $nova_datarel = date("d/m/Y", $inova_datarel); $inova_datar = strtotime("+{$opts['dias_relatoria']} days", $inova_datarel); $nova_datar = date("d/m/Y", $inova_datar); $events_meta['prazo_validacao'] = $opts['validacao'] == 'S' ? $nova_data : date('d/m/Y'); $events_meta['prazo_discussao'] = $nova_datad; $events_meta['prazo_relatoria'] = $opts['relatoria'] == 'S' ? $nova_datar : date('d/m/Y'); $events_meta['prazo_eleicao_relator'] = $opts['relatoria'] == 'S' && $opts['eleicao_relator'] == 'S' ? $nova_datarel : date('d/m/Y'); $events_meta['prazo_votacao'] = $nova_datavt; foreach ($events_meta as $key => $value) { if (get_post_meta($postID, $key, true)) { update_post_meta($postID, $key, $value); // Atualiza } else { add_post_meta($postID, $key, $value, true); // Se não cria } } delibera_del_cron($postID); delibera_criar_agenda($postID, $nova_data, $nova_datad, $nova_datavt, $nova_datar, $nova_datarel); break; case 'discussao': case 'relatoria': $inova_data = strtotime("+{$opts['dias_novo_prazo']} days"); delibera_set_novo_prazo_discussao_relatoria($postID, $inova_data, $opts); break; case 'emvotacao': $inova_data = strtotime("+{$opts['dias_novo_prazo']} days"); $nova_data = date("d/m/Y", $inova_data); update_post_meta($postID, 'prazo_votacao', $nova_data); delibera_del_cron($postID); delibera_criar_agenda($postID, false, false, $nova_data); break; } //delibera_notificar_situacao($postID); }