/** * */ public function processLaunch() { //Si aucun test n'est donné, on redirige vers la page de choix if (($test = _request('tests')) === null) { return _arRedirect(_url('unittest|')); } //Si on a demandé à lancer les tests avec Ajax, on génère le template d'appel pour chaque élément if (_request('ajax')) { $ppo = new CopixPpo(); $ppo->TITLE_PAGE = 'Lancements des tests unitaires'; $ppo->arTests = $this->_getTest(); return _arPpo($ppo, 'tests.launch.php'); } else { //on a pas demandé d'appel type ajax, donc on lance directement les tests demandés. if (CopixAjax::isAJAXRequest()) { } else { //C'est une demande normale, la réponse sera de type HTML $more = ''; } } //On lance enfin la demande de test $httpClientRequest = new CopixHTTPClientRequest(CopixUrl::appendToUrl(_url() . 'test.php', array('tests' => $test, 'xml' => CopixAjax::isAJAXRequest()))); $httpClient = new CopixHttpClient(); $response = $httpClient->launch($httpClientRequest); return _arContent($response[0]->getBody(), array('content-type' => 'text/html')); }
/** * Fonction appelée lorsque l'on clique sur le bouton 'import' * Appel la méthode privée _validFromFormImportParams * vérifie les infos saisies dans le formulaire * stock l'objet en session * @author Audrey Vassal <*****@*****.**> */ public function doExport() { $serviceAuth = new AgendaAuth(); $serviceExport = new ExportService(); $agendaService = new AgendaService(); $dateService = new DateService(); //demande de mettre l'objet à jour en fonction des valeurs saisies dans le formulaire if (!($exportParams = $this->_getSessionExport())) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('agenda.error.cannotFindSession'), 'back' => CopixUrl::get('agenda|agenda|vueSemaine'))); } //on vérifie les droits des utilisateurs sur la liste des agendas sélectionnés foreach ((array) $this->getRequest('agenda') as $id_agenda) { //on vérifie si l'utilisateur a les droits d'écriture sur un des agendas affiché if ($serviceAuth->getCapability($id_agenda) < $serviceAuth->getRead()) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('agenda.error.enableToWrite'), 'back' => CopixUrl::get('agenda|agenda|vueSemaine'))); } } $this->_validFromFormExportParams($exportParams); $errors = $this->_checkExport($exportParams); if (count($errors) > 0) { $this->_setSessionExport($exportParams); return CopixActionGroup::process('agenda|ImportExport::getPrepareExport', array('e' => 1, 'errors' => $errors)); } else { //var_dump($exportParams); //die(); //on récupère tous les évènements des agendas cochés dans la période demandée foreach ((array) _request('agenda') as $idAgenda) { $arEventsPeriode[$idAgenda] = $agendaService->checkEventOfAgendaInBdd($idAgenda, CopixDateTime::dateToYYYYMMDD($exportParams->datedeb_export), CopixDateTime::dateToYYYYMMDD($exportParams->datefin_export)); } //on classe ces évènements par jour $arEventByDay = $agendaService->getEventsByDay($arEventsPeriode, CopixDateTime::dateToYYYYMMDD($exportParams->datedeb_export), CopixDateTime::dateToYYYYMMDD($exportParams->datefin_export)); //on ordonne les évènements par ordre croissant d'heure de début d'évènement dans la journée //var_dump($arEventByDay); $arEventByDay = $agendaService->getEventsInOrderByDay($arEventByDay); $content = $serviceExport->getFileICal($arEventByDay, CopixDateTime::dateToTimestamp($exportParams->datedeb_export), CopixDateTime::dateToTimestamp($exportParams->datefin_export)); } //on vide la session $this->_setSessionExport(null); return _arContent($content, array('filename' => 'agenda.ics', 'content-disposition' => 'attachement', 'content-type' => CopixMIMETypes::getFromExtension('.ics'))); }
/** * getLoginResult * * Affiche le résultat de la création de comptes (login, passwd) dans différents formats (html, txt, csv, etc.). * @author Frédéric Mossmann */ public function getLoginResult() { $inSession = _sessionGet('modules|comptes|doLoginCreate|success'); if (!$inSession || !is_array($inSession) || !sizeof($inSession)) { $urlReturn = CopixUrl::get('comptes||getNode'); return new CopixActionReturn(COPIX_AR_REDIRECT, $urlReturn); } //print_r($inSession); $tpl = new CopixTpl(); $tplLoginResult = new CopixTpl(); $tpl->assign('TITLE_PAGE', CopixI18N::get('comptes.moduleDescription') . " » " . CopixI18N::get('comptes.title.getloginresult')); $menu = array(); $menu[] = array('txt' => CopixI18N::get('comptes.menu.export_html'), 'url' => CopixUrl::get('comptes||getLoginResult', array('type' => _request('type'), 'id' => _request('id'), 'format' => 'html'))); $menu[] = array('txt' => CopixI18N::get('comptes.menu.export_txt'), 'url' => CopixUrl::get('comptes||getLoginResult', array('type' => _request('type'), 'id' => _request('id'), 'format' => 'text'))); $menu[] = array('txt' => CopixI18N::get('comptes.menu.export_cvs'), 'url' => CopixUrl::get('comptes||getLoginResult', array('type' => _request('type'), 'id' => _request('id'), 'format' => 'csv'))); $menu[] = array('txt' => CopixI18N::get('comptes.menu.export_xml'), 'url' => CopixUrl::get('comptes||getLoginResult', array('type' => _request('type'), 'id' => _request('id'), 'format' => 'xml'))); // $menu[] = array( 'txt' => CopixI18N::get ('comptes.menu.export_pdf'), 'url' => CopixUrl::get ('comptes||getLoginResult', array('type'=>_request('type'),'id'=>_request('id'),'format'=>'pdf')) ); $menu[] = array('txt' => CopixI18N::get('comptes.menu.export_purge'), 'url' => CopixUrl::get('comptes||getPurgeResult', array('type' => _request('type'), 'id' => _request('id'))), 'color' => 'red'); // $menu[] = array( 'txt' => CopixI18N::get ('comptes.menu.export_return'), 'url' => CopixUrl::get ('comptes||getNode', array('type'=>_request('type'),'id'=>_request('id'))) ); $tplLoginResult->assign('MENU', $menu); $logins = $inSession; if (!_request('format') || trim(_request('format')) == '') { $format = "default"; } else { $format = _request('format'); } $tplLoginResult->assign('logins', $logins); switch ($format) { case 'default': $main = $tplLoginResult->fetch('loginresult.tpl'); break; case 'html': $main = $tplLoginResult->fetch('loginresult-html.tpl'); return _arContent($main, array('filename' => 'Logins-' . date('YmdHi') . '.html', 'content-disposition' => 'attachement', 'content-type' => CopixMIMETypes::getFromExtension('.html'))); break; case 'text': $main = $tplLoginResult->fetch('loginresult-text.tpl'); return _arContent($main, array('filename' => 'Logins-' . date('YmdHi') . '.txt', 'content-disposition' => 'attachement', 'content-type' => CopixMIMETypes::getFromExtension('.txt'))); break; case 'csv': $main = $tplLoginResult->fetch('loginresult-csv.tpl'); return _arContent($main, array('filename' => 'Logins-' . date('YmdHi') . '.csv', 'content-disposition' => 'attachement', 'content-type' => CopixMIMETypes::getFromExtension('.csv'))); break; case 'xml': $main = $tplLoginResult->fetch('loginresult-xml.tpl'); return _arContent($main, array('filename' => 'Logins-' . date('YmdHi') . '.xml', 'content-disposition' => 'attachement', 'content-type' => CopixMIMETypes::getFromExtension('.xml'))); break; /* case 'pdf': break; */ /* case 'pdf': break; */ case 'session': // DEBUG $main = '<pre>' . print_r($inSession, true) . '</pre>'; break; default: break; } $tpl->assign('MAIN', $main); $tpl->assign('MENU', $this->menu); return new CopixActionReturn(COPIX_AR_DISPLAY, $tpl); }
/** * Affichage du flux RSS d'un blog (flux sortant) * * @author Christophe Beyer <*****@*****.**> * @since 2006/11/28 * @param string $blog Url_blog du blog */ public function getBlogRss() { $blog = $this->getRequest('blog', null); if ($blog != null) { $blogDAO =& CopixDAOFactory::create('blog|blog'); if ($blog = $blogDAO->getBlogByName($blog)) { $rss = CopixZone::process('ListArticleRss', array('blog' => $blog)); return _arContent($rss, array('content-type' => CopixMIMETypes::getFromExtension('xml'))); } } return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('blog.error.unableToFindBlog'), 'back' => CopixUrl::get(''))); }
/** * Fonction permettant de générer le fichier WSDL * * @return CopixActionReturn */ public function processWsdl() { $ppo = new CopixPPO(); require_once $this->_exportClassFilename; require_once $this->_path . COPIX_CLASSES_DIR . "WSDL_Gen.php"; // Generation du WSDL // @ todo : improve with significant URL if (isset($this->_wsname)) { $wsdl = new WSDL_Gen($this->_exportClass, _url('wsserver||', array('wsname' => $this->_wsname)), _url('wsserver|default|wsdl', array('wsname' => $this->_wsname))); } else { $wsdl = new WSDL_Gen($this->_exportClass, _url('wsserver||'), _url('wsserver|default|wsdl')); } $res = $wsdl->toXML(); $tpl = new CopixTpl(); $tpl->assign('MAIN', $res); return _arContent($res, array('content-type' => 'text/xml')); }
public function processShowMultipleAccountsListing() { $ppo = new CopixPPO(); // Récupération des informations des comptes créés $ppo->accounts = _sessionGet('gestionautonome|addMultipleStudents|success'); // Récupérations des informations des modifications apportées $accountsInSession = _sessionGet('modules|gestionautonome|passwordsList'); if (!is_array($accountsInSession)) { $accountsInSession = array(); } else { $toDisplay = array(); foreach ($accountsInSession as $lines) { foreach ($lines as $data) { $toDisplay[] = $data; } } $ppo->accountsInSession = $toDisplay; } // Récupération du format de sortie demandé if (!_request('format') || trim(_request('format')) == '') { $format = "default"; } else { $format = _request('format'); } // Breadcrumbs $nodeInfos = Kernel::getNodeInfo($ppo->nodeType, $ppo->nodeId, true); // Get vocabulary catalog to use $nodeVocabularyCatalogDAO = _ioDAO('kernel|kernel_i18n_node_vocabularycatalog'); $ppo->vocabularyCatalog = $nodeVocabularyCatalogDAO->getCatalogForNode($ppo->nodeType, $ppo->nodeId); $breadcrumbs = Kernel::generateBreadcrumbs($nodeInfos); $breadcrumbs[] = array('txt' => CopixCustomI18N::get('gestionautonome|gestionautonome.message.add%%structure_element_persons%%list', array('catalog' => $ppo->vocabularyCatalog->id_vc))); $ppo->breadcrumbs = Kernel::PetitPoucet($breadcrumbs, ' » '); $ppo->TITLE_PAGE = CopixConfig::get('gestionautonome|moduleTitle'); $ppo->title = 'Importer ' . CopixCustomI18N::get('gestionautonome|gestionautonome.message.%%structure_element_persons%%', array('catalog' => $ppo->vocabularyCatalog->id_vc)); $ppo->msgSuccess = CopixCustomI18N::get('gestionautonome|gestionautonome.message.%%structure_element_Persons%%', array('catalog' => $ppo->vocabularyCatalog->id_vc)) . ' ajoutés !'; $ppo->subTitle = 'Liste ' . CopixCustomI18N::get('gestionautonome|gestionautonome.message.%%indefinite__structure_element_persons%%', array('catalog' => $ppo->vocabularyCatalog->id_vc)) . ' ajoutés'; // Sortie suivant le format demandé $tplResult = new CopixTpl(); $tplResult->assign('accounts', $ppo->accounts); switch ($format) { case 'default': return _arPPO($ppo, 'account_listing.tpl'); case 'html': $result = $tplResult->fetch('account_listing_html.tpl'); return _arContent($result, array('filename' => 'Logins-' . date('YmdHi') . '.html', 'content-disposition' => 'inline', 'content-type' => CopixMIMETypes::getFromExtension('.html'))); break; case 'csv': $result = $tplResult->fetch('account_listing_csv.tpl'); return _arContent($result, array('filename' => 'Logins-' . date('YmdHi') . '.csv', 'content-disposition' => 'attachement', 'content-type' => CopixMIMETypes::getFromExtension('.csv'))); break; } }
/** * Flux RSS des blogs de tout Iconito * * @author Christophe Beyer <*****@*****.**> * @since 2007/11/27 */ public function processRss() { $rss = CopixZone::process('Rss'); //echo "rss=$rss<p></p>"; return _arContent($rss, array('content-type' => CopixMIMETypes::getFromExtension('xml'))); }