Browse Source

Ticket #4817 - Courses improvements. Modules changes.

AntonLV 2 years ago
parent
commit
85128899cd

+ 9 - 13
modules/boonex/files/classes/BxFilesFormsEntryHelper.php

@@ -16,22 +16,19 @@ class BxFilesFormsEntryHelper extends BxBaseModFilesFormsEntryHelper
 {
     public function __construct($oModule)
     {
-		$this->_sDisplayForFormAdd ='bx_files_entry_upload';
-		$this->_sObjectNameForFormAdd ='bx_files_upload';
+        $this->_sDisplayForFormAdd ='bx_files_entry_upload';
+        $this->_sObjectNameForFormAdd ='bx_files_upload';
+
         parent::__construct($oModule);
     }
 
     public function addDataForm ($sDisplay = false, $sCheckFunction = false)
     {
+        $sKey = 'need_redirect_after_action';
         $mixedContent = $this->addDataFormAction($sDisplay, $sCheckFunction);
-        if (is_array($mixedContent) && $mixedContent['need_redirect_after_action']) {
-            $CNF = &$this->_oModule->_oConfig->CNF;
-            
-            $aContentIds = $mixedContent['content_ids_array'];
-            $iContentId = array_pop($aContentIds);
-            $aContentInfo = $this->_oModule->_oDb->getContentInfoById($iContentId);
-            $oProfile = BxDolProfile::getInstance($aContentInfo[$CNF['FIELD_AUTHOR']]);
-            $sUrl = 'page.php?i=' . $CNF['URI_AUTHOR_ENTRIES'] . '&profile_id=' . ($oProfile ? $oProfile->id() : bx_get_logged_profile_id());
+        if(is_array($mixedContent) && !empty($mixedContent[$sKey])) {
+            $sUrl = $this->getRedirectUrlAfterAdd($mixedContent);
+
             if($this->_bAjaxMode) {
                 echoJson($this->prepareResponse($sUrl, $this->_bAjaxMode, 'redirect'));
                 exit;
@@ -39,9 +36,8 @@ class BxFilesFormsEntryHelper extends BxBaseModFilesFormsEntryHelper
             else
                 $this->_redirectAndExit($sUrl);
         }
-        else {
-                return $mixedContent;	
-        }
+        else
+            return $mixedContent;
     }
 
     protected function redirectAfterDelete($aContentInfo)

+ 5 - 16
modules/boonex/files/classes/BxFilesModule.php

@@ -19,23 +19,12 @@ class BxFilesModule extends BxBaseModFilesModule
         parent::__construct($aModule);
     }
 
-    public function serviceIsAllowedAddContentToProfile($iGroupProfileId)
-    {
-        if (!$iGroupProfileId || !($oProfile = BxDolProfile::getInstance((int)$iGroupProfileId)))
-            return false;
-
-        if ($iGroupProfileId == bx_get_logged_profile_id())
-            return true;
-
-        return bx_srv($oProfile->getModule(), 'check_allowed_post_in_profile', array($oProfile->getContentId(), $this->getName())) === CHECK_ACTION_RESULT_ALLOWED;
-    }
-
     public function serviceMyEntriesActions ($iProfileId = 0)
     {
         if (!$iProfileId)
             $iProfileId = bx_process_input(bx_get('profile_id'), BX_DATA_INT);
 
-        if (!$this->serviceIsAllowedAddContentToProfile($iProfileId))
+        if (!$this->serviceIsAllowedAddContentToContext($iProfileId))
             return false;
 
         $oMenu = BxTemplMenu::getObjectInstance($this->_oConfig->CNF['OBJECT_MENU_ACTIONS_MY_ENTRIES']);
@@ -462,7 +451,7 @@ class BxFilesModule extends BxBaseModFilesModule
             exit;
         }
 
-        if ($this->checkAllowedAdd() != CHECK_ACTION_RESULT_ALLOWED || $iContext && !$this->serviceIsAllowedAddContentToProfile($iContext)) {
+        if ($this->checkAllowedAdd() != CHECK_ACTION_RESULT_ALLOWED || $iContext && !$this->serviceIsAllowedAddContentToContext($iContext)) {
             echoJson(['message' => _t('_Access denied')]);
             exit;
         }
@@ -504,7 +493,7 @@ class BxFilesModule extends BxBaseModFilesModule
             exit;
         }
 
-        if ($this->checkAllowedAdd() != CHECK_ACTION_RESULT_ALLOWED || $iContext && !$this->serviceIsAllowedAddContentToProfile($iContext)) {
+        if ($this->checkAllowedAdd() != CHECK_ACTION_RESULT_ALLOWED || $iContext && !$this->serviceIsAllowedAddContentToContext($iContext)) {
             echoJson(['message' => _t('_Access denied')]);
             exit;
         }
@@ -541,7 +530,7 @@ class BxFilesModule extends BxBaseModFilesModule
 
         $iContext = $aData[$CNF['FIELD_ALLOW_VIEW_TO']] < 0 ? -$aData[$CNF['FIELD_ALLOW_VIEW_TO']] : $aData[$CNF['FIELD_AUTHOR']];
 
-        if (!isAdmin() && ($this->checkAllowedAdd() != CHECK_ACTION_RESULT_ALLOWED || !$this->serviceIsAllowedAddContentToProfile($iContext))) {
+        if (!isAdmin() && ($this->checkAllowedAdd() != CHECK_ACTION_RESULT_ALLOWED || !$this->serviceIsAllowedAddContentToContext($iContext))) {
             echoJson(['message' => _t('_Access denied')]);
             exit;
         }
@@ -557,7 +546,7 @@ class BxFilesModule extends BxBaseModFilesModule
 
                 $iContextMoveTo = $aDataMoveTo[$CNF['FIELD_ALLOW_VIEW_TO']] < 0 ? -$aDataMoveTo[$CNF['FIELD_ALLOW_VIEW_TO']] : $aDataMoveTo[$CNF['FIELD_AUTHOR']];
 
-                if (!isAdmin() && ($this->checkAllowedAdd() != CHECK_ACTION_RESULT_ALLOWED || !$this->serviceIsAllowedAddContentToProfile($iContextMoveTo))) {
+                if (!isAdmin() && ($this->checkAllowedAdd() != CHECK_ACTION_RESULT_ALLOWED || !$this->serviceIsAllowedAddContentToContext($iContextMoveTo))) {
                     echoJson(['message' => _t('_Access denied')]);
                     exit;
                 }

+ 1 - 1
modules/boonex/files/classes/BxFilesSearchResult.php

@@ -411,7 +411,7 @@ class BxFilesSearchResult extends BxBaseModTextSearchResult
         ];
 
         $aUploadButtonParams = [];
-        $bUploadAllowed = $this->oModule->checkAllowedAdd() == CHECK_ACTION_RESULT_ALLOWED && $this->oModule->serviceIsAllowedAddContentToProfile($this->iFileManagerUploadTo);
+        $bUploadAllowed = $this->oModule->checkAllowedAdd() == CHECK_ACTION_RESULT_ALLOWED && $this->oModule->serviceIsAllowedAddContentToContext($this->iFileManagerUploadTo);
         if ($bUploadAllowed) {
             $sUniqId = genRndPwd (8, false);
             $oUploader = BxDolUploader::getObjectInstance('bx_files_html5', $this->oModule->_oConfig->CNF['OBJECT_STORAGE'], $sUniqId, $this->oModule->_oTemplate);

+ 6 - 7
modules/boonex/photos/classes/BxPhotosFormsEntryHelper.php

@@ -16,8 +16,9 @@ class BxPhotosFormsEntryHelper extends BxBaseModFilesFormsEntryHelper
 {
     public function __construct($oModule)
     {
-		$this->_sDisplayForFormAdd ='bx_photos_entry_upload';
-		$this->_sObjectNameForFormAdd ='bx_photos_upload';
+        $this->_sDisplayForFormAdd ='bx_photos_entry_upload';
+        $this->_sObjectNameForFormAdd ='bx_photos_upload';
+
         parent::__construct($oModule);
     }
     
@@ -25,10 +26,9 @@ class BxPhotosFormsEntryHelper extends BxBaseModFilesFormsEntryHelper
     {
         $sKey = 'need_redirect_after_action';
         $mixedContent = $this->addDataFormAction($sDisplay, $sCheckFunction);
-        if (is_array($mixedContent) && isset($mixedContent[$sKey]) && $mixedContent[$sKey]) {
-            $CNF = &$this->_oModule->_oConfig->CNF;
+        if(is_array($mixedContent) && !empty($mixedContent[$sKey])) {
+            $sUrl = $this->getRedirectUrlAfterAdd($mixedContent);
 
-            $sUrl = BxDolPermalinks::getInstance()->permalink('page.php?i=' . $CNF['URI_AUTHOR_ENTRIES'] . '&profile_id=' . bx_get_logged_profile_id());
             if($this->_bAjaxMode) {
                 echoJson($this->prepareResponse($sUrl, $this->_bAjaxMode, 'redirect'));
                 exit;
@@ -36,9 +36,8 @@ class BxPhotosFormsEntryHelper extends BxBaseModFilesFormsEntryHelper
             else
                 $this->_redirectAndExit($sUrl);
         }
-        else {
+        else
             return $mixedContent;
-        }
     }
     
     public function onDataEditAfter ($iContentId, $aContentInfo, $aTrackTextFieldsChanges, $oProfile, $oForm)