Exemplo n.º 1
0
 /**
  * Import Field of the module
  * @access private
  */
 function import_Field($blocknode, $blockInstance, $moduleInstance, $fieldnode)
 {
     $fieldInstance = new Vtiger_Field();
     $fieldInstance->name = $fieldnode->fieldname;
     $fieldInstance->label = $fieldnode->fieldlabel;
     $fieldInstance->table = $fieldnode->tablename;
     $fieldInstance->column = $fieldnode->columnname;
     $fieldInstance->uitype = $fieldnode->uitype;
     $fieldInstance->generatedtype = $fieldnode->generatedtype;
     $fieldInstance->readonly = $fieldnode->readonly;
     $fieldInstance->presence = $fieldnode->presence;
     $fieldInstance->defaultvalue = $fieldnode->defaultvalue;
     $fieldInstance->maximumlength = $fieldnode->maximumlength;
     $fieldInstance->sequence = $fieldnode->sequence;
     $fieldInstance->quickcreate = $fieldnode->quickcreate;
     $fieldInstance->quicksequence = $fieldnode->quickcreatesequence;
     $fieldInstance->typeofdata = $fieldnode->typeofdata;
     $fieldInstance->displaytype = $fieldnode->displaytype;
     $fieldInstance->info_type = $fieldnode->info_type;
     if (!empty($fieldnode->fieldparams)) {
         $fieldInstance->fieldparams = $fieldnode->fieldparams;
     }
     if (!empty($fieldnode->helpinfo)) {
         $fieldInstance->helpinfo = $fieldnode->helpinfo;
     }
     if (isset($fieldnode->masseditable)) {
         $fieldInstance->masseditable = $fieldnode->masseditable;
     }
     if (isset($fieldnode->columntype) && !empty($fieldnode->columntype)) {
         $fieldInstance->columntype = strval($fieldnode->columntype);
     }
     if (!empty($fieldnode->tree_template)) {
         $templateid = $fieldInstance->setTreeTemplate($fieldnode->tree_template, $moduleInstance);
         $fieldInstance->fieldparams = $templateid;
     }
     $blockInstance->addField($fieldInstance);
     // Set the field as entity identifier if marked.
     if (!empty($fieldnode->entityidentifier)) {
         $moduleInstance->entityidfield = $fieldnode->entityidentifier->entityidfield;
         $moduleInstance->entityidcolumn = $fieldnode->entityidentifier->entityidcolumn;
         $moduleInstance->setEntityIdentifier($fieldInstance);
     }
     // Check picklist values associated with field if any.
     if (!empty($fieldnode->picklistvalues) && !empty($fieldnode->picklistvalues->picklistvalue)) {
         $picklistvalues = array();
         foreach ($fieldnode->picklistvalues->picklistvalue as $picklistvaluenode) {
             $picklistvalues[] = $picklistvaluenode;
         }
         $fieldInstance->setPicklistValues($picklistvalues);
     }
     // Check related modules associated with this field
     if (!empty($fieldnode->relatedmodules) && !empty($fieldnode->relatedmodules->relatedmodule)) {
         $relatedmodules = array();
         foreach ($fieldnode->relatedmodules->relatedmodule as $relatedmodulenode) {
             $relatedmodules[] = $relatedmodulenode;
         }
         $fieldInstance->setRelatedModules($relatedmodules);
     }
     // Set summary field if marked in xml
     if (!empty($fieldnode->summaryfield)) {
         $fieldInstance->setSummaryField($fieldnode->summaryfield);
     }
     $this->__AddModuleFieldToCache($moduleInstance, $fieldnode->fieldname, $fieldInstance);
     return $fieldInstance;
 }