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 | /** |
---|
8 | * 管理用アカウントが存在するかどうか |
---|
9 | * setup が完了しているかどうかの判定に使う |
---|
10 | * |
---|
11 | * @return bool 存在するかどうか |
---|
12 | */ |
---|
13 | function db_admin_user_exists() |
---|
14 | { |
---|
15 | $sql = 'SELECT c_admin_user_id FROM c_admin_user'; |
---|
16 | return (bool)db_get_one($sql); |
---|
17 | } |
---|
18 | |
---|
19 | /** |
---|
20 | * 配色設定を取得 |
---|
21 | * |
---|
22 | * @param int $c_config_color_id |
---|
23 | * @return array |
---|
24 | */ |
---|
25 | function db_etc_c_config_color($c_config_color_id = 1) |
---|
26 | { |
---|
27 | $sql = 'SELECT * FROM c_config_color WHERE c_config_color_id = ?'; |
---|
28 | $params = array(intval($c_config_color_id)); |
---|
29 | return db_get_row($sql, $params); |
---|
30 | } |
---|
31 | |
---|
32 | /** |
---|
33 | * 配色設定を全て取得 |
---|
34 | */ |
---|
35 | function db_etc_c_config_color_list() |
---|
36 | { |
---|
37 | $current = db_etc_c_config_color(); |
---|
38 | $preset = util_get_preset_color_list(); |
---|
39 | return array_merge(array($current), $preset); |
---|
40 | } |
---|
41 | |
---|
42 | /** |
---|
43 | * 配色設定を変更 |
---|
44 | * |
---|
45 | * @param array $color_list |
---|
46 | * @param int $c_config_color_id |
---|
47 | * @return bool |
---|
48 | */ |
---|
49 | function db_update_c_config_color($color_list, $c_config_color_id = 1) |
---|
50 | { |
---|
51 | $where = array('c_config_color_id' => intval($c_config_color_id)); |
---|
52 | return db_update('c_config_color', $color_list, $where); |
---|
53 | } |
---|
54 | |
---|
55 | /** |
---|
56 | * 携帯版配色設定を取得 |
---|
57 | * |
---|
58 | * @param int $c_config_color_ktai_id |
---|
59 | * @return array |
---|
60 | */ |
---|
61 | function db_etc_c_config_color_ktai($c_config_color_ktai_id = 1) |
---|
62 | { |
---|
63 | $sql = 'SELECT * FROM c_config_color_ktai WHERE c_config_color_ktai_id = ?'; |
---|
64 | $params = array(intval($c_config_color_ktai_id)); |
---|
65 | return db_get_row($sql, $params); |
---|
66 | } |
---|
67 | |
---|
68 | /** |
---|
69 | * 携帯版配色設定を全て取得 |
---|
70 | */ |
---|
71 | function db_etc_c_config_color_ktai_list() |
---|
72 | { |
---|
73 | $current = db_etc_c_config_color_ktai(); |
---|
74 | $preset = util_get_preset_color_list('ktai'); |
---|
75 | return array_merge(array($current), $preset); |
---|
76 | } |
---|
77 | |
---|
78 | /** |
---|
79 | * 携帯版配色設定を変更 |
---|
80 | * |
---|
81 | * @param array $color_list |
---|
82 | * @param int $c_config_color_ktai_id |
---|
83 | * @return bool |
---|
84 | */ |
---|
85 | function db_update_c_config_color_ktai($color_list, $c_config_color_ktai_id = 1) |
---|
86 | { |
---|
87 | $where = array('c_config_color_ktai_id' => intval($c_config_color_ktai_id)); |
---|
88 | return db_update('c_config_color_ktai', $color_list, $where); |
---|
89 | } |
---|
90 | |
---|
91 | |
---|
92 | /** |
---|
93 | * siteadminを取得 |
---|
94 | */ |
---|
95 | function p_common_c_siteadmin4target_pagename($target_pagename) |
---|
96 | { |
---|
97 | $sql = 'SELECT body FROM c_siteadmin WHERE target = ?'; |
---|
98 | $params = array($target_pagename); |
---|
99 | return db_get_one($sql, $params); |
---|
100 | } |
---|
101 | |
---|
102 | /** |
---|
103 | * 都道府県リストを取得 |
---|
104 | */ |
---|
105 | function p_regist_prof_c_profile_pref_list4null() |
---|
106 | { |
---|
107 | $hint = db_mysql_hint('FORCE INDEX (sort_order)'); |
---|
108 | $sql = 'SELECT c_profile_pref_id, pref FROM c_profile_pref' . $hint . |
---|
109 | ' ORDER BY sort_order'; |
---|
110 | return db_get_assoc($sql); |
---|
111 | } |
---|
112 | |
---|
113 | /** |
---|
114 | * 都道府県リスト(全データ)を取得 |
---|
115 | */ |
---|
116 | function db_etc_c_profile_pref_list() |
---|
117 | { |
---|
118 | $hint = db_mysql_hint('FORCE INDEX (sort_order)'); |
---|
119 | $sql = 'SELECT * FROM c_profile_pref' . $hint . ' ORDER BY sort_order'; |
---|
120 | return db_get_all($sql); |
---|
121 | } |
---|
122 | |
---|
123 | /** |
---|
124 | * IDから都道府県リスト(全データ)を取得 |
---|
125 | */ |
---|
126 | function db_etc_c_profile_pref4id($c_profile_pref_id) |
---|
127 | { |
---|
128 | $sql = 'SELECT * FROM c_profile_pref WHERE c_profile_pref_id = ?'; |
---|
129 | $params = array(intval($c_profile_pref_id)); |
---|
130 | return db_get_row($sql, $params); |
---|
131 | } |
---|
132 | |
---|
133 | /** |
---|
134 | * 特定の緯度経度の都道府県を取得 |
---|
135 | */ |
---|
136 | function db_etc_c_profile_pref_id4latlng($lat, $lng, $zoom) |
---|
137 | { |
---|
138 | if (!$lat || !$lng) { |
---|
139 | return false; |
---|
140 | } |
---|
141 | |
---|
142 | $sql = 'SELECT c_profile_pref_id FROM c_profile_pref' . |
---|
143 | ' WHERE map_latitude = ? AND map_longitude = ? AND map_zoom = ?'; |
---|
144 | $params = array($lat, $lng, intval($zoom)); |
---|
145 | return db_get_one($sql, $params); |
---|
146 | } |
---|
147 | |
---|
148 | /** |
---|
149 | * 秘密の質問を取得 |
---|
150 | */ |
---|
151 | function p_common_c_password_query4null() |
---|
152 | { |
---|
153 | $sql = 'SELECT c_password_query_id, c_password_query_question FROM c_password_query'; |
---|
154 | return db_get_assoc($sql); |
---|
155 | } |
---|
156 | |
---|
157 | |
---|
158 | function check_search_word($search_word) |
---|
159 | { |
---|
160 | $search_word = str_replace("_", "\_", $search_word); |
---|
161 | $search_word = str_replace("%", "\%", $search_word); |
---|
162 | return $search_word; |
---|
163 | } |
---|
164 | |
---|
165 | //--- |
---|
166 | |
---|
167 | function do_common_c_pc_address_pre4pc_address($pc_address) |
---|
168 | { |
---|
169 | $sql = 'SELECT * FROM c_pc_address_pre WHERE pc_address = ?'; |
---|
170 | $params = array($pc_address); |
---|
171 | return db_get_row($sql, $params); |
---|
172 | } |
---|
173 | |
---|
174 | function do_common_c_pc_address_pre4sid($sid) |
---|
175 | { |
---|
176 | $sql = 'SELECT * FROM c_pc_address_pre WHERE session = ?'; |
---|
177 | $params = array($sid); |
---|
178 | return db_get_row($sql, $params); |
---|
179 | } |
---|
180 | |
---|
181 | /** |
---|
182 | * パスワードが正しいかどうか認証する |
---|
183 | * |
---|
184 | * @param int $c_member_id |
---|
185 | * @param string $password 平文のパスワード |
---|
186 | * @return bool パスワードが正しいかどうか |
---|
187 | */ |
---|
188 | function db_common_authenticate_password($c_member_id, $password, $is_ktai = false) |
---|
189 | { |
---|
190 | $auth_config = get_auth_config($is_ktai); |
---|
191 | |
---|
192 | if (OPENPNE_AUTH_MODE == 'slavepne' || OPENPNE_AUTH_MODE == 'pneid') { |
---|
193 | $username = db_member_username4c_member_id($c_member_id, $is_ktai); |
---|
194 | } else { |
---|
195 | $auth_config['options']['usernamecol'] = 'c_member_id'; |
---|
196 | $username = $c_member_id; |
---|
197 | } |
---|
198 | |
---|
199 | $storage = Auth::_factory($auth_config['storage'],$auth_config['options']); |
---|
200 | if ($storage->fetchData($username, $password, false) === true) { |
---|
201 | return true; |
---|
202 | } |
---|
203 | return false; |
---|
204 | } |
---|
205 | |
---|
206 | /** |
---|
207 | * 日記ページのカレンダー生成 |
---|
208 | */ |
---|
209 | function db_common_diary_monthly_calendar($year, $month, $c_member_id, $u = null) |
---|
210 | { |
---|
211 | include_once 'Calendar/Month/Weekdays.php'; |
---|
212 | $Month = new Calendar_Month_Weekdays($year, $month, 0); |
---|
213 | $Month->build(); |
---|
214 | |
---|
215 | $is_diary_list = p_h_diary_is_diary_written_list4date($year, $month, $c_member_id, $u); |
---|
216 | |
---|
217 | $calendar = array(); |
---|
218 | $week = 0; |
---|
219 | while ($Day = $Month->fetch()) { |
---|
220 | if ($Day->isFirst()) $week++; |
---|
221 | |
---|
222 | if ($Day->isEmpty()) { |
---|
223 | $calendar['days'][$week][] = array(); |
---|
224 | } else { |
---|
225 | $day = $Day->thisDay(); |
---|
226 | $item = array( |
---|
227 | 'day' => $day, |
---|
228 | 'is_diary' => in_array($day, $is_diary_list), |
---|
229 | ); |
---|
230 | $calendar['days'][$week][] = $item; |
---|
231 | } |
---|
232 | } |
---|
233 | |
---|
234 | // 最初に日記を書いた日 |
---|
235 | $sql = 'SELECT r_datetime FROM c_diary WHERE c_member_id = ? ORDER BY r_datetime'; |
---|
236 | $first_datetime = db_get_one($sql, array(intval($c_member_id))); |
---|
237 | |
---|
238 | // 前の月、次の月 |
---|
239 | $prev_month = $Month->prevMonth('timestamp'); |
---|
240 | $this_month = $Month->thisMonth('timestamp'); |
---|
241 | $next_month = $Month->nextMonth('timestamp'); |
---|
242 | |
---|
243 | $ym = array( |
---|
244 | 'disp_year' => $year, |
---|
245 | 'disp_month' => $month, |
---|
246 | 'prev_year' => null, |
---|
247 | 'prev_month' => null, |
---|
248 | 'next_year' => null, |
---|
249 | 'next_month' => null, |
---|
250 | ); |
---|
251 | if ($first_datetime && strtotime($first_datetime) < $this_month) { |
---|
252 | $ym['prev_year'] = date('Y', $prev_month); |
---|
253 | $ym['prev_month'] = date('n', $prev_month); |
---|
254 | } |
---|
255 | if ($next_month < time()) { |
---|
256 | $ym['next_year'] = date('Y', $next_month); |
---|
257 | $ym['next_month'] = date('n', $next_month); |
---|
258 | } |
---|
259 | $calendar['ym'] = $ym; |
---|
260 | |
---|
261 | return $calendar; |
---|
262 | } |
---|
263 | |
---|
264 | /** |
---|
265 | * メッセージページのカレンダー生成 |
---|
266 | */ |
---|
267 | function db_common_message_monthly_calendar($u, $year, $month, $c_member_id, $box) |
---|
268 | { |
---|
269 | include_once 'Calendar/Month/Weekdays.php'; |
---|
270 | $Month = new Calendar_Month_Weekdays($year, $month, 0); |
---|
271 | $Month->build(); |
---|
272 | |
---|
273 | $is_message_list = db_message_is_message_list4date($u, $year, $month, $box); |
---|
274 | |
---|
275 | $calendar = array(); |
---|
276 | $week = 0; |
---|
277 | while ($Day = $Month->fetch()) { |
---|
278 | if ($Day->isFirst()) $week++; |
---|
279 | |
---|
280 | if ($Day->isEmpty()) { |
---|
281 | $calendar['days'][$week][] = array(); |
---|
282 | } else { |
---|
283 | $day = $Day->thisDay(); |
---|
284 | $item = array( |
---|
285 | 'day' => $day, |
---|
286 | 'is_message' => @in_array($day, $is_message_list), |
---|
287 | ); |
---|
288 | $calendar['days'][$week][] = $item; |
---|
289 | } |
---|
290 | } |
---|
291 | |
---|
292 | if ($box == 'inbox' || !$box) { |
---|
293 | $where = "c_member_id_to = ?". |
---|
294 | " AND is_deleted_to = 0" . |
---|
295 | " AND is_send = 1"; |
---|
296 | } elseif ($box == 'outbox') { |
---|
297 | $where = "c_member_id_from = ?". |
---|
298 | " AND is_deleted_from = 0" . |
---|
299 | " AND is_send = 1"; |
---|
300 | } else { |
---|
301 | return null; |
---|
302 | } |
---|
303 | |
---|
304 | // 最初にメッセージを書いた日 |
---|
305 | $sql = "SELECT r_datetime FROM c_message WHERE $where ORDER BY r_datetime"; |
---|
306 | $first_datetime = db_get_one($sql, array(intval($u))); |
---|
307 | |
---|
308 | // 前の月、次の月 |
---|
309 | $prev_month = $Month->prevMonth('timestamp'); |
---|
310 | $this_month = $Month->thisMonth('timestamp'); |
---|
311 | $next_month = $Month->nextMonth('timestamp'); |
---|
312 | |
---|
313 | $ym = array( |
---|
314 | 'disp_year' => $year, |
---|
315 | 'disp_month' => $month, |
---|
316 | 'prev_year' => null, |
---|
317 | 'prev_month' => null, |
---|
318 | 'next_year' => null, |
---|
319 | 'next_month' => null, |
---|
320 | ); |
---|
321 | if ($first_datetime && strtotime($first_datetime) < $this_month) { |
---|
322 | $ym['prev_year'] = date('Y', $prev_month); |
---|
323 | $ym['prev_month'] = date('n', $prev_month); |
---|
324 | } |
---|
325 | if ($next_month < time()) { |
---|
326 | $ym['next_year'] = date('Y', $next_month); |
---|
327 | $ym['next_month'] = date('n', $next_month); |
---|
328 | } |
---|
329 | $calendar['ym'] = $ym; |
---|
330 | |
---|
331 | return $calendar; |
---|
332 | } |
---|
333 | |
---|
334 | //--- |
---|
335 | |
---|
336 | /** |
---|
337 | * スキン画像のfilenameを取得 |
---|
338 | */ |
---|
339 | function db_get_c_skin_filename_list() |
---|
340 | { |
---|
341 | $sql = 'SELECT skinname, filename FROM c_skin_filename'; |
---|
342 | return db_get_assoc($sql); |
---|
343 | } |
---|
344 | |
---|
345 | function db_get_c_skin_filename4skinname($skinname) |
---|
346 | { |
---|
347 | static $table; |
---|
348 | if (!isset($table)) { |
---|
349 | $table = (array)db_get_c_skin_filename_list(); |
---|
350 | } |
---|
351 | |
---|
352 | if (empty($table[$skinname])) { |
---|
353 | return ''; |
---|
354 | } else { |
---|
355 | return $table[$skinname]; |
---|
356 | } |
---|
357 | } |
---|
358 | |
---|
359 | //--- |
---|
360 | |
---|
361 | /** |
---|
362 | * DBテンプレートを読み込み |
---|
363 | */ |
---|
364 | function db_get_c_template_source($name) |
---|
365 | { |
---|
366 | $sql = 'SELECT source FROM c_template WHERE name = ?'; |
---|
367 | $params = array(strval($name)); |
---|
368 | return db_get_one($sql, $params); |
---|
369 | } |
---|
370 | |
---|
371 | /** |
---|
372 | * ナビゲーション項目を取得 |
---|
373 | */ |
---|
374 | function db_get_c_navi($navi_type = 'h') |
---|
375 | { |
---|
376 | $sql = 'SELECT * FROM c_navi WHERE navi_type = ? ORDER BY sort_order'; |
---|
377 | $params = array(strval($navi_type)); |
---|
378 | return db_get_all($sql, $params); |
---|
379 | } |
---|
380 | |
---|
381 | //--- 退会 |
---|
382 | |
---|
383 | /** |
---|
384 | * SNSメンバー退会 |
---|
385 | * |
---|
386 | * @param int $c_member_id |
---|
387 | */ |
---|
388 | function db_common_delete_c_member($c_member_id) |
---|
389 | { |
---|
390 | //function cache削除 |
---|
391 | cache_drop_c_member($c_member_id); |
---|
392 | |
---|
393 | //// --- 双方向パターン |
---|
394 | $double = array(intval($c_member_id), intval($c_member_id)); |
---|
395 | |
---|
396 | // c_access_block |
---|
397 | $sql = 'DELETE FROM c_access_block WHERE c_member_id = ? OR c_member_id_block = ?'; |
---|
398 | db_query($sql, $double); |
---|
399 | |
---|
400 | // c_bookmark |
---|
401 | $sql = 'DELETE FROM c_bookmark WHERE c_member_id_from = ? OR c_member_id_to = ?'; |
---|
402 | db_query($sql, $double); |
---|
403 | |
---|
404 | // c_friend |
---|
405 | $sql = 'DELETE FROM c_friend WHERE c_member_id_from = ? OR c_member_id_to = ?'; |
---|
406 | db_query($sql, $double); |
---|
407 | |
---|
408 | // c_friend_confirm |
---|
409 | $sql = 'DELETE FROM c_friend_confirm WHERE c_member_id_from = ? OR c_member_id_to = ?'; |
---|
410 | db_query($sql, $double); |
---|
411 | |
---|
412 | |
---|
413 | //// --- 単一パターン |
---|
414 | $single = array(intval($c_member_id)); |
---|
415 | |
---|
416 | // c_ktai_address_pre |
---|
417 | $sql = 'DELETE FROM c_ktai_address_pre WHERE c_member_id = ?'; |
---|
418 | db_query($sql, $single); |
---|
419 | |
---|
420 | // c_member_ktai_pre |
---|
421 | $sql = 'DELETE FROM c_member_ktai_pre WHERE c_member_id_invite = ?'; |
---|
422 | db_query($sql, $single); |
---|
423 | |
---|
424 | // c_pc_address_pre |
---|
425 | $sql = 'DELETE FROM c_pc_address_pre WHERE c_member_id = ?'; |
---|
426 | db_query($sql, $single); |
---|
427 | |
---|
428 | // c_review_clip |
---|
429 | $sql = 'DELETE FROM c_review_clip WHERE c_member_id = ?'; |
---|
430 | db_query($sql, $single); |
---|
431 | |
---|
432 | // c_review_comment |
---|
433 | $sql = 'DELETE FROM c_review_comment WHERE c_member_id = ?'; |
---|
434 | db_query($sql, $single); |
---|
435 | |
---|
436 | // c_rss_cache |
---|
437 | $sql = 'DELETE FROM c_rss_cache WHERE c_member_id = ?'; |
---|
438 | db_query($sql, $single); |
---|
439 | |
---|
440 | // c_schedule |
---|
441 | $sql = 'DELETE FROM c_schedule WHERE c_member_id = ?'; |
---|
442 | db_query($sql, $single); |
---|
443 | |
---|
444 | |
---|
445 | //// --- 特殊パターン |
---|
446 | |
---|
447 | ///コミュニティ関連 |
---|
448 | // c_commu_member |
---|
449 | $sql = 'DELETE FROM c_commu_member WHERE c_member_id = ?'; |
---|
450 | db_query($sql, $single); |
---|
451 | |
---|
452 | // c_commu.c_member_id_sub_admin |
---|
453 | $data = array('c_member_id_sub_admin' => 0); |
---|
454 | $where = array('c_member_id_sub_admin' => intval($c_member_id)); |
---|
455 | db_update('c_commu', $data, $where); |
---|
456 | |
---|
457 | // c_commu (画像) |
---|
458 | $sql = 'SELECT * FROM c_commu WHERE c_member_id_admin = ?'; |
---|
459 | $c_commu_list = db_get_all($sql, $single, 'main'); |
---|
460 | |
---|
461 | foreach ($c_commu_list as $c_commu) { |
---|
462 | $sql = 'SELECT COUNT(*) FROM c_commu_member WHERE c_commu_id = ?'; |
---|
463 | $count = db_get_one($sql, array(intval($c_commu['c_commu_id'])), 'main'); |
---|
464 | if (!$count) { |
---|
465 | // コミュニティ削除 |
---|
466 | db_common_delete_c_commu($c_commu['c_commu_id'], $c_member_id); |
---|
467 | } else { |
---|
468 | // 管理者交代 |
---|
469 | // 副管理者がいる場合:副管理者に交代 |
---|
470 | // 副管理者がいない場合:参加日時が一番古い人に交代 |
---|
471 | $new_admin_id = 0; |
---|
472 | if (empty($c_commu['c_member_id_sub_admin'])) { |
---|
473 | $sql = 'SELECT c_member_id FROM c_commu_member WHERE c_commu_id = ?' |
---|
474 | . ' ORDER BY r_datetime'; |
---|
475 | $params = array(intval($c_commu['c_commu_id'])); |
---|
476 | $new_admin_id = db_get_one($sql, $params, 'main'); |
---|
477 | } else { |
---|
478 | $new_admin_id = $c_commu['c_member_id_sub_admin']; |
---|
479 | } |
---|
480 | do_common_send_mail_c_commu_admin_change($new_admin_id, $c_commu['c_commu_id']); |
---|
481 | |
---|
482 | $data = array('c_member_id_admin' => intval($new_admin_id), 'c_member_id_sub_admin' => 0); |
---|
483 | $where = array('c_commu_id' => intval($c_commu['c_commu_id'])); |
---|
484 | db_update('c_commu', $data, $where); |
---|
485 | } |
---|
486 | } |
---|
487 | |
---|
488 | // c_commu_admin_confirm |
---|
489 | $sql = 'DELETE FROM c_commu_admin_confirm WHERE c_member_id_to = ?'; |
---|
490 | db_query($sql, $single); |
---|
491 | |
---|
492 | // c_commu_member_confirm |
---|
493 | $sql = 'DELETE FROM c_commu_member_confirm WHERE c_member_id = ?'; |
---|
494 | db_query($sql, $single); |
---|
495 | |
---|
496 | // c_commu_review |
---|
497 | $sql = 'DELETE FROM c_commu_review WHERE c_member_id = ?'; |
---|
498 | db_query($sql, $single); |
---|
499 | |
---|
500 | // c_event_member |
---|
501 | $sql = 'DELETE FROM c_event_member WHERE c_member_id = ?'; |
---|
502 | db_query($sql, $single); |
---|
503 | |
---|
504 | |
---|
505 | ///日記関連 |
---|
506 | db_diary_delete4c_member_id($c_member_id); |
---|
507 | // c_diary (画像) |
---|
508 | $sql = 'SELECT * FROM c_diary WHERE c_member_id = ?'; |
---|
509 | $c_diary_list = db_get_all($sql, $single, 'main'); |
---|
510 | foreach ($c_diary_list as $c_diary) { |
---|
511 | db_image_data_delete($c_diary['image_filename_1'], $c_member_id); |
---|
512 | db_image_data_delete($c_diary['image_filename_2'], $c_member_id); |
---|
513 | db_image_data_delete($c_diary['image_filename_3'], $c_member_id); |
---|
514 | |
---|
515 | // アルバム |
---|
516 | db_album_delete4c_member_id($c_member_id); |
---|
517 | // c_diary_comment |
---|
518 | $sql = 'SELECT * FROM c_diary_comment WHERE c_diary_id = ?'; |
---|
519 | $params = array(intval($c_diary['c_diary_id'])); |
---|
520 | $c_diary_comment_list = db_get_all($sql, $params, 'main'); |
---|
521 | foreach ($c_diary_comment_list as $c_diary_comment) { |
---|
522 | db_image_data_delete($c_diary_comment['image_filename_1'], $c_member_id); |
---|
523 | db_image_data_delete($c_diary_comment['image_filename_2'], $c_member_id); |
---|
524 | db_image_data_delete($c_diary_comment['image_filename_3'], $c_member_id); |
---|
525 | } |
---|
526 | |
---|
527 | $sql = 'DELETE FROM c_diary_comment WHERE c_diary_id = ?'; |
---|
528 | db_query($sql, $params); |
---|
529 | } |
---|
530 | $sql = 'DELETE FROM c_diary WHERE c_member_id = ?'; |
---|
531 | db_query($sql, $single); |
---|
532 | |
---|
533 | ///アルバム関連 |
---|
534 | $sql = 'SELECT c_album_id FROM c_album WHERE c_member_id = ?'; |
---|
535 | $c_album_id_list = db_get_col($sql, $single, 'main'); |
---|
536 | foreach ($c_album_id_list as $c_album_id) { |
---|
537 | db_album_delete_c_album($c_album_id, $c_member_id); |
---|
538 | } |
---|
539 | |
---|
540 | ///メンバー関連 |
---|
541 | // c_member_pre |
---|
542 | $sql = 'SELECT * FROM c_member_pre WHERE c_member_id_invite = ?'; |
---|
543 | $c_member_pre_list = db_get_all($sql, $single, 'main'); |
---|
544 | foreach ($c_member_pre_list as $c_member_pre) { |
---|
545 | // c_member_pre_profile |
---|
546 | $sql = 'DELETE FROM c_member_pre_profile WHERE c_member_pre_id = ?'; |
---|
547 | $params = array(intval($c_member_pre['c_member_pre_id'])); |
---|
548 | db_query($sql, $params); |
---|
549 | } |
---|
550 | $sql = 'DELETE FROM c_member_pre WHERE c_member_id_invite = ?'; |
---|
551 | db_query($sql, $single); |
---|
552 | |
---|
553 | // c_member_profile |
---|
554 | $sql = 'DELETE FROM c_member_profile WHERE c_member_id = ?'; |
---|
555 | db_query($sql, $single); |
---|
556 | |
---|
557 | // c_member_secure |
---|
558 | $sql = 'DELETE FROM c_member_secure WHERE c_member_id = ?'; |
---|
559 | db_query($sql, $single); |
---|
560 | |
---|
561 | // c_member (画像) |
---|
562 | $sql = 'SELECT image_filename_1, image_filename_2, image_filename_3' . |
---|
563 | ' FROM c_member WHERE c_member_id = ?'; |
---|
564 | $c_member = db_get_row($sql, $single, 'main'); |
---|
565 | db_image_data_delete($c_member['image_filename_1'], $c_member_id); |
---|
566 | db_image_data_delete($c_member['image_filename_2'], $c_member_id); |
---|
567 | db_image_data_delete($c_member['image_filename_3'], $c_member_id); |
---|
568 | |
---|
569 | // c_member (メンバー情報) |
---|
570 | $sql = 'DELETE FROM c_member WHERE c_member_id = ?'; |
---|
571 | db_query($sql, $single); |
---|
572 | |
---|
573 | // c_username |
---|
574 | $sql = 'DELETE FROM c_username WHERE c_member_id = ?'; |
---|
575 | db_query($sql, $single); |
---|
576 | |
---|
577 | |
---|
578 | ///グループ関連 |
---|
579 | // biz_group_member |
---|
580 | $sql = 'DELETE FROM biz_group_member ' |
---|
581 | . 'WHERE c_member_id = ? '; |
---|
582 | db_query($sql, $single); |
---|
583 | |
---|
584 | $sql = 'SELECT * FROM biz_group ' |
---|
585 | . 'WHERE admin_id = ? '; |
---|
586 | $biz_group_list = db_get_all($sql, $single, 'main'); |
---|
587 | |
---|
588 | foreach ($biz_group_list as $biz_group) { |
---|
589 | // 管理者交代 |
---|
590 | // biz_group_member_idが一番早い人に交代 |
---|
591 | $sql = 'SELECT c_member_id FROM biz_group_member ' |
---|
592 | . 'WHERE biz_group_id = ? ' |
---|
593 | . 'ORDER BY biz_group_member_id '; |
---|
594 | $params = array(intval($biz_group['biz_group_id'])); |
---|
595 | $new_admin_id = db_get_one($sql, $params, 'main'); |
---|
596 | if ($new_admin_id) { |
---|
597 | if (USE_BIZ_DIR) { |
---|
598 | do_common_send_mail_biz_group_admin_change($new_admin_id, $biz_group['biz_group_id']); |
---|
599 | } |
---|
600 | $data = array('admin_id' => intval($new_admin_id)); |
---|
601 | $where = array('biz_group_id' => intval($biz_group['biz_group_id'])); |
---|
602 | db_update('biz_group', $data, $where); |
---|
603 | } else { |
---|
604 | require_once OPENPNE_MODULES_BIZ_DIR . '/biz/lib/mysql_functions.php'; |
---|
605 | biz_deleteGroup($biz_group['biz_group_id'], $c_member_id); |
---|
606 | } |
---|
607 | } |
---|
608 | // 画像容量管理テーブルから情報を削除 |
---|
609 | db_image_delete_c_image_size4c_member_id($c_member_id); |
---|
610 | } |
---|
611 | |
---|
612 | /** |
---|
613 | * コミュニティ削除 |
---|
614 | * 関連情報を合わせて削除する |
---|
615 | * |
---|
616 | * @param int $c_commu_id |
---|
617 | */ |
---|
618 | function db_common_delete_c_commu($c_commu_id) |
---|
619 | { |
---|
620 | //function cacheの削除 |
---|
621 | cache_drop_c_commu($c_commu_id); |
---|
622 | |
---|
623 | $single = array(intval($c_commu_id)); |
---|
624 | |
---|
625 | $sql = 'SELECT * FROM c_commu WHERE c_commu_id = ?'; |
---|
626 | $c_commu = db_get_row($sql, $single); |
---|
627 | |
---|
628 | // 画像削除 |
---|
629 | db_image_data_delete($c_commu['image_filename'], $c_commu['c_member_id_admin']); |
---|
630 | |
---|
631 | // c_commu_admin_confirm |
---|
632 | $sql = 'DELETE FROM c_commu_admin_confirm WHERE c_commu_id = ?'; |
---|
633 | db_query($sql, $single); |
---|
634 | |
---|
635 | // c_commu_member |
---|
636 | $sql = 'DELETE FROM c_commu_member WHERE c_commu_id = ?'; |
---|
637 | db_query($sql, $single); |
---|
638 | |
---|
639 | // c_commu_member_confirm |
---|
640 | $sql = 'DELETE FROM c_commu_member_confirm WHERE c_commu_id = ?'; |
---|
641 | db_query($sql, $single); |
---|
642 | |
---|
643 | // c_commu_review |
---|
644 | $sql = 'DELETE FROM c_commu_review WHERE c_commu_id = ?'; |
---|
645 | db_query($sql, $single); |
---|
646 | |
---|
647 | ///トピック関連 |
---|
648 | $sql = 'SELECT * FROM c_commu_topic WHERE c_commu_id = ?'; |
---|
649 | $topic_list = db_get_all($sql, $single); |
---|
650 | |
---|
651 | foreach ($topic_list as $topic) { |
---|
652 | // c_commu_topic_comment(画像) |
---|
653 | $sql = 'SELECT image_filename1, image_filename2, image_filename3, filename' . |
---|
654 | ' FROM c_commu_topic_comment WHERE c_commu_topic_id = ?'; |
---|
655 | $params = array(intval($topic['c_commu_topic_id'])); |
---|
656 | $topic_comment_list = db_get_all($sql, $params); |
---|
657 | foreach ($topic_comment_list as $topic_comment) { |
---|
658 | db_image_data_delete($topic_comment['image_filename1'], $c_member_id); |
---|
659 | db_image_data_delete($topic_comment['image_filename2'], $c_member_id); |
---|
660 | db_image_data_delete($topic_comment['image_filename3'], $c_member_id); |
---|
661 | db_file_delete_c_file($topic_comment['filename']); |
---|
662 | } |
---|
663 | |
---|
664 | $sql = 'DELETE FROM c_commu_topic_comment WHERE c_commu_topic_id = ?'; |
---|
665 | db_query($sql, $params); |
---|
666 | |
---|
667 | // c_event_member |
---|
668 | $sql = 'DELETE FROM c_event_member WHERE c_commu_topic_id = ?'; |
---|
669 | db_query($sql, $params); |
---|
670 | } |
---|
671 | |
---|
672 | // c_commu_topic |
---|
673 | $sql = 'DELETE FROM c_commu_topic WHERE c_commu_id = ?'; |
---|
674 | db_query($sql, $single); |
---|
675 | |
---|
676 | // c_commu |
---|
677 | $sql = 'DELETE FROM c_commu WHERE c_commu_id = ?'; |
---|
678 | db_query($sql, $single); |
---|
679 | } |
---|
680 | |
---|
681 | //--- ログ |
---|
682 | |
---|
683 | /** |
---|
684 | * バナーのクリックログを追加 |
---|
685 | */ |
---|
686 | function db_banner_insert_c_banner_log($c_banner_id, $c_member_id, $clicked_from) |
---|
687 | { |
---|
688 | $data = array( |
---|
689 | 'c_banner_id' => intval($c_banner_id), |
---|
690 | 'c_member_id' => intval($c_member_id), |
---|
691 | 'clicked_from' => $clicked_from, |
---|
692 | 'r_datetime' => db_now(), |
---|
693 | 'r_date' => db_now(), |
---|
694 | ); |
---|
695 | return db_insert('c_banner_log', $data); |
---|
696 | } |
---|
697 | |
---|
698 | /** |
---|
699 | * 検索ログを追加 |
---|
700 | */ |
---|
701 | function do_common_insert_search_log($c_member_id, $searchword) |
---|
702 | { |
---|
703 | if (!$searchword) return false; |
---|
704 | |
---|
705 | $data = array( |
---|
706 | 'c_member_id' => intval($c_member_id), |
---|
707 | 'searchword' => $searchword, |
---|
708 | 'r_datetime' => db_now(), |
---|
709 | ); |
---|
710 | return db_insert('c_searchlog', $data); |
---|
711 | } |
---|
712 | |
---|
713 | function p_access_log($c_member_id, $page_name, $ktai_flag = "0") |
---|
714 | { |
---|
715 | if (!$page_name) return false; |
---|
716 | |
---|
717 | $data = array( |
---|
718 | 'c_member_id' => intval($c_member_id), |
---|
719 | 'page_name' => $page_name, |
---|
720 | 'target_c_member_id' => 0, |
---|
721 | 'target_c_commu_id' => 0, |
---|
722 | 'target_c_commu_topic_id' => 0, |
---|
723 | 'target_c_diary_id' => 0, |
---|
724 | 'ktai_flag' => (bool)$ktai_flag, |
---|
725 | 'r_datetime' => db_now(), |
---|
726 | ); |
---|
727 | |
---|
728 | $target_ids = array( |
---|
729 | 'target_c_member_id', |
---|
730 | 'target_c_commu_id', |
---|
731 | 'target_c_commu_topic_id', |
---|
732 | 'target_c_diary_id', |
---|
733 | ); |
---|
734 | foreach ($target_ids as $key) { |
---|
735 | if (isset($_REQUEST[$key])) { |
---|
736 | $data[$key] = intval($_REQUEST[$key]); |
---|
737 | } |
---|
738 | } |
---|
739 | |
---|
740 | db_insert('c_access_log', $data); |
---|
741 | } |
---|
742 | |
---|
743 | /** |
---|
744 | * スキン画像のfilenameを登録 |
---|
745 | */ |
---|
746 | function db_replace_c_skin_filename($skinname, $filename) |
---|
747 | { |
---|
748 | db_delete_c_skin_filename($skinname); |
---|
749 | |
---|
750 | $data = array( |
---|
751 | 'skinname' => strval($skinname), |
---|
752 | 'filename' => strval($filename), |
---|
753 | ); |
---|
754 | return db_insert('c_skin_filename', $data); |
---|
755 | } |
---|
756 | |
---|
757 | /** |
---|
758 | * スキン画像を削除(デフォルトに戻す) |
---|
759 | */ |
---|
760 | function db_delete_c_skin_filename($skinname) |
---|
761 | { |
---|
762 | $sql = 'SELECT * FROM c_skin_filename WHERE skinname = ?'; |
---|
763 | $params = array(strval($skinname)); |
---|
764 | if ($skin_filename = db_get_row($sql, $params)) { |
---|
765 | db_image_data_delete($skin_filename['filename']); |
---|
766 | $sql = 'DELETE FROM c_skin_filename WHERE skinname = ?'; |
---|
767 | return db_query($sql, $params); |
---|
768 | } else { |
---|
769 | return false; |
---|
770 | } |
---|
771 | } |
---|
772 | |
---|
773 | /** |
---|
774 | * スキン画像全削除(デフォルトに戻す) |
---|
775 | */ |
---|
776 | function db_delete_all_c_skin_filename($theme = 'default') |
---|
777 | { |
---|
778 | $list = db_get_c_skin_filename_list(); |
---|
779 | foreach ($list as $filename) { |
---|
780 | db_image_data_delete($filename); |
---|
781 | } |
---|
782 | $sql = 'DELETE FROM c_skin_filename'; |
---|
783 | db_query($sql); |
---|
784 | |
---|
785 | db_insert_c_image4skin_filename('no_image', $theme); |
---|
786 | db_insert_c_image4skin_filename('no_logo', $theme); |
---|
787 | db_insert_c_image4skin_filename('no_logo_small', $theme); |
---|
788 | } |
---|
789 | |
---|
790 | /** |
---|
791 | * スキンファイルから画像をDB登録(no_imageをデフォルトに戻す) |
---|
792 | */ |
---|
793 | function db_insert_c_image4skin_filename($skinname, $skintheme = OPENPNE_SKIN_THEME) |
---|
794 | { |
---|
795 | if (!$skinname || preg_match('/[^\.\w]/', $skinname)) { |
---|
796 | return false; |
---|
797 | } |
---|
798 | $ext = 'gif'; |
---|
799 | $filename = $skinname . '.' . $ext; |
---|
800 | |
---|
801 | if (!$skintheme || preg_match('/[^\.\w]/', $skintheme)) { |
---|
802 | $skintheme = 'default'; |
---|
803 | } |
---|
804 | |
---|
805 | $path = sprintf('%s/skin/%s/img/%s', OPENPNE_PUBLIC_HTML_DIR, $skintheme, $filename); |
---|
806 | if (!is_readable($path)) { |
---|
807 | $path = sprintf('%s/skin/default/img/%s', OPENPNE_PUBLIC_HTML_DIR, $filename); |
---|
808 | } |
---|
809 | |
---|
810 | $filename = sprintf('skin_default_%s_%s.%s', $skinname, time(), $ext); |
---|
811 | $res = db_image_insert_c_image2($filename, $path); |
---|
812 | return db_replace_c_skin_filename($skinname, $filename); |
---|
813 | } |
---|
814 | |
---|
815 | //--- |
---|
816 | |
---|
817 | /** |
---|
818 | * DBテンプレートを削除 |
---|
819 | */ |
---|
820 | function db_delete_c_template($name) |
---|
821 | { |
---|
822 | $sql = 'DELETE FROM c_template WHERE name = ?'; |
---|
823 | $params = array(strval($name)); |
---|
824 | return db_query($sql, $params); |
---|
825 | } |
---|
826 | |
---|
827 | /** |
---|
828 | * DBテンプレートを登録 |
---|
829 | */ |
---|
830 | function db_replace_c_template($name, $source) |
---|
831 | { |
---|
832 | db_delete_c_template($name); |
---|
833 | |
---|
834 | $data = array( |
---|
835 | 'name' => strval($name), |
---|
836 | 'source' => strval($source), |
---|
837 | 'r_datetime' => db_now(), |
---|
838 | ); |
---|
839 | return db_insert('c_template', $data); |
---|
840 | } |
---|
841 | |
---|
842 | /** |
---|
843 | * ナビゲーション項目を削除 |
---|
844 | */ |
---|
845 | function db_delete_c_navi($navi_type, $sort_order) |
---|
846 | { |
---|
847 | $sql = 'DELETE FROM c_navi WHERE navi_type = ? AND sort_order = ?'; |
---|
848 | $params = array(strval($navi_type), intval($sort_order)); |
---|
849 | return db_query($sql, $params); |
---|
850 | } |
---|
851 | |
---|
852 | /** |
---|
853 | * ナビゲーション項目を登録 |
---|
854 | */ |
---|
855 | function db_replace_c_navi($navi_type, $sort_order, $url, $caption) |
---|
856 | { |
---|
857 | db_delete_c_navi($navi_type, $sort_order); |
---|
858 | |
---|
859 | $data = array( |
---|
860 | 'navi_type' => strval($navi_type), |
---|
861 | 'sort_order' => intval($sort_order), |
---|
862 | 'url' => strval($url), |
---|
863 | 'caption' => strval($caption), |
---|
864 | ); |
---|
865 | return db_insert('c_navi', $data); |
---|
866 | } |
---|
867 | |
---|
868 | //小窓の使用範囲をチェック |
---|
869 | function db_is_use_cmd($src, $type = '') |
---|
870 | { |
---|
871 | if (!$type) { // type の指定がない場合は小窓を有効にする |
---|
872 | return true; |
---|
873 | } |
---|
874 | |
---|
875 | $sql = 'SELECT * FROM c_cmd WHERE name = ?'; |
---|
876 | $params = array(strval($src)); |
---|
877 | $c_cmd = db_get_row($sql, $params); |
---|
878 | |
---|
879 | if (empty($c_cmd)) { |
---|
880 | return true; |
---|
881 | } |
---|
882 | |
---|
883 | $permit_list = db_get_permit_list(); |
---|
884 | |
---|
885 | foreach ($permit_list as $key => $name) { |
---|
886 | if (($c_cmd['permit'] & $key) |
---|
887 | && preg_match('/'.$c_cmd['name'].'/', $src) |
---|
888 | && $name == $type) { |
---|
889 | return true; |
---|
890 | } |
---|
891 | } |
---|
892 | |
---|
893 | return false; |
---|
894 | } |
---|
895 | |
---|
896 | //小窓の使用範囲のリスト |
---|
897 | function db_get_permit_list() |
---|
898 | { |
---|
899 | return array( |
---|
900 | '1' => 'community', |
---|
901 | '2' => 'diary', |
---|
902 | '4' => 'profile', |
---|
903 | '64' => 'message', |
---|
904 | '8' => 'side_banner', |
---|
905 | '16' => 'info', |
---|
906 | '32' => 'entry_point', |
---|
907 | ); |
---|
908 | } |
---|
909 | |
---|
910 | //小窓のurl2aを無効にするリスト |
---|
911 | function db_get_url2a_denied_list() |
---|
912 | { |
---|
913 | return array( |
---|
914 | 'side_banner', |
---|
915 | 'info', |
---|
916 | 'entry_point', |
---|
917 | ); |
---|
918 | } |
---|
919 | |
---|
920 | /** |
---|
921 | * カレンダーの祝日を取得する |
---|
922 | */ |
---|
923 | function db_c_holiday_list4date($m, $d) |
---|
924 | { |
---|
925 | $sql = 'SELECT name FROM c_holiday WHERE month = ? AND day = ?'; |
---|
926 | $params = array(intval($m), intval($d)); |
---|
927 | return db_get_col($sql, $params); |
---|
928 | } |
---|
929 | |
---|
930 | function db_decoration_enable_list() |
---|
931 | { |
---|
932 | $sql = 'SELECT tagname,is_enabled FROM c_config_decoration'; |
---|
933 | $decoration_enable_list = db_get_all($sql); |
---|
934 | |
---|
935 | $result = array(); |
---|
936 | foreach ($decoration_enable_list as $value) { |
---|
937 | $tagname = strtr($value['tagname'], ':', '_'); |
---|
938 | $result[$tagname] = $value['is_enabled']; |
---|
939 | } |
---|
940 | |
---|
941 | return $result; |
---|
942 | } |
---|
943 | |
---|
944 | function db_decoration_is_enabled4tagname($tagname) |
---|
945 | { |
---|
946 | $sql = 'SELECT is_enabled FROM c_config_decoration WHERE tagname = ?'; |
---|
947 | $is_enabled = db_get_one($sql, array($tagname)); |
---|
948 | |
---|
949 | return $is_enabled; |
---|
950 | } |
---|
951 | |
---|
952 | function db_etc_c_cmd_url4name($name) |
---|
953 | { |
---|
954 | $sql = 'SELECT c_cmd.url FROM c_cmd INNER JOIN c_cmd_caster USING(c_cmd_caster_id)' |
---|
955 | . ' WHERE name = ? ORDER BY c_cmd_caster.sort_order'; |
---|
956 | return db_get_one($sql, array($name)); |
---|
957 | } |
---|
958 | |
---|
959 | /** |
---|
960 | * DBから前回POST情報を取得する |
---|
961 | * |
---|
962 | * @param int $u |
---|
963 | * @return array |
---|
964 | */ |
---|
965 | function db_etc_get_post_info($u) |
---|
966 | { |
---|
967 | $result = db_member_c_member_config4c_member_id($u); |
---|
968 | return array($result['last_post_time'], $result['last_post_count']); |
---|
969 | } |
---|
970 | |
---|
971 | /** |
---|
972 | * DBにPOST情報を設定する |
---|
973 | * |
---|
974 | * @param int $u |
---|
975 | * @param int $post_time |
---|
976 | * @param int $post_count |
---|
977 | * |
---|
978 | */ |
---|
979 | function db_etc_set_post_info($u, $post_time, $post_count) |
---|
980 | { |
---|
981 | db_member_update_c_member_config($u, 'last_post_time', $post_time); |
---|
982 | db_member_update_c_member_config($u, 'last_post_count', $post_count); |
---|
983 | } |
---|
984 | |
---|
985 | /** |
---|
986 | * 指定メンバーの書き込み一括削除 |
---|
987 | * 以下の書き込みが削除対象 |
---|
988 | * ・日記、日記コメント |
---|
989 | * ・トピック・イベント、トピック・イベントのコメント |
---|
990 | * ・送信メッセージ |
---|
991 | * ・アルバム |
---|
992 | * |
---|
993 | * @param int $c_member_id |
---|
994 | */ |
---|
995 | function db_common_delete_c_member_write_all($c_member_id) |
---|
996 | { |
---|
997 | $params = array(intval($c_member_id)); |
---|
998 | |
---|
999 | ///コミュニティ関連 |
---|
1000 | // トピック・イベント削除 |
---|
1001 | $sql = 'SELECT c_commu_topic_id FROM c_commu_topic WHERE c_member_id = ?'; |
---|
1002 | $c_topic_list = db_get_all($sql, $params, 'main'); |
---|
1003 | foreach ($c_topic_list as $c_topic) { |
---|
1004 | // 削除 |
---|
1005 | db_commu_delete_c_commu_topic($c_topic['c_commu_topic_id']); |
---|
1006 | } |
---|
1007 | |
---|
1008 | // トピック・イベントのコメント削除 |
---|
1009 | $sql = 'SELECT c_commu_topic_comment_id FROM c_commu_topic_comment WHERE c_member_id = ?'; |
---|
1010 | $c_topic_comment_list = db_get_all($sql, $params, 'main'); |
---|
1011 | foreach ($c_topic_comment_list as $c_topic_comment) { |
---|
1012 | //削除 |
---|
1013 | db_commu_delete_c_commu_topic_comment($c_topic_comment['c_commu_topic_comment_id']); |
---|
1014 | } |
---|
1015 | |
---|
1016 | ///日記関連 |
---|
1017 | db_diary_delete4c_member_id($c_member_id); |
---|
1018 | |
---|
1019 | // 対象メンバーのコメントをすべて削除 |
---|
1020 | $sql = 'SELECT * FROM c_diary_comment WHERE c_member_id = ?'; |
---|
1021 | $c_diary_comment_list = db_get_all($sql, $params, 'main'); |
---|
1022 | foreach ($c_diary_comment_list as $c_diary_comment) { |
---|
1023 | db_image_data_delete($c_diary_comment['image_filename_1']); |
---|
1024 | db_image_data_delete($c_diary_comment['image_filename_2']); |
---|
1025 | db_image_data_delete($c_diary_comment['image_filename_3']); |
---|
1026 | } |
---|
1027 | $sql = 'DELETE FROM c_diary_comment WHERE c_member_id = ?'; |
---|
1028 | db_query($sql, $params); |
---|
1029 | // コメントが無ければ履歴削除 |
---|
1030 | $sql = 'DELETE FROM c_diary_comment_log' |
---|
1031 | . ' WHERE c_member_id = ?'; |
---|
1032 | db_query($sql, $params); |
---|
1033 | |
---|
1034 | // アルバム |
---|
1035 | db_album_delete4c_member_id($c_member_id); |
---|
1036 | |
---|
1037 | //送信メッセージ関連 |
---|
1038 | $sql = 'SELECT * FROM c_message WHERE c_member_id_from = ?'; |
---|
1039 | $c_message_list = db_get_all($sql, $params, 'main'); |
---|
1040 | foreach ($c_message_list as $c_message) { |
---|
1041 | db_image_data_delete($c_message['image_filename_1']); |
---|
1042 | db_image_data_delete($c_message['image_filename_2']); |
---|
1043 | db_image_data_delete($c_message['image_filename_3']); |
---|
1044 | } |
---|
1045 | $sql = 'DELETE FROM c_message WHERE c_member_id_from = ?'; |
---|
1046 | db_query($sql, $params); |
---|
1047 | } |
---|
1048 | |
---|
1049 | ?> |
---|