protected function _saveUploadedFile($fileId, Sitengine_Upload $upload, $name) { try { $width = 0; $height = 0; if (Sitengine_Mime_Type::isImage($upload->getMime())) { $info = getimagesize($upload->getTempName()); if (!$info) { $this->_rollback(); throw new Sitengine_Exception('uploaded file is not an image'); } $width = $info[0]; $height = $info[1]; } $data = array('name' => $name, 'source' => $upload->getName(), 'mime' => $upload->getMime(), 'size' => $upload->getSize(), 'width' => $width, 'height' => $height); $upload->save($this->_configs[$fileId]['dir'] . '/' . $name); chmod($this->_configs[$fileId]['dir'] . '/' . $name, $this->_configs[$fileId]['mode']); $this->_newFiles[$fileId] = $name; $this->_files[$fileId] = $data; } catch (Exception $exception) { $this->_rollback(); throw new Sitengine_Exception('save uploaded file failed', $exception); } }