本文整理汇总了PHP中Kernel::filterModuleList方法的典型用法代码示例。如果您正苦于以下问题:PHP Kernel::filterModuleList方法的具体用法?PHP Kernel::filterModuleList怎么用?PHP Kernel::filterModuleList使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Kernel
的用法示例。
在下文中一共展示了Kernel::filterModuleList方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: _createContent
public function _createContent(&$toReturn)
{
//Getting the user.
//Create Services, and DAO
$tpl = new CopixTpl();
$id_blog = $this->getParam('id_blog', '');
$tpl->assign('blog', $this->getParam('blog', null));
$tpl->assign('id_blog', $id_blog);
$tpl->assign('kind', $this->getParam('kind', ''));
$tpl->assign('tabBlogFunctions', $this->getParam('tabBlogFunctions', null));
$tpl->assign('can_format_articles', CopixConfig::get('blog|blog.default.can_format_articles'));
$tpl->assign('RESULT', $this->getParam('RESULT', ''));
$parent = Kernel::getModParentInfo("MOD_BLOG", $id_blog);
if ($parent) {
$mods = Kernel::getModEnabled($parent['type'], $parent['id'], '', 0, 1);
// _dump($mods);
$mods = Kernel::filterModuleList($mods, 'MOD_MAGICMAIL');
if (count($mods)) {
$magicmail_infos = _dao('module_magicmail')->get($mods[0]->module_id);
$tpl->assign('magicmail_infos', $magicmail_infos);
// _dump($magicmail_infos);
/*
'id' => '32',
'login' => 'cepapeti',
'domain' => 'magicmail.iconito.fr',
*/
}
}
// retour de la fonction :
$toReturn = $tpl->fetch('blog.show.tpl');
return true;
}
示例2: getAvailableAgenda
/**
* Récupération de tous les agendas en base de données
* @author Audrey Vassal <avassal@sqli.com>
* @since 2006/07/24
* @return array tableau d'objet agenda
*/
public function getAvailableAgenda()
{
//var_dump($_SESSION);
if (!_sessionGet('modules|agenda|his')) {
$serviceAuth = new AgendaAuth();
$res = array();
$ags = array();
// 1. Son agenda perso
$userInfo = Kernel::getUserInfo();
// Création des modules inexistants.
Kernel::createMissingModules($userInfo["type"], $userInfo["id"]);
// Liste des modules activés.
$modsList = Kernel::getModEnabled($userInfo["type"], $userInfo["id"]);
foreach ($modsList as $modInfo) {
if ($modInfo->module_type == "MOD_AGENDA" && $modInfo->module_id) {
$ags[] = $modInfo->module_id;
}
}
// 2. Ceux de sa classe, son école, ses groupes...
$mynodes = Kernel::getNodes();
foreach ($mynodes as $nodes) {
foreach ($nodes as $node) {
//print_r($node);
if (substr($node['type'], 0, 5) == 'USER_') {
continue;
}
$modules = Kernel::getModEnabled($node['type'], $node['id']);
$agenda = Kernel::filterModuleList($modules, 'MOD_AGENDA');
if ($agenda && $serviceAuth->getCapability($agenda[0]->module_id) >= $serviceAuth->getRead()) {
$ags[] = $agenda[0]->module_id;
}
}
}
//print_r($ags);
$daoAgenda =& CopixDAOFactory::getInstanceOf('agenda|agenda');
$agendas = $daoAgenda->findAgendasInIds($ags);
foreach ($agendas as $agenda) {
$tmp = new stdClass();
$tmp->id_agenda = $agenda->id_agenda;
$tmp->title_agenda = $agenda->title_agenda;
$tmp->desc_agenda = $agenda->desc_agenda;
$tmp->type_agenda = $agenda->type_agenda;
/*
$tmp = array (
'id_agenda' => $agenda->id_agenda,
'title_agenda' => $agenda->title_agenda,
'desc_agenda' => $agenda->desc_agenda,
'type_agenda' => $agenda->type_agenda,
);
*/
$res[] = $tmp;
}
//die();
//$sess = $daoAgenda->findAll ();
_sessionSet('modules|agenda|his', serialize($res));
}
return unserialize(_sessionGet('modules|agenda|his'));
}
示例3: processAdmin
public function processAdmin()
{
//check if the user is admin :
if (!Kernel::isAdmin()) {
return $this->error('charte.noRight', true, '||');
}
$ppo = new CopixPPO();
$ppo->errors = isset($this->flash->errors) ? $this->flash->errors : null;
$ppo->success = isset($this->flash->success) ? $this->flash->success : null;
$ppo->chartes = $this->service('CharteService')->getChartesTypes();
$ppo->radio = array(1 => 'oui', 0 => 'non');
$ppo->idClasseur = $ppo->idMalle = null;
$modsAvailable = Kernel::getModAvailable($this->user->type);
$malleAvailable = Kernel::filterModuleList($modsAvailable, 'MOD_MALLE');
// Malle activée
if (!empty($malleAvailable)) {
$modsEnabled = Kernel::getModEnabled($this->user->type, $this->user->idEn);
$mal = Kernel::filterModuleList($modsEnabled, 'MOD_MALLE');
// Si la malle est bien initialisée
if (!empty($mal)) {
$ppo->idMalle = $mal[0]->module_id;
} else {
return $this->error('charte.admin.noMalle', true, 'malle||');
}
} else {
$classeurAvailable = Kernel::filterModuleList($modsAvailable, 'MOD_CLASSEUR');
// Classeur activé
if (!empty($classeurAvailable)) {
Kernel::createMissingModules($this->user->type, $this->user->idEn);
$modsEnabled = Kernel::getModEnabled($this->user->type, $this->user->idEn);
$classeur = Kernel::filterModuleList($modsEnabled, 'MOD_CLASSEUR');
if (!empty($classeur)) {
$ppo->idClasseur = $classeur[0]->module_id;
}
}
}
CopixHTMLHeader::addCSSLink(_resource("styles/module_charte.css"));
return _arPPO($ppo, 'charte.admin.tpl');
}
示例4: _createContent
public function _createContent(&$toReturn)
{
//Getting the user.
//Create Services, and DAO
$tpl = new CopixTpl();
$id_blog = $this->getParam('id_blog', '');
//capability
//$tpl->assign ('canManageDocument' , BlogAuth::canMakeInBlog('ADMIN_DOCUMENTS',create_blog_object($id_blog)));
// On regarde si le parent a un album photos
$parent = Kernel::getModParentInfo("MOD_BLOG", $id_blog);
//print_r($parent);
if ($parent) {
$mods = Kernel::getModEnabled($parent['type'], $parent['id']);
$mods = Kernel::filterModuleList($mods, 'MOD_MALLE');
if ($mods) {
$tpl->assign('album', $mods[0]->module_id);
}
}
$tpl->assign('id_blog', $id_blog);
$tpl->assign('kind', $this->getParam('kind', ''));
// retour de la fonction :
$toReturn = $tpl->fetch('blog.show.document.tpl');
return true;
}
示例5: processGetListArticle
/**
* Afficage de la liste des articles d'un blog.
*/
public function processGetListArticle()
{
//var_dump($this);
if (!_request('blog') && !_request('ecole')) {
return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('blog.error.missingParameters'), 'back' => CopixUrl::get('||')));
}
//On verifie que le blog existe (on r�cup�re le blog avec son nom )
if (_request('blog')) {
$dao = CopixDAOFactory::create('blog|blog');
if (!($blog = $dao->getBlogByName(_request('blog')))) {
return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('blog.error.unableToFindBlog'), 'back' => CopixUrl::get('||')));
}
}
//On verifie que le blog existe (on r�cup�re le blog l'id de l'�cole )
if (CopixRequest::getInt('ecole')) {
$blog = false;
$mod = Kernel::getModEnabled('BU_ECOLE', CopixRequest::getInt('ecole'), 'MOD_BLOG');
if ($mod) {
$mod = Kernel::filterModuleList($mod, 'MOD_BLOG');
if ($mod) {
if ($blog = _ioDAO('blog|blog')->getBlogById($mod[0]->module_id)) {
//print_r($blog);
}
}
}
if (!$blog) {
return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('blog.error.unableToFindBlog'), 'back' => CopixUrl::get('||')));
}
}
// On v�rifie que le droit de lecture est pr�sent
if (!BlogAuth::canMakeInBlog('READ', $blog)) {
return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('kernel|kernel.error.noRights'), 'back' => CopixUrl::get('||')));
}
//si la cat�gorie est fournie on v�rifie qu'elle existe
if (null != ($cat = $this->getRequest('cat', null))) {
$daoCat = CopixDAOFactory::create('blog|blogarticlecategory');
if (!($cat = $daoCat->getCategoryByName($blog->id_blog, $cat))) {
return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('blog.error.unableToFindCat'), 'back' => CopixUrl::get('blog||', array('blog' => _request('blog')))));
}
}
// $menu = array();
$parent = Kernel::getModParentInfo("MOD_BLOG", $blog->id_blog);
$blog->parent = $parent;
/* if ($parent['type']=='CLUB') {
$droit = Kernel::getLevel($parent['type'], $parent['id']);
if (GroupeService::canMakeInGroupe('VIEW_HOME', $droit))
$menu[] = array('url'=>CopixUrl::get ('groupe||getHome', array("id"=>$parent['id'])), 'txt'=>CopixI18N::get ('blog.menuToGroup'));
}
if (BlogAuth::canMakeInBlog('ACCESS_ADMIN',$blog))
$menu[] = array('url'=>CopixUrl::get ('admin|showBlog', array("id_blog"=>$blog->id_blog)), 'txt'=>CopixI18N::get ('blog.menuAdmin'));
*/
$menu = array();
if (BlogAuth::canMakeInBlog('ACCESS_ADMIN', $blog)) {
$menu = getBlogAdminMenu($blog);
}
CopixHTMLHeader::addCSSLink(CopixUrl::get('blog||getBlogCss', array('id_blog' => $blog->id_blog)));
$tpl = new CopixTpl();
$tpl->assign('TITLE_PAGE', $blog->name_blog);
$tpl->assign('blog', $blog);
$tpl->assign('MENU', $menu);
$tpl->assign('ListArticle', CopixZone::process('ListArticle', array('blog' => $blog, 'cat' => $cat, 'date' => $this->getRequest('date', null), 'critere' => $this->getRequest('critere', null))));
$tpl->assign('ListLink', CopixZone::process('ListLink', array('blog' => $blog)));
$tpl->assign('ListCategory', CopixZone::process('ListCategory', array('blog' => $blog)));
$tpl->assign('ListArchive', CopixZone::process('ListArchive', array('blog' => $blog)));
$tpl->assign('ListPage', CopixZone::process('ListPage', array('blog' => $blog)));
$tpl->assign('ListSearch', CopixZone::process('ListSearch', array('blog' => $blog)));
$tpl->assign('ListFluxRss', CopixZone::process('ListFluxRss', array('blog' => $blog)));
CopixHtmlHeader::addOthers('<link rel="alternate" href="' . CopixUrl::get('blog||rss', array("blog" => $blog->url_blog)) . '" type="application/rss+xml" title="' . htmlentities($blog->name_blog) . '" />');
if ($blog->template) {
$MAIN = $tpl->fetch($blog->template);
} else {
$MAIN = $tpl->fetch('blog_main.tpl');
}
$tpl->assign('MAIN', $MAIN);
$tpl->assign('HEADER_MODE', 'compact');
$plugStats = CopixPluginRegistry::get("stats|stats");
$plugStats->setParams(array('module_id' => $blog->id_blog, 'parent_type' => $parent['type'], 'parent_id' => $parent['id']));
return new CopixActionReturn(COPIX_AR_DISPLAY, $tpl);
}
示例6: getVueSemaine
/**
* Fonction qui prépare l'affichage de la vue semaine
*/
public function getVueSemaine()
{
CopixHTMLHeader::addCSSLink(_resource("styles/module_agenda.css"));
CopixHtmlHeader::addJSLink(CopixUrl::get() . 'js/iconito/module_agenda.js');
$obj = new AgendaService();
$listAgendas = $obj->getAvailableAgenda();
$agendaService = new AgendaService();
$dateService = new DateService();
if (($params = $this->_getSessionSemaineParams()) == null) {
$params = new SemaineParams();
$params->numSemaine = $this->getRequest('numSemaine', $dateService->dateToWeeknum(mktime()), true);
$params->annee = $this->getRequest('annee', date('Y'), true);
} else {
$params->numSemaine = $this->getRequest('numSemaine', $params->numSemaine, true);
$params->annee = $this->getRequest('annee', $params->annee, true);
}
//pour savoir si on a cliqué sur un agenda à afficher
if (_request('updateAgendaAffiches')) {
$arIdAgendas = array();
foreach ($listAgendas as $agenda) {
if (_request('agendas_' . $agenda->id_agenda)) {
$arIdAgendas[$agenda->id_agenda] = $agenda->id_agenda;
}
}
$agendaService->setAgendaAffiches($arIdAgendas);
}
//on récupère en session les agendas à afficher
$params->agendas = $agendaService->getAgendaAffiches();
//on met à jour la session
$this->_setSessionSemaineParams($params);
//on determine la date de début et de fin de la semaine en cours d'affichage
$dateDebutSemaine = date('Ymd', $dateService->numweekToDate($params->numSemaine, $params->annee, 1));
//date au format bdd
$dateFinSemaine = date('Ymd', $dateService->numweekToDate($params->numSemaine, $params->annee, 0));
//date au format bdd
$arEventsSemaine = array();
//on récupère tous les évènements de la semaine en cours de vue
foreach ((array) $params->agendas as $idAgenda) {
$arEventsSemaine[$idAgenda] = $agendaService->checkEventOfAgendaInBdd($idAgenda, $dateDebutSemaine, $dateFinSemaine);
}
//on classe ces évènements par jour
$arEventByDay = $agendaService->getEventsByDay($arEventsSemaine, $dateDebutSemaine, $dateFinSemaine);
//on ordonne les évènements par ordre croissant d'heure de début d'évènement dans la journée
$arEventByDay = $agendaService->getEventsInOrderByDay($arEventByDay);
//on détermine l'heure de début et l'heure de fin pour l'affichage du calendrier
//on travail sur des heures sans séparateur pour pouvoir les comparer
$heureDeb = CopixConfig::get('agenda|heuredebcal');
$heureFin = CopixConfig::get('agenda|heurefincal');
foreach ((array) $arEventByDay as $jours) {
if (!isset($jours->events)) {
continue;
}
//print_r($jours);
foreach ((array) $jours->events as $event) {
if ($event->alldaylong_event == 0) {
if ($dateService->heureWithSeparateurToheureWithoutSeparateur($event->heuredeb_event) < $dateService->heureWithSeparateurToheureWithoutSeparateur($heureDeb)) {
$heureDeb = $dateService->heureWithSeparateurToheureWithoutSeparateur($event->heuredeb_event);
}
if ($dateService->heureWithSeparateurToheureWithoutSeparateur($heureFin) < $dateService->heureWithSeparateurToheureWithoutSeparateur($event->heurefin_event)) {
$heureFin = $dateService->heureWithSeparateurToheureWithoutSeparateur($event->heurefin_event);
}
}
}
}
//on arrondit à l'heure inférieure pour l'heure de début et à l'heure supérieure pour l'heure de fin
$heureDeb = substr($heureDeb, 0, 2);
if (substr($heureFin, 2, 2) == 0) {
//si les minutes sont à 0, on arrondit à l'heure
$heureFin = substr($heureFin, 0, 2);
} else {
//si les minutes ne sont pas à 0, on arrondit à l'heure supérieure
$heureFin = substr($heureFin, 0, 2) + 1;
}
//on récupère les leçons de la semaine à afficher
$arLecons = $agendaService->getLeconsByDay((array) $params->agendas, $dateDebutSemaine, $dateFinSemaine);
// On récupère les travaux de la semaine par agenda
$travailDAO = _ioDAO('cahierdetextes|cahierdetextestravail');
$agenda2cahier = array();
$arTravauxEnClasse = array();
$arTravauxAFaire = array();
foreach ($params->agendas as $agendaId) {
$agendaInfos = Kernel::getModParentInfo('MOD_AGENDA', $agendaId);
$agendaType = AgendaType::getAgendaTypeForNode($agendaInfos['type'], $agendaInfos['id']);
$mods = Kernel::getModEnabled($agendaInfos['type'], $agendaInfos['id']);
$cahierDeTextes = Kernel::filterModuleList($mods, 'MOD_CAHIERDETEXTES');
$agendaLevel = Kernel::getLevel($agendaInfos['type'], $agendaInfos['id']);
if (isset($cahierDeTextes[0])) {
$agenda2cahier[$agendaId] = $cahierDeTextes[0]->module_id;
$travauxEnClasse = $travailDAO->findTravauxEnClasseByAgendaParJour($agendaId, $dateDebutSemaine, $dateFinSemaine, $agendaInfos['type'], $agendaInfos['id'], $agendaLevel);
if (!is_null($travauxEnClasse)) {
foreach ($travauxEnClasse as $date => $travail) {
$arTravauxEnClasse[$date][$agendaId] = $travail;
}
}
$travauxAFaire = $travailDAO->findTravauxAFaireByAgendaParJour($agendaId, $dateDebutSemaine, $dateFinSemaine, $agendaInfos['type'], $agendaInfos['id'], $agendaLevel);
if (!is_null($travauxAFaire)) {
foreach ($travauxAFaire as $date => $travail) {
//.........这里部分代码省略.........
示例7: 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'));
//.........这里部分代码省略.........
示例8: processGetShowBlog
/**
* Préparation de l'édition d'un blog.
*/
public function processGetShowBlog()
{
$id_blog = $this->getRequest('id_blog', null);
$blogDAO = CopixDAOFactory::create('blog|blog');
$blog = $blogDAO->get($id_blog);
if (!BlogAuth::canMakeInBlog('ACCESS_ADMIN', $blog)) {
return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('blog.error.cannotManageBlog'), 'back' => $blog ? CopixUrl::get('|', array('blog' => $blog->url_blog)) : CopixUrl::get('||')));
}
if ($id_blog == null) {
return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('blog.error.param'), 'back' => CopixUrl::get('||')));
}
$kind = $this->getRequest('kind', '0');
$tpl = new CopixTpl();
$tabBlogFunctions = null;
$result = null;
if ($kind == '0') {
// Articles
CopixHTMLHeader::addCSSLink(_resource("styles/module_blog.css"));
$selectCategory = $this->getRequest('selectCategory', '');
$selectMonth = $this->getRequest('selectMonth', '');
$id_bact = $this->getRequest('id_bact', '');
$result = CopixZone::process('ShowBlogArticle', array('id_blog' => $id_blog, 'blog' => $blog, 'kind' => $kind, 'selectCategory' => $selectCategory, 'selectMonth' => $selectMonth, 'id_bact' => $id_bact, 'p' => $this->getRequest('p', '')));
} else {
if ($kind == '1') {
// Catégories
$result = CopixZone::process('ShowBlogCategory', array('id_blog' => $id_blog, 'kind' => $kind));
} else {
if ($kind == '2') {
// Liens
$result = CopixZone::process('ShowBlogLink', array('id_blog' => $id_blog, 'kind' => $kind));
} else {
if ($kind == '3') {
// Photos
$can = BlogAuth::canMakeInBlog('ADMIN_PHOTOS', $blog);
if ($can) {
$parent = Kernel::getModParentInfo("MOD_BLOG", $id_blog);
if ($parent) {
$mods = Kernel::getModEnabled($parent['type'], $parent['id']);
$mods = Kernel::filterModuleList($mods, 'MOD_ALBUM');
if ($mods && $mods[0]) {
return new CopixActionReturn(COPIX_AR_REDIRECT, CopixUrl::get('album||go', array('id' => $mods[0]->module_id)));
}
}
}
// Si on arrive là, c'est pas normal
$result = CopixZone::process('ShowBlogPhoto', array('id_blog' => $id_blog, 'kind' => $kind));
} else {
if ($kind == '7') {
// Documents
$can = BlogAuth::canMakeInBlog('ADMIN_DOCUMENTS', $blog);
if ($can) {
$parent = Kernel::getModParentInfo("MOD_BLOG", $id_blog);
if ($parent) {
$mods = Kernel::getModEnabled($parent['type'], $parent['id']);
$mods = Kernel::filterModuleList($mods, 'MOD_MALLE');
if ($mods && $mods[0]) {
return new CopixActionReturn(COPIX_AR_REDIRECT, CopixUrl::get('malle||go', array('id' => $mods[0]->module_id)));
}
}
}
// Si on arrive là, c'est pas normal
$result = CopixZone::process('ShowBlogDocument', array('id_blog' => $id_blog, 'kind' => $kind));
} else {
if ($kind == '5') {
// Pages
$result = CopixZone::process('ShowBlogPage', array('id_blog' => $id_blog, 'kind' => $kind));
} else {
if ($kind == '6') {
// RSS
$result = CopixZone::process('ShowBlogFluxRss', array('id_blog' => $id_blog, 'kind' => $kind));
} else {
if ($kind == '8') {
// Droits particuliers sur le blog
$result = CopixZone::process('ShowBlogDroits', array('blog' => $blog, 'kind' => $kind, 'errors' => $this->getRequest('errors'), 'membres' => $this->getRequest('membres'), 'droit' => $this->getRequest('droit')));
} else {
if ($kind == '9') {
// Stats du blog
$result = CopixZone::process('stats|module', array('module_type' => 'MOD_BLOG', 'module_id' => $id_blog, 'date' => $this->getRequest('date'), 'mois' => $this->getRequest('mois'), 'annee' => $this->getRequest('annee'), 'url' => CopixUrl::get('blog|admin|showBlog', array("id_blog" => $id_blog, "kind" => $kind)), 'errors' => $this->getRequest('errors')));
} else {
// Options
$kind = 4;
$tabFunctions = returnAllBlogFunctions();
$blogFunctionsDAO = CopixDAOFactory::create('blog|blogfunctions');
$resBlogFunctions = $blogFunctionsDAO->get($id_blog);
$tabBlogFunctions = array();
if ($resBlogFunctions != null) {
foreach ($tabFunctions as $fct) {
eval('if($resBlogFunctions->' . $fct->value . '==\'1\')array_push($tabBlogFunctions, $fct);');
}
}
}
}
}
}
}
}
}
//.........这里部分代码省略.........
示例9: _createContent
/**
* Affiche la série de boutons permettant à l'utilisateur de mettre en forme simplement le texte qu'il saisit dans une zone de texte libre.
*
* @author Christophe Beyer <cbeyer@cap-tic.fr>
* @since 2005/12/28
* @param string $field Nom du champ dans le formulaire. Correspond à l'attribut "name" et "id" dans le template (les deux doivent être positionnés)
* @param string $format Format de la zone de saisie (wiki, html, fckeditor...)
* @param array $objet (option) Module dans lequel se trouve la barre wiki, dans un tableau indexé avec TYPE et ID (exemple: type=>MOD_BLOG, ID=>4). Si positionné, on va vérifier si le parent de cet objet a un album photos, une malle et un classeur, et si oui on affiche les liens vers l'album photos, la malle et le classeur en mode popup
*/
public function _createContent(&$toReturn)
{
$tpl = new CopixTpl();
$field = $this->getParam('field', NULL);
$format = $this->getParam('format', NULL);
$object = $this->getParam('object', NULL);
$withAlbum = $this->getParam('withAlbum', true);
CopixHtmlHeader::addJSLink(CopixUrl::get() . 'js/iconito/wikibuttons.js');
if ($field && $format) {
$buttonAlbum = $buttonMalle = $buttonClasseur = array();
// Bouton album photos et malle
$buttons = array();
// Tableau avec les boutons
switch ($format) {
case "wiki":
CopixHtmlHeader::addJSLink(CopixUrl::get() . 'js/iconito/format_' . $format . '.js');
$buttons[] = array('titre' => CopixI18N::get('wikibuttons.bold'), 'accesskey' => 'g', 'tabindex' => 10, 'link' => "javascript:bbstyle('','{$field}',0);");
// Gras
$buttons[] = array('titre' => CopixI18N::get('wikibuttons.italic'), 'accesskey' => 'i', 'tabindex' => 11, 'link' => "javascript:bbstyle('','{$field}',2);");
// Italique
$buttons[] = array('titre' => CopixI18N::get('wikibuttons.image'), 'accesskey' => 'm', 'tabindex' => 12, 'link' => "javascript:bblink('','{$field}',12);");
// Image
$buttons[] = array('titre' => CopixI18N::get('wikibuttons.link'), 'accesskey' => 'l', 'tabindex' => 13, 'link' => "javascript:bblink('','{$field}',8);");
// Lien
$buttons[] = array('titre' => CopixI18N::get('wikibuttons.hr'), 'accesskey' => 'h', 'tabindex' => 14, 'link' => "javascript:bbcar('','{$field}',4);");
// HR
$buttons[] = array('titre' => CopixI18N::get('wikibuttons.h1'), 'accesskey' => 'j', 'tabindex' => 15, 'link' => "javascript:bblink('','{$field}',20);");
// H1
$buttons[] = array('titre' => CopixI18N::get('wikibuttons.h2'), 'accesskey' => 'v', 'tabindex' => 16, 'link' => "javascript:bblink('','{$field}',22);");
// H2
$buttons[] = array('titre' => CopixI18N::get('wikibuttons.h3'), 'accesskey' => 'w', 'tabindex' => 17, 'link' => "javascript:bblink('','{$field}',24);");
// H3
break;
case "dokuwiki":
CopixHtmlHeader::addJSLink(CopixUrl::get() . 'js/iconito/format_' . $format . '.js');
$buttons[] = array('titre' => CopixI18N::get('wikibuttons.bold'), 'accesskey' => 'g', 'tabindex' => 10, 'link' => "javascript:bbstyle('','{$field}',0);", 'icon' => 'bold.png');
// Gras
$buttons[] = array('titre' => CopixI18N::get('wikibuttons.italic'), 'accesskey' => 'i', 'tabindex' => 11, 'link' => "javascript:bbstyle('','{$field}',2);", 'icon' => 'italic.png');
// Italique
$buttons[] = array('titre' => CopixI18N::get('wikibuttons.underline'), 'accesskey' => 's', 'tabindex' => 12, 'link' => "javascript:bbstyle('','{$field}',4);", 'icon' => 'underline.png');
// Souligne
$buttons[] = array('titre' => CopixI18N::get('wikibuttons.image'), 'accesskey' => 'm', 'tabindex' => 12, 'link' => "javascript:bblink('','{$field}',12);", 'icon' => 'image.png');
// Image
$buttons[] = array('titre' => CopixI18N::get('wikibuttons.link'), 'accesskey' => 'l', 'tabindex' => 13, 'link' => "javascript:bblink('','{$field}',8);", 'icon' => 'linkextern.png');
// Lien
$buttons[] = array('titre' => CopixI18N::get('wikibuttons.email'), 'accesskey' => 'e', 'tabindex' => 13, 'link' => "javascript:bblink('','{$field}',10);", 'icon' => '../../tpl/default/images/mail_icon.gif');
// Email
$buttons[] = array('titre' => CopixI18N::get('wikibuttons.hr'), 'accesskey' => 'h', 'tabindex' => 14, 'link' => "javascript:bbcar('','{$field}',4);", 'icon' => 'hr.png');
// HR
$buttons[] = array('titre' => CopixI18N::get('wikibuttons.h1'), 'accesskey' => 'j', 'tabindex' => 15, 'link' => "javascript:bblink('','{$field}',20);", 'icon' => 'h1.png');
// H1
$buttons[] = array('titre' => CopixI18N::get('wikibuttons.h2'), 'accesskey' => 'v', 'tabindex' => 16, 'link' => "javascript:bblink('','{$field}',22);", 'icon' => 'h2.png');
// H2
$buttons[] = array('titre' => CopixI18N::get('wikibuttons.h3'), 'accesskey' => 'w', 'tabindex' => 17, 'link' => "javascript:bblink('','{$field}',24);", 'icon' => 'h3.png');
// H3
$buttons[] = array('titre' => CopixI18N::get('wikibuttons.ul'), 'accesskey' => 'w', 'tabindex' => 17, 'link' => "javascript:bbcar('','{$field}',5);", 'icon' => 'ul.png');
// UL
$buttons[] = array('titre' => CopixI18N::get('wikibuttons.ol'), 'accesskey' => 'w', 'tabindex' => 17, 'link' => "javascript:bbcar('','{$field}',6);", 'icon' => 'ol.png');
// OL
break;
}
if ($object) {
$user_type = _currentUser()->getExtra('type');
$user_id = _currentUser()->getExtra('id');
if ('USER' === $object) {
Kernel::createMissingModules($user_type, $user_id);
$parent = array('type' => $user_type, 'id' => $user_id);
} elseif (preg_match('/^MOD_/', $object['type'])) {
$parent = Kernel::getModParentInfo($object['type'], $object['id']);
} else {
$parent = Kernel::getNodeInfo($object['type'], $object['id']);
}
if ($parent) {
$mods = Kernel::getModEnabled($parent['type'], $parent['id']);
$alb = Kernel::filterModuleList($mods, 'MOD_ALBUM');
if ($alb && $withAlbum) {
$url = CopixUrl::get('album||getpopup', array('album_id' => $alb[0]->module_id, 'field' => $field, 'format' => $format));
$buttonAlbum = array('titre' => CopixI18N::get('wikibuttons.album'), 'accesskey' => 'a', 'tabindex' => 18, 'link' => $url);
// Album photos
}
$mal = Kernel::filterModuleList($mods, 'MOD_MALLE');
if ($mal) {
$url = CopixUrl::get('malle|malle|getMallePopup', array('id' => $mal[0]->module_id, 'field' => $field, 'format' => $format));
$buttonMalle = array('titre' => CopixI18N::get('wikibuttons.malleTxt'), 'accesskey' => 'd', 'tabindex' => 19, 'link' => $url);
// Malle
}
$cla = Kernel::filterModuleList($mods, 'MOD_CLASSEUR');
if ($cla) {
$url = CopixUrl::get('classeur||getClasseurPopup', array('classeurId' => $cla[0]->module_id, 'field' => $field, 'format' => $format, 'withPersonal' => 1, 'moduleType' => $object['type'], 'moduleId' => $object['id']));
$buttonClasseur = array('titre' => CopixI18N::get('wikibuttons.classeurTxt'), 'accesskey' => 'd', 'tabindex' => 20, 'link' => $url);
// Classeur
//.........这里部分代码省略.........