PageRenderTime 98ms CodeModel.GetById 21ms RepoModel.GetById 1ms app.codeStats 0ms

/webapp/lib/db/album.php

https://github.com/openpne/OpenPNE2
PHP | 748 lines | 472 code | 118 blank | 158 comment | 60 complexity | 0302ccddb439617c47d3f0087c407c39 MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception
  1. <?php
  2. /**
  3. * @copyright 2005-2008 OpenPNE Project
  4. * @license http://www.php.net/license/3_01.txt PHP License 3.01
  5. */
  6. /**
  7. * db_album_public_flag_condition
  8. *
  9. * @param int $c_member_id target c_member_id
  10. * @param int $u viewer's c_member_id
  11. * @param string $force
  12. * @return string
  13. */
  14. function db_album_public_flag_condition($c_member_id, $u = null, $force = null)
  15. {
  16. $pf_cond = '';
  17. if ($force) {
  18. switch ($force) {
  19. case 'friend':
  20. $pf_cond = " AND c_album.public_flag <> 'private'";
  21. break;
  22. case 'private':
  23. $pf_cond = " AND c_album.public_flag = 'public'";
  24. break;
  25. }
  26. } else {
  27. if (!is_null($u) && $c_member_id != $u) {
  28. $is_friend = db_friend_is_friend($c_member_id, $u);
  29. if ($is_friend) {
  30. $pf_cond = " AND c_album.public_flag <> 'private'";
  31. } else {
  32. $pf_cond = " AND c_album.public_flag = 'public'";
  33. }
  34. }
  35. }
  36. return $pf_cond;
  37. }
  38. /**
  39. * アルバム情報を取得
  40. * @param int $c_album_id
  41. */
  42. function db_album_get_c_album4c_album_id($c_album_id)
  43. {
  44. $sql = 'SELECT * FROM c_album WHERE c_album_id = ?';
  45. $params = array(intval($c_album_id));
  46. $album = db_get_row($sql, $params);
  47. return $album;
  48. }
  49. /**
  50. * あるメンバーのアルバム一覧を取得
  51. *
  52. * @param int $c_member_id target_member_id
  53. * @param int $count
  54. * @param int $u viewer's member_id
  55. * @param string $force
  56. */
  57. function db_album_get_c_album_subject_list4c_member_id($c_member_id, $count= 10, $u = null, $force = null)
  58. {
  59. $pf_condition = db_album_public_flag_condition($c_member_id, $u, $force);
  60. $sql = 'SELECT * FROM c_album WHERE c_member_id = ? '
  61. . $pf_condition
  62. . ' ORDER BY u_datetime DESC';
  63. $params = array(intval($c_member_id));
  64. return db_get_all_limit($sql, 0, $count, $params);
  65. }
  66. /**
  67. * アルバム写真を取得
  68. * @param int $c_album_image_id
  69. */
  70. function db_album_image_get_c_album_image4id($c_album_image_id)
  71. {
  72. $sql = 'SELECT * FROM c_album_image WHERE c_album_image_id = ?';
  73. $params = array(intval($c_album_image_id));
  74. return db_get_row($sql,$params);
  75. }
  76. /**
  77. * c_album_idをキーとしてc_albumデータが存在するか判定
  78. * @param int $c_album_id
  79. * @return bool true,false
  80. */
  81. function p_common_is_active_c_album_id($c_album_id)
  82. {
  83. $sql = 'SELECT c_album_id FROM c_album WHERE c_album_id = ?';
  84. return (bool)db_get_one($sql, array(intval($c_album_id)));
  85. }
  86. /**
  87. * c_album_image_idをキーとしてc_album_imageデータが存在するか判定
  88. * @param int $c_album_image_id
  89. * @return bool true,false
  90. */
  91. function p_common_is_active_c_album_image_id($c_album_image_id)
  92. {
  93. $sql = 'SELECT c_album_image_id FROM c_album_image WHERE c_album_image_id = ?';
  94. $params = array(intval($c_album_image_id));
  95. return (bool)db_get_one($sql,$params);
  96. }
  97. /**
  98. * アルバムIDからアルバムに登録された写真を取得
  99. *
  100. * @param int $c_album_id
  101. * @param int $page
  102. * @param int $page_size
  103. * @param bool $desc 並び順を投稿日時の降順にするかどうか(0 or 1)
  104. * @return array
  105. */
  106. function db_album_c_album_image_list4c_album_id($c_album_id, $page = 1, $page_size = 10, $desc = 0)
  107. {
  108. $sql = 'SELECT * FROM c_album_image WHERE c_album_id = ? ORDER BY c_album_image_id';
  109. if ($desc) {
  110. $sql .= ' DESC';
  111. }
  112. $params = array(intval($c_album_id));
  113. $list = db_get_all_page($sql, $page, $page_size, $params);
  114. $sql = 'SELECT COUNT(c_album_image_id) FROM c_album_image WHERE c_album_id = ?';
  115. $params = array(intval($c_album_id));
  116. $total_num = db_get_one($sql, $params);
  117. if ($total_num != 0) {
  118. $total_page_num = ceil($total_num / $page_size);
  119. if ($page >= $total_page_num) {
  120. $next = false;
  121. } else {
  122. $next = true;
  123. }
  124. if ($page <= 1) {
  125. $prev = false;
  126. } else {
  127. $prev = true;
  128. }
  129. }
  130. return array($list, $prev, $next, $total_num);
  131. }
  132. /**
  133. * 指定したアルバム写真の前の写真IDを取得する
  134. *
  135. * @param int $c_album_id
  136. * @param int $c_album_image_id
  137. */
  138. function db_album_image_c_album_image_id_prev4c_album_id($c_album_id, $c_album_image_id)
  139. {
  140. $sql = 'SELECT c_album_image_id FROM c_album_image WHERE c_album_id = ? AND c_album_image_id < ? ORDER BY c_album_image_id DESC';
  141. $params = array(intval($c_album_id), intval($c_album_image_id));
  142. return db_get_one($sql, $params);
  143. }
  144. /**
  145. * 指定したアルバム写真の次の写真IDを取得する
  146. *
  147. * @param int $c_album_id
  148. * @param int $c_album_image_id
  149. */
  150. function db_album_image_c_album_image_id_next4c_album_id($c_album_id, $c_album_image_id)
  151. {
  152. $sql = 'SELECT c_album_image_id FROM c_album_image WHERE c_album_id = ? AND c_album_image_id > ? ORDER BY c_album_image_id';
  153. $params = array(intval($c_album_id), intval($c_album_image_id));
  154. return db_get_one($sql, $params);
  155. }
  156. /**
  157. * c_albumの閲覧権限チェック
  158. * @param int $c_album_id
  159. * @param int $c_member_id
  160. */
  161. function pne_check_album_public_flag($c_album_id, $c_member_id)
  162. {
  163. $c_album = db_album_get_c_album4c_album_id($c_album_id);
  164. if ($c_album['c_member_id'] == $c_member_id) {
  165. return true;
  166. }
  167. switch ($c_album['public_flag']) {
  168. case 'public':
  169. $allowed = true;
  170. break;
  171. case 'friend':
  172. $allowed = db_friend_is_friend($c_album['c_member_id'], $c_member_id);
  173. break;
  174. case 'private':
  175. default:
  176. $allowed = false;
  177. break;
  178. }
  179. return $allowed;
  180. }
  181. /**
  182. * 特定ユーザーのアルバムリスト取得
  183. *
  184. * @param int $c_member_id target_c_member_id
  185. * @param int $page_size
  186. * @param int $page
  187. * @param int $u viewer's c_member_id
  188. */
  189. function p_fh_album_list_fh_my_album_list4c_member_id($c_member_id, $page_size, $page, $u = null)
  190. {
  191. $pf_cond = db_album_public_flag_condition($c_member_id, $u);
  192. $sql = 'SELECT * FROM c_album WHERE c_member_id = ?'. $pf_cond.
  193. ' ORDER BY r_datetime DESC';
  194. $params = array(intval($c_member_id));
  195. $list = db_get_all_page($sql,$page, $page_size,$params);
  196. $sql = 'SELECT COUNT(c_album_id) FROM c_album WHERE c_member_id = ?' . $pf_cond;
  197. $total_num = db_get_one($sql, $params);
  198. if ($total_num != 0) {
  199. $total_page_num = ceil($total_num / $page_size);
  200. if ($page >= $total_page_num) {
  201. $next = false;
  202. } else {
  203. $next = true;
  204. }
  205. if ($page <= 1) {
  206. $prev = false;
  207. } else {
  208. $prev = true;
  209. }
  210. }
  211. return array($list, $prev, $next, $total_num);
  212. }
  213. /**
  214. * アルバム検索
  215. * 検索ポイントはアルバムタイトル・アルバム説明
  216. * 空白(全角半角問わない)でand検索可
  217. */
  218. function p_h_album_list_all_search_c_album4c_album($keyword, $page_size, $page, $c_member_id = '')
  219. {
  220. $params = array();
  221. $select = 'SELECT *';
  222. $from = ' FROM c_album';
  223. //自分のアルバムだけを対象にする事も出来る
  224. if ($c_member_id) {
  225. $where = ' WHERE c_member_id = ?';
  226. $params[] = intval($c_member_id);
  227. } else {
  228. $where = " WHERE public_flag = 'public'";
  229. }
  230. //and検索を実装
  231. //subject,body を検索
  232. if ($keyword) {
  233. //全角空白を半角に統一
  234. $keyword = str_replace(' ', ' ', $keyword);
  235. $keyword_list = explode(' ', $keyword);
  236. foreach ($keyword_list as $word) {
  237. $word = check_search_word($word);
  238. $where .= ' AND (subject LIKE ? OR description LIKE ?)';
  239. $params[] = '%'.$word.'%';
  240. $params[] = '%'.$word.'%';
  241. }
  242. }
  243. $order = " ORDER BY r_datetime DESC";
  244. $sql = $select . $from . $where . $order;
  245. $list = db_get_all_page($sql, $page, $page_size, $params);
  246. foreach($list as $key => $value) {
  247. $list[$key]['c_member'] = db_member_c_member_with_profile($value['c_member_id']);
  248. }
  249. $sql = 'SELECT COUNT(c_album_id)' . $from . $where;
  250. $total_num = db_get_one($sql, $params);
  251. if ($total_num != 0) {
  252. $total_page_num = ceil($total_num / $page_size);
  253. if ($page >= $total_page_num) {
  254. $next = false;
  255. } else {
  256. $next = true;
  257. }
  258. if ($page <= 1) {
  259. $prev = false;
  260. } else {
  261. $prev = true;
  262. }
  263. }
  264. return array($list , $prev , $next, $total_num);
  265. }
  266. /**
  267. * フレンドの最新アルバムリスト
  268. */
  269. function p_h_album_list_friend_h_album_list_friend4c_member_id($c_member_id, $page_size, $page)
  270. {
  271. $friends = db_friend_c_member_id_list($c_member_id, true);
  272. if (!$friends) {
  273. return array(array(), false, false, 0);
  274. }
  275. $pf_cond = db_album_public_flag_condition($c_member_id, $u);
  276. $from = "c_album, c_friend";
  277. $where = "c_friend.c_member_id_from = ?" .
  278. " AND c_album.c_member_id = c_friend.c_member_id_to" .
  279. ' AND public_flag <> \'private\'';
  280. $sql = "SELECT c_album.* FROM {$from} WHERE {$where}" .
  281. " ORDER BY c_album.r_datetime DESC";
  282. $params = array(intval($c_member_id));
  283. $lst = db_get_all_page($sql, $page, $page_size, $params);
  284. foreach ($lst as $key=>$value) {
  285. $lst[$key]['c_member'] = db_member_c_member4c_member_id($value['c_member_id']);
  286. }
  287. $sql = "SELECT count(*) FROM {$from} WHERE {$where}";
  288. $total_num = db_get_one($sql, $params);
  289. if ($total_num != 0) {
  290. $total_page_num = ceil($total_num / $page_size);
  291. if ($page >= $total_page_num) {
  292. $next = false;
  293. } else {
  294. $next = true;
  295. }
  296. if ($page <= 1) {
  297. $prev = false;
  298. } else {
  299. $prev = true;
  300. }
  301. }
  302. return array($lst, $prev, $next, $total_num);
  303. }
  304. /**
  305. * フレンド最新アルバムリスト取得
  306. * アルバム公開範囲を考慮
  307. *
  308. * @param int $c_member_id
  309. * @param int $limit
  310. * @return array
  311. */
  312. function p_h_home_c_album_friend_list4c_member_id($c_member_id, $limit)
  313. {
  314. $friends = db_friend_c_member_id_list($c_member_id, true);
  315. if (!$friends) {
  316. return array();
  317. }
  318. $ids = implode(',', array_map('intval', $friends));
  319. $sql = 'SELECT * FROM c_album' .
  320. ' WHERE c_member_id IN (' . $ids . ')' .
  321. ' AND public_flag <> \'private\'' .
  322. ' ORDER BY u_datetime DESC';
  323. $c_album_friend_list = db_get_all_limit($sql, 0, $limit);
  324. foreach ($c_album_friend_list as $key => $value) {
  325. $c_member = db_member_c_member4c_member_id_LIGHT($value['c_member_id']);
  326. $c_album_friend_list[$key]['nickname'] = $c_member['nickname'];
  327. }
  328. return $c_album_friend_list;
  329. }
  330. /**
  331. * アルバムを追加
  332. */
  333. function db_album_insert_c_album($c_member_id, $subject, $description,$public_flag)
  334. {
  335. // タイトルと本文中に書いてあるURLがSNS内でありセッションパラメータを含んでいた場合は削除
  336. $subject = db_ktai_delete_url_session_parameter($subject);
  337. $description = db_ktai_delete_url_session_parameter($description);
  338. $data = array(
  339. 'c_member_id' => intval($c_member_id),
  340. 'subject' => $subject,
  341. 'description' => $description,
  342. 'public_flag' => $public_flag,
  343. 'u_datetime' => db_now(),
  344. 'r_datetime' => db_now(),
  345. 'album_cover_image' => '',
  346. );
  347. return db_insert('c_album', $data);
  348. }
  349. function db_album_update_c_album($c_album_id, $subject, $description, $public_flag, $image_filename = null)
  350. {
  351. // タイトルと本文中に書いてあるURLがSNS内でありセッションパラメータを含んでいた場合は削除
  352. $subject = db_ktai_delete_url_session_parameter($subject);
  353. $description = db_ktai_delete_url_session_parameter($description);
  354. $data = array(
  355. 'subject' => $subject,
  356. 'description' => $description,
  357. 'public_flag' => $public_flag,
  358. 'u_datetime' => db_now(),
  359. );
  360. if ($image_filename) $data['album_cover_image'] = $image_filename;
  361. $where = array(
  362. 'c_album_id' => intval($c_album_id),
  363. );
  364. return db_update('c_album', $data, $where);
  365. }
  366. function db_album_update_c_album_image($c_album_image_id,$image_filename,$image_description,$filesize)
  367. {
  368. // 写真説明に書いてあるURLがSNS内でありセッションパラメータを含んでいた場合は削除
  369. $image_description = db_ktai_delete_url_session_parameter($image_description);
  370. $data = array(
  371. 'image_description' => $image_description,
  372. );
  373. if ($image_filename) {
  374. $data['image_filename'] = $image_filename;
  375. $data['filesize'] = $filesize;
  376. }
  377. $where = array(
  378. 'c_album_image_id' => intval($c_album_image_id),
  379. );
  380. return db_update('c_album_image', $data, $where);
  381. }
  382. /**
  383. * アルバムの情報を更新
  384. */
  385. function db_album_update_c_album_cover($c_album_id,$subject,$description,$album_cover_image,$public_flag)
  386. {
  387. // タイトルと本文中に書いてあるURLがSNS内でありセッションパラメータを含んでいた場合は削除
  388. $subject = db_ktai_delete_url_session_parameter($subject);
  389. $description = db_ktai_delete_url_session_parameter($description);
  390. $data = array(
  391. 'subject' => $subject,
  392. 'description' => $description,
  393. 'public_flag' => $public_flag,
  394. 'u_datetime' => db_now(),
  395. );
  396. if ($album_cover_image) $data['album_cover_image'] = $album_cover_image;
  397. $where = array(
  398. 'c_album_id' => intval($c_album_id),
  399. );
  400. return db_update('c_album', $data, $where);
  401. }
  402. /**
  403. * アルバムの表紙写真の名前を更新
  404. */
  405. function db_album_update_c_album_album_cover_image($c_album_id,$album_cover_image)
  406. {
  407. $data = array(
  408. 'album_cover_image' => $album_cover_image,
  409. 'u_datetime' => db_now(),
  410. );
  411. $where = array(
  412. 'c_album_id' => intval($c_album_id),
  413. );
  414. return db_update('c_album', $data, $where);
  415. }
  416. /**
  417. * アルバムの更新日時を更新
  418. * @param int $album_id
  419. */
  420. function db_album_update_c_album_u_datetime($album_id)
  421. {
  422. $data = array(
  423. 'u_datetime' => db_now(),
  424. );
  425. $where =array(
  426. 'c_album_id' => $album_id,
  427. );
  428. return db_update('c_album',$data,$where);
  429. }
  430. /**
  431. * c_album_imageの新規登録
  432. *
  433. * @param int $c_album_id
  434. * @param int $c_member_id
  435. * @param string $image_filename
  436. * @param string $image_description
  437. * @param int $filesize
  438. */
  439. function db_insert_c_album_image($c_album_id, $c_member_id, $image_filename, $image_description, $filesize = 0)
  440. {
  441. // 写真説明に書いてあるURLがSNS内でありセッションパラメータを含んでいた場合は削除
  442. $image_description = db_ktai_delete_url_session_parameter($image_description);
  443. $data = array(
  444. 'c_album_id' => $c_album_id,
  445. 'c_member_id' => $c_member_id,
  446. 'image_description' => $image_description,
  447. 'image_filename' => $image_filename,
  448. 'filesize' => $filesize,
  449. 'r_datetime' => db_now(),
  450. );
  451. $insert_id = db_insert('c_album_image', $data);
  452. if ($insert_id) {
  453. db_album_update_c_album_u_datetime($c_album_id);
  454. }
  455. return $insert_id;
  456. }
  457. /**
  458. * アルバムの削除、写真も削除
  459. * @param int $c_album_id
  460. */
  461. function db_album_delete_c_album($c_album_id)
  462. {
  463. $sql = 'SELECT image_filename FROM c_album_image WHERE c_album_id = ?';
  464. $filename_list = db_get_col($sql, array($c_album_id), 'main');
  465. $sql = 'SELECT * FROM c_album WHERE c_album_id = ?';
  466. $params = array(intval($c_album_id));
  467. $c_album = db_get_row($sql, $params, 'main');
  468. //アルバムに登録された写真
  469. foreach ($filename_list as $filename) {
  470. db_album_image_data_delete($filename, $c_album['c_member_id']);
  471. }
  472. // アルバムの表紙
  473. if ($c_album['album_cover_image']) {
  474. db_album_image_data_delete($c_album['album_cover_image'], $c_album['c_member_id'], 'other');
  475. }
  476. $params = array(intval($c_album_id));
  477. //アルバムと写真の関連
  478. $sql = 'DELETE FROM c_album_image WHERE c_album_id = ?';
  479. db_query($sql, $params);
  480. // アルバム
  481. $sql = 'DELETE FROM c_album WHERE c_album_id = ?';
  482. db_query($sql, $params);
  483. return;
  484. }
  485. /**
  486. * c_album_image_idをキーとしてc_album_imageテーブルからデータを削除
  487. */
  488. function db_album_delete_c_album_image($c_album_image_id, $c_member_id)
  489. {
  490. $sql = 'SELECT image_filename FROM c_album_image WHERE c_album_image_id = ?';
  491. $filename = db_get_one($sql, array($c_album_image_id), 'main');
  492. db_album_image_data_delete($filename, $c_member_id);
  493. $sql = 'DELETE FROM c_album_image WHERE c_album_image_id = ?';
  494. $params = array(intval($c_album_image_id));
  495. return db_query($sql, $params);
  496. }
  497. /**
  498. * アルバム用の写真を登録
  499. */
  500. function image_insert_c_image_album4tmp($prefix, $tmpfile, $c_member_id)
  501. {
  502. if (!$tmpfile || preg_match('/[^\.\w]/', $tmpfile)) return false;
  503. $path_parts = pathinfo($tmpfile);
  504. $ext = $path_parts['extension'];
  505. $ext = strtolower($ext);
  506. $allowed_ext = array('jpg', 'jpeg', 'gif', 'png');
  507. if (!in_array($ext, $allowed_ext)) {
  508. return false;
  509. }
  510. $filename = sprintf('%s_%s.%s', $prefix, time(), $ext);
  511. if (!OPENPNE_TMP_IMAGE_DB) {
  512. $img_tmp_dir_path = OPENPNE_VAR_DIR . '/tmp/';
  513. $filepath = $img_tmp_dir_path . basename($tmpfile);
  514. if (!is_readable($filepath)) {
  515. return false;
  516. }
  517. $filesize = filesize($filepath);
  518. $fp = fopen($filepath, 'rb');
  519. $bin = fread($fp, $filesize);
  520. fclose($fp);
  521. // 写真かどうかのチェック
  522. if (!@imagecreatefromstring($bin)) {
  523. return false;
  524. }
  525. } else {
  526. $c_tmp_image = db_image_c_tmp_image4filename($tmpfile);
  527. $bin = base64_decode($c_tmp_image['bin']);
  528. $filesize = strlen($bin);
  529. }
  530. if (db_image_insert_c_image_album($filename, $bin,$filesize, $c_member_id)) {
  531. return array($filename, $filesize);
  532. }
  533. return false;
  534. }
  535. function db_image_insert_c_image_album($filename, $bin, $filesize, $c_member_id, $type = '')
  536. {
  537. $db =& db_get_instance('image');
  538. $data = array(
  539. 'filename' => $filename,
  540. 'bin' => base64_encode($bin),
  541. 'type' => $type,
  542. 'r_datetime' => db_now(),
  543. );
  544. $result = $db->insert('c_image', $data, 'c_image_id');
  545. if ($result) {
  546. db_image_insert_c_image_size($filename, $c_member_id, $filesize);
  547. }
  548. return $result;
  549. }
  550. function db_album_image_data_delete($image_filename, $c_member_id, $category = '')
  551. {
  552. if (!$image_filename) return false;
  553. db_album_image_delete_c_image($image_filename, $c_member_id, $category);
  554. // cacheの削除
  555. image_cache_delete($image_filename);
  556. }
  557. function db_album_image_delete_c_image($filename, $c_member_id, $category)
  558. {
  559. $db =& db_get_instance('image');
  560. $sql = 'DELETE FROM c_image WHERE filename = ?';
  561. $params = array($filename);
  562. $db->query($sql, $params);
  563. $sql = 'DELETE FROM c_image_size WHERE filename = ?';
  564. $params = array($filename);
  565. $db->query($sql, $params);
  566. //function cacheの削除
  567. if (!$category) {
  568. $category = util_image_filename2category($filename);
  569. }
  570. pne_cache_drop('db_image_get_image_filesize', $c_member_id, $category);
  571. return true;
  572. }
  573. function db_image_is_c_album_image4filename($filename)
  574. {
  575. if (!$filename) return false;
  576. $db =& db_get_instance('image');
  577. $sql = 'SELECT c_image_id FROM c_image WHERE filename = ?';
  578. $params = array($filename);
  579. return (bool)$db->get_one($sql, $params);
  580. }
  581. /**
  582. * メンバーのすべてのアルバム写真のファイルサイズの合計を取得する
  583. *
  584. * @param int $c_member_id
  585. * @return int
  586. */
  587. function db_album_sum_filesize4c_member_id($c_member_id)
  588. {
  589. $sql = 'SELECT filesize FROM c_album_image WHERE c_member_id = ?';
  590. $list = db_get_col($sql, array($c_member_id));
  591. return array_sum($list);
  592. }
  593. /**
  594. * メンバーが写真を投稿可能かどうか
  595. *
  596. * メンバーのファイルサイズの合計が OPENPNE_ALBUM_LIMIT を超過していないかどうかを返す
  597. * $new_filesize を指定した場合は、メンバーのファイルサイズの合計に $new_filesize を
  598. * 加算したものが OPENPNE_ALBUM_LIMIT を超過していないかどうかを返す
  599. *
  600. * @param int $c_member_id
  601. * @param int $new_filesize
  602. * @return bool
  603. */
  604. function db_album_is_insertable4c_member_id($c_member_id, $new_filesize = 0)
  605. {
  606. if (!OPENPNE_ALBUM_LIMIT) {
  607. return true;
  608. }
  609. $size = db_album_sum_filesize4c_member_id($c_member_id) + $new_filesize;
  610. $mb = 1048576;
  611. if (OPENPNE_ALBUM_LIMIT * $mb < $size) {
  612. return false;
  613. }
  614. return true;
  615. }
  616. /**
  617. * メンバーのアルバムを削除する
  618. *
  619. * @param int $c_member_id
  620. */
  621. function db_album_delete4c_member_id($c_member_id)
  622. {
  623. $sql = 'SELECT c_album_id FROM c_album WHERE c_member_id = ?';
  624. $params = array(intval($c_member_id));
  625. $c_album_id_list = db_get_col($sql, $params, 'main');
  626. foreach ($c_album_id_list as $c_album_id) {
  627. db_album_delete_c_album($c_album_id);
  628. }
  629. }
  630. ?>