Example #1
0
 /**
  * @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;
 }
Example #2
0
 /**
  * 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();
         }
     }
 }
Example #4
0
 /**
  * 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;
     }
 }
Example #5
0
 /**
  * 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;
     }
 }