From d177cf94dacb518efae1e78bc0ceff99b880484d Mon Sep 17 00:00:00 2001 From: redmatrix Date: Mon, 22 Aug 2016 16:21:07 -0700 Subject: server role management, part 1 --- boot.php | 45 +++++++++++++++++++++++++++++++++++---------- 1 file changed, 35 insertions(+), 10 deletions(-) (limited to 'boot.php') diff --git a/boot.php b/boot.php index d50ffbc17..86448af85 100755 --- a/boot.php +++ b/boot.php @@ -149,15 +149,6 @@ define ( 'MAX_IMAGE_LENGTH', -1 ); define ( 'DEFAULT_DB_ENGINE', 'MyISAM' ); -/** - * SSL redirection policies - */ - -define ( 'SSL_POLICY_NONE', 0 ); -define ( 'SSL_POLICY_FULL', 1 ); -define ( 'SSL_POLICY_SELFSIGN', 2 ); // NOT supported in Red - - /** * log levels */ @@ -168,6 +159,15 @@ define ( 'LOGGER_DEBUG', 2 ); define ( 'LOGGER_DATA', 3 ); define ( 'LOGGER_ALL', 4 ); + +/** + * Server roles + */ + +define ( 'SERVER_ROLE_BASIC', 0x0001 ); +define ( 'SERVER_ROLE_STANDARD', 0x0002 ); +define ( 'SERVER_ROLE_PRO', 0x0004 ); + /** * registration policies */ @@ -760,7 +760,7 @@ class miniApp { class App { public static $install = false; // true if we are installing the software - + public static $role = 0; // server role (constant, not the string) public static $account = null; // account record of the logged-in account public static $channel = null; // channel record of the current channel of the logged-in account public static $observer = null; // xchan record of the page observer @@ -1044,6 +1044,31 @@ class App { } } + public static function get_role() { + if(! self::$role) + return self::set_role(); + return self::$role; + } + + public static function set_role() { + $role_str = \Zotlabs\Lib\System::get_server_role(); + switch($role_str) { + case 'basic': + $role = SERVER_ROLE_BASIC; + break; + case 'pro': + $role = SERVER_ROLE_PRO; + break; + case 'standard': + default: + $role = SERVER_ROLE_STANDARD; + break; + } + self::$role = $role; + return $role; + } + + public static function get_scheme() { return self::$scheme; } -- cgit v1.2.3