Exemplo n.º 1
0
 public static function getImageFieldRequirements($modelConfig, $fieldProperty)
 {
     $size = false;
     if ($modelConfig->standalone === false && ($parentIdProperty = self::firstParamIsParent($modelConfig))) {
         $parentModelConfig = AdminHelper::modelExists($parentIdProperty, 'id');
         if ($parentModelConfig && $parentModelConfig->imageSizes) {
             if ($parentModelConfig->keyBasedSizes) {
                 $objectId = AdminHelper::firstParamIsParent($parentModelConfig, true);
                 /** @var BaseModel $modelName */
                 /** @var ModelConfig $parentModelConfig */
                 $modelName = $parentModelConfig->myFullEntityName();
                 $object = $modelName::find($objectId);
                 $modelKey = $object->model_key;
                 $imageSizes = $parentModelConfig->imageSizes->{$modelKey};
             } else {
                 $imageSizes = $parentModelConfig->imageSizes;
             }
             if ($imageSizes) {
                 foreach ($imageSizes as $size) {
                     $size = AdminHelper::objectToArray($size);
                     break;
                 }
             }
         }
     }
     if (!$size) {
         foreach ($modelConfig->formFields as $field) {
             if ($field->property == $fieldProperty) {
                 foreach ($field->sizes as $size) {
                     $size = AdminHelper::objectToArray($size);
                     break;
                 }
             }
         }
     }
     if ($size) {
         $data = array('minWidth' => $size[0], 'minHeight' => $size[1], 'transformMethod' => $size[2], 'folder' => $size[3], 'quality' => $size[4]);
         return $data;
     }
     return false;
 }