protected function _getNodeActions($node) { if (is_numeric($node)) { //if we have the id of the node, extract data require_once _base_ . '/lib/lib.json.php'; $model = new UsermanagementAdm(); $nodedata = $model->getFolderById($node); $node = array('id' => $nodedata->idOrg, 'label' => $model->getFolderTranslation($nodedata->idOrg, getLanguage()), 'is_leaf' => $nodedata->iRight - $nodedata->iLeft == 1, 'count_content' => (int) (($nodedata->iRight - $nodedata->iLeft - 1) / 2)); } if (!is_array($node)) { return false; } //unrecognized type for node data $actions = array(); $id_action = $node['id']; if (!$this->model->isFolderEnabled($id_action)) { return false; } $is_root = $id_action == 0; //assign users to folder action if ($this->permissions['associate_user']) { if (!$is_root) { $actions[] = array('id' => 'moduser_' . $id_action, 'command' => 'moduser', 'icon' => 'standard/moduser.png', 'href' => 'index.php?r=' . $this->link . '/assignuser&id=' . $id_action, 'alt' => Lang::t('_ASSIGN_USERS', 'organization_chart')); } else { $actions[] = array('id' => 'moduser_' . $id_action, 'command' => false, 'icon' => 'blank.png'); } } //assign custom fields action if ($this->permissions['mod_org']) { $actions[] = array('id' => 'assignfields_' . $id_action, 'command' => 'assignfields', 'icon' => 'standard/database.png', 'alt' => Lang::t('_ASSIGNED_EXTRAFIELD', 'organization_chart')); } //rename action if ($this->permissions['mod_org']) { $actions[] = array('id' => 'mod_' . $id_action, 'command' => 'modify', 'icon' => 'standard/edit.png', 'alt' => Lang::t('_MOD', 'standard')); } //delete action if ($this->permissions['del_org']) { if ($node['is_leaf'] && !$is_root) { $actions[] = array('id' => 'del_' . $id_action, 'command' => 'delete', 'icon' => 'standard/delete.png', 'alt' => Lang::t('_DEL', 'standard')); } else { $actions[] = array('id' => 'del_' . $id_action, 'command' => false, 'icon' => 'blank.png'); } } return $actions; }