예제 #1
0
function desactivar_campania($idCampaign)
{
    global $arrConf;
    $respuesta = new xajaxResponse();
    // se conecta a la base
    $pDB = new paloDB($arrConf["cadena_dsn"]);
    if ($pDB->errMsg != "") {
        $respuesta->addAssign("mb_message", "innerHTML", _tr("Error when connecting to database") . "<br/>" . $pDB->errMsg);
    }
    $oCampaign = new paloSantoCampaignCC($pDB);
    if ($oCampaign->activar_campaign($idCampaign, 'I')) {
        $respuesta->addScript("window.open('?menu=campaign_out','_parent')");
    } else {
        $respuesta->addAssign("mb_title", "innerHTML", _tr("Desactivate Error") . "<br/>" . $pDB->errMsg);
        $respuesta->addAssign("mb_message", "innerHTML", _tr("Error when desactivating the Campaign") . "<br/>" . $pDB->errMsg);
    }
    return $respuesta;
}
예제 #2
0
파일: index.php 프로젝트: hardikk/HNH
function displayCampaignCSV($pDB, $smarty, $module_name, $local_templates_dir)
{
    $sDatosCSV = '';
    $id_campaign = NULL;
    if (isset($_GET['id_campaign']) && ereg('^[[:digit:]]+$', $_GET['id_campaign'])) {
        $id_campaign = $_GET['id_campaign'];
    }
    if (is_null($id_campaign)) {
        Header("Location: ?menu={$module_name}");
        return '';
    }
    // Leer los datos de la campaña, si es necesario
    $oCamp = new paloSantoCampaignCC($pDB);
    $arrCampaign = $oCamp->getCampaigns(null, null, $id_campaign);
    if (!is_array($arrCampaign) || count($arrCampaign) == 0) {
        $smarty->assign("mb_title", 'Unable to read campaign');
        print 'Cannot read campaign - ' . $oCamp->errMsg;
        return '';
    }
    $errMsg = NULL;
    $datosCampania =& $oCamp->getCompletedCampaignData($id_campaign);
    if (is_null($datosCampania)) {
        print $oCamp->errMsg;
    } else {
        header("Cache-Control: private");
        header("Pragma: cache");
        header('Content-Type: text/csv; charset=UTF-8; header=present');
        header("Content-disposition: attachment; filename=\"" . $arrCampaign[0]['name'] . ".csv\"");
        if (count($datosCampania['BASE']['DATA']) <= 0) {
            $sDatosCSV = "No Data Found\r\n";
        } else {
            // Cabeceras del archivo CSV. Se omite la primera etiqueta 'id_call'
            $lineaCSV = array();
            $lineaEspaciador = array();
            $baseLabels = $datosCampania['BASE']['LABEL'];
            array_shift($baseLabels);
            $lineaCSV = array_merge($lineaCSV, array_map('csv_replace', $baseLabels));
            $lineaEspaciador = array_fill(0, count($baseLabels), '""');
            foreach (array_keys($datosCampania['FORMS']) as $id_form) {
                $lineaCSV = array_merge($lineaCSV, array_map('csv_replace', $datosCampania['FORMS'][$id_form]['LABEL']));
                $lineaEspaciador = array_merge($lineaEspaciador, array_fill(0, count($datosCampania['FORMS'][$id_form]['LABEL']), '"FORMULARIO"'));
                // TODO: internacionalizar
            }
            $sDatosCSV .= join(',', $lineaEspaciador) . "\r\n";
            $sDatosCSV .= join(',', $lineaCSV) . "\r\n";
            // Datos del archivo CSV
            foreach ($datosCampania['BASE']['DATA'] as $tuplaDatos) {
                $lineaCSV = array();
                // Datos base de la campaña. Se recoge el primer elemento para id.
                $id_call = array_shift($tuplaDatos);
                $lineaCSV = array_merge($lineaCSV, array_map('csv_replace', $tuplaDatos));
                // Datos de los formularios de la campaña
                foreach (array_keys($datosCampania['FORMS']) as $id_form) {
                    $dataList = NULL;
                    if (isset($datosCampania['FORMS'][$id_form]['DATA'][$id_call])) {
                        $dataList = $datosCampania['FORMS'][$id_form]['DATA'][$id_call];
                    } else {
                        $dataList = array_fill(0, count($datosCampania['FORMS'][$id_form]['LABEL']), NULL);
                    }
                    $lineaCSV = array_merge($lineaCSV, array_map('csv_replace', $dataList));
                }
                $sDatosCSV .= join(',', $lineaCSV) . "\r\n";
            }
        }
    }
    return $sDatosCSV;
}