/** * @todo Complete this */ public static function getSelectDateTimeUI(DateTimeWD $datetime, $userPrefix, $interface_type, $id = "") { $html = ""; switch ($interface_type) { case self::INTERFACE_DATE_SELECTOR: $html = ""; break; case self::INTERFACE_DATETIME_SELECTOR: $html = ""; break; case self::INTERFACE_DATETIME_FIELD: $str = $datetime->getIso8601FormattedString(); $html = InterfaceElements::generateInputText($userPrefix, $str, $id); break; } return $html; }
/** * Retreives the admin interface of this object * * @return string The HTML fragment for this interface */ public function getAdminUI() { Security::requirePermission(Permission::P('NETWORK_PERM_EDIT_NETWORK_CONFIG'), $this); require_once 'classes/InterfaceElements.php'; // Init values $html = ''; /* * Verify if an error message was registered before outputting the form */ if (isset($this->errorMsg)) { $html .= "<div class='errormsg'>" . $this->errorMsg . "</div>"; } /* * Begin with admin interface */ $html .= "<fieldset class='admin_container " . get_class($this) . "'>\n"; $html .= "<legend>" . _("Network management") . "</legend>\n"; $html .= "<ul class='admin_element_list'>\n"; /* * Content management */ $html .= parent::getContentAdminUI(); /* * Network information */ $html_network_information = array(); // network_id $title = _("Network ID"); $data = htmlspecialchars($this->getId(), ENT_QUOTES); $html_network_information[] = InterfaceElements::generateAdminSectionContainer("network_id", $title, $data); // name $title = _("Network name"); $data = InterfaceElements::generateInputText("network_" . $this->getId() . "_name", $this->getName(), "network_name_input"); $html_network_information[] = InterfaceElements::generateAdminSectionContainer("network_name", $title, $data); // creation_date $title = _("Network creation date"); $data = DateTimeWD::getSelectDateTimeUI(new DateTimeWD($this->getCreationDate()), "network_" . $this->getId() . "_creation_date", DateTimeWD::INTERFACE_DATETIME_FIELD, "network_creation_date_input"); $html_network_information[] = InterfaceElements::generateAdminSectionContainer("network_creation_date", $title, $data); // homepage_url $title = _("Network's web site"); $data = InterfaceElements::generateInputText("network_" . $this->getId() . "_homepage_url", $this->getWebSiteURL(), "network_homepage_url_input"); $html_network_information[] = InterfaceElements::generateAdminSectionContainer("network_homepage_url", $title, $data); // tech_support_email $title = _("Technical support email"); $data = InterfaceElements::generateInputText("network_" . $this->getId() . "_tech_support_email", $this->getTechSupportEmail(), "network_tech_support_email_input"); $html_network_information[] = InterfaceElements::generateAdminSectionContainer("network_tech_support_email", $title, $data); // Build section $html .= InterfaceElements::generateAdminSectionContainer("network_information", _("Information about the network"), implode(null, $html_network_information)); /* * Network authentication */ $html_network_authentication = array(); // network_authenticator_class $title = _("Network authenticator class"); $help = _("The subclass of Authenticator to be used for user authentication. Example: AuthenticatorRadius"); $name = "network_" . $this->getId() . "_network_authenticator_class"; $value = htmlspecialchars($this->getAuthenticatorClassName(), ENT_QUOTES); $data = $this->getSelectAuthenticator($name, $value); $html_network_authentication[] = InterfaceElements::generateAdminSectionContainer("network_network_authenticator_class", $title, $data, $help); // network_authenticator_params $title = _("Authenticator parameters"); $help = _("The explicit parameters to be passed to the authenticator. You MUST read the constructor documentation of your desired authenticator class (in wifidog/classes/Authenticators/) BEFORE you start playing with this. Example: 'my_network_id', '192.168.0.11', 1812, 1813, 'secret_key', 'CHAP_MD5'"); $data = InterfaceElements::generateInputText("network_" . $this->getId() . "_network_authenticator_params", $this->getAuthenticatorConstructorParams(), "network_network_authenticator_params_input"); $html_network_authentication[] = InterfaceElements::generateAdminSectionContainer("network_network_authenticator_params", $title, $data, $help); // Build section $html .= InterfaceElements::generateAdminSectionContainer("network_authentication", _("Network Authentication"), implode(null, $html_network_authentication)); /* * Network properties */ $html_network_properties = array(); // theme_pack $title = _("Selected theme pack for this network"); $data = ThemePack::getSelectUI("network_" . $this->getId() . "_theme_pack", $this->getThemePack()); $html_network_properties[] = InterfaceElements::generateAdminSectionContainer("network_theme_pack", $title, $data); // Build section $html .= InterfaceElements::generateAdminSectionContainer("network_properties", _("Network properties"), implode(null, $html_network_properties)); /* * Network's node properties */ $html_network_node_properties = array(); // allow_splash_only_nodes $title = _("Splash-only nodes"); $help = _("Are nodes allowed to be set as splash-only (no login)?"); $data = InterfaceElements::generateInputCheckbox("network_" . $this->getId() . "_allow_splash_only_nodes", "", _("Yes"), $this->getSplashOnlyNodesAllowed(), "network_allow_splash_only_nodes_radio"); $html_network_node_properties[] = InterfaceElements::generateAdminSectionContainer("network_allow_splash_only_nodes", $title, $data, $help); // allow_custom_portal_redirect $title = _("Portal page redirection"); $help = _("Are nodes allowed to redirect users to an arbitrary web page instead of the portal?"); $data = InterfaceElements::generateInputCheckbox("network_" . $this->getId() . "_allow_custom_portal_redirect", "", _("Yes"), $this->getCustomPortalRedirectAllowed(), "network_allow_custom_portal_redirect_radio"); $html_network_node_properties[] = InterfaceElements::generateAdminSectionContainer("network_allow_custom_portal_redirect", $title, $data, $help); // allow_original_URL_redirect $title = _("Original URL redirection"); $help = _("Are nodes allowed to redirect users to the web page they originally requested instead of the portal?"); $data = InterfaceElements::generateInputCheckbox("network_" . $this->getId() . "_allow_original_URL_redirect", "", _("Yes"), $this->getPortalOriginalUrlAllowed(), "network_allow_original_URL_redirect_radio"); $html_network_node_properties[] = InterfaceElements::generateAdminSectionContainer("network_allow_original_URL_redirect", $title, $data, $help); // Build section $html .= InterfaceElements::generateAdminSectionContainer("network_node_properties", _("Network's node properties"), implode(null, $html_network_node_properties)); /* * Network's user verification */ $html_network_user_verification = array(); // validation_grace_time $title = _("Validation grace period"); $help = _("The length of the validation grace period in seconds. A new user is granted Internet access for this period check his email and validate his account."); $data = InterfaceElements::generateInputText("network_" . $this->getId() . "_validation_grace_time", $this->getValidationGraceTime(), "network_validation_grace_time_input"); $html_network_user_verification[] = InterfaceElements::generateAdminSectionContainer("network_validation_grace_time", $title, $data, $help); // validation_email_from_address $title = _("This will be the from address of the validation email"); $data = InterfaceElements::generateInputText("network_" . $this->getId() . "_validation_email_from_address", $this->getValidationEmailFromAddress(), "network_validation_email_from_address_input"); $html_network_user_verification[] = InterfaceElements::generateAdminSectionContainer("network_validation_email_from_address", $title, $data); // allow_multiple_login $title = _("Multiple connections"); $help = _("Can an account be connected more than once at the same time?"); $data = InterfaceElements::generateInputCheckbox("network_" . $this->getId() . "_allow_multiple_login", "", _("Yes"), $this->getMultipleLoginAllowed(), "network_allow_multiple_login_radio"); $html_network_user_verification[] = InterfaceElements::generateAdminSectionContainer("network_allow_multiple_login", $title, $data, $help); // network_authenticator_params $title = _("Case sensitivity"); $help = _("Are usernames case sensitive?"); $data = InterfaceElements::generateInputCheckbox("network_" . $this->getId() . "_usernames_case_sensitive", "", _("Yes"), $this->getUsernamesCaseSensitive(), "network_usernames_case_sensitive"); $html_network_user_verification[] = InterfaceElements::generateAdminSectionContainer("network_usernames_case_sensitive", $title, $data, $help); // Build section $html .= InterfaceElements::generateAdminSectionContainer("network_user_verification", _("Network's user verification"), implode(null, $html_network_user_verification)); /* * Dynamic abuse control */ $html_dynamic_abuse_control = array(); $permArray = null; $permArray[] = array(Permission::P('NETWORK_PERM_EDIT_DYNAMIC_ABUSE_CONTROL'), $this); if (Security::hasAnyPermission($permArray)) { // connection_limit_window $title = _("Abuse control window"); $help = _("The length of the window during which the user must not have exceeded the limits below. Any valid postgresql interval expression is acceptable, typically '1 month' '1 week'. A user who exceeds the limits will be denied access until his usage falls below the limits."); $data = InterfaceElements::generateInputText("network_" . $this->getId() . "_connection_limit_window", $this->getConnectionLimitWindow(), "network_connection_limit_window_input"); $html_dynamic_abuse_control[] = InterfaceElements::generateAdminSectionContainer("network_connection_limit_window", $title, $data, $help); // connection_limit_network_max_total_bytes $title = _("Network max total bytes transfered"); $help = _("Maximum data transfer during the abuse control window"); $data = InterfaceElements::generateInputText("network_" . $this->getId() . "_connection_limit_network_max_total_bytes", $this->getConnectionLimitNetworkMaxTotalBytes(), "network_connection_limit_network_max_total_bytes"); $html_dynamic_abuse_control[] = InterfaceElements::generateAdminSectionContainer("network_connection_limit_network_max_total_bytes", $title, $data, $help); // connection_limit_network_max_usage_duration $title = _("Network max connection duration"); $help = _("Maximum connection duration during the abuse control window. Any valid postgresql interval expression is acceptable, such as hh:mm:ss"); $data = InterfaceElements::generateInputText("network_" . $this->getId() . "_connection_limit_network_max_usage_duration", $this->getConnectionLimitNetworkMaxDuration(), "network_connection_limit_network_max_usage_duration"); $html_dynamic_abuse_control[] = InterfaceElements::generateAdminSectionContainer("network_connection_limit_network_max_usage_duration", $title, $data, $help); // connection_limit_node_max_total_bytes $title = _("Node max total bytes transfered"); $help = _("Maximum data transfer during the abuse control window"); $data = InterfaceElements::generateInputText("network_" . $this->getId() . "_connection_limit_node_max_total_bytes", $this->getConnectionLimitNodeMaxTotalBytes(), "network_connection_limit_node_max_total_bytes"); $html_dynamic_abuse_control[] = InterfaceElements::generateAdminSectionContainer("network_connection_limit_node_max_total_bytes", $title, $data, $help); // connection_limit_node_max_usage_duration $title = _("Node max connection duration"); $help = _("Maximum connection duration during the abuse control window. Any valid postgresql interval expression is acceptable, such as hh:mm:ss"); $data = InterfaceElements::generateInputText("network_" . $this->getId() . "_connection_limit_node_max_usage_duration", $this->getConnectionLimitNodeMaxDuration(), "network_connection_limit_node_max_usage_duration"); $html_dynamic_abuse_control[] = InterfaceElements::generateAdminSectionContainer("network_connection_limit_node_max_usage_duration", $title, $data, $help); } else { $html_dynamic_abuse_control[] = _("You do not have access to edit these options"); } // Build section $html .= InterfaceElements::generateAdminSectionContainer("network_user_verification", _("Dynamic abuse control"), implode(null, $html_dynamic_abuse_control)); /* * Access management */ $html_access_rights = array(); /* * Access rights */ if (true) { require_once 'classes/Stakeholder.php'; $html_access_rights = Stakeholder::getAssignStakeholdersUI($this); $html .= InterfaceElements::generateAdminSectionContainer("access_rights", _("Access rights"), $html_access_rights); } /* * Network GIS data */ if (defined('GMAPS_HOTSPOTS_MAP_ENABLED') && GMAPS_HOTSPOTS_MAP_ENABLED == true) { $html_network_gis_data = array(); $gis_point = $this->getGisLocation(); $gis_lat_name = "network_" . $this->getId() . "_gis_latitude"; $gis_lat_value = htmlspecialchars($gis_point->getLatitude(), ENT_QUOTES); $gis_long_name = "network_" . $this->getId() . "_gis_longitude"; $gis_long_value = htmlspecialchars($gis_point->getLongitude(), ENT_QUOTES); $gis_alt_name = "network_" . $this->getId() . "_gis_altitude"; $gis_alt_value = htmlspecialchars($gis_point->getAltitude(), ENT_QUOTES); $html_network_gis_data[] = '<p>' . _("Note that to be valid, all 3 values must be present.") . "</p>\n"; $title = _("Latitude"); $help = _("Center latitude for the area covered by your wireless network"); $data = InterfaceElements::generateInputText($gis_lat_name, $gis_lat_value, "network_gis_latitude_input"); $html_network_gis_data[] = InterfaceElements::generateAdminSectionContainer("network_gis_latitude", $title, $data, $help); $title = _("Longitude"); $help = _("Center longitude for the area covered by your wireless network"); $data = InterfaceElements::generateInputText($gis_long_name, $gis_long_value, "network_gis_longitude_input"); $html_network_gis_data[] = InterfaceElements::generateAdminSectionContainer("network_gis_longitude", $title, $data, $help); $title = _("Zoomlevel"); $help = _("Zoomlevel of the Google Map. 12 is a typical value."); $data = InterfaceElements::generateInputText($gis_alt_name, $gis_alt_value, "network_gis_altitude_input"); $html_network_gis_data[] = InterfaceElements::generateAdminSectionContainer("network_gis_altitude", $title, $data, $help); $title = _("Map type"); $help = _("Default Google Map type for your the area of your wireless network"); $data = $this->getSelectGisMapType("network_" . $this->getId() . "_gmaps_map_type", $this->getGisMapType()); $html_network_gis_data[] = InterfaceElements::generateAdminSectionContainer("network_gmaps_map_type", $title, $data, $help); // Build section $html .= InterfaceElements::generateAdminSectionContainer("network_gis_data", _("GIS data"), implode(null, $html_network_gis_data)); } // Profile templates $title = _("Network profile templates"); $name = "network_" . $this->_id . "_profile_templates"; $data = ProfileTemplate::getLinkedProfileTemplateUI($name, "network_has_profile_templates", "network_id", $this->_id); $html .= InterfaceElements::generateAdminSectionContainer("network_profile_templates", $title, $data); // objects hierarchy $html .= parent::getGraphAdminUI($this); $html .= "</ul>\n"; $html .= "</fieldset>"; return $html; }
/** * Processes the input of the administration interface for ContentGroupElement * * @return void */ public function processAdminUI() { $db = AbstractDb::getObject(); // Init values $allowed_node_rows = null; $errmsg = null; parent::processAdminUI(); /* display_order */ $name = "content_group_element_" . $this->id . "_display_order"; $this->setDisplayOrder($_REQUEST[$name]); // valid_from_timestamp $name = "content_group_element_" . $this->id . "_valid_from"; $this->setValidFromDate(DateTimeWD::processSelectDateTimeUI($name, DateTimeWD::INTERFACE_DATETIME_FIELD)->getIso8601FormattedString()); // valid_until_timestamp $name = "content_group_element_" . $this->id . "_valid_until"; $this->setValidUntilDate(DateTimeWD::processSelectDateTimeUI($name, DateTimeWD::INTERFACE_DATETIME_FIELD)->getIso8601FormattedString()); /* content_group_element_has_allowed_nodes */ $sql = "SELECT * FROM content_group_element_has_allowed_nodes WHERE content_group_element_id='{$this->id}'"; $db->execSql($sql, $allowed_node_rows, false); if ($allowed_node_rows != null) { foreach ($allowed_node_rows as $allowed_node_row) { $node = Node::getObject($allowed_node_row['node_id']); $name = "content_group_element_" . $this->id . "_allowed_node_" . $node->GetId() . "_remove"; if (!empty($_REQUEST[$name]) && $_REQUEST[$name] == true) { $sql = "DELETE FROM content_group_element_has_allowed_nodes WHERE content_group_element_id='{$this->id}' AND node_id='" . $node->GetId() . "'"; $db->execSqlUpdate($sql, false); } } } $name = "content_group_element_{$this->id}_new_allowed_node_submit"; if (!empty($_REQUEST[$name]) && $_REQUEST[$name] == true) { $name = "content_group_element_{$this->id}_new_allowed_node"; $node = Node::processSelectUI($name); $node_id = $node->GetId(); $db->execSqlUpdate("INSERT INTO content_group_element_has_allowed_nodes (content_group_element_id, node_id) VALUES ('{$this->id}', '{$node_id}')", FALSE); } /* displayed_content_id */ if (empty($this->content_group_element_row['displayed_content_id'])) { // Could be either a new content or existing content ( try both successively ) $displayed_content = Content::processNewContentUI("content_group_element_{$this->id}_new_displayed_content"); if ($displayed_content == null) { $displayed_content = Content::processSelectExistingContentUI("content_group_element_{$this->id}_new_displayed_existing_element"); } if ($displayed_content != null) { $displayed_content_id = $displayed_content->GetId(); $db->execSqlUpdate("UPDATE content_group_element SET displayed_content_id = '{$displayed_content_id}' WHERE content_group_element_id = '{$this->id}'", FALSE); } } else { $displayed_content = self::getObject($this->content_group_element_row['displayed_content_id']); $name = "content_group_element_{$this->id}_erase_displayed_content"; if (!empty($_REQUEST[$name]) && $_REQUEST[$name] == true) { if ($displayed_content->delete($errmsg) != false) { $db->execSqlUpdate("UPDATE content_group_element SET displayed_content_id = NULL WHERE content_group_element_id = '{$this->id}'", FALSE); } else { echo $errmsg; } } else { $displayed_content->processAdminUI(); } } }
/** * Process admin interface of this object. * * @return void * * @access public */ public function processAdminUI() { require_once 'classes/Stakeholder.php'; $user = User::getCurrentUser(); // Get information about the network $network = $this->getNetwork(); //pretty_print_r($_REQUEST); $permArray[] = array(Permission::P('NETWORK_PERM_EDIT_ANY_NODE_CONFIG'), $this->getNetwork()); $permArray[] = array(Permission::P('NODE_PERM_EDIT_CONFIG'), $this); $permArray[] = array(Permission::P('NODE_PERM_EDIT_GATEWAY_ID'), $this); $permArray[] = array(Permission::P('NODE_PERM_EDIT_DEPLOYMENT_DATE'), $this); Security::requireAnyPermission($permArray); // Check if user is a admin $_userIsAdmin = User::getCurrentUser()->DEPRECATEDisSuperAdmin(); // Information about the node $node_id = $this->getId(); // Gateway Id $permArray = null; $permArray[] = array(Permission::P('NETWORK_PERM_EDIT_ANY_NODE_CONFIG'), $network); $permArray[] = array(Permission::P('NODE_PERM_EDIT_GATEWAY_ID'), $this); if (Security::hasAnyPermission($permArray)) { $name = "node_" . $node_id . "_gw_id"; $this->setGatewayId($_REQUEST[$name]); } // Content processing parent::processContentAdminUI(); // Name $permArray = null; $permArray[] = array(Permission::P('NETWORK_PERM_EDIT_ANY_NODE_CONFIG'), $network); $permArray[] = array(Permission::P('NODE_PERM_EDIT_NAME'), $this); if (Security::hasAnyPermission($permArray)) { $name = "node_" . $node_id . "_name"; $this->setName($_REQUEST[$name]); } // Creation date $permArray = null; $permArray[] = array(Permission::P('NETWORK_PERM_EDIT_ANY_NODE_CONFIG'), $network); $permArray[] = array(Permission::P('NODE_PERM_EDIT_DEPLOYMENT_DATE'), $this); if (Security::hasAnyPermission($permArray)) { $name = "node_" . $node_id . "_creation_date"; $this->setCreationDate(DateTimeWD::processSelectDateTimeUI($name, DateTimeWD::INTERFACE_DATETIME_FIELD)->getIso8601FormattedString()); } // Homepage URL $name = "node_" . $node_id . "_homepage_url"; $this->setWebSiteUrl($_REQUEST[$name]); // Description $name = "node_" . $node_id . "_description"; $this->setDescription($_REQUEST[$name]); // Map URL $name = "node_" . $node_id . "_map_url"; $this->setMapUrl($_REQUEST[$name]); // Civic number $name = "node_" . $node_id . "_civic_number"; $this->setCivicNumber($_REQUEST[$name]); // Street name $name = "node_" . $node_id . "_street_name"; $this->setStreetName($_REQUEST[$name]); // City $name = "node_" . $node_id . "_city"; $this->setCity($_REQUEST[$name]); // Province $name = "node_" . $node_id . "_province"; $this->setProvince($_REQUEST[$name]); // Postal Code $name = "node_" . $node_id . "_postal_code"; $this->setPostalCode($_REQUEST[$name]); // Country $name = "node_" . $node_id . "_country"; $this->setCountry($_REQUEST[$name]); // Public phone # $name = "node_" . $node_id . "_public_phone"; $this->setTelephone($_REQUEST[$name]); // Public mail $name = "node_" . $node_id . "_public_email"; $this->setEmail($_REQUEST[$name]); // Mass transit info $name = "node_" . $node_id . "_mass_transit_info"; $this->setTransitInfo($_REQUEST[$name]); // GIS data // Get a geocoder for a given country if (!empty($_REQUEST['geocode_only'])) { if ($geocoder = AbstractGeocoder::getGeocoder($this->getCountry()) != null) { $geocoder = AbstractGeocoder::getGeocoder($this->getCountry()); } else { $geocoder = AbstractGeocoder::getGeocoder('Earth'); } if ($geocoder != null) { $geocoder->setCivicNumber($this->getCivicNumber()); $geocoder->setStreetName($this->getStreetName()); $geocoder->setCity($this->getCity()); $geocoder->setProvince($this->getProvince()); $geocoder->setPostalCode($this->getPostalCode()); if ($geocoder->validateAddress() == true) { if (($point = $geocoder->getGisLocation()) !== null) { $this->setGisLocation($point); } else { $this->_warningMessage = _("It appears that the Geocoder could not be reached or could not geocode the given address."); } } else { $this->_warningMessage = _("You must enter a valid address."); } } else { $this->_warningMessage = _("Unable to create geocoder. Are you sure you set the country?"); } } else { // Use what has been set by the user. $gis_lat_name = "node_" . $node_id . "_gis_latitude"; $gis_long_name = "node_" . $node_id . "_gis_longitude"; $this->setGisLocation(new GisPoint($_REQUEST[$gis_lat_name], $_REQUEST[$gis_long_name], 0.0)); } $name = "node_" . $node_id . "_show_on_map"; $this->setShowOnMap(empty($_REQUEST[$name]) ? false : true); // Statistics $name = "node_{$this->id}_get_stats"; if (!empty($_REQUEST[$name])) { header("Location: stats.php?" . urlencode("selected_nodes[]") . "=" . urlencode($this->getId())); } $permArray = null; $permArray[] = array(Permission::P('NETWORK_PERM_EDIT_ANY_NODE_CONFIG'), $network); $permArray[] = array(Permission::P('NODE_PERM_ALLOW_GENERATING_PUBLIC_STATS'), $this); if (Security::hasAnyPermission($permArray)) { if (isset($_REQUEST['allows_public_stats'])) { $this->setAllowsPublicStats($_REQUEST['allows_public_stats'] == 'on'); } else { $this->setAllowsPublicStats(false); } } // Node configuration section $network = $this->getNetwork(); // Deployment status $name = "node_" . $node_id . "_deployment_status"; $this->setDeploymentStatus(self::processSelectDeploymentStatus($name)); // Network selection $name = "node_" . $node_id . "_network_id"; $new_network = Network::processSelectUI($name); if ($new_network != $this->getNetwork()) { Security::requirePermission(Permission::P('NETWORK_PERM_ADD_NODE'), $new_network); $this->setNetwork($new_network); } // is_splash_only_node if ($network->getSplashOnlyNodesAllowed()) { $name = "node_" . $node_id . "_is_splash_only_node"; $this->setIsConfiguredSplashOnly(empty($_REQUEST[$name]) ? false : true); } // custom_portal_redirect_url if ($network->getCustomPortalRedirectAllowed()) { $name = "node_" . $node_id . "_custom_portal_redirect_url"; $this->setCustomPortalRedirectUrl($_REQUEST[$name]); } // allow_original_URL_redirect if ($network->getPortalOriginalUrlAllowed()) { $name = "node_" . $node_id . "_allow_original_URL_redirect"; $this->setPortalOriginalUrlAllowed(empty($_REQUEST[$name]) ? false : true); } // End Node configuration section parent::processGraphAdminUI($errMsg, $network); if (!empty($errMsg)) { echo $errMsg; $errMsg = null; } // Access rights Stakeholder::processAssignStakeholdersUI($this, $errMsg); if (!empty($errMsg)) { echo $errMsg; } }
/** * Process admin interface of this object. * * @return void * * @access public */ public function processAdminUI() { require_once 'classes/Stakeholder.php'; $user = User::getCurrentUser(); // Get information about the network $network = Network::getDefaultNetwork(); //pretty_print_r($_REQUEST); $permArray[] = array(Permission::P('NETWORK_PERM_EDIT_ANY_NODEGROUP_CONFIG'), Network::getDefaultNetwork()); $permArray[] = array(Permission::P('NODEGROUP_PERM_EDIT_ANY_NODEGROUP_CONFIG'), $this); $permArray[] = array(Permission::P('NODEGROUP_PERM_EDIT_NODEGROUP_CONFIG'), $this); Security::requireAnyPermission($permArray); // Check if user is a admin $_userIsAdmin = User::getCurrentUser()->DEPRECATEDisSuperAdmin(); // Information about the node $ng_id = $this->getId(); // Content processing parent::processContentAdminUI(); // Name $permArray = null; $permArray[] = array(Permission::P('NETWORK_PERM_EDIT_ANY_NODEGROUP_CONFIG'), Network::getDefaultNetwork()); $permArray[] = array(Permission::P('NODEGROUP_PERM_EDIT_NODEGROUP_CONFIG'), $this); if (Security::hasAnyPermission($permArray)) { $name = "node_group_" . $ng_id . "_name"; $this->setName($_REQUEST[$name]); } // Creation date $name = "node_group_" . $ng_id . "_creation_date"; $this->setCreationDate(DateTimeWD::processSelectDateTimeUI($name, DateTimeWD::INTERFACE_DATETIME_FIELD)->getIso8601FormattedString()); // Description $name = "node_" . $ng_id . "_description"; $this->setDescription($_REQUEST[$name]); parent::processGraphAdminUI($errMsg); if (!empty($errMsg)) { echo $errMsg; $errMsg = null; } // End Node group configuration section // Access rights Stakeholder::processAssignStakeholdersUI($this, $errMsg); if (!empty($errMsg)) { echo $errMsg; } }