OSDN Git Service

d2b8d50633bbb843d4198e69d9fff4e600b1f6eb
[acs/acs.git] / webapp / lib / class / ACSFileInfoModel.class.php
1 <?php
2 /**
3  * ¥Õ¥¡¥¤¥ë¾ðÊó DB¥¢¥¯¥»¥¹
4  *
5  * @author  kuwayama
6  * @version $Revision: 1.17 $ $Date: 2006/05/18 05:18:00 $
7  */
8 class ACSFileInfoModel
9 {
10         /**
11          * ¥Õ¥¡¥¤¥ë¾ðÊó¼èÆÀ¡ÊÊ£¿ô¡Ë
12          *
13          * @param $file_id_array
14          */
15         static function select_file_info_row_array ($file_id_array) {
16                 $target_file_id = implode(", ", $file_id_array);
17
18                 $sql  = "SELECT file_info.*,";
19                 $sql .=    " ENTRY_USER_COMMUNITY.community_name AS entry_user_community_name,";
20                 $sql .=    " UPDATE_USER_COMMUNITY.community_name AS update_user_community_name";
21                 $sql .= " FROM file_info, community AS ENTRY_USER_COMMUNITY, community AS UPDATE_USER_COMMUNITY";
22                 $sql .= " WHERE file_id IN (" . $target_file_id . ")";
23                 $sql .=   " AND file_info.entry_user_community_id = ENTRY_USER_COMMUNITY.community_id";
24                 $sql .=   " AND file_info.update_user_community_id = UPDATE_USER_COMMUNITY.community_id";
25                 $sql .= " ORDER BY display_file_name ASC";
26
27                 $row_array = ACSDB::_get_row_array($sql);
28                 return $row_array;
29         }
30
31         /**
32          * ¥Õ¥¡¥¤¥ë¾ðÊó¼èÆÀ
33          *
34          * @param $file_id
35          */
36         static function select_file_info_row ($file_id) {
37                 $file_id_array = array($file_id);
38                 $row_array = ACSFileInfoModel::select_file_info_row_array($file_id_array);
39
40                 return $row_array[0];
41         }
42
43         /**
44          * ¥Õ¥¡¥¤¥ëID¼èÆÀ
45          *
46          * @param none
47          */
48         static function get_next_file_id_seq() {
49                 $file_id = ACSDB::get_next_seq('file_id_seq');
50                 return $file_id;
51         }
52
53         /**
54          * ¥Õ¥¡¥¤¥ë¾ðÊóÄɲÃ
55          *
56          * @param none
57          */
58         static function insert_file_info ($file_obj) {
59                 $sql  = "INSERT INTO file_info";
60                 $sql .= " (file_id, owner_community_id, display_file_name, server_file_name, ";
61                 $sql .=   "thumbnail_server_file_name, rss_server_file_name, mime_type, file_size, ";
62                 $sql .=   "entry_user_community_id, entry_date, update_user_community_id, update_date)";
63                 $sql .= " VALUES (";
64                 $sql .=            "" . $file_obj->get_file_id() . ",";
65                 $sql .=            "" . $file_obj->get_owner_community_id() . ",";
66                 $sql .=            "'" . pg_escape_string($file_obj->get_display_file_name()) . "',";
67                 $sql .=            "'" . pg_escape_string($file_obj->get_server_file_name()) . "',";
68                 $sql .=            "'" . pg_escape_string($file_obj->get_thumbnail_server_file_name()) . "',";
69                 $sql .=            "'" . pg_escape_string($file_obj->get_rss_server_file_name()) . "',";
70                 $sql .=            "'" . pg_escape_string($file_obj->get_mime_type()) . "',";
71                 $sql .=            "" . $file_obj->get_file_size() . ",";
72                 $sql .=            "" . $file_obj->get_entry_user_community_id() . ",";
73                 $sql .=            "'" . $file_obj->get_entry_date() . "',";
74                 $sql .=            "" . $file_obj->get_update_user_community_id() . ",";
75                 $sql .=            "'" . $file_obj->get_update_date() . "'";
76                 $sql .=  ")";
77
78                 $ret = ACSDB::_do_query($sql);
79
80                 return $ret;
81         }
82
83         /**
84          * ¥Õ¥¡¥¤¥ë¾ðÊ󹹿· (¶¦ÄÌ)
85          *
86          * @param  $target_file_id
87          * @param  $row
88          * @return $ret
89          */
90         static function update_file_info ($target_file_id, $row) {
91                 $set_values = array();
92                 foreach ($row as $key => $value) {
93                         $value_str = "";
94                         $value_str = " " . $key . " = '" . pg_escape_string($value) . "'";
95
96                         array_push($set_values, $value_str);
97                 }
98
99                 $sql  = "UPDATE file_info";
100                 $sql .= " SET";
101                 $sql .= implode(", ", $set_values);
102                 $sql .= " WHERE file_id = " . $target_file_id;
103
104                 $ret = ACSDB::_do_query($sql);
105
106                 return $ret;
107         }
108
109         /**
110          * ¥Õ¥¡¥¤¥ë¾ðÊ󹹿·
111          * @param $file_obj
112          * @author akitsu 2005/2/10
113          */
114         static function update_all_file_info ($file_obj) {
115                 /* ¹¹¿·¥Ç¡¼¥¿¥»¥Ã¥È */
116                 $row = array();
117                 $row['display_file_name']          = pg_escape_string($file_obj->get_display_file_name());
118                 $row['server_file_name']           = pg_escape_string($file_obj->get_server_file_name());
119                 $row['thumbnail_server_file_name'] = pg_escape_string($file_obj->get_thumbnail_server_file_name());
120                 $row['mime_type']                  = pg_escape_string($file_obj->get_mime_type());
121                 $row['file_size']                  = $file_obj->get_file_size();
122                 $row['update_user_community_id']   = $file_obj->get_update_user_community_id();
123                 $row['update_date']                = $file_obj->get_update_date();
124
125                 /* ¹¹¿·½èÍý */
126                 $ret = ACSFileInfoModel::update_file_info($file_obj->get_file_id(), $row);
127
128                 return $ret;
129         }
130
131         /**
132          * É½¼¨ÍÑ¥Õ¥¡¥¤¥ë̾¤ò¹¹¿·
133          * ¥¨¥é¡¼½èÍý (ROLLBACK) ¤Ï¸Æ¤Ó¸µ¤Ç¹Ô¤¦¤³¤È
134          *
135          * @param  $target_file_id
136          * @param  $new_display_file_name
137          * @return $ret ¹¹¿··ë²Ì (true/false)
138          */
139         static function update_display_file_name ($target_file_id, $new_display_file_name) {
140                 $row = array();
141
142                 /* ¹¹¿·¥Ç¡¼¥¿¥»¥Ã¥È */
143                 $row['display_file_name'] = $new_display_file_name;
144
145                 /* ¹¹¿·½èÍý */
146                 $ret = ACSFileInfoModel::update_file_info($target_file_id, $row);
147
148                 return $ret;
149         }
150
151         /**
152          * ¥Õ¥¡¥¤¥ë¾ðÊóºï½ü
153          * @param $file_obj
154          */
155         static function delete_file_info ($file_obj) {
156                 $sql  = "DELETE FROM file_info";
157                 $sql .= " WHERE";                               
158                 $sql .=           " file_id = " . $file_obj->get_file_id();
159                 $sql .= " AND"; 
160                 $sql .=           " owner_community_id = " . $file_obj->get_owner_community_id();
161                 
162                 $ret = ACSDB::_do_query($sql);
163
164                 return $ret;
165         }
166 }