ここの情報は古いです。ご理解頂いた上でお取り扱いください。

source: OpenPNE/branches/takanashi/prj_takanashi4/webapp/lib/db/etc.php @ 1191

Last change on this file since 1191 was 1191, checked in by takanashi, 14 years ago

#323確認用

File size: 21.0 KB
Line 
1<?php
2/**
3 * @copyright 2005-2006 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 */
13function 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 */
22function db_select_c_sns_config($target_id = 1)
23{
24    $sql = 'SELECT * FROM c_sns_config WHERE c_sns_config_id = ?';
25    $params = array(intval($target_id));
26    return db_get_row($sql, $params);
27}
28
29/**
30 * 配色設定を全て取得
31 */
32function db_select_c_sns_config_all()
33{
34    $sql = 'SELECT * FROM c_sns_config';
35    return db_get_all($sql);
36}
37
38/**
39 * siteadminを取得
40 */
41function p_common_c_siteadmin4target_pagename($target_pagename)
42{
43    $sql = 'SELECT body FROM c_siteadmin WHERE target = ?';
44    $params = array($target_pagename);
45    return db_get_one($sql, $params);
46}
47
48/**
49 * 都道府県リストを取得
50 */
51function p_regist_prof_c_profile_pref_list4null()
52{
53    $hint = db_mysql_hint('FORCE INDEX (sort_order)');
54    $sql = 'SELECT c_profile_pref_id, pref FROM c_profile_pref' . $hint .
55           ' ORDER BY sort_order';
56    return db_get_assoc($sql);
57}
58
59/**
60 * 都道府県リスト(全データ)を取得
61 */
62function db_etc_c_profile_pref_list()
63{
64    $hint = db_mysql_hint('FORCE INDEX (sort_order)');
65    $sql = 'SELECT * FROM c_profile_pref' . $hint . ' ORDER BY sort_order';
66    return db_get_all($sql);
67}
68
69/**
70 * IDから都道府県リスト(全データ)を取得
71 */
72function db_etc_c_profile_pref4id($c_profile_pref_id)
73{
74    $sql = 'SELECT * FROM c_profile_pref WHERE c_profile_pref_id = ?';
75    $params = array(intval($c_profile_pref_id));
76    return db_get_row($sql, $params);
77}
78
79/**
80 * 特定の緯度経度の都道府県を取得
81 */
82function db_etc_c_profile_pref_id4latlng($lat, $lng, $zoom)
83{
84    if (!$lat || !$lng) {
85        return false;
86    }
87
88    $sql = 'SELECT c_profile_pref_id FROM c_profile_pref' .
89        ' WHERE map_latitude = ? AND map_longitude = ? AND map_zoom = ?';
90    $params = array($lat, $lng, intval($zoom));
91    return db_get_one($sql, $params);
92}
93
94/**
95 * 秘密の質問を取得
96 */
97function p_common_c_password_query4null()
98{
99    $sql = 'SELECT c_password_query_id, c_password_query_question FROM c_password_query';
100    return db_get_assoc($sql);
101}
102
103
104function check_search_word($search_word)
105{
106    $search_word = str_replace("_", "\_", $search_word);
107    $search_word = str_replace("%", "\%", $search_word);
108    return $search_word;
109}
110
111//---
112
113function do_common_c_pc_address_pre4pc_address($pc_address)
114{
115    $sql = 'SELECT * FROM c_pc_address_pre WHERE pc_address = ?';
116    $params = array($pc_address);
117    return db_get_row($sql, $params);
118}
119
120function do_common_c_pc_address_pre4sid($sid)
121{
122    $sql = 'SELECT * FROM c_pc_address_pre WHERE session = ?';
123    $params = array($sid);
124    return db_get_row($sql, $params);
125}
126
127/**
128 * パスワードが正しいかどうか認証する
129 *
130 * @param int $c_member_id
131 * @param string $password 平文のパスワード
132 * @return bool パスワードが正しいかどうか
133 */
134function db_common_authenticate_password($c_member_id, $password)
135{
136    switch (LOGIN_NAME_TYPE) {
137        case 0:
138        $username = $c_member_id;
139        break;
140        default:
141        $username = db_member_username4c_member_id($c_member_id);
142        break;
143    }
144   
145    $auth_config = get_auth_config();
146    $storage = Auth::_factory($auth_config['storage'],$auth_config['options']);
147    return $storage->fetchData($username, $password, false);
148}
149
150/**
151 * 日記ページのカレンダー生成
152 */
153function db_common_diary_monthly_calendar($year, $month, $c_member_id, $u = null)
154{
155    include_once 'Calendar/Month/Weekdays.php';
156    $Month = new Calendar_Month_Weekdays($year, $month, 0);
157    $Month->build();
158
159    $is_diary_list = p_h_diary_is_diary_written_list4date($year, $month, $c_member_id, $u);
160
161    $calendar = array();
162    $week = 0;
163    while ($Day = $Month->fetch()) {
164        if ($Day->isFirst()) $week++;
165
166        if ($Day->isEmpty()) {
167            $calendar['days'][$week][] = array();
168        } else {
169            $day = $Day->thisDay();
170            $item = array(
171                'day' => $day,
172                'is_diary' => in_array($day, $is_diary_list),
173            );
174            $calendar['days'][$week][] = $item;
175        }
176    }
177
178    // 最初に日記を書いた日
179    $sql = 'SELECT r_datetime FROM c_diary WHERE c_member_id = ? ORDER BY r_datetime';
180    $first_datetime = db_get_one($sql, array(intval($c_member_id)));
181
182    // 前の月、次の月
183    $prev_month = $Month->prevMonth('timestamp');
184    $this_month = $Month->thisMonth('timestamp');
185    $next_month = $Month->nextMonth('timestamp');
186
187    $ym = array(
188        'disp_year'  => $year,
189        'disp_month' => $month,
190        'prev_year'  => null,
191        'prev_month' => null,
192        'next_year'  => null,
193        'next_month' => null,
194    );
195    if ($first_datetime && strtotime($first_datetime) < $this_month) {
196        $ym['prev_year'] = date('Y', $prev_month);
197        $ym['prev_month'] = date('n', $prev_month);
198    }
199    if ($next_month < time()) {
200        $ym['next_year'] = date('Y', $next_month);
201        $ym['next_month'] = date('n', $next_month);
202    }
203    $calendar['ym'] = $ym;
204
205    return $calendar;
206}
207
208/**
209 * メッセージページのカレンダー生成
210 */
211function db_common_message_monthly_calendar($u, $year, $month, $c_member_id, $box)
212{
213    include_once 'Calendar/Month/Weekdays.php';
214    $Month = new Calendar_Month_Weekdays($year, $month, 0);
215    $Month->build();
216
217    $is_message_list = db_message_is_message_list4date($u, $year, $month, $box);
218
219    $calendar = array();
220    $week = 0;
221    while ($Day = $Month->fetch()) {
222        if ($Day->isFirst()) $week++;
223
224        if ($Day->isEmpty()) {
225            $calendar['days'][$week][] = array();
226        } else {
227            $day = $Day->thisDay();
228            $item = array(
229                'day' => $day,
230                'is_message' => @in_array($day, $is_message_list),
231            );
232            $calendar['days'][$week][] = $item;
233        }
234    }
235
236    if ($box == 'inbox' || !$box) {
237        $where = "c_member_id_to = ?".
238                 " AND is_deleted_to = 0" .
239                 " AND is_send = 1";
240    } elseif ($box == 'outbox') {
241        $where = "c_member_id_from = ?".
242                 " AND is_deleted_from = 0" .
243                 " AND is_send = 1";
244    } else {
245        return null;
246    }
247
248    // 最初にメッセージを書いた日
249    $sql = "SELECT r_datetime FROM c_message WHERE $where ORDER BY r_datetime";
250    $first_datetime = db_get_one($sql, array(intval($u)));
251
252    // 前の月、次の月
253    $prev_month = $Month->prevMonth('timestamp');
254    $this_month = $Month->thisMonth('timestamp');
255    $next_month = $Month->nextMonth('timestamp');
256
257    $ym = array(
258        'disp_year'  => $year,
259        'disp_month' => $month,
260        'prev_year'  => null,
261        'prev_month' => null,
262        'next_year'  => null,
263        'next_month' => null,
264    );
265    if ($first_datetime && strtotime($first_datetime) < $this_month) {
266        $ym['prev_year'] = date('Y', $prev_month);
267        $ym['prev_month'] = date('n', $prev_month);
268    }
269    if ($next_month < time()) {
270        $ym['next_year'] = date('Y', $next_month);
271        $ym['next_month'] = date('n', $next_month);
272    }
273    $calendar['ym'] = $ym;
274
275    return $calendar;
276}
277
278//---
279
280/**
281 * スキン画像のfilenameを取得
282 */
283function db_get_c_skin_filename_list()
284{
285    $sql = 'SELECT skinname, filename FROM c_skin_filename';
286    return db_get_assoc($sql);
287}
288
289function db_get_c_skin_filename4skinname($skinname)
290{
291    static $table;
292    if (!isset($table)) {
293        $table = (array)db_get_c_skin_filename_list();
294    }
295
296    if (empty($table[$skinname])) {
297        return '';
298    } else {
299        return $table[$skinname];
300    }
301}
302
303//---
304
305/**
306 * DBテンプレートを読み込み
307 */
308function db_get_c_template_source($name)
309{
310    $sql = 'SELECT source FROM c_template WHERE name = ?';
311    $params = array(strval($name));
312    return db_get_one($sql, $params);
313}
314
315/**
316 * ナビゲーション項目を取得
317 */
318function db_get_c_navi($navi_type = 'h')
319{
320    $sql = 'SELECT * FROM c_navi WHERE navi_type = ? ORDER BY sort_order';
321    $params = array(strval($navi_type));
322    return db_get_all($sql, $params);
323}
324
325?>
326<?php
327/**
328 * @copyright 2005-2006 OpenPNE Project
329 * @license   http://www.php.net/license/3_01.txt PHP License 3.01
330 */
331
332//--- 退会
333
334/**
335 * SNSメンバー退会
336 *
337 * @param int $c_member_id
338 */
339function db_common_delete_c_member($c_member_id)
340{
341    //function cache削除
342    cache_drop_c_member($c_member_id);
343
344    //// --- 双方向パターン
345    $double = array(intval($c_member_id), intval($c_member_id));
346
347    // c_access_block
348    $sql = 'DELETE FROM c_access_block WHERE c_member_id = ? OR c_member_id_block = ?';
349    db_query($sql, $double);
350
351    // c_bookmark
352    $sql = 'DELETE FROM c_bookmark WHERE c_member_id_from = ? OR c_member_id_to = ?';
353    db_query($sql, $double);
354
355    // c_friend
356    $sql = 'DELETE FROM c_friend WHERE c_member_id_from = ? OR c_member_id_to = ?';
357    db_query($sql, $double);
358
359    // c_friend_confirm
360    $sql = 'DELETE FROM c_friend_confirm WHERE c_member_id_from = ? OR c_member_id_to = ?';
361    db_query($sql, $double);
362
363
364    //// --- 単一パターン
365    $single = array(intval($c_member_id));
366
367    // c_ktai_address_pre
368    $sql = 'DELETE FROM c_ktai_address_pre WHERE c_member_id = ?';
369    db_query($sql, $single);
370
371    // c_member_ktai_pre
372    $sql = 'DELETE FROM c_member_ktai_pre WHERE c_member_id_invite = ?';
373    db_query($sql, $single);
374
375    // c_pc_address_pre
376    $sql = 'DELETE FROM c_pc_address_pre WHERE c_member_id = ?';
377    db_query($sql, $single);
378
379    // c_review_clip
380    $sql = 'DELETE FROM c_review_clip WHERE c_member_id = ?';
381    db_query($sql, $single);
382
383    // c_review_comment
384    $sql = 'DELETE FROM c_review_comment WHERE c_member_id = ?';
385    db_query($sql, $single);
386
387    // c_rss_cache
388    $sql = 'DELETE FROM c_rss_cache WHERE c_member_id = ?';
389    db_query($sql, $single);
390
391    // c_schedule
392    $sql = 'DELETE FROM c_schedule WHERE c_member_id = ?';
393    db_query($sql, $single);
394
395
396    //// --- 特殊パターン
397
398    ///コミュニティ関連
399    // c_commu_member
400    $sql = 'DELETE FROM c_commu_member WHERE c_member_id = ?';
401    db_query($sql, $single);
402
403    // c_commu (画像)
404    $sql = 'SELECT * FROM c_commu WHERE c_member_id_admin = ?';
405    $c_commu_list = db_get_all($sql, $single);
406
407    foreach ($c_commu_list as $c_commu) {
408        if (!_db_count_c_commu_member_list4c_commu_id($c_commu['c_commu_id'])) {
409            // コミュニティ削除
410            db_common_delete_c_commu($c_commu['c_commu_id']);
411        } else {
412            // 管理者交代
413            // 参加日時が一番古い人
414            $sql = 'SELECT c_member_id FROM c_commu_member WHERE c_commu_id = ?'.
415                ' ORDER BY r_datetime';
416            $params = array(intval($c_commu['c_commu_id']));
417            $new_admin_id = db_get_one($sql, $params);
418
419            $data = array('c_member_id_admin' => intval($new_admin_id));
420            $where = array('c_commu_id' => intval($c_commu['c_commu_id']));
421            db_update('c_commu', $data, $where);
422        }
423    }
424
425    // c_commu_admin_confirm
426    $sql = 'DELETE FROM c_commu_admin_confirm WHERE c_member_id_to = ?';
427    db_query($sql, $single);
428
429    // c_commu_member_confirm
430    $sql = 'DELETE FROM c_commu_member_confirm WHERE c_member_id = ?';
431    db_query($sql, $single);
432
433    // c_commu_review
434    $sql = 'DELETE FROM c_commu_review WHERE c_member_id = ?';
435    db_query($sql, $single);
436
437    // c_event_member
438    $sql = 'DELETE FROM c_event_member WHERE c_member_id = ?';
439    db_query($sql, $single);
440
441
442    ///日記関連
443    // c_diary (画像)
444    $sql = 'SELECT * FROM c_diary WHERE c_member_id = ?';
445    $c_diary_list = db_get_all($sql, $single);
446    foreach ($c_diary_list as $c_diary) {
447        image_data_delete($c_diary['image_filename_1']);
448        image_data_delete($c_diary['image_filename_2']);
449        image_data_delete($c_diary['image_filename_3']);
450
451        // c_diary_comment
452        $sql = 'SELECT * FROM c_diary_comment WHERE c_diary_id = ?';
453        $params = array(intval($c_diary['c_diary_id']));
454        $c_diary_comment_list = db_get_all($sql, $params);
455        foreach ($c_diary_comment_list as $c_diary_comment) {
456            image_data_delete($c_diary_comment['image_filename_1']);
457            image_data_delete($c_diary_comment['image_filename_2']);
458            image_data_delete($c_diary_comment['image_filename_3']);
459        }
460
461        $sql = 'DELETE FROM c_diary_comment WHERE c_diary_id = ?';
462        db_query($sql, $params);
463    }
464    $sql = 'DELETE FROM c_diary WHERE c_member_id = ?';
465    db_query($sql, $single);
466
467
468    ///メンバー関連
469    // c_member_pre
470    $sql = 'SELECT * FROM c_member_pre WHERE c_member_id_invite = ?';
471    $c_member_pre_list = db_get_all($sql, $single);
472    foreach ($c_member_pre_list as $c_member_pre) {
473        // c_member_pre_profile
474        $sql = 'DELETE FROM c_member_pre_profile WHERE c_member_pre_id = ?';
475        $params = array(intval($c_member_pre['c_member_pre_id']));
476        db_query($sql, $params);
477    }
478    $sql = 'DELETE FROM c_member_pre WHERE c_member_id_invite = ?';
479    db_query($sql, $single);
480
481    // c_member_profile
482    $sql = 'DELETE FROM c_member_profile WHERE c_member_id = ?';
483    db_query($sql, $single);
484
485    // c_member_secure
486    $sql = 'DELETE FROM c_member_secure WHERE c_member_id = ?';
487    db_query($sql, $single);
488
489    // c_member (画像)
490    $sql = 'SELECT image_filename_1, image_filename_2, image_filename_3' .
491        ' FROM c_member WHERE c_member_id = ?';
492    $c_member = db_get_row($sql, $single);
493    image_data_delete($c_member['image_filename_1']);
494    image_data_delete($c_member['image_filename_2']);
495    image_data_delete($c_member['image_filename_3']);
496
497    $sql = 'DELETE FROM c_member WHERE c_member_id = ?';
498    db_query($sql, $single);
499   
500    $sql = 'DELETE FROM c_username WHERE c_member_id = ?';
501    db_query($sql, $single);
502}
503
504/**
505 * コミュニティ削除
506 * 関連情報を合わせて削除する
507 *
508 * @param int $c_commu_id
509 */
510function db_common_delete_c_commu($c_commu_id)
511{
512    //function cacheの削除
513    cache_drop_c_commu($c_commu_id);
514
515    $single = array(intval($c_commu_id));
516
517    $sql = 'SELECT * FROM c_commu WHERE c_commu_id = ?';
518    $c_commu = db_get_row($sql, $single);
519
520    // 画像削除
521    image_data_delete($c_commu['image_filename']);
522
523    // c_commu_admin_confirm
524    $sql = 'DELETE FROM c_commu_admin_confirm WHERE c_commu_id = ?';
525    db_query($sql, $single);
526
527    // c_commu_member
528    $sql = 'DELETE FROM c_commu_member WHERE c_commu_id = ?';
529    db_query($sql, $single);
530
531    // c_commu_member_confirm
532    $sql = 'DELETE FROM c_commu_member_confirm WHERE c_commu_id = ?';
533    db_query($sql, $single);
534
535    // c_commu_review
536    $sql = 'DELETE FROM c_commu_review WHERE c_commu_id = ?';
537    db_query($sql, $single);
538
539    ///トピック関連
540    $sql = 'SELECT * FROM c_commu_topic WHERE c_commu_id = ?';
541    $topic_list = db_get_all($sql, $single);
542
543    foreach ($topic_list as $topic) {
544        // c_commu_topic_comment(画像)
545        $sql = 'SELECT image_filename1, image_filename2, image_filename3' .
546            ' FROM c_commu_topic_comment WHERE c_commu_topic_id = ?';
547        $params = array(intval($topic['c_commu_topic_id']));
548        $topic_comment_list = db_get_all($sql, $params);
549        foreach ($topic_comment_list as $topic_comment) {
550            image_data_delete($topic_comment['image_filename1']);
551            image_data_delete($topic_comment['image_filename2']);
552            image_data_delete($topic_comment['image_filename3']);
553        }
554        $sql = 'DELETE FROM c_commu_topic_comment WHERE c_commu_topic_id = ?';
555        db_query($sql, $params);
556
557        // c_event_member
558        $sql = 'DELETE FROM c_event_member WHERE c_commu_topic_id = ?';
559        db_query($sql, $params);
560    }
561
562    // c_commu_topic
563    $sql = 'DELETE FROM c_commu_topic WHERE c_commu_id = ?';
564    db_query($sql, $single);
565
566    // c_commu
567    $sql = 'DELETE FROM c_commu WHERE c_commu_id = ?';
568    db_query($sql, $single);
569}
570
571//--- ログ
572
573/**
574 * バナーのクリックログを追加
575 */
576function db_banner_insert_c_banner_log($c_banner_id, $c_member_id, $clicked_from)
577{
578    $data = array(
579        'c_banner_id' => intval($c_banner_id),
580        'c_member_id' => intval($c_member_id),
581        'clicked_from' => $clicked_from,
582        'r_datetime' => db_now(),
583        'r_date' => db_now(),
584    );
585    return db_insert('c_banner_log', $data);
586}
587
588/**
589 * 検索ログを追加
590 */
591function do_common_insert_search_log($c_member_id, $searchword)
592{
593    if (!$searchword) return false;
594
595    $data = array(
596        'c_member_id' => intval($c_member_id),
597        'searchword'  => $searchword,
598        'r_datetime'  => db_now(),
599    );
600    return db_insert('c_searchlog', $data);
601}
602
603function p_access_log($c_member_id, $page_name, $ktai_flag = "0")
604{
605    if (!$page_name) return false;
606
607    $data = array(
608        'c_member_id'             => intval($c_member_id),
609        'page_name'               => $page_name,
610        'target_c_member_id'      => '',
611        'target_c_commu_id'       => '',
612        'target_c_commu_topic_id' => '',
613        'target_c_diary_id'       => '',
614        'ktai_flag'               => (bool)$ktai_flag,
615        'r_datetime' => db_now(),
616    );
617
618    $target_ids = array(
619        'target_c_member_id',
620        'target_c_commu_id',
621        'target_c_commu_topic_id',
622        'target_c_diary_id',
623    );
624    foreach ($target_ids as $key) {
625        if (isset($_REQUEST[$key])) {
626            $data[$key] = intval($_REQUEST[$key]);
627        }
628    }
629
630    db_insert('c_access_log', $data);
631}
632
633/**
634 * スキン画像のfilenameを登録
635 */
636function db_replace_c_skin_filename($skinname, $filename)
637{
638    db_delete_c_skin_filename($skinname);
639
640    $data = array(
641        'skinname' => strval($skinname),
642        'filename' => strval($filename),
643    );
644    return db_insert('c_skin_filename', $data);
645}
646
647/**
648 * スキン画像を削除(デフォルトに戻す)
649 */
650function db_delete_c_skin_filename($skinname)
651{
652    $sql = 'SELECT * FROM c_skin_filename WHERE skinname = ?';
653    $params = array(strval($skinname));
654    if ($skin_filename = db_get_row($sql, $params)) {
655        image_data_delete($skin_filename['filename']);
656        $sql = 'DELETE FROM c_skin_filename WHERE skinname = ?';
657        return db_query($sql, $params);
658    } else {
659        return false;
660    }
661}
662
663/**
664 * デフォルト画像をマスター画像からコピー(デフォルトに戻すの一環)
665 */
666function db_master_copy_c_skin_filename($skinname)
667{
668
669    $data = array(
670        'skinname' => strval($skinname),
671        'filename' => 'skin_'.strval($skinname).'.gif',
672    );
673    db_insert('c_skin_filename', $data);
674
675    $sql = "INSERT INTO c_image (SELECT '', ?, bin, ?, type FROM c_image WHERE filename = ?)";
676    $params = array(
677        'skin_'.strval($skinname).'.gif',
678        db_now(),
679        'skin_'.strval($skinname).'_master.gif',
680    );
681    db_query($sql, $params);
682}
683
684//---
685
686/**
687 * DBテンプレートを削除
688 */
689function db_delete_c_template($name)
690{
691    $sql = 'DELETE FROM c_template WHERE name = ?';
692    $params = array(strval($name));
693    return db_query($sql, $params);
694}
695
696/**
697 * DBテンプレートを登録
698 */
699function db_replace_c_template($name, $source)
700{
701    db_delete_c_template($name);
702
703    $data = array(
704        'name' => strval($name),
705        'source' => strval($source),
706        'r_datetime' => db_now(),
707    );
708    return db_insert('c_template', $data);
709}
710
711/**
712 * ナビゲーション項目を削除
713 */
714function db_delete_c_navi($navi_type, $sort_order)
715{
716    $sql = 'DELETE FROM c_navi WHERE navi_type = ? AND sort_order = ?';
717    $params = array(strval($navi_type), intval($sort_order));
718    return db_query($sql, $params);
719}
720
721/**
722 * ナビゲーション項目を登録
723 */
724function db_replace_c_navi($navi_type, $sort_order, $url, $caption)
725{
726    db_delete_c_navi($navi_type, $sort_order);
727
728    $data = array(
729        'navi_type' => strval($navi_type),
730        'sort_order' => intval($sort_order),
731        'url' => strval($url),
732        'caption' => strval($caption),
733    );
734    return db_insert('c_navi', $data);
735}
736
737//小窓の使用範囲をチェック
738function db_is_use_cmd($src, $type)
739{
740    $sql = 'SELECT * FROM c_cmd WHERE name = ?';
741    $params = array(strval($src));
742    $c_cmd = db_get_row($sql, $params);
743
744    $permit_list = db_get_permit_list();
745
746    foreach ($permit_list as $key => $name) {
747        if (($c_cmd['permit'] & $key)
748         && preg_match('/'.$c_cmd['name'].'/', $src)
749         && $name == $type) {
750            return true;
751        }
752    }
753
754    return false;
755}
756
757//小窓の使用範囲のリスト
758function db_get_permit_list()
759{
760    return array(
761        '1' => 'community',
762        '2' => 'diary',
763        '4' => 'profile',
764    );
765}
766
767/**
768 * カレンダーの祝日を取得する
769 */
770function db_c_holiday_list4date($m, $d)
771{
772    $sql = 'SELECT name FROM c_holiday WHERE month = ? AND day = ?';
773    $params = array(intval($m), intval($d));
774    return db_get_col($sql, $params);
775}
776?>
Note: See TracBrowser for help on using the repository browser.