本文整理汇总了PHP中Kernel::getMyNodes方法的典型用法代码示例。如果您正苦于以下问题:PHP Kernel::getMyNodes方法的具体用法?PHP Kernel::getMyNodes怎么用?PHP Kernel::getMyNodes使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Kernel
的用法示例。
在下文中一共展示了Kernel::getMyNodes方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getModules
public function getModules()
{
$my_modules = array();
$nodes = Kernel::getMyNodes();
if (sizeof($nodes)) {
foreach ($nodes as $node_key => $node) {
$modules = Kernel::getModEnabled($node->type, $node->id, _currentUser()->getExtra('type'), _currentUser()->getExtra('id'));
foreach ($modules as $modules_key => $module) {
if ($module->module_type != "MOD_PREFS" && preg_match('#^MOD_(.+)$#', $module->module_type, $regs)) {
$mod_tmp = new CopixPPO();
$mod_tmp->type = $module->module_type;
$mod_tmp->nom = $module->module_nom;
$mod_tmp->rep = strtolower($regs[1]);
$my_modules[$module->module_type] = $mod_tmp;
unset($mod_tmp);
}
}
}
}
ksort($my_modules);
$pref_module['MOD_PREFS'] = new CopixPPO();
$pref_module['MOD_PREFS']->type = 'MOD_PREFS';
$pref_module['MOD_PREFS']->nom = CopixI18N::get('prefs|prefs.string.generalprefs');
$pref_module['MOD_PREFS']->rep = 'prefs';
$all_modules = array_merge($pref_module, $my_modules);
return $all_modules;
}
示例2: _createContent
public function _createContent(&$toReturn)
{
$ppo = new CopixPPO();
// Récupération des paramètres
$ppo->classeurId = $this->getParam('classeurId');
$ppo->dossierCourant = $this->getParam('dossierCourant');
// Paramètres pour la vue popup
$ppo->field = $this->getParam('field');
$ppo->format = $this->getParam('format');
$ppo->withPersonal = _sessionGet('user_animateur') ? false : $this->getParam('withPersonal', true);
$ppo->moduleType = $this->getParam('moduleType', null);
$ppo->moduleId = $this->getParam('moduleId', null);
// Récupération des classeurs accessibles à l'utilisateur
$classeurIds = array();
// Récupération de ses ressources (obligatoire pour récupérer le classeur personnel)
$nodes = Kernel::getMyNodes(_currentUser()->getExtra('type'), _currentUser()->getExtra('id'));
foreach ($nodes as $node) {
$modules = Kernel::getModEnabled($node->type, $node->id, _currentUser()->getExtra('type'), _currentUser()->getExtra('id'));
foreach ($modules as $module) {
if ($module->module_type == 'MOD_CLASSEUR' && Kernel::getLevel('MOD_CLASSEUR', $module->module_id) >= PROFILE_CCV_READ) {
// Le module correspond-il au classeur personnel
if ($ppo->withPersonal && strpos($module->node_type, 'USER_') !== false && ($module->node_type == _currentUser()->getExtra('type') && $module->node_id == _currentUser()->getExtra('id'))) {
$ppo->classeurPersonnel = $module->module_id;
$classeurIds[] = $module->module_id;
} elseif (null === $ppo->moduleType) {
$classeurIds[] = $module->module_id;
}
}
}
}
// Récupération des ressources
if (null !== $ppo->moduleType) {
$node = Kernel::getModParentInfo($ppo->moduleType, $ppo->moduleId);
$modules = Kernel::getModEnabled($node['type'], $node['id'], _currentUser()->getExtra('type'), _currentUser()->getExtra('id'));
foreach ($modules as $module) {
if ($module->module_type == 'MOD_CLASSEUR' && Kernel::getLevel('MOD_CLASSEUR', $module->module_id) >= PROFILE_CCV_READ) {
$classeurIds[] = $module->module_id;
}
}
}
// Dédoublonnage des classeurs (responsables avec plusieurs enfants)
$classeurIds = array_unique($classeurIds);
$ppo->classeurs = array();
$classeurDAO = _dao("classeur|classeur");
foreach ($classeurIds as $classeurId) {
$classeur = $classeurDAO->get($classeurId);
$classeur->titre = $classeur->realName();
$ppo->classeurs[] = $classeur;
}
_classInclude('classeurservice');
$ppo->classeursOuverts = ClasseurService::getClasseursTreeState();
if (!is_array($ppo->classeursOuverts)) {
$ppo->classeursOuverts = array();
}
$this->flash->addCycle();
$toReturn = $this->_usePPO($ppo, '_arborescence_classeurs.tpl');
}
示例3: getClasseurPersonnelId
/**
* Retourne l'ID du classeur personnel
*
* @return int ou false si classeur perso non récupéré
*/
public static function getClasseurPersonnelId()
{
$nodes = Kernel::getMyNodes(_currentUser()->getExtra('type'), _currentUser()->getExtra('id'));
foreach ($nodes as $node) {
$modules = Kernel::getModEnabled($node->type, $node->id, _currentUser()->getExtra('type'), _currentUser()->getExtra('id'));
foreach ($modules as $module) {
if ($module->module_type == "MOD_CLASSEUR") {
// Identification du classeur personnel de l'utilisateur
if (strpos($module->node_type, 'USER_') !== false && ($module->node_type == _currentUser()->getExtra('type') && $module->node_id == _currentUser()->getExtra('id'))) {
return $module->module_id;
}
}
}
}
return false;
}
示例4: canMakeInFicheEcole
/**
* Determine si l'usager peut afficher ou modifier la fiche d'une ecole
*
* @author Christophe Beyer <cbeyer@cap-tic.fr>
* @since 2008/08/04
* @param integer $pId Id de l'ecole
* @param string $pAction Indication eventuelle sur une action precise.
* @return boolean True s'il a le droit, false sinon
*/
public function canMakeInFicheEcole($pId, $pAction)
{
$can = false;
//echo "canMakeInFicheEcole ($pId, $pAction)";
$session = Kernel::getSessionBU();
$myNodes = Kernel::getMyNodes();
if ($pAction == "VIEW") {
return true;
}
//var_dump($myNodes);
//var_dump($session);
switch ($session['type']) {
case 'USER_ENS':
foreach ($myNodes as $node) {
if ($node->type == 'BU_ECOLE' && $node->id == $pId && $node->droit >= 70) {
if ($pAction == 'MODIFY') {
$can = true;
}
}
}
break;
case 'USER_VIL':
if ($pAction == 'MODIFY_VILLE') {
// Court-circuite du reste, canMakeInFicheEcole(MODIFY) ayant forcement ete fait avant
return true;
}
foreach ($myNodes as $node) {
if ($node->type == 'BU_ECOLE' && $node->id == $pId && $node->droit >= 70) {
$can = true;
}
}
if (!$can) {
// On verifie si l'ecole est dans sa ville
$rEcole = Kernel::getNodeInfo('BU_ECOLE', $pId, false);
reset($myNodes);
//var_dump($myNodes);
//var_dump($rEcole['ALL']);
foreach ($myNodes as $node) {
if ($node->type == 'BU_VILLE' && $node->id == $rEcole['ALL']->vil_id_vi && $node->droit >= 70) {
$can = true;
}
}
}
break;
}
return $can;
}
示例5: _createContent
public function _createContent(&$toReturn)
{
$ppo = new CopixPPO();
// Récupération des paramètres
$ppo->classeurId = $this->getParam('classeurId');
$ppo->targetType = $this->getParam('targetType');
$ppo->targetId = $this->getParam('targetId');
$ppo->withMainLocker = $this->getParam('withMainLocker', true);
$ppo->withSubLockers = $this->getParam('withSubLockers', Kernel::getLevel('MOD_CLASSEUR', $ppo->classeurId) >= PROFILE_CCV_PUBLISH ? true : false);
// Récupération des classeurs accessibles à l'utilisateur pour les actions de masse (copie / déplacement)
$classeurIds = array();
$nodes = Kernel::getMyNodes(_currentUser()->getExtra('type'), _currentUser()->getExtra('id'));
foreach ($nodes as $node) {
$modules = Kernel::getModEnabled($node->type, $node->id, _currentUser()->getExtra('type'), _currentUser()->getExtra('id'));
foreach ($modules as $module) {
if ($module->module_type == "MOD_CLASSEUR") {
// Identification du classeur personnel de l'utilisateur
if (strpos($module->node_type, 'USER_') !== false && ($module->node_type == _currentUser()->getExtra('type') && $module->node_id == _currentUser()->getExtra('id'))) {
$ppo->classeurPersonnel = $module->module_id;
$classeurIds[] = $module->module_id;
} elseif (strpos($module->node_type, 'USER_') == false && Kernel::getLevel('MOD_CLASSEUR', $module->module_id) >= PROFILE_CCV_MEMBER) {
$classeurIds[] = $module->module_id;
}
}
}
}
// Dédoublonnage des classeurs (responsables avec plusieurs enfants)
$classeurIds = array_unique($classeurIds);
$ppo->classeurs = array();
$classeurDAO = _dao("classeur|classeur");
foreach ($classeurIds as $classeurId) {
$classeur = $classeurDAO->get($classeurId);
$ppo->classeurs[] = $classeur;
}
_classInclude('classeurservice');
$ppo->classeursOuverts = ClasseurService::getClasseursTreeState();
if (!is_array($ppo->classeursOuverts)) {
$ppo->classeursOuverts = array();
}
$toReturn = $this->_usePPO($ppo, '_selection_classeurs.tpl');
}
示例6: processGo
public function processGo()
{
$ppo = new CopixPPO();
if (!Kernel::is_connected()) {
return CopixActionGroup::process('genericTools|Messages::getError', array('message' => CopixI18N::get('kernel|kernel.error.nologin'), 'back' => CopixUrl::get('auth|default|login')));
}
$user = _currentUser();
$ppo->ceriseprim_url = '';
$ppo->ceriseprim_admin = '';
if (preg_match("/^(?P<node_type>[\\w_]+)-(?P<node_id>\\d+)\$/", _request("id"), $regs)) {
if ($regs['node_type'] == "BU_ECOLE" || $regs['node_type'] == "BU_CLASSE") {
if ($regs['node_type'] == "BU_ECOLE") {
$sql = "\n SELECT *\n FROM kernel_bu_ecole\n WHERE numero=:id\n ";
$params = array(':id' => $regs['node_id']);
}
if ($regs['node_type'] == "BU_CLASSE") {
$sql = "\n SELECT kernel_bu_ecole.RNE\n FROM kernel_bu_ecole\n JOIN kernel_bu_ecole_classe ON kernel_bu_ecole.numero=kernel_bu_ecole_classe.ecole\n WHERE kernel_bu_ecole_classe.id=:id\n ";
$params = array(':id' => $regs['node_id']);
}
$ecoles_list = _doQuery($sql, $params);
if (count($ecoles_list)) {
$url = CopixConfig::get('default|conf_Ceriseprim_url') . "/" . $ecoles_list[0]->RNE . "/ico.php?user=personnel-" . $user->getExtra('id') . "&date=" . date('Y-m-d') . "&key=" . md5($ecoles_list[0]->RNE . "personnel-" . $user->getExtra('id') . date('Y-m-d') . CopixConfig::get('default|conf_Ceriseprim_secret'));
$ppo->ceriseprim_url = $url;
if ($regs['node_type'] == "BU_ECOLE") {
$mynodes = Kernel::getMyNodes();
foreach ($mynodes as $node) {
if ($node->type == $regs['node_type'] && $node->id == $regs['node_id'] && $node->droit >= 70) {
$ppo->ceriseprim_admin = CopixConfig::get('default|conf_Ceriseprim_url') . "/support/iconito/updateIconito.php?rne=" . $ecoles_list[0]->RNE;
}
}
}
}
}
}
return _arPPO($ppo, 'default.tpl');
}