/** * @param string $pContent le contenu à afficher */ public function beforeDisplay(&$pContent) { $elapsedTime = $this->_timer->stop(); switch ($this->config->trigger) { case 'url': if (CopixRequest::get('SpeedView') == 'show') { $this->_speedprocess = true; } break; case 'display': $this->_speedprocess = true; break; } if ($this->_speedprocess) { switch ($this->config->target) { case 'comment': $pContent = str_replace('<head>', '<head><!-- ' . $elapsedTime . ' --> ', $pContent); break; case 'display': $pContent = str_replace('</body>', $elapsedTime . '</body>', $pContent); break; case 'log': _log($elapsedTime, 'speedview', CopixLog::INFORMATION); } } }
/** * Actiongroup qui permet de gérer la suppression * */ public function processDelete() { $form = CopixFormFactory::get(_request('form_id')); $form->delete(CopixRequest::asArray()); $url = _request('url'); return _arRedirect(_url($url)); }
public function processSelectPage() { $tpl = new CopixTpl(); $tpl->assign('TITLE_PAGE', CopixI18N::get('htmleditor.title.pageSelect')); $tpl->assignZone('MAIN', 'htmleditor|SelectPage', array('onlyLastVersion' => 1, 'editorName' => CopixRequest::get('editorName', null, true), 'popup' => CopixRequest::get('popup', null, true))); return new CopixActionReturn(CopixActionReturn::DISPLAY_IN, $tpl, '|blank.tpl'); }
public function processGetTable() { $ppo = new CopixPPO(); // Si c'est pour de l'ajax if (CopixRequest::get('url') == null) { try { //Recup les données $id = CopixRequest::get('table_id'); $table = CopixListFactory::get($id); if (CopixRequest::get('submit') !== 'false') { $table->getFromRequest(); } //On génère le HTML $ppo->MAIN = $table->generateTable(); } catch (Exception $e) { //En cas d'erreur en etant en ajax, on renvoi l'erreur $ppo->MAIN = $e->getMessage(); return _arDirectPPO($ppo, 'blank.tpl'); } return _arDirectPPO($ppo, 'blank.tpl'); //Si c'est pas en ajax } else { //On récup les données $id = CopixRequest::get('table_id'); $table = CopixListFactory::get($id); if (CopixRequest::get('submit') !== 'false') { $table->getFromRequest(); } //Et on redirige return _arRedirect(_url(CopixRequest::get('url'))); } }
/** * Retourne les données du chart * */ public function processGetChartsDatas() { $cle = CopixRequest::get('cle'); echo CopixSession::get("charts|datas|{$cle}"); CopixSession::set("charts|datas|{$cle}", null); return _arNone(); }
/** * Formulaire de modification ou de création d'un élément en base de données * On édite soit a partir de données passées en paramètre */ public function getEdit() { $ppo = new CopixPPO(); $ppo->TITLE_PAGE = "Modification d'un élément"; if (!($ppo->toEdit = _ioDAO('copixtestautodao')->get(CopixRequest::get('id_test', null, true)))) { throw new Exception("Impossible de retrouver l'élément demandé"); } $ppo->errors = CopixRequest::get('errors', array(), true); return _arPpo($ppo, 'autodao.form.tpl'); }
/** * Fonction qui est appellée pour afficher l'aide */ public function processDefault() { if (_request('id_sh', null) === null) { return CopixActionGroup::process('generictools|Messages::getError', array('message' => _i18n('simplehelp.error.missingParameters'), 'back' => _url('simplehelp|admin|listAide'))); } $aide = _ioDAO('simplehelp')->get(_request('id_sh', null)); $ppo = new CopixPPO(array('TITLE_PAGE' => $aide->title_sh)); $ppo->MAIN = CopixZone::process('ShowAide', array('id_sh' => CopixRequest::get('id_sh', null))); return _arDirectPPO($ppo, 'popup.tpl'); }
function moduleContext($step = 'open', $title_page = '', $titleContext = '') { $module = CopixRequest::get('module'); $content = CopixZone::process('kernel|moduleContext', array('STEP' => $step, 'MODULE' => $module, 'TITLE_PAGE' => $title_page, 'TITLE_CONTEXT' => $titleContext)); if (!$content) { trigger_error('Unable to process Module Context Frame', E_USER_WARNING); } else { echo $content; } }
/** * retour de l'url actuelle sous forme de tableau associatif. * @return array */ function getUrlTab() { $UrlNew = array(); //$params = $_GET; $params = CopixRequest::asArray(); foreach ($params as $param => $valeur) { $UrlNew[$param] = $valeur; } return $UrlNew; }
public function _createContent(&$toReturn) { $tpl = new CopixTpl(); $kernel = _class("kernel"); $toReturn = ""; $arModulesPath = CopixConfig::instance()->arModulesPath; $display = false; foreach ($arModulesPath as $modulePath) { if (file_exists(COPIX_PROJECT_PATH . "themes/" . $kernel->getTheme() . "/kernel/footer.tpl")) { $tpl_file = COPIX_PROJECT_PATH . "themes/" . $kernel->getTheme() . "/kernel/footer.tpl"; } else { $tpl_file = $modulePath . 'kernel/templates/footer.tpl'; } if (!file_exists($tpl_file)) { continue; } $display = true; // Récupération des infos de géolocalisation. $whereami = Kernel::whereAmI(); if (isset($whereami['BU_GRVILLE'])) { $tpl->assign('grville_id', $whereami['BU_GRVILLE']['id']); $tpl->assign('grville_nom', $whereami['BU_GRVILLE']['nom']); } if (isset($whereami['BU_VILLE'])) { $tpl->assign('ville_id', $whereami['BU_VILLE']['id']); $tpl->assign('ville_nom', $whereami['BU_VILLE']['nom']); } if (isset($whereami['BU_ECOLE'])) { $tpl->assign('ecole_id', $whereami['BU_ECOLE']['id']); $tpl->assign('ecole_nom', $whereami['BU_ECOLE']['nom']); } if (isset($whereami['BU_CLASSE'])) { $tpl->assign('classe_id', $whereami['BU_CLASSE']['id']); $tpl->assign('classe_nom', $whereami['BU_CLASSE']['nom']); } // Récupération des valeurs d'URL. if ($module = CopixRequest::get('module')) { $tpl->assign('module', $module); } if ($action = CopixRequest::get('action')) { $tpl->assign('action', $action); } // Récupération des valeurs de sessions (personne). if (_currentUser()->getExtra('type')) { $tpl->assign('user_type', _currentUser()->getExtra('type')); $tpl->assign('user_id', _currentUser()->getExtra('id')); } } // Si le fichier de template n'existe pas, pas d'erreur. if ($display) { $toReturn = $tpl->fetch('kernel|footer.tpl'); } return true; }
public function beforeProcess(&$pExecParams) { if ($theme = $this->config->getThemeFor(CopixRequest::get('module'))) { CopixTpl::setTheme($theme); } //Ajout d'une gestion de tpl par thème $config = CopixConfig::instance(); $theme = CopixTpl::getThemeInformations(CopixTpl::getTheme()); if ($theme->tpl != null) { $config->mainTemplate = $theme->tpl; } }
/** * Permet d'exporter les classes des modukes * * @return CopixActionReturn */ public function processExportClass() { $pModuleName = CopixRequest::get('moduleName'); $pClassFileName = CopixRequest::get('classFileName'); // si on a confirmé l'ajout if (CopixRequest::get('confirm')) { $pServiceName = trim(CopixRequest::get('serviceName')); $pClassName = CopixRequest::get('className'); $pClassFileName = _request('classFileName'); $pModuleName = _request('moduleName'); // nom de service vide if ($pServiceName == '') { return _arRedirect(_url('admin|ExportClass', array('error' => 'serviceEmpty', 'moduleName' => $pModuleName, 'classFileName' => $pClassFileName))); } // verification si on n'a pas déja un service de ce nom $wsservices = _ioDao('wsservices')->findBy(_daoSP()->addCondition('name_wsservices', '=', $pServiceName)); if (count($wsservices) > 0) { return _arRedirect(_url('admin|ExportClass', array('error' => 'serviceExists', 'moduleName' => $pModuleName, 'classFileName' => $pClassFileName))); } CopixDB::getConnection()->doQuery("insert into wsservices (name_wsservices, module_wsservices, file_wsservices, class_wsservices) values ('" . $pServiceName . "','" . $pModuleName . "','" . $pClassFileName . "', '" . $pClassName . "')"); $res = 'Url du Webservice : <a href="' . _url('wsserver||', array('wsname' => $pServiceName)) . '">' . _url('wsserver||', array('wsname' => $pServiceName)) . '</a><br/>' . "\n"; $res .= 'Url du fichier wsdl : <a href="' . _url('wsserver|default|wsdl', array('wsname' => $pServiceName)) . '">' . _url('wsserver|default|wsdl', array('wsname' => $pServiceName)) . '</a><br/>' . "\n"; $res .= '<br />'; $res .= '<input type="button" value="' . _i18n('wsserver.back') . '" onclick="javascript: document.location=\'' . _url('admin|manageWebServices') . '\';" />'; $tpl = new CopixTpl(); $tpl->assign('MAIN', $res); return new CopixActionReturn(CopixActionReturn::DISPLAY, $tpl); // si on doit afficher le formulaire d'ajout } else { $ppo = new CopixPPO(); $ppo->TITLE_PAGE = _i18n('wsserver.title.manageWebServices'); $ppo->classFileName = $pClassFileName; $ppo->arErrors = array(); // erreur "service existant" passée en paramètre if (_request('error') !== null) { $ppo->arErrors[] = _i18n('wsserver.error.' . _request('error')); } $ppo->ModuleName = $pModuleName; $arBefore = get_declared_classes(); include CopixModule::getPath($pModuleName) . COPIX_CLASSES_DIR . $pClassFileName; $arAfter = get_declared_classes(); $arClass = array_diff($arAfter, $arBefore); sort($arClass); if (count($arClass) == 0) { throw new Exception('Pas de classe à exporter'); } $ppo->arClass = $arClass; return _arPPO($ppo, 'wsservices.add.php'); } }
/** * Supression d'un plugin de la liste des plugins enregistrés */ public function processRemovePlugin() { //on regarde si le plugin fait parti des plugins déja enregistrés $arPluginsConfiguration = array(); if (in_array($pluginName = CopixRequest::get('plugin'), $arPlugins = CopixConfig::instance()->plugin_getRegistered())) { foreach ($arPlugins as $plugin) { if ($plugin != $pluginName) { $arPluginsConfiguration[] = $plugin; } } _class('PluginsConfigurationFile')->write($arPluginsConfiguration); } return _arRedirect(_url('plugin|')); }
public function request($iName, $iType = 'other', $default = null) { $oReturn = CopixRequest::get($iName, $default); switch ($iType) { case 'str': return (string) $oReturn; break; case 'int': return $oReturn * 1; break; case 'other': return $oReturn; break; } }
/** * Supression d'une variable de session. */ public function processRemove() { $namespace = CopixRequest::get('for_namespace'); $key = CopixRequest::get('key'); if ($namespace !== null) { if ($key !== null) { unset($_SESSION['COPIX'][$namespace][$key]); } else { unset($_SESSION['COPIX'][$namespace]); } } else { if (isset($_SESSION[$key])) { unset($_SESSION[$key]); } } return _arRedirect(_url(CopixRequest::get('popup') ? 'admin|session|popup' : 'admin|session|')); }
/** * Retourne la page "autofermée" qui va rajouter le mail crypté demandé dans l'éditeur HTML */ public function processdoCryptMailto() { $tpl = new CopixTpl(); $tplInterieur = new CopixTpl(); $address = CopixRequest::get('mailAdress'); $encodedAddress = ''; for ($i = 0; $i < strlen($address); $i++) { if (preg_match('!\\w!', $address[$i])) { $encodedAddress .= '%' . bin2hex($address[$i]); } else { $encodedAddress .= $address[$i]; } } $tplInterieur->assign('mailto', $encodedAddress); $tpl->assign('TITLE_PAGE', CopixI18N::get('htmleditor.titlePage.mailcrypt')); $tpl->assign('MAIN', $tplInterieur->fetch('cryptmailto.tpl')); return new CopixActionReturn(CopixActionReturn::DISPLAY_IN, $tpl, '|blank.tpl'); }
/** * Ajout d'un commentaire dans la base après vérification des droits d'écriture * et que l'on a bien la bonne session */ public function processAddComment() { //Vérifie que l'on a bien un paramètre id CopixRequest::assert('id'); if (($informations = _ioClass('commentsservices')->getEnabled(_request('id'))) === false) { throw new Exception(_i18n('comments.error.badidsession')); } //_log ('FROMPAGE: '.$informations['fromPage']); //_log ('POUR ID: '._request ('id')); //vérifie les droits d'écriture if ($informations['writeCredential'] != "") { CopixAuth::getCurrentUser()->assertCredential($informations['writeCredential']); } //Ajout du commentaire $objComment = _record('comments'); $objComment->content_comment = _request('content'); $objComment->format_comment = 'TEXT'; //aujourd'hui on ne supporte que le format text pour les commentaires $objComment->authorlogin_comment = _request('author'); $objComment->authoremail_comment = _request('mail'); $objComment->authorsite_comment = _request('site'); $objComment->page_comment = $informations['id']; $objComment->date_comment = date('YmdHis'); if (CopixConfig::get('comments|captcha') != 0) { $objComment->captcha_id = _request('captcha_id'); $objComment->captcha_answer = _request('captcha_answer'); } try { if (_request('preview') === null) { _ioDAO('comments')->insert($objComment); _ioClass('commentsservices')->removeEnabled($informations['id']); _notify('Content', array('id' => $informations['id'], 'kind' => 'comment', 'keywords' => null, 'title' => $informations['id'], 'summary' => null, 'content' => $objComment->content_comment, 'url' => $informations['fromPage'])); return _arRedirect($informations['fromPage']); } else { _ioClass('commentsservices')->updateEnabled($objComment); return _arRedirect(_url($informations['fromPage'], array('preview' => 1, 'comments' => 'list'))); } } catch (CopixDAOCheckException $e) { _ioClass('commentsservices')->updateEnabled($objComment); return _arRedirect(_url($informations['fromPage'], array('errors' => 1, 'comments' => 'list'))); } }
public function processQuiz() { $pId = CopixRequest::getInt('id', false); if (!$pId) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('quiz.errors.noQuiz'), 'back' => CopixUrl::get('quiz|admin|'))); } //get the quiz's informations $QuizData = _ioDAO('quiz_quiz')->get($pId); if ($QuizData == null || count($QuizData) == 0) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('quiz.errors.noQuiz'), 'back' => CopixUrl::get('quiz||'))); } $author = Kernel::getUserInfo('ID', $QuizData->id_author, array('link_data' => true)); $ppo = new CopixPPO(); $ppo->quiz = $QuizData; $ppo->author = $author; $ppo->MENU[] = array('txt' => $this->i18n('quiz.admin.listActive'), 'type' => 'list-active', 'url' => $this->url('quiz|default|default', array('qaction' => 'list'))); $ppo->MENU[] = array('txt' => $this->i18n('quiz.admin.listAll'), 'type' => 'list', 'url' => $this->url('quiz|admin|list')); $ppo->MENU[] = array('txt' => $this->i18n('quiz.admin.new'), 'type' => 'create', 'url' => $this->url('quiz|admin|modif', array('qaction' => 'new'))); return _arPPO($ppo, 'admin.quiz.tpl'); }
/** * Vérifie que l'on est bien authentifié (A voir). */ public function beforeAction() { $pServiceName = CopixRequest::get('wsname'); $this->_path = CopixModule::getPath('wsserver'); if (isset($pServiceName)) { $this->_wsname = $pServiceName; $arRes = _ioDAO('wsservices')->findBy(_daoSP()->addCondition('name_wsservices', '=', $pServiceName)); if (count($arRes) == 0) { throw new CopixException('Service introuvable ' . htmlentities($pServiceName)); } $wsServiceInfo = $arRes[0]; $this->_exportModule = $wsServiceInfo->module_wsservices; $this->_exportClass = $wsServiceInfo->class_wsservices; $this->_exportClassFilename = CopixModule::getPath($this->_exportModule) . COPIX_CLASSES_DIR . strtolower($wsServiceInfo->file_wsservices); } else { $this->_exportModule = CopixConfig::get('wsserver|exportedModule'); $this->_exportClass = CopixConfig::get('wsserver|exportedClass'); $this->_exportClassFilename = CopixModule::getPath($this->_exportModule) . COPIX_CLASSES_DIR . strtolower(CopixConfig::get('wsserver|exportedClassFile')); } }
/** * Enregistre les droits séléctionné */ public function processRecord() { CopixRequest::assert('id_group', 'handler_group'); $bool = _request('bool', array()); foreach (_request('value', array()) as $value) { $arValue = explode('|', $value); $result = _dao('dynamiccredentialsgroups')->findBy(_daoSP()->addCondition('id_dc', '=', $arValue[0])->addCondition('id_dcv', '=', isset($arValue[1]) ? $arValue[1] : null)->addCondition('id_group', '=', _request('id_group'))->addCondition('handler_group', '=', _request('handler_group'))); if (!isset($bool[$value]) && isset($result[0])) { _dao('dynamiccredentialsgroups')->delete($result[0]->id_dcg); } elseif (isset($bool[$value]) && !isset($result[0])) { $record = _record('dynamiccredentialsgroups'); $record->id_group = _request('id_group'); $record->handler_group = _request('handler_group'); $record->id_dc = $arValue[0]; $record->id_dcv = isset($arValue[1]) ? $arValue[1] : null; _dao('dynamiccredentialsgroups')->insert($record); } } return _arRedirect(_url('auth|dynamic|list', array('id_group' => _request('id_group'), 'handler_group' => _request('handler_group'), 'url_return' => _request('url_return')))); }
public function set($data = null) { $dao = _dao("logs|logs"); $nouveau = _record("logs|logs"); $types = array('ERROR', 'DEBUG', 'INFO', 'ALERT', 'LOG', 'AUTO', 'GO'); if (isset($data['type']) && in_array($data['type'], $types)) { $nouveau->logs_type = $data['type']; } else { $nouveau->logs_type = 'UNKNOWN'; } if (isset($data['message'])) { $nouveau->logs_message = $data['message']; } $module = CopixRequest::get('module', 'kernel'); $action = CopixRequest::get('action', 'default'); $nouveau->logs_mod_name = $module; $nouveau->logs_mod_action = $action; $user = Kernel::getSessionBU(); if (sizeof($user) && isset($user['id'])) { $nouveau->logs_user_id = $user['id']; $nouveau->logs_user_login = $user['login']; } // Node $nouveau->logs_date = date("Y-m-j H:i:s", time()); $nouveau->logs_user_ip = $_SERVER['REMOTE_ADDR']; $nouveau->logs_url = $_SERVER['QUERY_STRING']; // Kernel::MyDebug( $nouveau ); if (isset($data['node_type'])) { $nouveau->logs_node_type = $data['node_type']; } if (isset($data['node_id'])) { $nouveau->logs_node_id = $data['node_id']; } if (isset($data['module_type'])) { $nouveau->logs_module_type = $data['module_type']; } if (isset($data['module_id'])) { $nouveau->logs_module_id = $data['module_id']; } $dao->insert($nouveau); }
/** * Fonction permettant d'afficher une exception à l'écran. * Principalement destinée à l'utilisation interne, pas nécessairement à l'utilisation depuis l'url * */ public function processException() { CopixRequest::assert('exception'); $e = _request('exception'); //Absolument impossible dans le contexte normal d'utilisation, $e est nécessairement une exception //catchée par le processus. if (!$e instanceof Exception) { return _arRedirect(_url('||')); } $ppo = new CopixPPO(); $ppo->TITLE_PAGE = _request('TITLE_PAGE', get_class($e)); switch (get_class($e)) { case 'CopixDAOCheckException': $ppo->message = sprintf('Une erreur de validation est survenue avec le message [%s]', implode(', ', $e->getErrors())); break; default: $ppo->message = $e->getMessage(); } $ppo->type = get_class($e); $ppo->file = $e->getFile(); $ppo->line = $e->getLine(); $ppo->trace = $e->getTrace(); $ppo->id = uniqid(); $ppo->urlBack = isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : null; switch (CopixConfig::instance()->getMode()) { case CopixConfig::DEVEL: $ppo->mode = 'DEVEL'; break; case CopixConfig::PRODUCTION: $ppo->mode = 'FORCE_INITIALISATION'; break; case CopixConfig::FORCE_INITIALISATION: $ppo->mode = 'FORCE_INITIALISATION'; break; default: $ppo->mode = 'UNKNOW'; break; } return _arPpo($ppo, 'default|exception.tpl'); }
/** * Verification de spam, selon les parametres passes et le referer * @author Christophe Beyer <*****@*****.**> * @since 2011/04/08 * @return boolean True si le visiteur est un robot spammeur, true si c'est un humain */ public function isSpam() { $oIsSpam = false; if (!isset($_SERVER["HTTP_REFERER"]) || !$_SERVER["HTTP_REFERER"]) { // Pas de referer $oIsSpam = true; } elseif (CopixRequest::get('url1')) { // Champ en commentaire rempli $oIsSpam = true; } elseif (CopixRequest::get('url2') != 'Abracadabra') { // Champ non visible modifie $oIsSpam = true; } return $oIsSpam; }
/** * Soumission du formulaire d'�criture d'un minimail (envoie le minimail) * * @author Christophe Beyer <*****@*****.**> * @since 2005/10/18 * @see getNewForm() * @param string $dest Logins du(des) destinataire(s) * @param string $title Titre du minimail * @param string $message Corps du minimail * @param string $go Forme de soumission : preview (pr�visualiser) ou send (enregistrer) */ public function doSend() { $dest = _request("dest") ? _request("dest") : ""; $title = _request("title") ? _request("title") : ""; $message = _request("message") ? _request("message") : ""; $format = _request("format") ? _request("format") : ""; $go = _request("go") ? _request("go") : 'preview'; $iReply = CopixRequest::getInt('reply'); $iForward = CopixRequest::getInt('forward'); $destTxt = $dest; $destTxt = str_replace(array(" "), "", $destTxt); $destTxt = str_replace(array(",", ";"), ",", $destTxt); $destin = array_unique(explode(",", $destTxt)); $fromId = _currentUser()->getId(); $errors = array(); if (!$dest) { $errors[] = CopixI18N::get('minimail.error.typeDest'); } if (!$title) { $errors[] = CopixI18N::get('minimail.error.typeTitle'); } if (!$message) { $errors[] = CopixI18N::get('minimail.error.typeMessage'); } if (!$format) { $errors[] = CopixI18N::get('minimail.error.typeFormat'); } $tabDest = array(); // On v�rifie que les destinataires existent while (list(, $login) = each($destin)) { if (!$login) { continue; } $userInfo = Kernel::getUserInfo("LOGIN", $login, array('strict' => true)); //print_r("login=$login"); //print_r($userInfo); if (!$userInfo) { $errors[] = CopixI18N::get('minimail.error.badDest', array($login)); } elseif ($userInfo["user_id"] == $fromId) { $errors[] = CopixI18N::get('minimail.error.writeHimself'); } else { $droits = Kernel::getUserInfoMatrix($userInfo); if ($droits['communiquer']) { $tabDest[$userInfo["user_id"]] = $userInfo["user_id"]; } else { $errors[] = CopixI18N::get('minimail.error.cannotWrite', array($login)); } } } // On v�rifie les pi�ces jointes CopixConfig::get('minimail|attachment_size'); //print_r($_FILES); for ($i = 1; $i <= 3; $i++) { if (isset($_FILES['attachment' . $i]) && !is_uploaded_file($_FILES['attachment' . $i]['tmp_name'])) { switch ($_FILES['attachment' . $i]['error']) { case 0: //no error; possible file attack! $errors[] = CopixI18N::get('minimail|minimail.error.upload_default', $i); break; case 1: //uploaded file exceeds the upload_max_filesize directive in php.ini $errors[] = CopixI18N::get('minimail|minimail.error.upload_toobig', $i); break; case 2: //uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the html form $errors[] = CopixI18N::get('minimail|minimail.error.upload_toobig', $i); break; case 3: //uploaded file was only partially uploaded $errors[] = CopixI18N::get('minimail|minimail.error.upload_partial', $i); break; case 4: //no file was uploaded break; default: $errors[] = CopixI18N::get('minimail|minimail.error.upload_default', $i); break; } } } if (!$errors) { if (!$errors && $go == 'save') { $serv = CopixClassesFactory::create("MinimailService"); $send = $serv->sendMinimail($title, $message, $fromId, $tabDest, $format); if (!$send) { $errors[] = CopixI18N::get('minimail.error.send'); } } if (!$errors && $go == 'save') { // Reponse ou forward ? if ($iReply) { // On verifie qu'on est destinataire if ($inDest = _ioDAO('minimail_to')->selectDestFromIdAndToUser($iReply, $fromId)) { _doQuery("UPDATE module_minimail_to SET is_replied=1 WHERE id=:id", array(':id' => $inDest->id2)); } } elseif ($iForward) { $message = _ioDAO('minimail_from')->get($iForward); // Si on etait l'expediteur if ($message && $message->from_id == $fromId) { _doQuery("UPDATE module_minimail_from SET is_forwarded=1 WHERE id=:id", array(':id' => $iForward)); // Si on etait destinataire } elseif ($message && ($inDest = _ioDAO('minimail_to')->selectDestFromIdAndToUser($iForward, $fromId))) { _doQuery("UPDATE module_minimail_to SET is_forwarded=1 WHERE id=:id", array(':id' => $inDest->id2)); } } // Ajout des pieces jointes $attachments = array(); $dataPath = realpath("../var/data"); for ($i = 1; $i <= 3; $i++) { if (isset($_FILES["attachment" . $i]) && isset($_FILES["attachment" . $i]["name"]) && $_FILES["attachment" . $i]["name"]) { $name = $send . "_" . $_FILES["attachment" . $i]["name"]; $uploadFrom = $_FILES["attachment" . $i]["tmp_name"]; $uploadTo = $dataPath . "/minimail/" . $name; if (move_uploaded_file($uploadFrom, $uploadTo)) { $attachments[] = $name; } else { $errors[] = CopixI18N::get('minimail.error.send', array($i)); } } } if (count($attachments) > 0) { $DAOminimail_from = CopixDAOFactory::create("minimail_from"); $mp = $DAOminimail_from->get($send); $mp->attachment1 = isset($attachments[0]) ? $attachments[0] : NULL; $mp->attachment2 = isset($attachments[1]) ? $attachments[1] : NULL; $mp->attachment3 = isset($attachments[2]) ? $attachments[2] : NULL; $DAOminimail_from->update($mp); } // update_message_pj ($res, $pj[0], $pj[1], $pj[2]); if (!$errors) { $urlReturn = CopixUrl::get('|getListSend'); return new CopixActionReturn(COPIX_AR_REDIRECT, $urlReturn); } } } //_dump($message); return CopixActionGroup::process('minimail|minimail::getNewForm', array('dest' => $dest, 'title' => $title, 'message' => $message, 'format' => $format, 'errors' => $errors, 'preview' => $go == 'save' ? 0 : 1, 'reply' => $iReply, 'forward' => $iForward)); //$url_return = CopixConfig::get('minimail|afterMsgSend'); //$url_return = CopixUrl::get('minimail||getListSend'); }
public function processEndQuestions() { $pId = CopixRequest::getInt('id', false); if (!$pId || is_null(qSession('id')) || $pId != qSession('id')) { return CopixActionGroup::process('quiz|default::Quiz', array('id' => $pId)); } $ppo = new CopixPPO(); CopixHTMLHeader::addCSSLink(_resource("styles/module_quiz.css")); return _arPPO($ppo, 'end_questions.tpl'); }
public function _createContent(&$toReturn) { CopixHtmlHeader::addCSSLink(_resource('styles/comments.css')); //Si pas d'éléments d'identifiant donné, alors on utilise l'ensemble des paramètres de la requête if (($id = $this->getParam('id')) == "") { $id = array_keys(CopixRequest::asArray()); } if (($mode = $this->getParam('mode')) == "" || $mode == "request") { if (($mode = _request('comments')) == "") { $mode = "summary"; } } if (($newUrl = $this->getParam('moreUrl')) == "") { $newUrl = _url('#', array('comments' => 'list')); } $tpl = new CopixTpl(); $tpl->assign('mode', $mode); $tpl->assign('newUrl', $newUrl); // On teste si nous sommes dans l'actions de prévisualisation if (_request('preview') !== null) { $tpl->assign('preview', 1); $tpl->assign('previewDate', date('YmdHis')); } if (CopixAuth::getCurrentUser()->testCredential('basic:admin')) { $tpl->assign('isAdmin', 1); } else { $tpl->assign('isAdmin', 0); } $idComment = _ioClass('commentsservices')->getId($id); // On vérifie si les commentaires sont ouvert $tpl->assign('locked', _dao('commentslocked')->countBy(_daoSp()->addCondition('locked_page_comment', '=', $idComment))); if ($informations = _ioClass('commentsservices')->getEnabled($idComment)) { $tpl->assign('newComment', $informations['object']); if (_request('errors') !== null) { $tpl->assign('errors', _ioDAO('comments')->check($informations['object'])); } } _ioClass('commentsservices')->addEnabled(array('fromPage' => _url('#'), 'writeCredential' => $this->getParam('credentialWrite'), 'id' => $idComment)); $tpl->assign('idComment', $idComment); switch ($mode) { case "list": if ($this->getParam('credentialRead') != "") { CopixAuth::getCurrentUser()->assertCredential($this->getParam('credentialRead')); } $tpl->assign('arrComments', _dao('comments')->findBy(_daoSp()->addCondition('page_comment', '=', $idComment))); break; case "summary": $tpl->assign('nbComments', _dao('comments')->countBy(_daoSp()->addCondition('page_comment', '=', $idComment))); break; } // Mise en place du captcha si besoin : if (CopixConfig::get('comments|captcha') != 0) { $arrCaptchaMax = _ioDao('commentscaptcha')->findBy(_daoSp()->orderBy(array('captcha_id', 'DESC'))->setLimit(0, 1)); $arrCaptchaMin = _ioDao('commentscaptcha')->findBy(_daoSp()->orderBy('captcha_id')->setLimit(0, 1)); $captcha = false; while (!$captcha || is_null($captcha)) { srand(); $rand = rand($arrCaptchaMin[0]->captcha_id, $arrCaptchaMax[0]->captcha_id); $captcha = _ioDao('commentscaptcha')->get($rand); } $tpl->assign('captcha', $captcha); } $toReturn = $tpl->fetch('zone.comment.tpl'); //_log ('URL: '._url('#')); //_log ('ID: ' . $idComment); return true; }
/** * Telechargement d'un document joint a une fiche * * @author Christophe Beyer <*****@*****.**> * @since 2011/01/31 * @param string $fichier Nom du fichier * */ public function processDoc() { $iFichier = CopixRequest::get('fichier'); $malleService =& CopixClassesFactory::Create('malle|malleService'); preg_match('/^([0-9]+)_(.+)$/', $iFichier, $regs); $file = COPIX_VAR_PATH . CopixConfig::get('fichesecoles|docPath') . $iFichier; if (@file_exists($file)) { $filename = $regs[2]; return _arFile($file, array('filename' => $filename, 'content-type' => $malleService->getMimeType($file), 'content-disposition' => 'attachement')); } header("HTTP/1.0 404 Not Found"); return new CopixActionReturn(COPIX_AR_NONE, 0); }
/** * Supression d'un log */ public function processDeleteProfile() { $profile = _request('profile'); if (CopixRequest::getInt('confirm') == 1) { CopixLog::deleteProfile($profile); $profiles = CopixConfig::instance()->copixlog_getRegisteredProfiles(); unset($profiles[$profile]); _class('LogConfigurationFile')->write($profiles); return _arRedirect(_url('log|admin')); } else { if (!in_array($profile, CopixConfig::instance()->copixlog_getRegistered())) { return _arRedirect(_url('log|admin')); } return CopixActionGroup::process('generictools|Messages::getConfirm', array('message' => _i18n('logs.delete', $profile), 'confirm' => _url('admin|log|deleteProfile', array('profile' => $profile, 'confirm' => 1)), 'cancel' => _url('admin|log|admin'))); } }
/** * Initialisation de la requête à partir d'un tableau de données * @param array $pArray tableau des données pour l'url */ public static function setRequest($pArray) { self::$_vars = $pArray; }
/** * Mise à jour du formulaire d'aide simple * @access: private. * @todo Utiliser les validateurs */ private function _validFromForm(&$toUpdate) { $toCheck = array('title_sh', 'content_sh', 'page_sh', 'key_sh'); CopixRequest::assert('title_sh', 'content_sh', 'page_sh', 'key_sh'); foreach ($toCheck as $elem) { $toUpdate->{$elem} = _request($elem); } }