OSDN Git Service

add ACS webapp, sql, htdocs
[acs/acs.git] / webapp / lib / class / ACSFileInfoModel.class.php
diff --git a/webapp/lib/class/ACSFileInfoModel.class.php b/webapp/lib/class/ACSFileInfoModel.class.php
new file mode 100644 (file)
index 0000000..d2b8d50
--- /dev/null
@@ -0,0 +1,166 @@
+<?php
+/**
+ * ¥Õ¥¡¥¤¥ë¾ðÊó DB¥¢¥¯¥»¥¹
+ *
+ * @author  kuwayama
+ * @version $Revision: 1.17 $ $Date: 2006/05/18 05:18:00 $
+ */
+class ACSFileInfoModel
+{
+       /**
+        * ¥Õ¥¡¥¤¥ë¾ðÊó¼èÆÀ¡ÊÊ£¿ô¡Ë
+        *
+        * @param $file_id_array
+        */
+       static function select_file_info_row_array ($file_id_array) {
+               $target_file_id = implode(", ", $file_id_array);
+
+               $sql  = "SELECT file_info.*,";
+               $sql .=    " ENTRY_USER_COMMUNITY.community_name AS entry_user_community_name,";
+               $sql .=    " UPDATE_USER_COMMUNITY.community_name AS update_user_community_name";
+               $sql .= " FROM file_info, community AS ENTRY_USER_COMMUNITY, community AS UPDATE_USER_COMMUNITY";
+               $sql .= " WHERE file_id IN (" . $target_file_id . ")";
+               $sql .=   " AND file_info.entry_user_community_id = ENTRY_USER_COMMUNITY.community_id";
+               $sql .=   " AND file_info.update_user_community_id = UPDATE_USER_COMMUNITY.community_id";
+               $sql .= " ORDER BY display_file_name ASC";
+
+               $row_array = ACSDB::_get_row_array($sql);
+               return $row_array;
+       }
+
+       /**
+        * ¥Õ¥¡¥¤¥ë¾ðÊó¼èÆÀ
+        *
+        * @param $file_id
+        */
+       static function select_file_info_row ($file_id) {
+               $file_id_array = array($file_id);
+               $row_array = ACSFileInfoModel::select_file_info_row_array($file_id_array);
+
+               return $row_array[0];
+       }
+
+       /**
+        * ¥Õ¥¡¥¤¥ëID¼èÆÀ
+        *
+        * @param none
+        */
+       static function get_next_file_id_seq() {
+               $file_id = ACSDB::get_next_seq('file_id_seq');
+               return $file_id;
+       }
+
+       /**
+        * ¥Õ¥¡¥¤¥ë¾ðÊóÄɲÃ
+        *
+        * @param none
+        */
+       static function insert_file_info ($file_obj) {
+               $sql  = "INSERT INTO file_info";
+               $sql .= " (file_id, owner_community_id, display_file_name, server_file_name, ";
+               $sql .=   "thumbnail_server_file_name, rss_server_file_name, mime_type, file_size, ";
+               $sql .=   "entry_user_community_id, entry_date, update_user_community_id, update_date)";
+               $sql .= " VALUES (";
+               $sql .=            "" . $file_obj->get_file_id() . ",";
+               $sql .=            "" . $file_obj->get_owner_community_id() . ",";
+               $sql .=            "'" . pg_escape_string($file_obj->get_display_file_name()) . "',";
+               $sql .=            "'" . pg_escape_string($file_obj->get_server_file_name()) . "',";
+               $sql .=            "'" . pg_escape_string($file_obj->get_thumbnail_server_file_name()) . "',";
+               $sql .=            "'" . pg_escape_string($file_obj->get_rss_server_file_name()) . "',";
+               $sql .=            "'" . pg_escape_string($file_obj->get_mime_type()) . "',";
+               $sql .=            "" . $file_obj->get_file_size() . ",";
+               $sql .=            "" . $file_obj->get_entry_user_community_id() . ",";
+               $sql .=            "'" . $file_obj->get_entry_date() . "',";
+               $sql .=            "" . $file_obj->get_update_user_community_id() . ",";
+               $sql .=            "'" . $file_obj->get_update_date() . "'";
+               $sql .=  ")";
+
+               $ret = ACSDB::_do_query($sql);
+
+               return $ret;
+       }
+
+       /**
+        * ¥Õ¥¡¥¤¥ë¾ðÊ󹹿· (¶¦ÄÌ)
+        *
+        * @param  $target_file_id
+        * @param  $row
+        * @return $ret
+        */
+       static function update_file_info ($target_file_id, $row) {
+               $set_values = array();
+               foreach ($row as $key => $value) {
+                       $value_str = "";
+                       $value_str = " " . $key . " = '" . pg_escape_string($value) . "'";
+
+                       array_push($set_values, $value_str);
+               }
+
+               $sql  = "UPDATE file_info";
+               $sql .= " SET";
+               $sql .= implode(", ", $set_values);
+               $sql .= " WHERE file_id = " . $target_file_id;
+
+               $ret = ACSDB::_do_query($sql);
+
+               return $ret;
+       }
+
+       /**
+        * ¥Õ¥¡¥¤¥ë¾ðÊ󹹿·
+        * @param $file_obj
+        * @author akitsu 2005/2/10
+        */
+       static function update_all_file_info ($file_obj) {
+               /* ¹¹¿·¥Ç¡¼¥¿¥»¥Ã¥È */
+               $row = array();
+               $row['display_file_name']          = pg_escape_string($file_obj->get_display_file_name());
+               $row['server_file_name']           = pg_escape_string($file_obj->get_server_file_name());
+               $row['thumbnail_server_file_name'] = pg_escape_string($file_obj->get_thumbnail_server_file_name());
+               $row['mime_type']                  = pg_escape_string($file_obj->get_mime_type());
+               $row['file_size']                  = $file_obj->get_file_size();
+               $row['update_user_community_id']   = $file_obj->get_update_user_community_id();
+               $row['update_date']                = $file_obj->get_update_date();
+
+               /* ¹¹¿·½èÍý */
+               $ret = ACSFileInfoModel::update_file_info($file_obj->get_file_id(), $row);
+
+               return $ret;
+       }
+
+       /**
+        * É½¼¨ÍÑ¥Õ¥¡¥¤¥ë̾¤ò¹¹¿·
+        * ¥¨¥é¡¼½èÍý (ROLLBACK) ¤Ï¸Æ¤Ó¸µ¤Ç¹Ô¤¦¤³¤È
+        *
+        * @param  $target_file_id
+        * @param  $new_display_file_name
+        * @return $ret ¹¹¿··ë²Ì (true/false)
+        */
+       static function update_display_file_name ($target_file_id, $new_display_file_name) {
+               $row = array();
+
+               /* ¹¹¿·¥Ç¡¼¥¿¥»¥Ã¥È */
+               $row['display_file_name'] = $new_display_file_name;
+
+               /* ¹¹¿·½èÍý */
+               $ret = ACSFileInfoModel::update_file_info($target_file_id, $row);
+
+               return $ret;
+       }
+
+       /**
+        * ¥Õ¥¡¥¤¥ë¾ðÊóºï½ü
+        * @param $file_obj
+        */
+       static function delete_file_info ($file_obj) {
+               $sql  = "DELETE FROM file_info";
+               $sql .= " WHERE";                               
+               $sql .=           " file_id = " . $file_obj->get_file_id();
+               $sql .= " AND"; 
+               $sql .=           " owner_community_id = " . $file_obj->get_owner_community_id();
+               
+               $ret = ACSDB::_do_query($sql);
+
+               return $ret;
+       }
+}