/** * loadFileData * @param string $strType * @param array $arrTypeProperties * @author Thomas Schedler <*****@*****.**> * @version 1.0 */ protected final function loadFileData($strType, $arrTypeProperties) { try { /** * generic form file fields */ if (count($this->setup->FileFields()) > 0) { $objGenTable = $this->getModelGenericData()->getGenericTable($strType . '-' . $this->setup->getFormId() . '-' . $this->setup->getFormVersion() . '-InstanceFiles'); $strTableName = $objGenTable->info(Zend_Db_Table_Abstract::NAME); $objSelect = $objGenTable->select(); $objSelect->setIntegrityCheck(false); $objSelect->from($objGenTable->info(Zend_Db_Table_Abstract::NAME), array('idFiles', 'sortPosition')); $objSelect->join('fields', 'fields.id = `' . $objGenTable->info(Zend_Db_Table_Abstract::NAME) . '`.idFields', array('name')); $objSelect->where($strType . 'Id = ?', $arrTypeProperties['Id']); $objSelect->where('version = ?', $arrTypeProperties['Version']); $objSelect->where('idLanguages = ?', $this->Setup()->getLanguageId()); $objSelect->order(array('sortPosition ASC')); $arrGenFormsData = $objGenTable->fetchAll($objSelect)->toArray(); if (count($arrGenFormsData) > 0) { $this->blnHasLoadedFileData = true; foreach ($arrGenFormsData as $arrGenRowFormsData) { if ($this->setup->getFileField($arrGenRowFormsData['name']) !== null) { $strFileIds = $this->setup->getFileField($arrGenRowFormsData['name'])->getValue() . '[' . $arrGenRowFormsData['idFiles'] . ']'; $this->setup->getFileField($arrGenRowFormsData['name'])->setValue($strFileIds); } } } } } catch (Exception $exc) { $this->core->logger->err($exc); } }
/** * compareGenericFieldValues * @author Thomas Schedler <*****@*****.**> * @version 1.0 */ public function compareGenericFieldValues(GenericSetup &$objGenericSetup) { $this->core->logger->debug('massiveart->generic->data->GenericData->compareGenericFieldValues()'); try { if (count($objGenericSetup->CoreFields()) > 0) { /** * for each core field, try to get the "old" value */ foreach ($objGenericSetup->CoreFields() as $strField => $objField) { if (!is_null($this->setup->getCoreField($strField))) { $objField->setValue($this->setup->getCoreField($strField)->getValue()); } } } if (count($objGenericSetup->FileFields()) > 0) { /** * for each file field, try to get the "old" value */ foreach ($objGenericSetup->FileFields() as $strField => $objField) { if (!is_null($this->setup->getFileField($strField))) { $objField->setValue($this->setup->getFileField($strField)->getValue()); } } } if (count($objGenericSetup->InstanceFields()) > 0) { /** * for each instance field, try to get the "old" values */ foreach ($objGenericSetup->InstanceFields() as $strField => $objField) { if (!is_null($this->setup->getInstanceField($strField))) { $objField->setValue($this->setup->getInstanceField($strField)->getValue()); } } } // TODO : compare special fields } catch (Exception $exc) { $this->core->logger->err($exc); } }