public function processDefault() { _classInclude('sysutils|admin'); if (!Admin::canAdmin()) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('kernel|kernel.error.noRights'), 'back' => CopixUrl::get())); } echo "Récupération des classeurs de classe sans casier\n"; echo "----------------------------------------------------------------------\n\n"; // Récupération des classeurs de classe sans casier $sql = 'SELECT DISTINCT module_classeur.id' . ' FROM kernel_mod_enabled, module_classeur' . ' LEFT JOIN module_classeur_dossier ON (module_classeur_dossier.module_classeur_id = module_classeur.id)' . ' WHERE module_classeur.id = kernel_mod_enabled.module_id' . ' AND kernel_mod_enabled.module_type = "MOD_CLASSEUR"' . ' AND kernel_mod_enabled.node_type = "BU_CLASSE"' . ' AND (module_classeur_dossier.id IS NULL' . ' OR module_classeur_dossier.id NOT IN (SELECT id FROM module_classeur_dossier WHERE casier = 1 AND module_classeur_id = module_classeur.id))'; $results = _doQuery($sql); $dossierDAO = _ioDAO('classeur|classeurdossier'); _classInclude('classeur|classeurService'); echo count($results) . " casiers à créer.\n"; foreach ($results as $result) { $casier = _record('classeur|classeurdossier'); $casier->classeur_id = $result->id; $casier->parent_id = 0; $casier->nom = CopixI18N::get('classeur|classeur.casierNom'); $casier->nb_dossiers = 0; $casier->nb_fichiers = 0; $casier->taille = 0; $casier->cle = classeurService::createKey(); $casier->casier = 1; $casier->date_creation = date('Y-m-d H:i:s'); $dossierDAO->insert($casier); echo "Casier du classeur {$result->id} créé avec succès !\n"; } echo "\n\nFin de la tâche"; return _arNone(); }
/** * Retourne l'adresse du favori * * @return string Adresse du favori */ public function getLienFavori() { $toReturn = null; if ($this->estUnFavori()) { $toReturn = classeurService::getUrlOfFavorite($this); } return $toReturn; }
/** * Crée un classeur * * @param array $infos (option) Infos sur le module. [title], [subtitle], [node_type], [node_id] * * @return ID du classeur ou NULL si erreur */ public function create($infos = array()) { $return = null; _classInclude('classeur|classeurservice'); $classeurDAO = _dao('classeur|classeur'); $classeur = _record('classeur|classeur'); $classeur->titre = $infos['title'] ? $infos['title'] : CopixI18N::get('classeur|classeur.moduleDescription'); $classeur->cle = ClasseurService::createKey(); $classeur->date_creation = date('Y-m-d H:i:s'); $classeurDAO->insert($classeur); // Si l'insertion en base du classeur s'est bien passée, création du dossier physique if (!is_null($classeur->id)) { $path2data = realpath('./static/classeur'); $folder = $path2data . '/' . $classeur->id . '-' . $classeur->cle; if ($mkdir = mkdir($folder, 0777)) { chmod($folder, 0777); // Création d'un casier s'il s'agit d'un classeur de classe if ('BU_CLASSE' == $infos['node_type']) { $dossierDAO = _ioDAO('classeur|classeurdossier'); $casier = _record('classeur|classeurdossier'); $casier->classeur_id = $classeur->id; $casier->parent_id = 0; $casier->nom = CopixI18N::get('classeur|classeur.casierNom'); $casier->nb_dossiers = 0; $casier->nb_fichiers = 0; $casier->taille = 0; $casier->cle = classeurService::createKey(); $casier->casier = 1; $casier->date_creation = date('Y-m-d H:i:s'); $dossierDAO->insert($casier); } $return = $classeur->id; } if (!$return) { $classeurDAO->delete($classeur->id); } } return $return; }
/** * Téléchargement d'une pièce jointe dans un classeur * * @author Christophe Beyer <*****@*****.**> * @since 2012/06/21 * @param integer $id Id du minimail de départ */ public function attachmentToClasseur() { //_dump($_POST); $this->addJs('js/iconito/module_classeur.js'); $this->addJs('js/iconito/module_minimail.js'); $this->addCss('styles/module_classeur.css'); _classInclude('classeur|classeurService'); _classInclude('kernel|Request'); $idUser = _currentUser()->getId(); $idMessage = _request("id"); $files = _request('files', array()); $destination = _request('destination'); $errors = array(); $daoFrom = _ioDAO("minimail|minimail_from"); $daoTo = CopixDAOFactory::create("minimail_to"); $message = $daoFrom->getMessage($idMessage); $canMake = $isRecv = $isSend = false; if ($message && $message->from_id == $idUser) { // Message qu'il a envoyé $canMake = $isSend = true; } else { // Il en est peut-être destinataire $canMake = $isRecv = $daoTo->selectDestFromIdAndToUser($idMessage, $idUser); // Test s'il est dans les destin } if (!$canMake) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('minimail.error.cantDisplay'), 'back' => CopixUrl::get('minimail||'))); } $menu = array(); $menu[] = array('txt' => CopixI18N::get('minimail.mess_recv'), 'url' => CopixUrl::get('minimail||getListRecv'), 'current' => $isRecv); $menu[] = array('txt' => CopixI18N::get('minimail.mess_send'), 'url' => CopixUrl::get('minimail||getListSend'), 'current' => $isSend); $menu[] = array('txt' => CopixI18N::get('minimail.mess_write'), 'url' => CopixUrl::get('minimail||getNewForm')); $ppo = new CopixPPO(); $ppo->TITLE_PAGE = $message; $ppo->MENU = $menu; $ppo->message = $message; //_dump(Request::isXmlHttpRequest()); if (Request::isPostMethod()) { $error = $success = array(); if (!$files) { $error[] = CopixI18N::get('minimail.attachmentToClasseur.error.noFiles'); } if ($destination) { list($ppo->destinationType, $ppo->destinationId) = explode('-', $destination); if ('classeur' == $ppo->destinationType) { $rClasseur = _ioDAO('classeur|classeur')->get($ppo->destinationId); } if ('dossier' == $ppo->destinationType) { if ($rDossier = _ioDAO('classeur|classeurdossier')->get($ppo->destinationId)) { $rClasseur = _ioDAO('classeur|classeur')->get($rDossier->classeur_id); } } } if (!$destination || !$rClasseur) { $error[] = CopixI18N::get('classeur|classeur.error.noDestination'); } if ($error) { $ppo->error = $error; return _arPPO($ppo, array('template' => 'attachmentToClasseur.tpl', 'mainTemplate' => 'main|main_popup.php')); } //_dump($destination); //_dump($rClasseur); $dir = realpath('./static/classeur') . '/' . $rClasseur->id . '-' . $rClasseur->cle . '/'; if (!file_exists($dir)) { mkdir($dir, 0755, true); } foreach ($files as $file) { $fichierPhysique = realpath("../var/data") . "/minimail/" . $file; $nomFichierPhysique = $file; $fichier = _record('classeur|classeurfichier'); $fichier->classeur_id = $rClasseur->id; $fichier->dossier_id = isset($rDossier) && $rDossier ? $rDossier->id : 0; $fichier->titre = MinimailService::getAttachmentName($file); $fichier->fichier = $nomFichierPhysique; $fichier->taille = filesize($fichierPhysique); $fichier->type = strtoupper(substr(strrchr($nomFichierPhysique, '.'), 1)); $fichier->cle = classeurService::createKey(); $fichier->date_upload = date('Y-m-d H:i:s'); $fichier->user_type = _currentUser()->getExtra('type'); $fichier->user_id = _currentUser()->getExtra('id'); _ioDAO('classeur|classeurfichier')->insert($fichier); if ($fichier->id > 0) { $nomClasseur = $rClasseur->id . '-' . $rClasseur->cle; $nomFichier = $fichier->id . '-' . $fichier->cle; $extension = strtolower(strrchr($nomFichierPhysique, '.')); if (copy($fichierPhysique, $dir . $fichier->id . '-' . $fichier->cle . $extension)) { $success[] = MinimailService::getAttachmentName($file); } else { $error[] = CopixI18N::get('minimail.attachmentToClasseur.error.moved', array(MinimailService::getAttachmentName($file))); } } else { $error[] = CopixI18N::get('minimail.attachmentToClasseur.error.creation', array(MinimailService::getAttachmentName($file))); } } if (count($success) > 0) { $dest = $rClasseur; if (isset($rDossier) && $rDossier) { $dest .= ' / ' . $rDossier; } if (1 == count($success)) { Kernel::setFlashMessage('success', CopixI18N::get('minimail.attachmentToClasseur.moved_1', array(implode(', ', $success), $dest))); } else { Kernel::setFlashMessage('success', CopixI18N::get('minimail.attachmentToClasseur.moved_N', array(implode(', ', $success), $dest))); } } if ($error) { Kernel::setFlashMessage('error', implode('<br />', $error)); } $ppo->ok = 1; //echo 'OK'; //return _arNone(); //return new CopixActionReturn(COPIX_AR_REDIRECT, CopixUrl::get('minimail||getMessage', array('id' => $idMessage))); } return _arPPO($ppo, array('template' => 'attachmentToClasseur.tpl', 'mainTemplate' => 'main|main_popup.php')); }
public function getFilesInFolder_sort($doc1, $doc2) { $sort = 0; $sort_config = classeurService::getContentSort(); // [colonne] => titre // [direction] => ASC switch ($sort_config['colonne']) { case 'date': if ($doc1->date_upload < $doc2->date_upload) { $sort = -1; } if ($doc1->date_upload > $doc2->date_upload) { $sort = 1; } break; case 'taille': if ($doc1->taille < $doc2->taille) { $sort = -1; } if ($doc1->taille > $doc2->taille) { $sort = 1; } break; case 'type': if ($doc1->type < $doc2->type) { $sort = -1; } if ($doc1->type > $doc2->type) { $sort = 1; } break; case 'titre': default: if ($doc1->titre < $doc2->titre) { $sort = -1; } if ($doc1->titre > $doc2->titre) { $sort = 1; } break; } if ($sort_config['direction'] == 'DESC') { $sort = -$sort; } return $sort; }
/** * Edition d'un travail - * Enseignant * */ public function processEditerTravail() { $ppo = new CopixPPO(); if (is_null($ppo->cahierId = _request('cahierId', null))) { return CopixActionGroup::process('generictools|Messages::getError', array('message' => CopixI18N::get('kernel|kernel.error.errorOccurred'), 'back' => CopixUrl::get(''))); } elseif (Kernel::getLevel('MOD_CAHIERDETEXTES', $ppo->cahierId) < PROFILE_CCV_PUBLISH) { return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('kernel|kernel.error.noRights'), 'back' => CopixUrl::get(''))); } // Récupération des paramètres $ppo->jour = _request('jour', date('d')); $ppo->mois = _request('mois', date('m')); $ppo->annee = _request('annee', date('Y')); $ppo->msgSuccess = _request('msgSuccess', false); $ppo->vue = _request('vue', null); $ppo->dateSelectionnee = mktime(0, 0, 0, $ppo->mois, $ppo->jour, $ppo->annee); $ppo->niveauUtilisateur = Kernel::getLevel('MOD_CAHIERDETEXTES', $ppo->cahierId); $cahierInfos = Kernel::getModParent('MOD_CAHIERDETEXTES', $ppo->cahierId); $ppo->nodeInfos = array('type' => $cahierInfos[0]->module_type, 'id' => $cahierInfos[0]->module_id); $ppo->format = CopixConfig::get('cahierdetextes|format_par_defaut'); $ppo->nombreMaxVueRadio = CopixConfig::get('cahierdetextes|nombre_max_vue_radio'); // Récupération des domaines disponibles $ppo->idsDomaine = array(); $ppo->nomsDomaine = array(); $domaineDAO = _ioDAO('cahierdetextes|cahierdetextesdomaine'); $domaines = $domaineDAO->findByClasse($cahierInfos[0]->node_id); if (count($domaines) > $ppo->nombreMaxVueRadio) { $ppo->idsDomaine[] = ''; $ppo->nomsDomaine[] = ''; } foreach ($domaines as $domaine) { $ppo->idsDomaine[] = $domaine->id; $ppo->nomsDomaine[] = $domaine->nom; } $fichierMalleDAO = _ioDAO('malle|malle_files'); $fichierClasseurDAO = _ioDAO('classeur|classeurfichier'); // Mode edition ? $travailDAO = _ioDAO('cahierdetextes|cahierdetextestravail'); if (is_null($travailId = _request('travailId', null))) { $ppo->travail = _record('cahierdetextes|cahierdetextestravail'); $ppo->travail->a_faire = _request('a_faire', 0); $ppo->travail->domaine_id = _request('domaineId', null); // Travail à faire // - Par défaut : date de réalisation = date de création + 1 // - Vue liste : date de réalisation = date sélectionnée / date de création = date du jour if ($ppo->travail->a_faire) { $dateJour = mktime(0, 0, 0, date('m'), date('d'), date('Y')); if ($ppo->vue == 'liste' && $ppo->dateSelectionnee > $dateJour) { $ppo->travail->date_creation = date('d/m/Y'); $ppo->travail->date_realisation = date('d/m/Y', $ppo->dateSelectionnee); } else { $jourSuivant = strtotime("+1 day", $ppo->dateSelectionnee); $ppo->travail->date_realisation = date('d/m/Y', $jourSuivant); } } } else { $ppo->travail = $travailDAO->get($travailId); $ppo->travail->date_creation = CopixDateTime::yyyymmddToDate($ppo->travail->date_creation); $ppo->travail->date_realisation = CopixDateTime::yyyymmddToDate($ppo->travail->date_realisation); // Récupération des élèves $travail2eleveDAO = _ioDAO('cahierdetextes|cahierdetextestravail2eleve'); $elevesSelectionnes = $travail2eleveDAO->findElevesParTravail($ppo->travail->id); $ppo->elevesSelectionnes = array(); foreach ($elevesSelectionnes as $eleve) { $ppo->elevesSelectionnes[] = $eleve->idEleve; } // Récupération des fichiers $travail2fichiersDAO = _ioDAO('cahierdetextes|cahierdetextestravail2files'); $travail2fichiers = $travail2fichiersDAO->retrieveByTravail($ppo->travail->id); $ppo->fichiers = array(); $fichiers = array(); foreach ($travail2fichiers as $travail2fichier) { if ($travail2fichier->module_file == 'MOD_MALLE') { if ($fichier = $fichierMalleDAO->get($travail2fichier->file_id)) { $ppo->fichiers[] = array('type' => $travail2fichier->module_file, 'id' => $travail2fichier->file_id, 'nom' => $fichier->nom); } } elseif ($travail2fichier->module_file == 'MOD_CLASSEUR') { if ($fichier = $fichierClasseurDAO->get($travail2fichier->file_id)) { $ppo->fichiers[] = array('type' => $travail2fichier->module_file, 'id' => $travail2fichier->file_id, 'nom' => $fichier); } } } } if (CopixRequest::isMethod('post')) { $ppo->travail->domaine_id = _request('travail_domaine_id', null); $ppo->travail->a_faire = _request('a_faire', 0); $ppo->travail->date_creation = CopixDateTime::dateToyyyymmdd(_request('travail_date_creation', null)); $ppo->travail->date_realisation = CopixDateTime::dateToyyyymmdd(_request('travail_date_realisation', null)); $ppo->travail->description = _request('travail_description', null); $ppo->travail->a_rendre = _request('travail_a_rendre', 0); $ppo->travail->supprime = 0; $ppo->elevesSelectionnes = _request('eleves', array()); $ppo->fichiers = _request('travail_fichiers', array()); $ppo->travail_redirection = _request('travail_redirection', null); // Traitement des erreurs $ppo->erreurs = array(); if ($ppo->travail->date_creation == '') { $ppo->erreurs[] = CopixI18N::get('cahierdetextes|cahierdetextes.error.noCreationDate'); } if ($ppo->travail->a_faire && $ppo->travail->date_realisation == '') { $ppo->erreurs[] = CopixI18N::get('cahierdetextes|cahierdetextes.error.noRealisationDate'); } if (!is_null($ppo->travail->date_realisation) && $ppo->travail->date_realisation < $ppo->travail->date_creation) { $ppo->erreurs[] = CopixI18N::get('cahierdetextes|cahierdetextes.error.wrongRealisationDate'); } if ($ppo->travail->domaine_id == '') { $ppo->erreurs[] = CopixI18N::get('cahierdetextes|cahierdetextes.error.noDomain'); } if ($ppo->travail->description == '') { $ppo->erreurs[] = CopixI18N::get('cahierdetextes|cahierdetextes.error.noDescription'); } if (empty($ppo->elevesSelectionnes)) { $ppo->erreurs[] = CopixI18N::get('cahierdetextes|cahierdetextes.error.noStudents'); } if (!empty($ppo->fichiers)) { $ppo->fichiers = array_unique($ppo->fichiers); // Récupération de l'identifiant de la malle du node $mods = Kernel::getModEnabled($cahierInfos[0]->node_type, $cahierInfos[0]->node_id); if ($malle = Kernel::filterModuleList($mods, 'MOD_MALLE')) { $malleId = $malle[0]->module_id; } // Récupération des identifiants de classeur $classeurIds = array(); // Classeur du node $mods = Kernel::getModEnabled($cahierInfos[0]->node_type, $cahierInfos[0]->node_id); if ($classeur = Kernel::filterModuleList($mods, 'MOD_CLASSEUR')) { $classeurIds[] = $classeur[0]->module_id; } // Classeur personnel $mods = Kernel::getModEnabled(_currentUser()->getExtra('type'), _currentUser()->getExtra('id')); if ($classeur = Kernel::filterModuleList($mods, 'MOD_CLASSEUR')) { $classeurIds[] = $classeur[0]->module_id; } // On détermine s'il s'agit de documents de la malle ou du classeur foreach ($ppo->fichiers as $fichierInfos) { $fichierInfos = explode('-', $fichierInfos); if ($fichierInfos[0] == 'MOD_MALLE') { // Erreur : le fichier n'appartient pas à la malle du node if (!$fichierMalleDAO->isFileOfMalle($fichierInfos[1], $malleId)) { $ppo->erreurs[] = CopixI18N::get('cahierdetextes|cahierdetextes.error.invalidFile'); break; } else { $fichier = $fichierMalleDAO->get($fichierInfos[1]); $fichiers[] = array('type' => $fichierInfos[0], 'id' => $fichierInfos[1], 'nom' => $fichier->nom); } } elseif ($fichierInfos[0] == 'MOD_CLASSEUR') { $fichier = $fichierClasseurDAO->get($fichierInfos[1]); // Erreur : le fichier n'appartient pas aux classeurs disponible à l'utilisateur if (!in_array($fichier->classeur_id, $classeurIds)) { $ppo->erreurs[] = CopixI18N::get('cahierdetextes|cahierdetextes.error.invalidFile'); break; } else { $fichiers[] = array('type' => $fichierInfos[0], 'id' => $fichierInfos[1], 'nom' => $fichier); } } } } if (!empty($ppo->erreurs)) { $ppo->travail->date_creation = _request('travail_date_creation', null); $ppo->travail->date_realisation = _request('travail_date_realisation', null); if (isset($fichiers)) { $ppo->fichiers = $fichiers; } $modParentInfo = Kernel::getModParentInfo('MOD_CAHIERDETEXTES', $ppo->cahierId); $ppo->TITLE_PAGE = $modParentInfo['nom']; return _arPPO($ppo, 'editer_travail.tpl'); } // Récupération de la liste des modules activés $mods = Kernel::getModEnabled($cahierInfos[0]->node_type, $cahierInfos[0]->node_id); // Création du classeur pour permettre aux élèves de rendre leur travail (si mod activé) if ($ppo->travail->a_rendre) { $dossierDAO = _ioDAO('classeur|classeurdossier'); if (is_null($ppo->travail->dossier_id) || !$dossierDAO->get($ppo->travail->dossier_id)) { $classeur = Kernel::filterModuleList($mods, 'MOD_CLASSEUR'); if ($classeur) { // Récupération du casier de la classe $casier = $dossierDAO->getCasier($classeur[0]->module_id); if ($casier) { _classInclude('classeur|classeurService'); $dossier = _record('classeur|classeurdossier'); $dossier->nb_dossiers = 0; $dossier->nb_fichiers = 0; $dossier->taille = 0; $dossier->classeur_id = $classeur[0]->module_id; $dossier->parent_id = $casier->id; $dossier->cle = classeurService::createKey(); $dossier->date_creation = date('Y-m-d H:i:s'); $dossier->user_type = _currentUser()->getExtra('type'); $dossier->user_id = _currentUser()->getExtra('id'); $dossier->casier = 1; // Le nom du casier pour un travail à rendre doit être unique $dossier->nom = CopixDateTime::yyyymmddToDate($ppo->travail->date_realisation) . ' ' . $ppo->nomsDomaine[array_search($ppo->travail->domaine_id, $ppo->idsDomaine)]; $cpt = ''; $nomDossier = $dossier->nom; while (count($dossierDAO->getByNom($dossier->nom)) > 0) { if ($cpt == '') { $cpt = 2; } else { $cpt++; } $dossier->nom = $nomDossier . ' ' . $cpt; } $dossierDAO->insert($dossier); $ppo->travail->dossier_id = $dossier->id; } } } } // Création if ($ppo->travail->id == '') { // Insertion de l'enregistrement "travail" $travailDAO->insert($ppo->travail); } else { // Mise à jour de l'enregistrement "travail" $travailDAO->update($ppo->travail); // Suppression des relations travail - eleves existantes $travail2eleveDAO = _ioDAO('cahierdetextes|cahierdetextestravail2eleve'); $travail2eleveDAO->deleteByTravail($ppo->travail->id); // Suppression des relations travail - fichiers existants $travail2fichierDAO = _ioDAO('cahierdetextes|cahierdetextestravail2files'); $travail2fichierDAO->deleteByTravail($ppo->travail->id); } // Insertion des liens "travail > eleve" $travail2eleveDAO = _ioDAO('cahierdetextes|cahierdetextestravail2eleve'); foreach ($ppo->elevesSelectionnes as $eleveId) { $travail2eleve = _record('cahierdetextes|cahierdetextestravail2eleve'); $travail2eleve->travail_id = $ppo->travail->id; $travail2eleve->eleve_id = $eleveId; $travail2eleveDAO->insert($travail2eleve); } // Insertion des liens "travail > fichiers" $travail2fichierDAO = _ioDAO('cahierdetextes|cahierdetextestravail2files'); if (!empty($fichiers)) { foreach ($fichiers as $fichier) { $travail2fichier = _record('cahierdetextes|cahierdetextestravail2files'); $travail2fichier->travail_id = $ppo->travail->id; $travail2fichier->module_file = $fichier['type']; $travail2fichier->file_id = $fichier['id']; $travail2fichierDAO->insert($travail2fichier); } } // Insertion de l'événement dans l'agenda (si mod activé) $agenda = Kernel::filterModuleList($mods, 'MOD_AGENDA'); if ($agenda) { $agendaWorkDAO = _ioDAO('agenda|work'); if (!$agendaWorkDAO->get($ppo->travail->id, $agenda[0]->module_id)) { $agenda2work = _record('agenda|work'); $agenda2work->travail_id = $ppo->travail->id; $agenda2work->agenda_id = $agenda[0]->module_id; $agendaWorkDAO->insert($agenda2work); } } $ppo->msgSuccess = CopixI18N::get('cahierdetextes|cahierdetextes.message.success'); // Redirection switch ($ppo->travail_redirection) { case 0: switch ($ppo->vue) { case "jour": return _arRedirect(CopixUrl::get('cahierdetextes||voirTravaux', array('cahierId' => $ppo->cahierId, 'msgSuccess' => $ppo->msgSuccess))); break; case "liste": return _arRedirect(CopixUrl::get('cahierdetextes||voirListeTravaux', array('cahierId' => $ppo->cahierId, 'msgSuccess' => $ppo->msgSuccess))); break; case "domaine": return _arRedirect(CopixUrl::get('cahierdetextes||voirTravauxParDomaine', array('cahierId' => $ppo->cahierId, 'msgSuccess' => $ppo->msgSuccess))); break; default: return _arRedirect(CopixUrl::get('cahierdetextes||voirTravaux', array('cahierId' => $ppo->cahierId, 'msgSuccess' => $ppo->msgSuccess))); break; } break; case 1: return _arRedirect(CopixUrl::get('cahierdetextes||editerTravail', array('cahierId' => $ppo->cahierId, 'msgSuccess' => $ppo->msgSuccess, 'vue' => $ppo->vue))); break; case 2: return _arRedirect(CopixUrl::get('cahierdetextes||editerTravail', array('cahierId' => $ppo->cahierId, 'msgSuccess' => $ppo->msgSuccess, 'vue' => $ppo->vue, 'a_faire' => 1))); break; default: return _arRedirect(CopixUrl::get('cahierdetextes||voirTravaux', array('cahierId' => $ppo->cahierId, 'msgSuccess' => $ppo->msgSuccess, 'vue' => $ppo->vue))); break; } } $modParentInfo = Kernel::getModParentInfo('MOD_CAHIERDETEXTES', $ppo->cahierId); $ppo->TITLE_PAGE = $modParentInfo['nom']; return _arPPO($ppo, 'editer_travail.tpl'); }
/** * Affichage du classeur en popup pour intégration dans les autres modules */ public function processGetClasseurPopup() { $classeurDAO = _ioDAO('classeur|classeur'); if (is_null($ppo->classeur = $classeurDAO->get(_request('classeurId', null)))) { return CopixActionGroup::process('generictools|Messages::getError', array('message' => CopixI18N::get('kernel|kernel.error.errorOccurred'), 'back' => CopixUrl::get(''))); } $ppo->dossierId = _request('dossierId', 0); $ppo->field = _request('field', null); $ppo->format = _request('format', null); $ppo->withPersonal = _request('withPersonal', true); $ppo->moduleType = _request('moduleType', null); $ppo->moduleId = _request('moduleId', null); $ppo->niveauUtilisateur = Kernel::getLevel('MOD_CLASSEUR', $ppo->classeur->id); _classInclude('classeur|classeurService'); $dossierDAO = _ioDAO('classeur|classeurdossier'); $fichierDAO = _ioDAO('classeur|classeurfichier'); // Récupération des dossiers & des fichiers / favoris $ppo->dossiers = $dossierDAO->getEnfantsDirects($ppo->classeur->id, $ppo->dossierId)->fetchAll(); $ppo->fichiers = $fichierDAO->getParDossier($ppo->classeur->id, $ppo->dossierId)->fetchAll(); foreach ($ppo->fichiers as $fichier) { $fichier->fullUrl = $fichier->getLienMiniature(); $fichier->url = substr($fichier->getLienMiniature(), 0, strlen($fichier->getLienMiniature()) - strlen(strrchr($fichier->getLienMiniature(), '.'))); $fichier->extension = $fichier->getExtension(); } // Ouverture du dossier courant dans l'arborescence if ($ppo->dossierId != 0) { classeurService::openTree($ppo->classeur->id, $ppo->dossierId); $dossier = $dossierDAO->get($ppo->dossierId); if ($dossier->parent_id != 0) { $ppo->dossierParent = $dossierDAO->get($dossier->parent_id); } else { $ppo->classeurParent = $ppo->classeur; } } // Dossier temporaire pour l'upload des fichiers _classInclude('classeur|classeurService'); $dossierTmp = classeurService::getTmpFolder(); $ppo->dossierTmp = $dossierTmp . classeurService::createKey(); CopixHTMLHeader::addJSLink(_resource('js/iconito/module_classeur.js')); return _arPPO($ppo, array('template' => 'classeur_popup.tpl', 'mainTemplate' => 'main|main_popup.php')); }