瀏覽代碼

Ticket #4932 - Contexts: Add URI_ADD_ENTRY config key like in text based modules.

AntonLV 1 年之前
父節點
當前提交
a6e95ab2a9

+ 12 - 0
modules/base/general/classes/BxBaseModGeneralConfig.php

@@ -131,6 +131,18 @@ class BxBaseModGeneralConfig extends BxDolModuleConfig
         return bx_absolute_url(BxDolPermalinks::getInstance()->permalink('page.php?i=' . $this->CNF['URI_VIEW_ENTRY'] . '&id=' . $iId));
     }
 
+    public function getEntryUri($sAction)
+    {
+        $sUri = '';
+
+        if(($sKeyUri = 'URI_' . strtoupper($sAction) . '_ENTRY') && !empty($this->CNF[$sKeyUri]))
+            $sUri = $this->CNF[$sKeyUri];
+        if(!$sUri && $sAction == 'add' && ($sKeyUri = 'URI_EDIT_ENTRY') && !empty($this->CNF[$sKeyUri]))
+            $sUri = str_replace('edit', 'create', $this->CNF[$sKeyUri]);
+
+        return $sUri;
+    }
+
     /*
      * Note. The first Transcoder in the array $aTranscoders has the highest priority. 
      */

+ 1 - 7
modules/base/general/classes/BxBaseModGeneralFormsEntryHelper.php

@@ -836,13 +836,7 @@ class BxBaseModGeneralFormsEntryHelper extends BxDolProfileForms
 
     protected function _setAbsoluteActionUrl($sType, &$oForm)
     {
-        $CNF = &$this->_oModule->_oConfig->CNF;
-
-        $sUri = '';
-        if(($sKeyUri = 'URI_' . strtoupper($sType) . '_ENTRY') && !empty($CNF[$sKeyUri]))
-            $sUri = $CNF[$sKeyUri];
-        if(!$sUri && $sType == 'add' && ($sKeyUri = 'URI_EDIT_ENTRY') && !empty($CNF[$sKeyUri]))
-            $sUri = str_replace('edit', 'create', $CNF[$sKeyUri]);
+        $sUri = $this->_oModule->_oConfig->getEntryUri($sType);
         if(!$sUri)
             return;
 

+ 12 - 12
modules/base/general/classes/BxBaseModGeneralModule.php

@@ -649,15 +649,11 @@ class BxBaseModGeneralModule extends BxDolModule
      */
     public function serviceGetLinkAdd ()
     {
-        $CNF = &$this->_oConfig->CNF;
-
-        $sUri = '';
-        if(!empty($CNF['URI_ADD_ENTRY']))
-            $sUri = $CNF['URI_ADD_ENTRY'];
-        else if(($sKeyUri = 'URI_EDIT_ENTRY') && !empty($CNF[$sKeyUri]))
-            $sUri = str_replace('edit', 'create', $CNF[$sKeyUri]);           
+        $sUri = $this->_oConfig->getEntryUri('add');
+        if(!$sUri)
+            return '';         
 
-        return $sUri ? bx_absolute_url(BxDolPermalinks::getInstance()->permalink('page.php?i=' . $sUri)) : '';
+        return bx_absolute_url(BxDolPermalinks::getInstance()->permalink('page.php?i=' . $sUri));
     }
 
     /**
@@ -679,14 +675,16 @@ class BxBaseModGeneralModule extends BxDolModule
     public function serviceGetLinkEdit ($iContentId)
     {
         $CNF = &$this->_oConfig->CNF;
-        if(empty($CNF['URI_EDIT_ENTRY']))
+
+        $sUri = $this->_oConfig->getEntryUri('edit');        
+        if(!$sUri)
             return '';
 
         $aContentInfo = $this->_oDb->getContentInfoById($iContentId);
         if(empty($aContentInfo))
             return '';
 
-        return bx_absolute_url(BxDolPermalinks::getInstance()->permalink('page.php?i=' . $CNF['URI_EDIT_ENTRY'] . '&id=' . $aContentInfo[$CNF['FIELD_ID']]));
+        return bx_absolute_url(BxDolPermalinks::getInstance()->permalink('page.php?i=' . $sUri . '&id=' . $aContentInfo[$CNF['FIELD_ID']]));
     }
 
     /**
@@ -708,14 +706,16 @@ class BxBaseModGeneralModule extends BxDolModule
     public function serviceGetLink ($iContentId)
     {
         $CNF = &$this->_oConfig->CNF;
-        if(empty($CNF['URI_VIEW_ENTRY']))
+
+        $sUri = $this->_oConfig->getEntryUri('view');        
+        if(!$sUri)
             return '';
 
         $aContentInfo = $this->_oDb->getContentInfoById($iContentId);
         if(empty($aContentInfo))
             return '';
 
-        return bx_absolute_url(BxDolPermalinks::getInstance()->permalink('page.php?i=' . $CNF['URI_VIEW_ENTRY'] . '&id=' . $aContentInfo[$CNF['FIELD_ID']]));
+        return bx_absolute_url(BxDolPermalinks::getInstance()->permalink('page.php?i=' . $sUri . '&id=' . $aContentInfo[$CNF['FIELD_ID']]));
     }
 
     public function serviceGetTitle ($iContentId)

+ 1 - 0
modules/boonex/channels/classes/BxCnlConfig.php

@@ -54,6 +54,7 @@ class BxCnlConfig extends BxBaseModGroupsConfig
 
             // page URIs
             'URI_VIEW_ENTRY' => 'view-channel-profile',
+            'URI_ADD_ENTRY' => 'create-channel-profile',
             'URI_EDIT_ENTRY' => 'edit-channel-profile',
             'URI_JOINED_ENTRIES' => 'channels-author',
 

+ 1 - 0
modules/boonex/groups/classes/BxGroupsConfig.php

@@ -70,6 +70,7 @@ class BxGroupsConfig extends BxBaseModGroupsConfig
             // page URIs
             'URI_VIEW_ENTRY' => 'view-group-profile',
             'URI_VIEW_MEMBERS' => 'group-fans',
+            'URI_ADD_ENTRY' => 'create-group-profile',
             'URI_EDIT_ENTRY' => 'edit-group-profile',
             'URI_JOIN_ENTRY' => 'join-group-profile',
             'URI_JOINED_ENTRIES' => 'joined-groups',

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

@@ -82,6 +82,7 @@ class BxOrgsConfig extends BxBaseModGroupsConfig
             'URI_VIEW_FRIENDS' => 'organization-profile-friends',
             'URI_VIEW_FRIEND_REQUESTS' => 'organization-friend-requests',
             'URI_VIEW_FAVORITES' => 'organization-profile-favorites',
+            'URI_ADD_ENTRY' => 'create-organization-profile',
             'URI_EDIT_ENTRY' => 'edit-organization-profile',
             'URI_JOIN_ENTRY' => 'join-organization-profile',
             'URI_JOINED_ENTRIES' => 'joined-organizations',

+ 1 - 0
modules/boonex/persons/classes/BxPersonsConfig.php

@@ -66,6 +66,7 @@ class BxPersonsConfig extends BxBaseModProfileConfig
             'URI_VIEW_FRIENDS' => 'persons-profile-friends',
             'URI_VIEW_FRIEND_REQUESTS' => 'persons-friend-requests',
             'URI_VIEW_FAVORITES' => 'persons-profile-favorites',
+            'URI_ADD_ENTRY' => 'create-persons-profile',
             'URI_EDIT_ENTRY' => 'edit-persons-profile',
             'URI_MANAGE_COMMON' => 'persons-manage',
             'URI_VIEW_SUBSCRIPTIONS' => 'persons-profile-subscriptions',