示例#1
0
 /**
  * Function to get instance
  * @param <String/Integer> $value
  * @param <String> $module
  * @param <String> $type
  * @return <Settings_MappedFields_Field_Model> field model
  */
 public static function getInstance($value, $module, $type = '')
 {
     switch ($type) {
         case 'SELF':
             $fieldModel = parent::getInstance($value, $module);
             if (!$fieldModel) {
                 $fields = Settings_MappedFields_Module_Model::getSpecialFields();
                 $fieldModel = $fields[$value];
             }
             break;
         case 'INVENTORY':
             $inventoryFieldModel = Vtiger_InventoryField_Model::getInstance($module->getName());
             $inventoryFields = $inventoryFieldModel->getFields();
             return self::getInstanceFromInventoryFieldObject($inventoryFields[$value]);
         default:
             $fieldModel = parent::getInstance($value, $module);
             break;
     }
     if ($fieldModel) {
         $objectProperties = get_object_vars($fieldModel);
         $fieldModel = new self();
         foreach ($objectProperties as $properName => $propertyValue) {
             $fieldModel->{$properName} = $propertyValue;
         }
     }
     return $fieldModel;
 }