AntonLV 5 ani în urmă
părinte
comite
daeef18a3a
3 a modificat fișierele cu 14 adăugiri și 15 ștergeri
  1. 9 9
      inc/classes/BxDolAcl.php
  2. 1 1
      inc/js/functions.js
  3. 4 5
      template/scripts/BxBaseAcl.php

+ 9 - 9
inc/classes/BxDolAcl.php

@@ -510,23 +510,23 @@ class BxDolAcl extends BxDolFactory implements iBxDolSingleton
      *                           'date_expires'	=> (UNIX timestamp) date/time expires
      *                           'date_expires'	=> (UNIX timestamp) date/time expires
      *                           )
      *                           )
      */
      */
-    function getMemberMembershipInfo($iProfileId, $iTime = 0)
+    function getMemberMembershipInfo($iProfileId, $iTime = 0, $bClearCache = 0)
     {
     {
-        $aMembershipCurrent = $this->getMemberMembershipInfoCurrent($iProfileId, $iTime);
+        $aMembershipCurrent = $this->getMemberMembershipInfoCurrent($iProfileId, $iTime, $bClearCache);
         if (isset($this->_aStandardMemberships[$aMembershipCurrent['id']]))
         if (isset($this->_aStandardMemberships[$aMembershipCurrent['id']]))
             return $aMembershipCurrent;
             return $aMembershipCurrent;
 
 
         $aMembership = $aMembershipCurrent;
         $aMembership = $aMembershipCurrent;
         do {
         do {
             $iDateStarts = $aMembership['date_starts'];
             $iDateStarts = $aMembership['date_starts'];
-            $aMembership = $this->getMemberMembershipInfoCurrent($iProfileId, ((int)$iDateStarts < 1 ? 0 : $iDateStarts - 1));
+            $aMembership = $this->getMemberMembershipInfoCurrent($iProfileId, ((int)$iDateStarts < 1 ? 0 : $iDateStarts - 1), $bClearCache);
         }
         }
         while($aMembership['id'] == $aMembershipCurrent['id'] && (int)$aMembership['date_starts']);
         while($aMembership['id'] == $aMembershipCurrent['id'] && (int)$aMembership['date_starts']);
 
 
         $aMembership = $aMembershipCurrent;
         $aMembership = $aMembershipCurrent;
         do {
         do {
             $iDateExpires = $aMembership['date_expires'];
             $iDateExpires = $aMembership['date_expires'];
-            $aMembership = $this->getMemberMembershipInfoCurrent($iProfileId, $iDateExpires);
+            $aMembership = $this->getMemberMembershipInfoCurrent($iProfileId, $iDateExpires, $bClearCache);
         } while($aMembership['id'] == $aMembershipCurrent['id'] && (int)$aMembership['date_expires']);
         } while($aMembership['id'] == $aMembershipCurrent['id'] && (int)$aMembership['date_expires']);
 
 
         $aMembershipCurrent['date_starts'] = $iDateStarts;
         $aMembershipCurrent['date_starts'] = $iDateStarts;
@@ -691,10 +691,10 @@ class BxDolAcl extends BxDolFactory implements iBxDolSingleton
     protected function getMemberMembershipInfoCurrent($iProfileId, $iTime = 0, $bClearCache = 0)
     protected function getMemberMembershipInfoCurrent($iProfileId, $iTime = 0, $bClearCache = 0)
     {
     {
         $sKey = $iProfileId . '_' . $iTime;
         $sKey = $iProfileId . '_' . $iTime;
-        if ($bClearCache && isset(self::$_aCacheData[$sName]))
+        if ($bClearCache && isset(self::$_aCacheData[$sKey]))
             unset(self::$_aCacheData[$sKey]);
             unset(self::$_aCacheData[$sKey]);
         elseif (array_key_exists($sKey, self::$_aCacheData) && !defined('BX_DOL_INSTALL') && !defined('BX_DOL_CRON_EXECUTE'))
         elseif (array_key_exists($sKey, self::$_aCacheData) && !defined('BX_DOL_INSTALL') && !defined('BX_DOL_CRON_EXECUTE'))
-			return self::$_aCacheData[$sKey];
+            return self::$_aCacheData[$sKey];
 
 
         $aMemLevel = false;
         $aMemLevel = false;
 
 
@@ -753,9 +753,9 @@ class BxDolAcl extends BxDolFactory implements iBxDolSingleton
         return (self::$_aCacheData[$sKey] = $aMemLevel);
         return (self::$_aCacheData[$sKey] = $aMemLevel);
     }
     }
 
 
-    protected function getMemberMembershipInfoLatest($iProfileId, $iTime = 0)
+    protected function getMemberMembershipInfoLatest($iProfileId, $iTime = 0, $bClearCache = 0)
     {
     {
-        $aMembershipCurrent = $this->getMemberMembershipInfoCurrent($iProfileId, $iTime);
+        $aMembershipCurrent = $this->getMemberMembershipInfoCurrent($iProfileId, $iTime, $bClearCache);
         if (isset($this->_aStandardMemberships[$aMembershipCurrent['id']]))
         if (isset($this->_aStandardMemberships[$aMembershipCurrent['id']]))
             return $aMembershipCurrent;
             return $aMembershipCurrent;
 
 
@@ -765,7 +765,7 @@ class BxDolAcl extends BxDolFactory implements iBxDolSingleton
             if(!isset($aMembership['date_expires']) || (int)$aMembership['date_expires'] == 0)
             if(!isset($aMembership['date_expires']) || (int)$aMembership['date_expires'] == 0)
                 break;
                 break;
 
 
-            $aMembership = $this->getMemberMembershipInfoCurrent($iProfileId, $aMembership['date_expires']);
+            $aMembership = $this->getMemberMembershipInfoCurrent($iProfileId, $aMembership['date_expires'], $bClearCache);
         }
         }
 
 
         return $aMembershipLast;
         return $aMembershipLast;

+ 1 - 1
inc/js/functions.js

@@ -679,7 +679,7 @@ function bx_set_acl_level (iProfileId, iAclLevel, mixedLoadingElement) {
         if(typeof(oData.card) == 'object')
         if(typeof(oData.card) == 'object')
             for(var iField in oData.card) {
             for(var iField in oData.card) {
                 var oCard = $(oData.card[iField]);
                 var oCard = $(oData.card[iField]);
-                $('#' + oCard.attr('id')).replaceWith(oCard);
+                $('#' + oCard.attr('id')).replaceWith(oCard.bxTime());
             }
             }
     }, 'json');
     }, 'json');
 }
 }

+ 4 - 5
template/scripts/BxBaseAcl.php

@@ -20,17 +20,16 @@ class BxBaseAcl extends BxDolAcl
 
 
     public function getProfileMembership ($iProfileId)
     public function getProfileMembership ($iProfileId)
     {
     {
-    	$aLevel = $this->getMemberMembershipInfo($iProfileId);
+    	$aLevel = $this->getMemberMembershipInfo($iProfileId, 0, true);
     	if(empty($aLevel) || !is_array($aLevel))
     	if(empty($aLevel) || !is_array($aLevel))
             return '';
             return '';
 
 
         $iLoggedProfileId = bx_get_logged_profile_id();
         $iLoggedProfileId = bx_get_logged_profile_id();
         $aLevelInfo = $this->getMembershipInfo($aLevel['id']);
         $aLevelInfo = $this->getMembershipInfo($aLevel['id']);
 
 
-		
-		$aCheck = checkActionModule($iLoggedProfileId, 'show membership private info', 'system', false);
-		$oProfile = BxDolProfile::getInstance($iLoggedProfileId);
-		
+        $aCheck = checkActionModule($iLoggedProfileId, 'show membership private info', 'system', false);
+        $oProfile = BxDolProfile::getInstance($iLoggedProfileId);
+
         $aTmplVarsPrivateInfo = array();
         $aTmplVarsPrivateInfo = array();
         $bTmplVarsPrivateInfo = ($oProfile && (BxDolProfile::getInstance($iProfileId)->getAccountId() == $oProfile->getAccountId() || $aCheck[CHECK_ACTION_RESULT] === CHECK_ACTION_RESULT_ALLOWED) && !empty($aLevel['date_starts']));
         $bTmplVarsPrivateInfo = ($oProfile && (BxDolProfile::getInstance($iProfileId)->getAccountId() == $oProfile->getAccountId() || $aCheck[CHECK_ACTION_RESULT] === CHECK_ACTION_RESULT_ALLOWED) && !empty($aLevel['date_starts']));
         if($bTmplVarsPrivateInfo)
         if($bTmplVarsPrivateInfo)