Просмотр исходного кода

#2295 Changing profile cover cause Location to be erased

RomanL 7 лет назад
Родитель
Сommit
c6d27ab779

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

@@ -339,7 +339,7 @@ class BxBaseModGeneralFormsEntryHelper extends BxDolProfileForms
          * because all data related to an entry should be already
          * processed and are ready to be passed to alert. 
          */
-        $this->_oModule->processMetasEdit($iContentId);
+        $this->_oModule->processMetasEdit($iContentId, $oForm);
         
         // perform action
         $this->_oModule->$sCheckFunction($aContentInfo, true);

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

@@ -1441,7 +1441,7 @@ class BxBaseModGeneralModule extends BxDolModule
                 $oMetatags->keywordsAddOne($aContentInfo[$CNF['FIELD_ID']], $sLabel, false);
     }
     
-    public function processMetasEdit($iContentId)
+    public function processMetasEdit($iContentId, $oForm)
     {
         $CNF = &$this->_oConfig->CNF;
 
@@ -1458,7 +1458,7 @@ class BxBaseModGeneralModule extends BxDolModule
 
         $oMetatags = BxDolMetatags::getObjectInstance($CNF['OBJECT_METATAGS']);
         $oMetatags->metaAddAuto($aContentInfo[$CNF['FIELD_ID']], $aContentInfo, $CNF, $CNF['OBJECT_FORM_ENTRY_DISPLAY_EDIT']);
-        if(isset($CNF['FIELD_LOCATION_PREFIX']) && $oMetatags->locationsIsEnabled())
+        if(isset($CNF['FIELD_LOCATION_PREFIX']) && isset($oForm->aInputs[$CNF['FIELD_LOCATION_PREFIX']])  && $oMetatags->locationsIsEnabled())
             $oMetatags->locationsAddFromForm($aContentInfo[$CNF['FIELD_ID']], empty($CNF['FIELD_LOCATION_PREFIX']) ? '' : $CNF['FIELD_LOCATION_PREFIX']);
 
         if(!empty($CNF['FIELD_LABELS']) && ($aLabels = bx_get($CNF['FIELD_LABELS'])) && $oMetatags->keywordsIsEnabled())