/** * Retrieves the interface to assign stakeholders to objects * * @return string The HTML fragment for this interface * * @param $targetObject The Object on which the permssion applies (Network, Server, etc.) */ public static function getAssignStakeholdersUI($targetObject) { require_once 'classes/Role.php'; if (User::getCurrentUser()->DEPRECATEDisSuperAdmin()) { $listData = ""; $db = AbstractDb::getObject(); $object_class = get_class($targetObject); $table = strtolower($object_class) . '_stakeholders'; $object_id = $db->escapeString($targetObject->getId()); $sql = "SELECT * FROM {$table} JOIN roles USING (role_id) WHERE object_id = '{$object_id}';"; $stakeholder_rows = null; $db->execSql($sql, $stakeholder_rows, false); if ($stakeholder_rows) { foreach ($stakeholder_rows as $stakeholder_row) { $user = User::getObject($stakeholder_row['user_id']); $role = Role::getObject($stakeholder_row['role_id']); $roleStr = htmlspecialchars($role->getLabelStr()); $name = $object_id . "_stakeholder_" . $stakeholder_row['user_id'] . "_" . $stakeholder_row['role_id'] . "_remove"; $listDataContents = InterfaceElements::generateAdminSection("", $user->getListUI() . ' ' . $roleStr, InterfaceElements::generateInputSubmit($name, _("Remove stakeholder"))); $listData .= "<li class='admin_element_item_container node_owner_list'>" . $listDataContents . "</li>\n"; } } $listData .= "<li class='admin_element_item_container'>"; $listData .= Role::getSelectUI($object_id . "_new_stakeholder_role", array('stakeholderTypeId' => $object_class)); $listData .= User::getSelectUserUI($object_id . "_new_stakeholder", $object_id . "_new_stakeholder_submit", _("Add stakeholder")); $listData .= "<br class='clearbr' /></li>\n"; $html = "<ul id='node_owner_ul' class='admin_element_list'>\n" . $listData . "</ul>\n"; } return $html; }
/** * Get a flexible interface to view the children and parents of a given element * One can add parents and children to the hierarchy * * @param string $user_prefix A identifier provided by the * programmer to recognise it's * generated HTML form * @param string $graph_element Hotspot_Graph_Element * @return string HTML markup */ public static function getGraphAdminUI($user_prefix, $graph_element) { $db = AbstractDb::getObject(); // Init values $html = ""; $object_id = $db->escapeString($graph_element->getHgeId()); // Get the parents if (!$graph_element->isRoot()) { $_title = _("Parents :"); $parent_rows = HotspotGraph::getParents($object_id); $listData = ""; if ($parent_rows) { foreach ($parent_rows as $parent_row) { $classname = $parent_row['element_type']; $element = HotspotGraphElement::getObject($parent_row['element_id'], $classname); $parentStr = htmlspecialchars($parent_row['name']) . " (" . htmlspecialchars($parent_row['element_type']) . ") "; $name = $object_id . "_parent_" . $parent_row['next_element_id'] . "_remove"; $listDataContents = InterfaceElements::generateAdminSection("", $parentStr, InterfaceElements::generateInputSubmit($name, _("Remove from"))); $listData .= "<li class='admin_element_item_container node_owner_list'>" . $listDataContents . "</li>\n"; } } $listData .= "<li class='admin_element_item_container'>"; $listData .= HotspotGraphElement::getSelectGraphElementUI($object_id . "_parent_add_element", array('additionalWhere' => " AND element_type in ('Network', 'NodeGroup') AND hotspot_graph_element_id != '{$db->escapeString($graph_element->getHgeId())}'")); $listData .= InterfaceElements::generateInputSubmit($object_id . "_parent_add", _("Add")); $listData .= "<br class='clearbr' /></li>\n"; $_data = "<ul id='node_owner_ul' class='admin_element_list'>\n" . $listData . "</ul>\n"; $html .= InterfaceElements::generateAdminSectionContainer("element_parent", $_title, $_data); } // Get the children if (!$graph_element->isLeaf()) { $_title = _("Children :"); $children_rows = HotspotGraph::getChildren($object_id); $listData = ""; if ($children_rows) { foreach ($children_rows as $child_row) { $classname = $child_row['element_type']; $element = HotspotGraphElement::getObject($child_row['element_id'], $classname); $childStr = htmlspecialchars($child_row['name']) . " (" . htmlspecialchars($child_row['element_type']) . ") "; $name = $object_id . "_child_" . $child_row['next_element_id'] . "_remove"; $listDataContents = InterfaceElements::generateAdminSection("", $childStr, InterfaceElements::generateInputSubmit($name, _("Remove from"))); $listData .= "<li class='admin_element_item_container node_owner_list'>" . $listDataContents . "</li>\n"; } } $listData .= "<li class='admin_element_item_container'>"; $listData .= HotspotGraphElement::getSelectGraphElementUI($object_id . "_child_add_element", array('additionalWhere' => " AND element_type in ('Node', 'NodeGroup') AND hotspot_graph_element_id != '{$db->escapeString($graph_element->getHgeId())}'")); $listData .= InterfaceElements::generateInputSubmit($object_id . "_child_add", _("Add")); $listData .= "<br class='clearbr' /></li>\n"; $_data = "<ul id='node_owner_ul' class='admin_element_list'>\n" . $listData . "</ul>\n"; $html .= InterfaceElements::generateAdminSectionContainer("element_children", $_title, $_data); } return $html; }