--- /dev/null
+<?php
+/**
+ * ¥Õ¥©¥ë¥À DB¥¢¥¯¥»¥¹
+ *
+ * @author kuwayama
+ * @version $Revision: 1.39 $ $Date: 2007/03/01 09:01:12 $
+ */
+require_once(ACS_CLASS_DIR . 'ACSFileInfoModel.class.php');
+require_once(ACS_CLASS_DIR . 'ACSFile.class.php');
+class ACSFolderModel
+{
+ /**
+ * ¥Õ¥©¥ë¥À¾ðÊó¼èÆÀ (¶¦ÄÌ)
+ *
+ * @param $sql_where
+ */
+ static function select_common_folder_row_array ($sql_where) {
+ $row_array = array();
+
+ $sql = "SELECT folder.*, open_level_master.*,";
+ $sql .= " ENTRY_USER_COMMUNITY.community_name AS entry_user_community_name,";
+ $sql .= " UPDATE_USER_COMMUNITY.community_name AS update_user_community_name";
+ $sql .= " FROM (folder LEFT OUTER JOIN open_level_master ON folder.open_level_code = open_level_master.open_level_code)";
+ $sql .= ", community AS ENTRY_USER_COMMUNITY, community AS UPDATE_USER_COMMUNITY";
+ $sql .= " WHERE ";
+ $sql .= " folder.entry_user_community_id = ENTRY_USER_COMMUNITY.community_id";
+ $sql .= " AND folder.update_user_community_id = UPDATE_USER_COMMUNITY.community_id";
+ if ($sql_where) {
+ $sql .= " AND " . $sql_where;
+ }
+ $sql .= " ORDER BY folder_name";
+
+ $row_array = ACSDB::_get_row_array($sql);
+
+ return $row_array;
+ }
+
+ /**
+ * ¥Õ¥©¥ë¥À±ÜÍ÷µö²Ä¥³¥ß¥å¥Ë¥Æ¥£¼èÆÀ (¶¦ÄÌ)
+ *
+ * @param $folder_id
+ */
+ static function select_trusted_community ($folder_id) {
+ $row_array = array();
+
+ $sql = "SELECT community.community_id, community.community_name, community.community_type_code, community_type_master.community_type_name";
+ $sql .= " FROM folder_trusted_community, community, community_type_master";
+ $sql .= " WHERE folder_trusted_community.folder_id = '$folder_id'";
+ $sql .= " AND folder_trusted_community.trusted_community_id = community.community_id";
+ $sql .= " AND community.community_type_code = community_type_master.community_type_code";
+ $sql .= " AND community.delete_flag != 't'";
+
+ $row_array = ACSDB::_get_row_array($sql);
+
+ return $row_array;
+ }
+
+ /**
+ * ¥×¥Ã¥ÈÀ襳¥ß¥å¥Ë¥Æ¥£¼èÆÀ (¶¦ÄÌ)
+ *
+ * @param $folder_id
+ */
+ static function select_put_community ($folder_id) {
+ $row_array = array();
+
+ $sql = "SELECT";
+ // community ¤«¤é¤Î¥«¥é¥à
+ $sql .= " community.community_id, community.community_name, community.community_type_code, community_type_master.community_type_name,";
+ // ¥×¥Ã¥ÈÀ襳¥ß¥å¥Ë¥Æ¥£¤ÎÁ´ÂΤθø³«ÈϰϾðÊó
+ $sql .= " contents.open_level_code, open_level_master.open_level_name,";
+ // folder ¤«¤é¤Î¥«¥é¥à¡Ê¥×¥Ã¥ÈÀè¥Õ¥©¥ë¥À¾ðÊó¡Ë
+ $sql .= " folder.folder_id as put_community_folder_id, folder.folder_name as put_community_folder_name";
+ $sql .= " FROM put_community, community, community_type_master, contents, contents_type_master, open_level_master, folder";
+ $sql .= " WHERE put_community.folder_id = '$folder_id'";
+ $sql .= " AND put_community.put_community_id = community.community_id";
+ $sql .= " AND community.community_type_code = community_type_master.community_type_code";
+ $sql .= " AND community.delete_flag != 't'";
+
+ // Á´ÂΤθø³«ÈÏ°Ï
+ $sql .= " AND community.community_id = contents.community_id";
+ $sql .= " AND contents.contents_type_code = contents_type_master.contents_type_code";
+ $sql .= " AND contents.open_level_code = open_level_master.open_level_code";
+ $sql .= " AND contents_type_master.contents_type_name = '".ACSMsg::get_mst('contents_type_master','D00')."'";
+
+ $sql .= " AND put_community.put_community_folder_id = folder.folder_id";
+
+ $row_array = ACSDB::_get_row_array($sql);
+
+ return $row_array;
+ }
+
+ /**
+ * ¥×¥Ã¥È¥Õ¥©¥ë¥À¼èÆÀ
+ *
+ * @param $community_id
+ * @param $folder_id
+ */
+ static function select_put_folder ($community_id, $folder_id) {
+ $row = array(); // select ·ë²Ì ¡ÊÏ¢ÁÛÇÛÎó¡Ë
+ $ret_array = array(); // folder_id ¤ÎÇÛÎó
+
+ $sql = "SELECT folder_id";
+ $sql .= " FROM put_community";
+ $sql .= " WHERE";
+ $sql .= " put_community.put_community_id = " . $community_id;
+ $sql .= " AND put_community.put_community_folder_id = " . $folder_id;
+
+ $row_array = ACSDB::_get_row_array($sql);
+ foreach ($row_array as $row) {
+ array_push($ret_array, $row['folder_id']);
+ }
+
+ return $ret_array;
+ }
+
+ /**
+ * ¥Õ¥©¥ë¥À¾ðÊ󹹿· (¶¦ÄÌ)
+ *
+ * @param $target_folder_id
+ * @param $row
+ * @return $ret ¹¹¿··ë²Ì (true/false)
+ */
+ static function update_folder ($target_folder_id, $row) {
+ $set_values = array();
+ foreach ($row as $key => $value) {
+ $value = pg_escape_string($value);
+ $value = ACSLib::get_sql_value($value);
+
+ $value_str = "";
+ $value_str = " " . $key . " = " . $value;
+
+ array_push($set_values, $value_str);
+ }
+
+ $sql = "UPDATE folder";
+ $sql .= " SET";
+ $sql .= implode(", ", $set_values);
+ $sql .= " WHERE folder_id = " . $target_folder_id;
+
+ $ret = ACSDB::_do_query($sql);
+
+ return $ret;
+ }
+
+ /**
+ * ¥Õ¥©¥ë¥À±ÜÍ÷µö²Ä¥³¥ß¥å¥Ë¥Æ¥£¹¹¿·¡Ê¶¦ÄÌ¡Ë
+ *
+ * @param $target_folder_id
+ * @param $trusted_community_id_array
+ * @return true / false
+ */
+ static function update_folder_trusted_community ($target_folder_id, $trusted_community_id_array) {
+ /* ºï½ü */
+ $sql = "DELETE FROM folder_trusted_community";
+ $sql .= " WHERE folder_id = '" . $target_folder_id . "'";
+ $ret = ACSDB::_do_query($sql);
+ if (!$ret) {
+ return $ret;
+ }
+
+ /* ÁÞÆþ */
+ if ($trusted_community_id_array) {
+ $ret = ACSFolderModel::insert_folder_trusted_community($target_folder_id, $trusted_community_id_array);
+ if (!$ret) {
+ return $ret;
+ }
+ }
+ return $ret;
+ }
+
+ /**
+ * ¥Õ¥©¥ë¥À¾ðÊ󹹿·
+ *
+ * @param $target_folder_id
+ * @param $input_folder_row
+ * @param $input_trusted_community_id_array
+ * @return true / false
+ */
+ static function update_folder_info ($target_folder_id, $input_folder_row, $input_trusted_community_id_array) {
+ $ret = ACSFolderModel::update_folder($target_folder_id, $input_folder_row);
+ if (!$ret) {
+ return $ret;
+ }
+
+ // ¥Õ¥©¥ë¥À±ÜÍ÷µö²Ä¥³¥ß¥å¥Ë¥Æ¥£¹¹¿·
+ $ret = ACSFolderModel::update_folder_trusted_community($target_folder_id, $input_trusted_community_id_array);
+ if (!$ret) {
+ return $ret;
+ }
+
+ return $ret;
+ }
+
+ /**
+ * ¥Õ¥©¥ë¥À¤Î¹¹¿·Æü¤ò¹¹¿·
+ * ¥¨¥é¡¼½èÍý (ROLLBACK) ¤Ï¸Æ¤Ó¸µ¤Ç¹Ô¤¦¤³¤È
+ *
+ * @param $target_folder_id
+ * @param $update_user_community_id
+ * @param $update_date
+ * @return $ret ¹¹¿··ë²Ì (true/false)
+ */
+ static function update_folder_update_date ($target_folder_id, $update_user_community_id, $update_date) {
+ $row = array();
+
+ /* ¹¹¿·¥Ç¡¼¥¿¥»¥Ã¥È */
+ $row['update_user_community_id'] = $update_user_community_id;
+ $row['update_date'] = $update_date;
+
+ /* ¹¹¿·½èÍý */
+ $ret = ACSFolderModel::update_folder($target_folder_id, $row);
+
+ return $ret;
+ }
+
+ /**
+ * ¥Õ¥©¥ë¥À̾¤ò¹¹¿·
+ * ¥¨¥é¡¼½èÍý (ROLLBACK) ¤Ï¸Æ¤Ó¸µ¤Ç¹Ô¤¦¤³¤È
+ *
+ * @param $target_folder_id
+ * @param $new_folder_name
+ * @return $ret ¹¹¿··ë²Ì (true/false)
+ */
+ static function update_folder_name ($target_folder_id, $new_folder_name) {
+ $row = array();
+
+ /* ¹¹¿·¥Ç¡¼¥¿¥»¥Ã¥È */
+ $row['folder_name'] = $new_folder_name;
+
+ /* ¹¹¿·½èÍý */
+ $ret = ACSFolderModel::update_folder($target_folder_id, $row);
+
+ return $ret;
+ }
+
+ /**
+ * ¥Õ¥©¥ë¥À°ÜÆ°
+ * ¿Æ¥Õ¥©¥ë¥ÀID¤ò¹¹¿·¤¹¤ë
+ * ¥¨¥é¡¼½èÍý (ROLLBACK) ¤Ï¸Æ¤Ó¸µ¤Ç¹Ô¤¦¤³¤È
+ *
+ * @param $target_folder_id
+ * @param $new_parent_folder_id
+ * @return $ret ¹¹¿··ë²Ì (true/false)
+ */
+ static function update_parent_folder_id ($target_folder_id, $new_parent_folder_id) {
+ $row = array();
+
+ /* ¹¹¿·¥Ç¡¼¥¿¥»¥Ã¥È */
+ $row['parent_folder_id'] = $new_parent_folder_id;
+
+ /* ¹¹¿·½èÍý */
+ $ret = ACSFolderModel::update_folder($target_folder_id, $row);
+
+ return $ret;
+ }
+
+ /**
+ * ¥Õ¥©¥ë¥À¸ø³«ÈϰϹ¹¿·
+ *
+ * @param $target_folder_id
+ * @param $new_open_level_code
+ * @param $new_trusted_community_row_array
+ * @return $ret ¹¹¿··ë²Ì (true/false)
+ */
+ static function update_folder_open_level_code ($target_folder_id, $new_open_level_code, $new_trusted_community_row_array) {
+ $row = array();
+
+ /* ¹¹¿·¥Ç¡¼¥¿¥»¥Ã¥È */
+ $row['open_level_code'] = $new_open_level_code;
+
+ /* ¥Õ¥©¥ë¥À¾ðÊ󹹿· */
+ $ret = ACSFolderModel::update_folder($target_folder_id, $row);
+ if (!$ret) {
+ return $ret;
+ }
+
+ /* ±ÜÍ÷µö²Ä¥³¥ß¥å¥Ë¥Æ¥£¹¹¿· */
+ if ($new_trusted_community_row_array) {
+ // ¹¹¿·¤¹¤ë±ÜÍ÷µö²Ä¥³¥ß¥å¥Ë¥Æ¥£ID¤ò¼èÆÀ
+ $trusted_community_id_array = array();
+ foreach ($new_trusted_community_row_array as $new_trusted_community_row) {
+ array_push($trusted_community_id_array, $new_trusted_community_row['community_id']);
+ }
+ }
+ $ret = ACSFolderModel::update_folder_trusted_community($target_folder_id, $trusted_community_id_array);
+ if (!$ret) {
+ return $ret;
+ }
+
+ return $ret;
+ }
+
+ /**
+ * ¥Õ¥©¥ë¥À¾ðÊó¼èÆÀ
+ *
+ * @param $folder_id
+ */
+ static function select_folder_row ($folder_id) {
+ $folder_id = pg_escape_string($folder_id);
+ $sql_where = "folder.folder_id = '$folder_id'";
+
+ $row_array = ACSFolderModel::select_common_folder_row_array($sql_where);
+ $row = $row_array[0];
+
+ /* ±ÜÍ÷µö²Ä¥³¥ß¥å¥Ë¥Æ¥£¤ò¥»¥Ã¥È */
+ $trusted_community_row_array = ACSFolderModel::select_trusted_community($folder_id);
+ $row['trusted_community_row_array'] = $trusted_community_row_array;
+
+ /* ¥×¥Ã¥ÈÀ襳¥ß¥å¥Ë¥Æ¥£¤ò¥»¥Ã¥È */
+ $put_community_row_array = ACSFolderModel::select_put_community($folder_id);
+ $row['put_community_row_array'] = $put_community_row_array;
+
+ return $row;
+ }
+
+ /**
+ * ¥µ¥Ö¥Õ¥©¥ë¥À¾ðÊó¼èÆÀ
+ *
+ * @param $folder_id
+ */
+ static function select_sub_folder_row_array ($parent_folder_id_array) {
+ $sub_folder_row_array = array();
+
+ $target_parent_folder_id = implode(", ", $parent_folder_id_array);
+ $sql_where = "folder.parent_folder_id IN (" . $target_parent_folder_id . ")";
+
+ $row_array = ACSFolderModel::select_common_folder_row_array($sql_where);
+
+ foreach ($row_array as $row) {
+ $row_tmp = array();
+ $trusted_community_row_array = array();
+
+ $row_tmp = $row;
+
+ /* ±ÜÍ÷µö²Ä¥³¥ß¥å¥Ë¥Æ¥£¤ò¥»¥Ã¥È */
+ $trusted_community_row_array = ACSFolderModel::select_trusted_community($row['folder_id']);
+ $row_tmp['trusted_community_row_array'] = $trusted_community_row_array;
+
+ /* ¥×¥Ã¥ÈÀ襳¥ß¥å¥Ë¥Æ¥£¤ò¥»¥Ã¥È */
+ $put_community_row_array = ACSFolderModel::select_put_community($row['folder_id']);
+ $row_tmp['put_community_row_array'] = $put_community_row_array;
+
+ array_push($sub_folder_row_array, $row_tmp);
+ }
+
+ return $sub_folder_row_array;
+ }
+
+ /**
+ * ¥³¥ß¥å¥Ë¥Æ¥£¤ÎÁ´¥Õ¥©¥ë¥À¼èÆÀ
+ *
+ * @param $community
+ */
+ static function select_all_community_folder_row_array ($community_id) {
+
+ static $cache_rows;
+
+ if (is_array($cache_rows[$community_id])) {
+ return $cache_rows[$community_id];
+ }
+
+ $all_community_row_array = array();
+ $sql_where = "folder.community_id = " . $community_id;
+
+ $row_array = ACSFolderModel::select_common_folder_row_array($sql_where);
+
+ foreach ($row_array as $row) {
+ $row_tmp = array();
+ $trusted_community_row_array = array();
+
+ $row_tmp = $row;
+
+ /* ±ÜÍ÷µö²Ä¥³¥ß¥å¥Ë¥Æ¥£¤ò¥»¥Ã¥È */
+ $trusted_community_row_array = ACSFolderModel::select_trusted_community($row['folder_id']);
+ $row_tmp['trusted_community_row_array'] = $trusted_community_row_array;
+
+ /* ¥×¥Ã¥ÈÀ襳¥ß¥å¥Ë¥Æ¥£¤ò¥»¥Ã¥È */
+ $put_community_row_array = ACSFolderModel::select_put_community($row['folder_id']);
+ $row_tmp['put_community_row_array'] = $put_community_row_array;
+
+ array_push($all_community_row_array, $row_tmp);
+ }
+
+ $cache_rows[$community_id] = $all_community_row_array;
+
+ return $all_community_row_array;
+ }
+
+ /**
+ * ¥Õ¥¡¥¤¥ë¾ðÊó¼èÆÀ
+ *
+ * @param $folder_id_array
+ */
+ static function select_folder_file_info_row_array ($folder_id_array) {
+ /* ¥Õ¥©¥ë¥À¥Õ¥¡¥¤¥ë¤ò¼èÆÀ */
+ $target_folder_id = implode(", ", $folder_id_array);
+ $folder_id_sql = "SELECT *";
+ $folder_id_sql .= " FROM folder_file";
+ $folder_id_sql .= " WHERE folder_id IN (" . $target_folder_id . ")";
+
+ $folder_file_row_array = ACSDB::_get_row_array($folder_id_sql);
+
+ /* ¥Õ¥©¥ë¥ÀID¤òÇÛÎó¤Ë³ÊǼ */
+ $file_id_array = array();
+ foreach ($folder_file_row_array as $folder_file_row) {
+ array_push($file_id_array, $folder_file_row['file_id']);
+ }
+
+ /* ¥Õ¥¡¥¤¥ë¾ðÊó¤ò¼èÆÀ */
+ if (count($file_id_array) > 0) {
+ $row_array = ACSFileInfoModel::select_file_info_row_array($file_id_array);
+ }
+ return $row_array;
+ }
+
+ /**
+ * ¥ë¡¼¥È¥Õ¥©¥ë¥À¼èÆÀ
+ *
+ * @param $community_id
+ */
+ static function select_root_folder_row ($community_id) {
+ $sql_where = "folder.community_id = " . $community_id;
+ $sql_where .= " AND folder.parent_folder_id IS NULL ";
+
+ $row_array = ACSFolderModel::select_common_folder_row_array($sql_where);
+
+ return $row_array[0];
+ }
+
+ /**
+ * ¥Õ¥©¥ë¥ÀÁÞÆþ
+ *
+ * @param $folder_row
+ * @param $trusted_community_id_array
+ * @return true / false
+ */
+ static function insert_folder ($folder_row, $trusted_community_id_array = '') {
+
+ ACSLib::escape_sql_array($folder_row);
+ ACSLib::get_sql_value_array($folder_row);
+
+ $sql = "INSERT INTO folder";
+ $sql .= " (folder_id, community_id, folder_name, comment, parent_folder_id, ";
+ $sql .= "entry_user_community_id, entry_date, ";
+ $sql .= "update_user_community_id, update_date, open_level_code)";
+ $sql .= " VALUES (";
+ $sql .= $folder_row['folder_id'] . ",";
+ $sql .= $folder_row['community_id'] . ",";
+ $sql .= $folder_row['folder_name'] . ",";
+ $sql .= $folder_row['comment'] . ",";
+ $sql .= $folder_row['parent_folder_id'] . ",";
+ $sql .= $folder_row['entry_user_community_id'] . ",";
+ $sql .= $folder_row['entry_date'] . ",";
+ $sql .= $folder_row['update_user_community_id'] . ",";
+ $sql .= $folder_row['update_date'] . ",";
+ $sql .= $folder_row['open_level_code'];
+ $sql .= ")";
+
+ $ret = ACSDB::_do_query($sql);
+ if (!$ret) {
+ return $ret;
+ }
+
+ // ¥Õ¥©¥ë¥À±ÜÍ÷µö²Ä¥³¥ß¥å¥Ë¥Æ¥£ÁÞÆþ
+ if ($trusted_community_id_array) {
+ $ret = ACSFolderModel::insert_folder_trusted_community($folder_row['folder_id'], $trusted_community_id_array);
+ if (!$ret) {
+ return $ret;
+ }
+ }
+ return $ret;
+ }
+
+ /**
+ * ¥Õ¥©¥ë¥À±ÜÍ÷µö²Ä¥³¥ß¥å¥Ë¥Æ¥£ÁÞÆþ¡Ê¶¦ÄÌ¡Ë
+ *
+ * @param $target_folder_id
+ * @param $trusted_community_id_array
+ * @return true / false
+ */
+ static function insert_folder_trusted_community ($target_folder_id, $trusted_community_id_array) {
+ foreach ($trusted_community_id_array as $trusted_community_id) {
+ $sql = "INSERT INTO folder_trusted_community";
+ $sql .= " (folder_id, trusted_community_id)";
+ $sql .= " VALUES (";
+ $sql .= $target_folder_id . ",";
+ $sql .= $trusted_community_id;
+ $sql .= ")";
+
+ $ret = ACSDB::_do_query($sql);
+ if (!$ret) {
+ return $ret;
+ }
+ }
+
+ return $ret;
+ }
+
+ /**
+ * ¥ë¡¼¥È¥Õ¥©¥ë¥ÀÁÞÆþ
+ *
+ * @param $community_id
+ */
+ static function insert_root_folder ($community_id) {
+ $folder_row = array();
+ $timestamp = ACSLib::convert_timestamp_to_pg_date();
+
+ $folder_row['folder_id'] = ACSDB::get_next_seq('folder_id_seq');
+ $folder_row['community_id'] = $community_id;
+ $folder_row['folder_name'] = ACSMsg::get_mdmsg(__FILE__,'M001');
+ $folder_row['comment'] = "";
+ $folder_row['parent_folder_id'] = "";
+ $folder_row['entry_user_community_id'] = $community_id;
+ $folder_row['entry_date'] = $timestamp;
+ $folder_row['update_user_community_id'] = $community_id;
+ $folder_row['update_date'] = $timestamp;
+ $folder_row['open_level_code'] = "";
+
+ ACSDB::_do_query("BEGIN");
+
+ $ret = ACSFolderModel::insert_folder($folder_row);
+ if (!$ret) {
+ ACSDB::_do_query("ROLLBACK");
+ return $ret;
+ }
+
+ ACSDB::_do_query("COMMIT");
+
+ return $ret;
+ }
+
+ /**
+ * ¥Õ¥©¥ë¥À¥Õ¥¡¥¤¥ëÁÞÆþ
+ *
+ * @param $foder_id
+ * @param $file_id
+ */
+ static function insert_folder_file($folder_id, $file_id) {
+ $sql = "INSERT INTO folder_file";
+ $sql .= " (folder_id, file_id)";
+ $sql .= " VALUES (" . $folder_id . "," . $file_id . ")";
+
+ $ret = ACSDB::_do_query($sql);
+
+ return $ret;
+ }
+
+ /**
+ * ¥Õ¥©¥ë¥À¥Õ¥¡¥¤¥ë¾ðÊ󹹿· (¶¦ÄÌ)
+ *
+ * @param $target_folder_id
+ * @param $target_folder_file_id
+ * @param $row
+ * @return $ret ¹¹¿··ë²Ì (true/false)
+ */
+ static function update_folder_file ($target_folder_id, $target_file_id, $row) {
+ $set_values = array();
+ foreach ($row as $key => $value) {
+ $value_str = "";
+ $value_str = " " . $key . " = '" . $value . "'";
+
+ array_push($set_values, $value_str);
+ }
+
+ $sql = "UPDATE folder_file";
+ $sql .= " SET";
+ $sql .= implode(", ", $set_values);
+ $sql .= " WHERE folder_id = " . $target_folder_id;
+ $sql .= " AND file_id = " . $target_file_id;
+
+ $ret = ACSDB::_do_query($sql);
+
+ return $ret;
+ }
+
+ /**
+ * ¥Õ¥©¥ë¥À¥Õ¥¡¥¤¥ë ¥Õ¥©¥ë¥À°ÜÆ°
+ *
+ * @param $target_folder_id
+ * @param $target_file_id
+ * @param $row
+ * @return $ret ¹¹¿··ë²Ì (true/false)
+ */
+ static function update_folder_file_folder_id($target_folder_id, $target_file_id, $new_folder_id) {
+ $row = array();
+
+ /* ¹¹¿·¥Ç¡¼¥¿¥»¥Ã¥È */
+ $row['folder_id'] = $new_folder_id;
+
+ /* ¹¹¿·½èÍý */
+ $ret = ACSFolderModel::update_folder_file($target_folder_id, $target_file_id, $row);
+
+ return $ret;
+ }
+
+ /**
+ * ¥Õ¥©¥ë¥ÀÁ´ÂΤθø³«ÈϰϼèÆÀ
+ *
+ * @param $community_id
+ * @return open_level_row
+ */
+ static function select_contents_folder_open_level_row ($community_id) {
+ $row = ACSCommunity::get_contents_row($community_id, ACSMsg::get_mst('contents_type_master','D31'));
+
+ // ±ÜÍ÷µö²Ä¥³¥ß¥å¥Ë¥Æ¥£¼èÆÀ
+ $row['trusted_community_row_array'] = ACSCommunity::get_contents_trusted_community_row_array($community_id, $row['contents_type_code'], $row['open_level_code']);
+
+ return $row;
+ }
+
+ /**
+ * ¥Õ¥©¥ë¥ÀÁ´ÂΤθø³«ÈÏ°Ï (¥Ç¥Õ¥©¥ë¥È) ¼èÆÀ
+ *
+ * @param $community_type_name
+ * @return open_level_row
+ */
+ static function select_folder_open_level_default_row ($community_type_name) {
+ $default_row = array();
+ $row_array = ACSAccessControl::get_open_level_master_row_array($community_type_name, ACSMsg::get_mst('contents_type_master','D31'));
+ foreach ($row_array as $row) {
+ if ($row['is_default']) {
+ $default_row = $row;
+ break;
+ }
+ }
+
+ return $default_row;
+ }
+
+ /**
+ * ¥×¥Ã¥ÈÀ襳¥ß¥å¥Ë¥Æ¥£ºï½ü
+ *
+ * @param $folder_id
+ * @param $put_community_id
+ */
+ static function delete_put_community ($folder_id, $put_community_id) {
+ $sql = "DELETE FROM put_community";
+ $sql .= " WHERE";
+ $sql .= " folder_id = '$folder_id'";
+ $sql .= " AND put_community_id = '$put_community_id'";
+
+ $ret = ACSDB::_do_query($sql);
+ return $ret;
+ }
+
+ /**
+ * ¥×¥Ã¥ÈÀ襳¥ß¥å¥Ë¥Æ¥£Á´¤Æºï½ü
+ *
+ * @param $put_community_id
+ * @param $put_community_folder_id
+ */
+ static function delete_all_put_community ($put_community_id, $put_community_folder_id) {
+ $sql = "DELETE FROM put_community";
+ $sql .= " WHERE";
+ $sql .= " put_community_id = '$put_community_id'";
+ $sql .= " AND put_community_folder_id = '$put_community_folder_id'";
+
+ $ret = ACSDB::_do_query($sql);
+ return $ret;
+ }
+
+ /**
+ * ¥Õ¥©¥ë¥À¤Î¥×¥Ã¥È¥³¥ß¥å¥Ë¥Æ¥£¾ðÊó¤òÁ´¤Æºï½ü
+ *
+ * @param $folder_id ¥×¥Ã¥È¾ðÊó
+ * @return true(À®¸ù) / false(¼ºÇÔ)
+ */
+ static function delete_put_community_by_folder_id($folder_id) {
+ $folder_id = pg_escape_string($folder_id);
+ $sql = "DELETE";
+ $sql .= " FROM put_community";
+ $sql .= " WHERE folder_id = '$folder_id'";
+
+ $ret = ACSDB::_do_query($sql);
+ return $ret;
+ }
+
+ /**
+ * ¥×¥Ã¥ÈÀ襳¥ß¥å¥Ë¥Æ¥£ÁÞÆþ
+ *
+ * @param $folder_id
+ * @param $put_community_id
+ * @param $put_community_folder_id
+ */
+ static function insert_put_community ($folder_id, $put_community_id, $put_community_folder_id) {
+ $sql = "INSERT INTO put_community";
+ $sql .= " (folder_id, put_community_id, put_community_folder_id)";
+ $sql .= " VALUES (";
+ $sql .= $folder_id . ",";
+ $sql .= $put_community_id . ",";
+ $sql .= $put_community_folder_id;
+ $sql .= ")";
+
+ $ret = ACSDB::_do_query($sql);
+ return $ret;
+ }
+
+ /**
+ * ¥Õ¥©¥ë¥Àºï½ü
+ * ÇÛ²¼¤Î¥Õ¥¡¥¤¥ë¤âºï½ü¤¹¤ë
+ *
+ * @param $folder_id_array
+ */
+ static function delete_folder ($folder_id_array) {
+ // folder_file ºï½ü
+ $ret = ACSFolderModel::delete_folder_file($folder_id_array);
+ if (!$ret) {
+ return false;
+ }
+
+ // folder ºï½ü
+ $target_parent_folder_id = implode(", ", $folder_id_array);
+
+ $sql = "DELETE FROM folder";
+ $sql .= " WHERE";
+ $sql .= " folder_id IN (" . $target_parent_folder_id . ")";
+
+ $ret = ACSDB::_do_query($sql);
+ if (!$ret) {
+ return false;
+ }
+
+ return $ret;
+ }
+ static function delete_folder_file ($folder_id_array) {
+ /* folder_file ¤Î file_info ¾ðÊó¼èÆÀ */
+ // folder_file ºï½üÁ°¤Ë¼èÆÀ¤¹¤ëɬÍפ¢¤ê
+ $file_info_row_array = ACSFolderModel::select_folder_file_info_row_array($folder_id_array);
+
+ /* folder_file ºï½ü */
+ $target_folder_id = implode(", ", $folder_id_array);
+ $sql = "DELETE FROM folder_file";
+ $sql .= " WHERE";
+ $sql .= " folder_id IN (" . $target_folder_id . ")";
+
+ $ret = ACSDB::_do_query($sql);
+ if (!$ret) {
+ return false;
+ }
+
+ /* ¥Õ¥¡¥¤¥ëºï½ü */
+ if ($file_info_row_array) {
+ foreach ($file_info_row_array as $file_info_row) {
+ $file_obj = new ACSFile($file_info_row);
+ $ret = $file_obj->delete_file();
+ if (!$ret) {
+ return false;
+ }
+ }
+ }
+
+ return $ret;
+ }
+}
+?>