lithium\data\source\MongoDb::_saveFile PHP Method

_saveFile() protected method

protected _saveFile ( $data )
    protected function _saveFile($data)
    {
        $uploadKeys = array('name', 'type', 'tmp_name', 'error', 'size');
        $grid = $this->connection->getGridFS($this->_config['gridPrefix']);
        $file = null;
        $method = null;
        switch (true) {
            case is_array($data['file']) && array_keys($data['file']) == $uploadKeys:
                if (!$data['file']['error'] && is_uploaded_file($data['file']['tmp_name'])) {
                    $method = 'storeFile';
                    $file = $data['file']['tmp_name'];
                    $data['filename'] = $data['file']['name'];
                }
                break;
            case $data['file']:
                $method = 'storeBytes';
                $file = $data['file'];
                break;
        }
        if (!$method || !$file) {
            return;
        }
        if (isset($data['_id'])) {
            $data += (array) get_object_vars($grid->get($data['_id']));
            $grid->delete($data['_id']);
        }
        unset($data['file']);
        return $grid->{$method}($file, $data);
    }