AntonLV 11 лет назад
Родитель
Сommit
daf53d0adf

+ 9 - 1
modules/boonex/invites/classes/BxInvConfig.php

@@ -18,6 +18,7 @@ class BxInvConfig extends BxBaseModGeneralConfig
     protected $_iKeyLifetime;
     protected $_bRequestInvite;
     protected $_sRequestsEmail;
+    protected $_bRegistrationByInvitation;
 
     /**
      * Constructor
@@ -48,8 +49,9 @@ class BxInvConfig extends BxBaseModGeneralConfig
         $this->_iCountPerUser = 0;
         $this->_sKeyCode = 'icode';
         $this->_iKeyLifetime = 86400;
-        $this->_bRequestInvite = false;
+        $this->_bRequestInvite = true;
         $this->_sRequestsEmail = '';
+        $this->_bRegistrationByInvitation = true;
     }
 
     public function init(&$oDb)
@@ -62,6 +64,7 @@ class BxInvConfig extends BxBaseModGeneralConfig
         $this->_iKeyLifetime = 86400 * (int)getParam($sOptionPrefix . 'key_lifetime');
         $this->_bRequestInvite = getParam($sOptionPrefix . 'enable_request_invite') == 'on';
         $this->_sRequestsEmail = getParam($sOptionPrefix . 'requests_email');
+        $this->_bRegistrationByInvitation = getParam($sOptionPrefix . 'enable_reg_by_inv') == 'on';
     }
 
 	public function getCountPerUser()
@@ -88,6 +91,11 @@ class BxInvConfig extends BxBaseModGeneralConfig
     {
         return $this->_sRequestsEmail;
     }
+
+	public function isRegistrationByInvitation()
+    {
+        return $this->_bRegistrationByInvitation;
+    }
 }
 
 /** @} */

+ 6 - 0
modules/boonex/invites/classes/BxInvResponse.php

@@ -38,6 +38,9 @@ class BxInvResponse extends BxDolAlertsResponse
 
     protected function _processAccountAddForm($oAlert)
     {
+    	if(!$this->_oModule->_oConfig->isRegistrationByInvitation())
+    		return;
+
     	$oSession = BxDolSession::getInstance();
 
 		$sKeyCode = $this->_oModule->_oConfig->getKeyCode();
@@ -58,6 +61,9 @@ class BxInvResponse extends BxDolAlertsResponse
 
     protected function _processAccountAdded($oAlert)
     {
+    	if(!$this->_oModule->_oConfig->isRegistrationByInvitation())
+    		return;
+
     	$sKeyCode = $this->_oModule->_oConfig->getKeyCode();
 
     	$sKey = BxDolSession::getInstance()->getUnsetValue($sKeyCode);

+ 1 - 0
modules/boonex/invites/install/langs/en.xml

@@ -69,6 +69,7 @@
 	<string name="_bx_invites_option_key_lifetime"><![CDATA[Invitation key lifetime (in days)]]></string>
 	<string name="_bx_invites_option_enable_request_invite"><![CDATA[Enable invitation requests]]></string>
 	<string name="_bx_invites_option_requests_email"><![CDATA[Email to send invitation requests to]]></string>
+	<string name="_bx_invites_option_enable_reg_by_inv"><![CDATA[Enable registration by invitation only]]></string>
 
 
 	<!-- ACL -->

+ 2 - 1
modules/boonex/invites/install/sql/enable.sql

@@ -48,7 +48,8 @@ INSERT INTO `sys_options` (`name`, `value`, `category_id`, `caption`, `type`, `c
 ('bx_invites_count_per_user', '5', @iCategId, '_bx_invites_option_count_per_user', 'digit', '', '', '', 1),
 ('bx_invites_key_lifetime', '7', @iCategId, '_bx_invites_option_key_lifetime', 'digit', '', '', '', 2),
 ('bx_invites_enable_request_invite', 'on', @iCategId, '_bx_invites_option_enable_request_invite', 'checkbox', '', '', '', 3),
-('bx_invites_requests_email', '', @iCategId, '_bx_invites_option_requests_email', 'digit', '', '', '', 4);
+('bx_invites_requests_email', '', @iCategId, '_bx_invites_option_requests_email', 'digit', '', '', '', 4),
+('bx_invites_enable_reg_by_inv', 'on', @iCategId, '_bx_invites_option_enable_reg_by_inv', 'checkbox', '', '', '', 5);
 
 
 -- ACL

+ 1 - 0
modules/boonex/russian/data/langs/bx_invites/ru.xml

@@ -69,6 +69,7 @@
 	<string name="_bx_invites_option_key_lifetime"><![CDATA[Срок действия ключа приглашения (в днях)]]></string>
 	<string name="_bx_invites_option_enable_request_invite"><![CDATA[Разрешить запросы на приглашение]]></string>
 	<string name="_bx_invites_option_requests_email"><![CDATA[Эл. адрес для посылки запросов на приглашение]]></string>
+	<string name="_bx_invites_option_enable_reg_by_inv"><![CDATA[Регистрация строго по приглашению]]></string>
 
 
 	<!-- ACL -->