mdm\upload\FileModel::rules PHP Method

rules() public method

public rules ( )
    public function rules()
    {
        return [[['file'], 'required'], [['file'], 'file', 'skipOnEmpty' => false], [['uploadPath'], 'default', 'value' => static::$defaultUploadPath], [['name', 'size'], 'default', 'value' => function ($obj, $attribute) {
            return $obj->file->{$attribute};
        }], [['type'], 'default', 'value' => function () {
            return FileHelper::getMimeType($this->file->tempName);
        }], [['filename'], 'default', 'value' => function () {
            $level = $this->directoryLevel === null ? static::$defaultDirectoryLevel : $this->directoryLevel;
            $key = md5(microtime() . $this->file->name);
            $base = Yii::getAlias($this->uploadPath);
            if ($level > 0) {
                for ($i = 0; $i < $level; ++$i) {
                    if (($prefix = substr($key, 0, 2)) !== false) {
                        $base .= DIRECTORY_SEPARATOR . $prefix;
                        $key = substr($key, 2);
                    }
                }
            }
            return $base . DIRECTORY_SEPARATOR . "{$key}_{$this->file->name}";
        }], [['size'], 'integer'], [['name'], 'string', 'max' => 256], [['type'], 'string', 'max' => 64], [['filename'], 'string', 'max' => 256]];
    }