Kaynağa Gözat

Merge branch 'master' of https://github.com/unaio/una

AntonLV 6 yıl önce
ebeveyn
işleme
d4a89f88f1

+ 21 - 6
modules/base/general/classes/BxBaseModGeneralFormEntry.php

@@ -116,16 +116,20 @@ class BxBaseModGeneralFormEntry extends BxTemplFormView
     function genInputNestedForm (&$aInput, $sInfo = '', $sError = '')
     {
         $sUniqId = genRndPwd (8, false);
-        
         $aNestedForms = array();
         if (!$this->isSubmitted()){
             $aNestedValues = $this->_oModule->_oDb->getNestedBy(array('type' => 'content_id', 'id' => $this->_iContentId, 'key_name' => $aInput['ghost_template']['params']['db']['key']), $aInput['ghost_template']['params']['db']['table']);
             foreach($aNestedValues as $aNestedValue) {
                 $aNestedValuesRv = array();
+                $oForm = $this->getNestedFormObject($aInput);  
+                
                 foreach($aNestedValue as $aNestedKey => $aNestedItem) {
-                    $aNestedValuesRv[$aNestedKey . '[]'] = $aNestedItem;
+                    if ($oForm->aParams['db']['key'] == $aNestedKey)
+                        $aNestedValuesRv[$aNestedKey . '[]'] = $aNestedItem;
+                    else
+                        $aNestedValuesRv[$aNestedKey] = $aNestedItem;
                 }
-                $oForm = $this->getNestedFormObject($aInput);  
+                
                 $oForm->initChecker($aNestedValuesRv);
                 array_push(
 				    $aNestedForms,
@@ -180,10 +184,15 @@ class BxBaseModGeneralFormEntry extends BxTemplFormView
         foreach($aNestedValues as $aNestedValue) {
             $sValue = '';
 			$aNestedValuesRv = array();
+            $oForm = $this->getNestedFormObject($aInput, true);
+            
             foreach($aNestedValue as $aNestedKey => $aNestedItem) {
-                $aNestedValuesRv[$aNestedKey . '[]'] = $aNestedItem;
+                if ($oForm->aParams['db']['key'] == $aNestedKey)
+                    $aNestedValuesRv[$aNestedKey . '[]'] = $aNestedItem;
+                else
+                    $aNestedValuesRv[$aNestedKey] = $aNestedItem;
             }
-            $oForm = $this->getNestedFormObject($aInput, true);  
+              
             $oForm->initChecker($aNestedValuesRv);
             
             if ($aInput['rateable']){
@@ -229,7 +238,13 @@ class BxBaseModGeneralFormEntry extends BxTemplFormView
     
     function getNestedFormObject (&$aInput, $bViewMode = false)
     {
-        return BxDolForm::getObjectInstance($aInput['value'], $aInput['value'] . ($bViewMode ? '_view' : ''));
+        $oForm = BxDolForm::getObjectInstance($aInput['value'], $aInput['value'] . ($bViewMode ? '_view' : ''));
+        foreach($oForm->aInputs as $sKey => $aInput2) {
+            $sName = $oForm->aInputs[$sKey]['name'];
+            if (strpos($sName,'[]') === false)
+                $oForm->aInputs[$sKey]['name'] = $sName . '[]';
+        }
+        return $oForm;
     }
 
     /**

+ 3 - 3
modules/boonex/persons/install/sql/install.sql

@@ -276,7 +276,7 @@ INSERT INTO `sys_form_inputs`(`object`, `module`, `name`, `value`, `values`, `ch
 ('bx_person', 'bx_persons', 'changed', '', '', 0, 'datetime', '_bx_persons_form_profile_input_sys_date_changed', '_bx_persons_form_profile_input_date_changed', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0, ''),
 ('bx_person', 'bx_persons', 'friends_count', '', '', 0, 'text', '_bx_persons_form_profile_input_sys_friends_count', '_bx_persons_form_profile_input_friends_count', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0, ''),
 ('bx_person', 'bx_persons', 'followers_count', '', '', 0, 'text', '_bx_persons_form_profile_input_sys_followers_count', '_bx_persons_form_profile_input_followers_count', '', 0, 0, 0, '', '', '', '', '', '', '', '', 1, 0, ''),
-('bx_person_skills', 'bx_persons', 'skill_name[]', '', '', 0, 'text', '_bx_persons_skills_form_profile_input_sys_skill_name', '_bx_persons_skills_form_profile_input_skill_name', '', 1, 0, 0, '', '', '', 'Avail', '', '_bx_persons_skills_form_profile_input_skill_name_err', 'Xss', '', 1, 0, '');
+('bx_person_skills', 'bx_persons', 'skill_name', '', '', 0, 'text', '_bx_persons_skills_form_profile_input_sys_skill_name', '_bx_persons_skills_form_profile_input_skill_name', '', 1, 0, 0, '', '', '', 'Avail', '', '_bx_persons_skills_form_profile_input_skill_name_err', 'Xss', '', 1, 0, '');
 
 INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for_levels`, `active`, `order`) VALUES 
 ('bx_person_add', 'picture', 2147483647, 1, 1),
@@ -331,8 +331,8 @@ INSERT INTO `sys_form_display_inputs`(`display_name`, `input_name`, `visible_for
 ('bx_person_view_full', 'profile_email', 192, 1, 5),
 ('bx_person_view_full', 'profile_status', 192, 1, 6),
 
-('bx_person_skills', 'skill_name[]', 2147483647, 1, 1),
-('bx_person_skills_view', 'skill_name[]', 2147483647, 1, 1);
+('bx_person_skills', 'skill_name', 2147483647, 1, 1),
+('bx_person_skills_view', 'skill_name', 2147483647, 1, 1);
 
 -- COMMENTS
 INSERT INTO `sys_objects_cmts` (`Name`, `Module`, `Table`, `CharsPostMin`, `CharsPostMax`, `CharsDisplayMax`, `Html`, `PerView`, `PerViewReplies`, `BrowseType`, `IsBrowseSwitch`, `PostFormPosition`, `NumberOfLevels`, `IsDisplaySwitch`, `IsRatable`, `ViewingThreshold`, `IsOn`, `RootStylePrefix`, `BaseUrl`, `ObjectVote`, `TriggerTable`, `TriggerFieldId`, `TriggerFieldAuthor`, `TriggerFieldTitle`, `TriggerFieldComments`, `ClassName`, `ClassFile`) VALUES