00001 <?php
00002
00003
00004
00005
00006
00007
00008 class DAOBinaries extends DataObjectTimestampedCached {
00009 public $id;
00010 public $name;
00011 public $mimetype;
00012
00013
00014
00015
00016 protected function create_table_object() {
00017 return new DBTable(
00018 'binaries',
00019 array_merge(array(
00020 new DBFieldInt('id', null, DBFieldInt::AUTOINCREMENT | DBFieldInt::UNSIGNED | DBFieldInt::NOT_NULL),
00021 new DBFieldText('name', 200, null, DBFieldText::NOT_NULL),
00022 new DBFieldText('mimetype', 100, null, DBFieldText::NOT_NULL),
00023 ), $this->get_timestamp_field_declarations()
00024 ),
00025 'id'
00026 );
00027 }
00028
00029
00030
00031
00032
00033
00034 public function get_mime_base_type() {
00035 $tmp = explode('/', $this->mimetype);
00036 return $tmp[0];
00037 }
00038
00039
00040
00041
00042
00043
00044 public function get_data() {
00045 $data = DB::get_item('binariesdata', 'id_binary', $this->id);
00046 return $data ? $data->data : '';
00047 }
00048
00049
00050
00051
00052 public function __get($name) {
00053 if ($name == 'data') {
00054 return $this->get_data();
00055 }
00056 return null;
00057 }
00058 }