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; }
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; }