예제 #1
0
 public function processCustomFieldValues(ThemeHouse_ObjectFields_Extend_ThemeHouse_Objects_DataWriter_Class $writer)
 {
     $customFields = $this->_input->filterSingle('custom_fields', XenForo_Input::ARRAY_SIMPLE);
     $customFieldsShown = $this->_input->filterSingle('custom_fields_shown', XenForo_Input::STRING, array('array' => true));
     $writer->setCustomFields($customFields, $customFieldsShown);
     $requiredFields = $this->_input->filterSingle('required_fields', XenForo_Input::ARRAY_SIMPLE);
     $writer->set('required_fields', serialize($requiredFields));
     $keys = $this->_input->filterSingle('keys', XenForo_Input::ARRAY_SIMPLE);
     $writer->set('keys', serialize($keys));
     $uniqueKeys = $this->_input->filterSingle('unique_keys', XenForo_Input::ARRAY_SIMPLE);
     $writer->set('unique_keys', serialize($uniqueKeys));
     $input = $this->_input->filter(array('primary_key' => XenForo_Input::STRING, 'title_field' => XenForo_Input::STRING, 'subtitle_field' => XenForo_Input::STRING));
     $writer->bulkSet($input);
     unset($GLOBALS['ThemeHouse_ObjectFields_ControllerAdmin_Class']);
 }
예제 #2
0
 public function processCustomFieldValues(ThemeHouse_ObjectFields_Extend_ThemeHouse_Objects_DataWriter_Class $dw)
 {
     /* @var $document SimpleXMLElement */
     $document = $this->_importDocument;
     $customFields = XenForo_Helper_DevelopmentXml::fixPhpBug50670($document->custom_fields->custom_field);
     $requiredFields = array();
     $keys = array();
     $uniqueKeys = array();
     $customFieldsShown = array();
     foreach ($customFields as $customField) {
         if ($customField && $customField['field_id']) {
             $fieldId = (string) $customField['field_id'];
             $customFieldsShown[] = $fieldId;
             if ((int) $customField['is_required'] == 1) {
                 $requiredFields[] = $fieldId;
             }
             if ((int) $customField['is_key'] == 1) {
                 $keys[] = $fieldId;
             }
             if ((int) $customField['is_unique'] == 1) {
                 $uniqueKeys[] = $fieldId;
             }
             if ((int) $customField['is_title'] == 1) {
                 $dw->set('title_field', $fieldId);
             }
             if ((int) $customField['is_subtitle'] == 1) {
                 $dw->set('subtitle_field', $fieldId);
             }
             if ((int) $customField['is_primary'] == 1) {
                 $dw->set('primary_key', $fieldId);
             }
         }
     }
     $customFields = array();
     if ($dw->get('custom_fields')) {
         $customFields = unserialize($dw->get('custom_fields'));
     }
     $dw->setCustomFields($customFields, $customFieldsShown);
     $dw->set('required_fields', $requiredFields);
     $dw->set('keys', $keys);
     $dw->set('unique_keys', $uniqueKeys);
 }