OSDN Git Service

add ACS webapp, sql, htdocs
[acs/acs.git] / webapp / lib / class / ACSBBSFile.class.php
diff --git a/webapp/lib/class/ACSBBSFile.class.php b/webapp/lib/class/ACSBBSFile.class.php
new file mode 100644 (file)
index 0000000..fce73f1
--- /dev/null
@@ -0,0 +1,146 @@
+<?php
+/**
+ * bbsÍÑ¥Õ¥¡¥¤¥ë¾ðÊó DB¥¢¥¯¥»¥¹
+ * bbs_file¤Èfile_info¤Î·ë¹ç¥Õ¥¡¥¤¥ë¾ðÊó
+ * ACSBBSFile.class.php
+ *
+ * bbs_file¥Æ¡¼¥Ö¥ë¤òManage¤¹¤ë
+ * @author  akitsu
+ * @version $Revision: 1.5 $
+ */
+class ACSBBSFile
+{
+       /** ACSBBSFile¤Î¥¯¥é¥¹
+       * @type ACSBBSFileModel */
+       var $bbs_file_obj;
+
+       /** ACSFile¤Î¥¯¥é¥¹
+       * @type ACSFileModel */
+       var $file_info;
+
+       /**
+        * BBS¥Õ¥¡¥¤¥ë¾ðÊó¼èÆÀ¡Ê£±·ï¡Ë
+        * ¤Ò¤È¤Ä¤ÎBBS¡Ê·Ç¼¨Èġˤ¬»ý¤ÄFile¾ðÊó
+        *
+        * @param $bbs_id
+        * @return bbs_file¤Èfile_info¤Î·ë¹ç¥Õ¥¡¥¤¥ë¾ðÊó
+        */
+       static function select_bbs_file_row ($bbs_id) {
+               $sql  = "SELECT bbs_file.*,";
+               $sql .=    " file_info.display_file_name AS save_file_name,file_info.server_file_name AS insystem_file_name,";
+               $sql .=    " file_info.mime_type AS file_kind"; //¼ïÎà
+               $sql .= " FROM file_info, bbs_file";
+               $sql .= " WHERE bbs_id = " . $bbs_id;
+               $sql .=   " AND file_info.file_id = bbs_file.file_id";
+               $sql .= " ORDER BY bbs_file.file_id ASC";
+
+               $result = ACSDB::_get_row($sql);
+               return $result;
+       }
+
+       /**
+        * BBS¥Õ¥¡¥¤¥ë¾ðÊó¼èÆÀ
+        *
+        * @param $file_obj 
+        */
+       static function get_bbs_file ($file_obj,$bbs_id) {
+               $sql  = "SELECT bbs_file.*,";
+               $sql .= " FROM bbs_file";
+
+               $ret = ACSDB::_do_query($sql);
+               if($ret){
+                       $bbs_file_obj = ACSBBSFileModel::get_bbs_file_info_instance($file_obj,$bbs_id);
+                       return $bbs_file_obj;
+               }else{
+                       return $ret;
+               }
+       }
+
+
+       /**
+        * BBS¥Õ¥¡¥¤¥ë¾ðÊóÄɲÃ
+        *
+        * @param $file_obj 
+        */
+       static function insert_bbs_file ($file_obj,$bbs_id) {
+               $id = $file_obj->get_file_id();
+               $sql  = "INSERT INTO bbs_file";
+               $sql .= " (file_id, bbs_id)";
+               $sql .= " VALUES (";
+               $sql .=            "" . $id . ",";
+               $sql .=            "" . $bbs_id;
+               $sql .=  ")";
+
+               $ret = ACSDB::_do_query($sql);
+
+               return $ret;
+       }
+
+       /**
+        * BBS¥Õ¥¡¥¤¥ë¾ðÊ󹹿· (Í×BEGIN, COMMIT)
+        *
+        * @param $file_obj 
+        */
+       static function update_bbs_file ($file_obj, $bbs_id) {
+               $file_id = pg_escape_string($file_obj->get_file_id());
+               $bbs_id = pg_escape_string($bbs_id);
+
+               // ºï½ü
+               $sql  = "DELETE";
+               $sql .= " FROM bbs_file";
+               $sql .= " WHERE bbs_id = '$bbs_id'";
+               $ret = ACSDB::_do_query($sql);
+               if (!$ret) {
+                       ACSDB::_do_query("ROLLBACK");
+                       return $ret;
+               }
+
+               // INSERT
+               $sql  = "INSERT INTO bbs_file";
+               $sql .= " (file_id, bbs_id)";
+               $sql .= " VALUES ('$file_id', '$bbs_id')";
+
+               $ret = ACSDB::_do_query($sql);
+               if (!$ret) {
+                       ACSDB::_do_query("ROLLBACK");
+                       return $ret;
+               }
+
+               return $ret;
+       }
+
+       /**
+        * BBS¥Õ¥¡¥¤¥ë¾ðÊóºï½ü
+        * 
+       * @param $file_id
+       * @param $bbs_id
+       */
+       static function delete_bbs_file ($file_id,$bbs_id) {
+               $sql  = "DELETE FROM bbs_file";
+               $sql .= " WHERE";
+               $sql .=          " file_id = " . $file_id;
+               $sql .= " AND";
+               $sql .=         " bbs_id = " . $bbs_id;
+
+               $ret = ACSDB::_do_query($sql);
+               return $ret;
+       }
+       
+       
+       /**
+        * image_url¤ò²Ã¹©¤¹¤ë
+        *
+        * @param bbs_id
+        * @param view_mode         É½¼¨¥â¡¼¥É : NULL, thumb, rss
+        */
+       static function get_image_url($bbs_id, $view_mode = '') {
+               $image_url  = SCRIPT_PATH . '?';
+               $image_url .= MODULE_ACCESSOR . '=Community';
+               $image_url .= '&' . ACTION_ACCESSOR . '=BBSImage';
+               $image_url .= '&id=' . $bbs_id;
+               $image_url .= '&mode=' . $view_mode;
+
+               return $image_url;
+       }
+
+}