RomanL 8 лет назад
Родитель
Сommit
3f85d7f0b2

+ 1 - 0
modules/boonex/organizations/classes/BxOrgsConfig.php

@@ -209,6 +209,7 @@ class BxOrgsConfig extends BxBaseModProfileConfig
 				'filter_item_active' => '_bx_orgs_grid_filter_item_title_adm_active',
             	'filter_item_pending' => '_bx_orgs_grid_filter_item_title_adm_pending',
             	'filter_item_suspended' => '_bx_orgs_grid_filter_item_title_adm_suspended',
+                'filter_item_unconfirmed' => '_bx_orgs_grid_filter_item_title_adm_unconfirmed',
             	'filter_item_select_one_filter1' => '_bx_orgs_grid_filter_item_title_adm_select_one_filter1',
 				'filter_item_select_one_filter2' => '_bx_orgs_grid_filter_item_title_adm_select_one_filter2',
             	'txt_browse_favorites' => '_bx_orgs_page_title_browse_favorites',

+ 24 - 3
modules/boonex/organizations/classes/BxOrgsGridAdministration.php

@@ -14,6 +14,7 @@ class BxOrgsGridAdministration extends BxBaseModGroupsGridAdministration
 	protected $_sFilter2Name;
 	protected $_sFilter2Value;
 	protected $_aFilter2Values;
+    protected $_sConfirmationType;
 	
     public function __construct ($aOptions, $oTemplate = false)
     {
@@ -32,7 +33,10 @@ class BxOrgsGridAdministration extends BxBaseModGroupsGridAdministration
         if(!empty($sFilter2)) {
             $this->_sFilter2Value = bx_process_input($sFilter2);
             $this->_aQueryAppend[$this->_sFilter2Name] = $this->_sFilter2Value;
-        }
+        } 
+        $this->_sConfirmationType = getParam('sys_account_confirmation_type');
+        if ($this->_sConfirmationType != BX_ACCOUNT_CONFIRMATION_NONE)
+            $this->_aFilter1Values['unconfirmed'] = $CNF['T']['filter_item_unconfirmed'];
     }
 	
 	protected function _getDataSql($sFilter, $sOrderField, $sOrderDir, $iStart, $iPerPage)
@@ -40,8 +44,25 @@ class BxOrgsGridAdministration extends BxBaseModGroupsGridAdministration
         if(strpos($sFilter, $this->_sParamsDivider) !== false)
             list($this->_sFilter1Value, $this->_sFilter2Value, $sFilter) = explode($this->_sParamsDivider, $sFilter);
 
-    	if(!empty($this->_sFilter1Value))
-        	$this->_aOptions['source'] .= $this->_oModule->_oDb->prepareAsString(" AND `tp`.`status`=?", $this->_sFilter1Value);
+    	if(!empty($this->_sFilter1Value)){
+            if ($this->_sFilter1Value == 'unconfirmed'){
+                switch ($this->_sConfirmationType) {
+                    case BX_ACCOUNT_CONFIRMATION_EMAIL:
+                        $this->_aOptions['source'] .= $this->_oModule->_oDb->prepareAsString(" AND `ta`.`email_confirmed` = 0 ");
+                        break;
+                    case BX_ACCOUNT_CONFIRMATION_PHONE:
+                        $this->_aOptions['source'] .= $this->_oModule->_oDb->prepareAsString(" AND `ta`.`phone_confirmed` = 0 ");
+                        break;
+                    case BX_ACCOUNT_CONFIRMATION_EMAIL_PHONE:
+                        $this->_aOptions['source'] .= $this->_oModule->_oDb->prepareAsString(" AND (`ta`.`email_confirmed` = 0 AND `ta`.`phone_confirmed` = 0) ");
+                        break;
+                }
+            }
+            else{
+        	    $this->_aOptions['source'] .= $this->_oModule->_oDb->prepareAsString(" AND `tp`.`status`=?", $this->_sFilter1Value);
+            }
+        }
+        
         if(!empty($this->_sFilter2Value)){
         	$iLevel = intval(str_replace("level", "", $this->_sFilter2Value));
 			if ($iLevel <> 3)

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

@@ -285,6 +285,7 @@
 	<string name="_bx_orgs_grid_filter_item_title_adm_select_one_filter2"><![CDATA[All]]></string>
 	<string name="_bx_orgs_grid_filter_item_title_adm_active"><![CDATA[Active]]></string>
 	<string name="_bx_orgs_grid_filter_item_title_adm_pending"><![CDATA[Pending]]></string>
+  <string name="_bx_orgs_grid_filter_item_title_adm_unconfirmed"><![CDATA[Unconfirmed]]></string>
 	<string name="_bx_orgs_grid_filter_item_title_adm_suspended"><![CDATA[Suspended]]></string>
 	<string name="_bx_orgs_grid_column_title_adm_active"><![CDATA[Active]]></string>
     <string name="_bx_orgs_grid_column_title_adm_fullname"><![CDATA[Name]]></string>

+ 1 - 1
modules/boonex/persons/classes/BxPersonsGridAdministration.php

@@ -45,7 +45,7 @@ class BxPersonsGridAdministration extends BxBaseModProfileGridAdministration
             list($this->_sFilter1Value, $this->_sFilter2Value, $sFilter) = explode($this->_sParamsDivider, $sFilter);
 
     	if(!empty($this->_sFilter1Value)){
-            if ($this->_sFilter1Value =='unconfirmed'){
+            if ($this->_sFilter1Value == 'unconfirmed'){
                 switch ($this->_sConfirmationType) {
                     case BX_ACCOUNT_CONFIRMATION_EMAIL:
                         $this->_aOptions['source'] .= $this->_oModule->_oDb->prepareAsString(" AND `ta`.`email_confirmed` = 0 ");

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

@@ -286,6 +286,7 @@
 	<string name="_bx_orgs_grid_filter_item_title_adm_active"><![CDATA[Активные]]></string>
 	<string name="_bx_orgs_grid_filter_item_title_adm_pending"><![CDATA[В ожидании]]></string>
 	<string name="_bx_orgs_grid_filter_item_title_adm_suspended"><![CDATA[Заблокированные]]></string>
+  <string name="_bx_orgs_grid_filter_item_title_adm_unconfirmed"><![CDATA[Неподтвержденные]]></string>
 	<string name="_bx_orgs_grid_column_title_adm_active"><![CDATA[Активные]]></string>
     <string name="_bx_orgs_grid_column_title_adm_fullname"><![CDATA[Название]]></string>
     <string name="_bx_orgs_grid_column_title_adm_last_online"><![CDATA[Последнее посещение]]></string>