/**
 * 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;
    }
}
Beispiel #2
0
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);
}