本文整理汇总了PHP中Kernel::getModParent方法的典型用法代码示例。如果您正苦于以下问题:PHP Kernel::getModParent方法的具体用法?PHP Kernel::getModParent怎么用?PHP Kernel::getModParent使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Kernel
的用法示例。
在下文中一共展示了Kernel::getModParent方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _createContent
public function _createContent(&$toReturn)
{
$ppo = new CopixPPO();
// Récupération des paramètres
$ppo->cahierId = $this->getParam('cahierId');
$ppo->elevesSelectionnes = $this->getParam('elevesSelectionnes');
if (is_null($ppo->elevesSelectionnes) || !is_array($ppo->elevesSelectionnes)) {
$ppo->elevesSelectionnes = array();
}
$cahierInfos = Kernel::getModParent('MOD_CAHIERDETEXTES', $ppo->cahierId);
// Récupération des élèves de la classe
$eleveDAO = _ioDAO('kernel|kernel_bu_ele');
$ppo->eleves = $eleveDAO->getStudentsByClass($cahierInfos[0]->node_id);
// Récupération des niveaux de la classe
$classeNiveauDAO = _ioDAO('kernel|kernel_bu_ecole_classe_niveau');
$classLevelDAO = _ioDAO('kernel|kernel_bu_classe_niveau');
$classeNiveaux = $classeNiveauDAO->getByClass($cahierInfos[0]->node_id);
$ppo->nomsNiveau = array();
$ppo->idsNiveau = array();
foreach ($classeNiveaux as $classeNiveau) {
$niveau = $classLevelDAO->get($classeNiveau->niveau);
$ppo->nomsNiveau[] = $niveau->niveau_court;
$ppo->idsNiveau[] = $niveau->id_n;
}
$toReturn = $this->_usePPO($ppo, '_liste_eleves.tpl');
}
示例2: _createContent
public function _createContent(&$toReturn)
{
$ppo = new CopixPPO();
// Récupération des paramètres
$ppo->cahierId = $this->getParam('cahierId');
$ppo->jour = $this->getParam('date_jour');
$ppo->mois = $this->getParam('date_mois');
$ppo->annee = $this->getParam('date_annee');
$ppo->eleve = $this->getParam('eleve');
$time = mktime(0, 0, 0, $ppo->mois, $ppo->jour, $ppo->annee);
$cahierInfos = Kernel::getModParent('MOD_CAHIERDETEXTES', $ppo->cahierId);
$nodeId = isset($cahierInfos[0]) ? $cahierInfos[0]->node_id : null;
$ppo->niveauUtilisateur = Kernel::getLevel('MOD_CAHIERDETEXTES', $ppo->cahierId);
$estAdmin = $ppo->niveauUtilisateur >= PROFILE_CCV_PUBLISH ? true : false;
// Récupération des mémos suivant les accès de l'utilisateur courant (élève / responsable / enseignant)
$memoDAO = _ioDAO('cahierdetextes|cahierdetextesmemo');
if ($estAdmin) {
$ppo->memos = $memoDAO->findByClasse($nodeId, true);
} elseif (Kernel::getLevel('MOD_CAHIERDETEXTES', $ppo->cahierId) == PROFILE_CCV_READ) {
$ppo->memos = $memoDAO->findByEleve($ppo->eleve, true);
} else {
$ppo->memos = $memoDAO->findByEleve(_currentUser()->getExtra('id'), true);
}
$toReturn = $this->_usePPO($ppo, '_memos.tpl');
}
示例3: _createContent
public function _createContent(&$toReturn)
{
$ppo = new CopixPPO();
// Récupération des paramètres
$ppo->cahierId = $this->getParam('cahierId');
$ppo->jour = $this->getParam('date_jour');
$ppo->mois = $this->getParam('date_mois');
$ppo->annee = $this->getParam('date_annee');
$ppo->vue = $this->getParam('vue');
$ppo->eleve = $this->getParam('eleve');
$time = mktime(0, 0, 0, $ppo->mois, $ppo->jour, $ppo->annee);
$cahierInfos = Kernel::getModParent('MOD_CAHIERDETEXTES', $ppo->cahierId);
$nodeId = isset($cahierInfos[0]) ? $cahierInfos[0]->node_id : null;
$ppo->estAdmin = Kernel::getLevel('MOD_CAHIERDETEXTES', $ppo->cahierId) >= PROFILE_CCV_PUBLISH ? true : false;
// Récupération des travaux suivant les accès de l'utilisateur courant (élève / responsable / enseignant)
$travailDAO = _ioDAO('cahierdetextes|cahierdetextestravail');
if ($ppo->estAdmin) {
$ppo->travaux = $travailDAO->findByClasseEtTypeDeTravail($nodeId, DAOCahierDeTextesTravail::TYPE_EN_CLASSE, $time);
} elseif (Kernel::getLevel('MOD_CAHIERDETEXTES', $ppo->cahierId) == PROFILE_CCV_READ) {
$ppo->travaux = $travailDAO->findByEleveEtTypeDeTravail($ppo->eleve, DAOCahierDeTextesTravail::TYPE_EN_CLASSE, $time);
} else {
$ppo->travaux = $travailDAO->findByEleveEtTypeDeTravail(_currentUser()->getExtra('id'), DAOCahierDeTextesTravail::TYPE_EN_CLASSE, $time);
}
$toReturn = $this->_usePPO($ppo, '_travaux_en_classe.tpl');
}
示例4: _createContent
public function _createContent(&$toReturn)
{
$ppo = new CopixPPO();
// Récupération des paramètres
$ppo->cahierId = $this->getParam('cahierId');
$ppo->jour = $this->getParam('date_jour');
$ppo->mois = $this->getParam('date_mois');
$ppo->annee = $this->getParam('date_annee');
$cahierInfos = Kernel::getModParent('MOD_CAHIERDETEXTES', $ppo->cahierId);
// Récupération des domaines de la classe
$domaineDAO = _ioDAO('cahierdetextes|cahierdetextesdomaine');
$ppo->domaines = $domaineDAO->findByClasse($cahierInfos[0]->node_id);
$toReturn = $this->_usePPO($ppo, '_liste_domaines.tpl');
}
示例5: _createContent
public function _createContent(&$toReturn)
{
$ppo = new CopixPPO();
// Récupération des paramètres
$ppo->cahierId = $this->getParam('cahierId');
$ppo->jour = $this->getParam('date_jour');
$ppo->mois = $this->getParam('date_mois');
$ppo->annee = $this->getParam('date_annee');
$ppo->eleve = $this->getParam('eleve');
$ppo->current = $this->getParam('current');
$ppo->vue = $this->getParam('vue');
$cahierInfos = Kernel::getModParent('MOD_CAHIERDETEXTES', $ppo->cahierId);
$ppo->estAdmin = Kernel::getLevel('MOD_CAHIERDETEXTES', $ppo->cahierId) >= PROFILE_CCV_PUBLISH ? true : false;
$toReturn = $this->_usePPO($ppo, '_affichage_menu.tpl');
}
示例6: _createContent
public function _createContent(&$toReturn)
{
$ppo = new CopixPPO();
// Récupération des paramètres
$cahierId = $this->getParam('cahierId');
$cahierInfos = Kernel::getModParent('MOD_CAHIERDETEXTES', $cahierId);
// Récupération des logins des enseignants de la classe
if (isset($cahierInfos[0]) && $cahierInfos[0]->node_type == 'BU_CLASSE') {
$personnelDAO = _ioDAO('kernel|kernel_bu_personnel');
$enseignants = $personnelDAO->findTeachersByClassroomId($cahierInfos[0]->node_id);
$logins = array();
foreach ($enseignants as $enseignant) {
$logins[] = $enseignant->login_dbuser;
}
}
$ppo->logins = implode(',', $logins);
$toReturn = $this->_usePPO($ppo, '_lien_minimail.tpl');
}
示例7: _createContent
public function _createContent(&$toReturn)
{
_classInclude('agenda|dateservices');
$ppo = new CopixPPO();
// Récupération des paramètres
$ppo->cahierId = $this->getParam('cahierId');
$ppo->jour = $this->getParam('date_jour');
$ppo->mois = $this->getParam('date_mois');
$ppo->annee = $this->getParam('date_annee');
$ppo->eleve = $this->getParam('eleve');
$service = new DateService();
$ppo->nomMois = $service->moisNumericToMoisLitteral($ppo->mois);
// Timestamp du 1er du mois sélectionné
$time = mktime(0, 0, 0, $ppo->mois, 1, $ppo->annee);
// Récupération du timestamp du mois suivant & précédent
$ppo->moisPrecedent = strtotime("-1 month", $time);
$ppo->moisSuivant = strtotime("+1 month", $time);
$ppo->nombreDeJoursDansLeMois = date('t', $time);
// Nombre de jours dans le mois
$ppo->codePremierJourDeLaSemaine = date('w', $time);
// Premier jour de la semaine (format numérique)
if ($ppo->codePremierJourDeLaSemaine == 0) {
$ppo->codePremierJourDeLaSemaine = 7;
}
$ppo->codePremierJourSemaine = 1;
// Récupération des travaux suivant les accès de l'utilisateur courant (élève / responsable / enseignant)
$cahierInfos = Kernel::getModParent('MOD_CAHIERDETEXTES', $ppo->cahierId);
$nodeId = isset($cahierInfos[0]) ? $cahierInfos[0]->node_id : null;
$ppo->estAdmin = Kernel::getLevel('MOD_CAHIERDETEXTES', $ppo->cahierId) >= PROFILE_CCV_PUBLISH ? true : false;
$travailDAO = _ioDAO('cahierdetextes|cahierdetextestravail');
if ($ppo->estAdmin) {
$ppo->travaux = $travailDAO->findByClasseEtMoisParJour($nodeId, $ppo->mois, $ppo->annee);
} elseif (Kernel::getLevel('MOD_CAHIERDETEXTES', $ppo->cahierId) == PROFILE_CCV_READ) {
$ppo->travaux = $travailDAO->findByEleveEtMoisParJour($ppo->eleve, $ppo->mois, $ppo->annee);
} else {
$ppo->travaux = $travailDAO->findByEleveEtMoisParJour(_currentUser()->getExtra('id'), $ppo->mois, $ppo->annee);
}
$toReturn = $this->_usePPO($ppo, '_calendrier.ptpl');
}
示例8: getModRight
public function getModRight($mod_type, $mod_id, $user_type = "-1", $user_id = "-1")
{
// Kernel::deb ("getModRight( $mod_type, $mod_id, $user_type, $user_id )");
$droit = 0;
if ($mod_type == "MOD_MINIMAIL") {
return _currentUSer()->isConnected() ? PROFILE_CCV_ADMIN : 0;
}
if ($user_type == "-1" && $user_id == "-1") {
if (_currentUser()->getExtra('type') && _currentUser()->getExtra('id')) {
$user_type = _currentUser()->getExtra('type');
$user_id = _currentUser()->getExtra('id');
} else {
return 0;
}
}
$mod_parents = Kernel::getModParent($mod_type, $mod_id);
$user_parents = Kernel::getNodeParents($user_type, $user_id);
// Rustine CB 23/01/2009 pour les droits des directeurs dans les teleprocedures
if ($mod_type == 'MOD_TELEPROCEDURES' && $user_type == 'USER_ENS') {
//print_r($mod_parents);
//print_r($user_parents);
$villeMod = $mod_parents[0]->node_type == 'BU_VILLE' ? $mod_parents[0]->node_id : null;
// S'il est bien directeur d'une ecole dans cette ville
foreach ($user_parents as $parent) {
if ($parent['type'] == 'BU_ECOLE' && $parent['droit'] >= PROFILE_CCV_ADMIN && $parent['ALL']->eco_id_ville == $villeMod) {
return PROFILE_CCV_READ;
}
}
} elseif ($mod_type == 'MOD_TELEPROCEDURES' && $user_type == 'USER_ADM' && CopixConfig::exists('teleprocedures|USER_ADM_as_USER_ENS') && CopixConfig::get('teleprocedures|USER_ADM_as_USER_ENS')) {
$villeMod = $mod_parents[0]->node_type == 'BU_VILLE' ? $mod_parents[0]->node_id : null;
foreach ($user_parents as $parent) {
if ($parent['type'] == 'BU_ECOLE' && $parent['droit'] >= 30 && $parent['ALL']->eco_id_ville == $villeMod) {
return PROFILE_CCV_READ;
}
}
} elseif (isset($mod_parents[0]) && $mod_parents[0]->node_type == 'MOD_TELEPROCEDURES' && $user_type == 'USER_VIL') {
return Kernel::getModRight($mod_parents[0]->node_type, $mod_parents[0]->node_id, $user_type, $user_id);
}
//print_r("getModRight( $mod_type, $mod_id, $user_type, $user_id)<br/>");
//print_r($mod_parents);
foreach ($mod_parents as $mod_key => $mod_val) {
// Check user -> admin
if ($mod_val->node_type == $user_type && $mod_val->node_id == $user_id) {
$droit = PROFILE_CCV_ADMIN;
}
// Rustine CB 25/08/2010 Si c'est un droit d'un module du groupe d'assistance
if (CopixConfig::exists('kernel|groupeAssistance') && ($groupeAssistance = CopixConfig::get('kernel|groupeAssistance')) && $mod_val->node_type == 'CLUB' && $mod_val->node_id == $groupeAssistance) {
//print_r();
switch ($mod_type) {
case 'MOD_FORUM':
// Forum : on peut ecrire
$droit = PROFILE_CCV_MEMBER;
break;
case 'MOD_MALLE':
// Malle : on peut lire
// Malle : on peut lire
case 'MOD_BLOG':
// Blog : on peut lire
$droit = PROFILE_CCV_READ;
break;
}
}
// Check parents nodes -> right (DB)
reset($user_parents);
//foreach( $user_parents AS $user_key=>$user_val ) {
while ($user_val = array_pop($user_parents)) {
// Rustine 1 : les gens rattachÈs ‡ une classe ont le mÍme droit dans l'Ècole de la classe
if ($user_val["type"] == "BU_CLASSE") {
$ecoles = Kernel::getNodeParents($user_val["type"], $user_val["id"]);
foreach ($ecoles as $ecole_key => $ecole_val) {
$ecoles[$ecole_key]["droit"] = PROFILE_CCV_READ;
$user_parents[] = $ecoles[$ecole_key];
}
}
// Rustine 2 : les parents ont des droits de lecture sur les classes de leur enfants
if ($user_val["type"] == "USER_ELE" && $user_type == "USER_RES") {
$nodes_all = Kernel::getNodeParents($user_val["type"], $user_val["id"]);
//print_r($nodes_all);
foreach ($nodes_all as $node) {
if ($node['type'] != 'BU_CLASSE') {
continue;
}
$node['droit'] = PROFILE_CCV_READ;
$user_parents[] = $node;
//print_r($node);
/*
$child['classe'] = $node['nom'];
$modules = Kernel::getModEnabled(
$node['type'], $node['id'],
$child["type"], $child["id"] );
*/
//print_r($modules);
}
}
if ($mod_val->node_type == $user_val["type"] && $mod_val->node_id == $user_val["id"]) {
$droit = max($droit, $user_val["droit"]);
}
//$droit = min();
}
}
//.........这里部分代码省略.........
示例9: processDefault
public function processDefault()
{
ini_set('max_execution_time', 0);
$classeurservice =& CopixClassesFactory::Create('classeur|classeurservice');
/* DEBUG
if (!Admin::canAdmin())
return CopixActionGroup::process ('genericTools|Messages::getError', array ('message'=>CopixI18N::get ('kernel|kernel.error.noRights'), 'back'=>CopixUrl::get ()));
*/
$tpl = new CopixTpl();
// $tpl->assign ('TITLE_PAGE', CopixI18N::get ('sysutils|admin.menu.cache'));
// $tpl->assign ('MENU', Admin::getMenu('cache'));
///////////////
//// ALBUM ////
///////////////
$sql = "\n SELECT\n A.id AS album_id, A.nom AS album_nom, A.prefs AS album_prefs, A.date AS album_date, A.cle AS album_cle, A.public AS album_public\n FROM module_album_albums A\n ORDER BY A.id\n ";
$album_list = _doQuery($sql);
$album_tree = array();
foreach ($album_list as $album_item) {
if (!isset($album_tree[$album_item->album_id])) {
$album_tree[$album_item->album_id] = new CopixPPO();
$album_tree[$album_item->album_id]->info = $album_item;
$parent = Kernel::getModParent("MOD_ALBUM", $album_item->album_id);
if (!$parent) {
unset($album_tree[$album_item->album_id]);
continue;
}
$album_tree[$album_item->album_id]->parent = $parent[0];
$album_tree[$album_item->album_id]->dossier = array();
$album_tree[$album_item->album_id]->photo = array();
}
$root = $this->albumScanFolder($album_item->album_id, 0);
$album_tree[$album_item->album_id]->dossier = $root->dossier;
$album_tree[$album_item->album_id]->photo = $root->photo;
}
// module_malle_malles : id titre date_creation cle
// module_malle_folders : id malle parent nom nb_folders nb_files taille date_creation
// module_malle_files : id malle folder nom fichier taille type cle date_upload
///////////////
//// MALLE ////
///////////////
$sql = "\n SELECT\n id, titre, date_creation, cle\n FROM module_malle_malles\n ORDER BY id\n ";
$malle_list = _doQuery($sql);
$malle_tree = array();
foreach ($malle_list as $malle_item) {
if (!isset($malle_tree[$malle_item->id])) {
$malle_tree[$malle_item->id] = new CopixPPO();
$malle_tree[$malle_item->id]->info = $malle_item;
$parent = Kernel::getModParent("MOD_MALLE", $malle_item->id);
if (!$parent) {
unset($malle_tree[$malle_item->id]);
continue;
}
$malle_tree[$malle_item->id]->parent = $parent[0];
$user_parents = Kernel::getNodeParents($parent[0]->node_type, $parent[0]->node_id);
$malle_tree[$malle_item->id]->user_parents = $user_parents;
$malle_tree[$malle_item->id]->dossier = array();
$malle_tree[$malle_item->id]->docs = array();
}
$root = $this->malleScanFolder($malle_item->id, 0);
$malle_tree[$malle_item->id]->dossier = $root->dossier;
$malle_tree[$malle_item->id]->docs = $root->docs;
}
/////////////////////////////////////
/////////////////////////////////////
// kernel_mod_enabled : node_type node_id module_type module_id
// module_classeur : id titre cle date_creation date_publication public
// module_classeur_dossier : id module_classeur_id parent_id nom nb_dossiers nb_fichiers taille cle date_creation user_type user_id date_publication public
// module_classeur_fichier : id module_classeur_id module_classeur_dossier_id titre commentaire fichier taille type cle date_upload user_type user_id
// IMPORT ALBUMS
if (1) {
foreach ($album_tree as $album_item) {
if (!isset($album_item->parent->node_type)) {
continue;
}
//// RECHERCHE D'UN CLASSEUR EXISTANT
$sql = "\n SELECT module_id\n FROM kernel_mod_enabled\n WHERE node_type=:node_type AND node_id=:node_id AND module_type=:module_type\n ";
$param = array('node_type' => $album_item->parent->node_type, 'node_id' => $album_item->parent->node_id, 'module_type' => 'MOD_CLASSEUR');
$mod_classeur = _doQuery($sql, $param);
if (!isset($mod_classeur[0])) {
$node_infos = $this->getNodeInfos($album_item->parent->node_type, $album_item->parent->node_id);
$file =& CopixSelectorFactory::create("classeur|classeur");
$filePath = $file->getPath() . COPIX_CLASSES_DIR . "kernel" . strtolower($file->fileName) . '.class.php';
$modservice =& CopixClassesFactory::Create('classeur|kernelclasseur');
if (method_exists($modservice, "create")) {
$modid = $modservice->create(array('title' => $node_infos->nom, 'subtitle' => '', 'node_type' => $album_item->parent->node_type, 'node_id' => $album_item->parent->node_id));
if ($modid != null) {
Kernel::registerModule('MOD_CLASSEUR', $modid, $album_item->parent->node_type, $album_item->parent->node_id);
}
}
$classeur_id = $modid;
} else {
$classeur_id = $mod_classeur[0]->module_id;
}
$classeurDAO = _ioDAO('classeur|classeur');
$classeur = $classeurDAO->get($classeur_id);
$new_dir = realpath('./static/classeur') . '/' . $classeur->id . '-' . $classeur->cle . '/';
if (!file_exists($new_dir)) {
mkdir($new_dir, 0755, true);
}
//// CREATION D'UN DOSSIER D'IMPORT
//.........这里部分代码省略.........
示例10: processEditerMemo
/**
* Edition d'un mémo - * Enseignant *
*/
public function processEditerMemo()
{
$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->dateSelectionnee = mktime(0, 0, 0, $ppo->mois, $ppo->jour, $ppo->annee);
$ppo->format = CopixConfig::get('cahierdetextes|format_par_defaut');
$cahierInfos = Kernel::getModParent('MOD_CAHIERDETEXTES', $ppo->cahierId);
$ppo->nodeInfos = array('type' => $cahierInfos[0]->module_type, 'id' => $cahierInfos[0]->module_id);
if (is_null($memoId = _request('memoId', null))) {
$ppo->memo = _record('cahierdetextes|cahierdetextesmemo');
} else {
$memoDAO = _ioDAO('cahierdetextes|cahierdetextesmemo');
$ppo->memo = $memoDAO->get($memoId);
$ppo->memo->date_creation = CopixDateTime::yyyymmddToDate($ppo->memo->date_creation);
$ppo->memo->date_validite = CopixDateTime::yyyymmddToDate($ppo->memo->date_validite);
$ppo->memo->date_max_signature = CopixDateTime::yyyymmddToDate($ppo->memo->date_max_signature);
// Récupération des élèves liés au mémo
$memo2eleveDAO = _ioDAO('cahierdetextes|cahierdetextesmemo2eleve');
$ppo->elevesSelectionnes = $memo2eleveDAO->findElevesParMemo($ppo->memo->id);
// Récupération des fichiers liés au mémo
$fichierMalleDAO = _ioDAO('malle|malle_files');
$fichierClasseurDAO = _ioDAO('classeur|classeurfichier');
$memo2fichiersDAO = _ioDAO('cahierdetextes|cahierdetextesmemo2files');
$memo2fichiers = $memo2fichiersDAO->retrieveByMemo($ppo->memo->id);
$ppo->fichiers = array();
$fichiers = array();
foreach ($memo2fichiers as $memo2fichier) {
if ($memo2fichier->module_file == 'MOD_MALLE') {
if ($fichier = $fichierMalleDAO->get($memo2fichier->file_id)) {
$ppo->fichiers[] = array('type' => $memo2fichier->module_file, 'id' => $memo2fichier->file_id, 'nom' => $fichier->nom);
}
} elseif ($memo2fichier->module_file == 'MOD_CLASSEUR') {
if ($fichier = $fichierClasseurDAO->get($memo2fichier->file_id)) {
$ppo->fichiers[] = array('type' => $memo2fichier->module_file, 'id' => $memo2fichier->file_id, 'nom' => $fichier);
}
}
}
}
if (CopixRequest::isMethod('post')) {
$cahierInfos = Kernel::getModParent('MOD_CAHIERDETEXTES', $ppo->cahierId);
$ppo->memo->classe_id = $cahierInfos[0]->node_id;
$ppo->memo->date_creation = CopixDateTime::dateToyyyymmdd(_request('memo_date_creation', null));
$ppo->memo->date_validite = CopixDateTime::dateToyyyymmdd(_request('memo_date_validite', null));
$ppo->memo->message = _request('memo_message', null);
$ppo->memo->avec_signature = _request('memo_avec_signature', 0);
$ppo->memo->date_max_signature = CopixDateTime::dateToyyyymmdd(_request('memo_date_max_signature', null));
$ppo->memo->supprime = 0;
$ppo->elevesSelectionnes = _request('eleves', array());
$ppo->fichiers = _request('memo_fichiers', array());
// Traitement des erreurs
$ppo->erreurs = array();
if ($ppo->memo->date_creation == '') {
$ppo->erreurs[] = CopixI18N::get('cahierdetextes|cahierdetextes.error.noCreationDate');
}
if ($ppo->memo->date_validite == '') {
$ppo->erreurs[] = CopixI18N::get('cahierdetextes|cahierdetextes.error.noValidityDate');
}
if (!is_null($ppo->memo->date_validite) && $ppo->memo->date_validite < $ppo->memo->date_creation) {
$ppo->erreurs[] = CopixI18N::get('cahierdetextes|cahierdetextes.error.wrongValidityDate');
}
if ($ppo->memo->message == '') {
$ppo->erreurs[] = CopixI18N::get('cahierdetextes|cahierdetextes.error.noContent');
}
if ($ppo->memo->avec_signature && $ppo->memo->date_max_signature == '') {
$ppo->erreurs[] = CopixI18N::get('cahierdetextes|cahierdetextes.error.noSignatureDate');
}
if (!is_null($ppo->memo->date_max_signature) && !is_null($ppo->memo->date_validite) && ($ppo->memo->date_max_signature > $ppo->memo->date_validite || $ppo->memo->date_max_signature < $ppo->memo->date_creation)) {
$ppo->erreurs[] = CopixI18N::get('cahierdetextes|cahierdetextes.error.wrongMaxSignatureDate');
}
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'));
//.........这里部分代码省略.........
示例11: doMailPublish
/**
* Publication automatique par mail
*
* @author Frederic Mossmann <fmossmann@cap-tic.fr>
* @since 2006/07/28
*/
public function doMailPublish()
{
if (_request("key")) {
if (ereg("^([0-9]{8}-[0-9]{6})-([a-zA-Z0-9]+)-([a-fA-F0-9]{32})\$", _request("key"), $regs)) {
$key = _request("key");
$login = $regs[2];
$dao = CopixDAOFactory::create("magicmail|magicmail");
$mymagicmail = $dao->getByLogin($login);
$error = false;
if (sizeof($mymagicmail)) {
$nodes = Kernel::getModParent("MOD_MAGICMAIL", $mymagicmail[0]->magicmail_id);
if (sizeof($nodes)) {
$node_type = $nodes[0]->node_type;
$node_id = $nodes[0]->node_id;
} else {
$error = true;
}
} else {
$error = true;
}
if (!$error) {
$file = @fopen(CopixConfig::get('magicmail|magicmail_url') . 'data/' . $key . '/' . 'info.txt', 'r');
if ($file) {
$reply = '';
while (!feof($file)) {
$reply .= fgets($file, 4096);
}
// while (!feof($file))
fclose($file);
// <-- DEBUT TRAITEMENT -->
//////////////////////////
$blog_service =& CopixClassesFactory::Create('blog|kernelblog');
$album_classes =& CopixClassesFactory::Create('album|album');
$album_service =& CopixClassesFactory::Create('album|kernelalbum');
$classeur_service =& CopixClassesFactory::Create('classeur|kernelclasseur');
/*
$groupe_service = & CopixClassesFactory::Create ('groupe|groupeservice');
$blog = $groupe_service->getGroupeBlog( $grp );
$album = $groupe_service->getGroupeAlbum( $grp );
*/
$blog = null;
$album = null;
$mods = Kernel::getModEnabled($node_type, $node_id);
foreach ($mods as $mod) {
switch ($mod->module_type) {
case 'MOD_CLASSEUR':
$classeur = $mod->module_id;
break;
case 'MOD_ALBUM':
$album = $mod->module_id;
break;
case 'MOD_BLOG':
$blog = $mod->module_id;
break;
}
}
/*
if( $blog == null ) {
echo "-ERR No Blog\n";
return new CopixActionReturn (COPIX_AR_NONE, 0);
}
if( $album == null ) {
echo "-ERR No Album\n";
return new CopixActionReturn (COPIX_AR_NONE, 0);
}
*/
// echo "<br \>Blog: ".$blog." - Album: ".$album."<br \>\n";
//////////////////////////
$blog_article = array();
$album_photos = array();
$audio_files = array();
while (ereg("^(SUBJECT|IMAGE|AUDIO|VIDEO-FLV|BODY) ?([^\n]+)\n(.*)\$", $reply, $regs)) {
// echo "<li>".$regs[0]."<br/>\n<li>".$regs[1]."<br/>\n<li>".$regs[2]."<br/>\n<li>".$regs[3];
switch ($regs[1]) {
case 'SUBJECT':
$blog_article['title'] = $regs[2];
break;
case 'IMAGE':
if (ereg("^([0-9a-fA-F]+) ([0-9]+) (.*)\$", $regs[2], $image_data)) {
$photo_file = fopen(CopixConfig::get('magicmail|magicmail_url') . 'data/' . $key . '/' . $image_data[1], 'r');
$photo_data = '';
if ($file) {
while (!feof($photo_file)) {
$photo_data .= fgets($photo_file, 4096);
}
// while (!feof($file))
fclose($photo_file);
}
$album_photos[] = array('file' => $image_data[3], 'title' => $image_data[3], 'data' => $photo_data);
}
break;
case 'AUDIO':
if (ereg("^([0-9a-fA-F]+) ([0-9]+) (.*)\$", $regs[2], $audio_data)) {
$audio_files[] = array('file' => CopixConfig::get('magicmail|magicmail_url') . 'data/' . $key . '/' . $audio_data[1], 'title' => $audio_data[3]);
//.........这里部分代码省略.........