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

source: OpenPNE/branches/2_6/webapp/modules/admin/lib/db_admin.php @ 2078

Last change on this file since 2078 was 2078, checked in by takanashi, 15 years ago

#505 管理画面のプロフィール項目を削除した際、関連するファンクションキャッシュを削除するように(r1995/r1996)

File size: 62.7 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 */
10function db_admin_c_member_list($page, $page_size, &$pager)
11{
12    $sql = 'SELECT c_member_id FROM c_member ORDER BY c_member_id';
13    $ids = db_get_col_page($sql, $page, $page_size);
14
15    $c_member_list = array();
16    foreach ($ids as $id) {
17        $c_member_list[] = db_member_c_member4c_member_id($id, true, true, 'private');
18    }
19
20    $sql = 'SELECT COUNT(*) FROM c_member';
21    $total_num = db_get_one($sql);
22    $pager = admin_make_pager($page, $page_size, $total_num);
23
24    return $c_member_list;
25}
26
27function db_admin_c_member4mail_address($mail_address)
28{
29    $sql = 'SELECT c_member_id FROM c_member_secure' .
30            ' WHERE pc_address = ? OR ktai_address = ? OR regist_address = ?';
31    $enc_address = t_encrypt($mail_address);
32    $params = array($enc_address, $enc_address, $enc_address);
33    $list = db_get_col($sql, $params);
34
35    $c_member_list = array();
36    foreach ($list as $c_member_id) {
37        $c_member_list[] = db_member_c_member4c_member_id($c_member_id, true, true, 'private');
38    }
39    return $c_member_list;
40}
41
42function db_admin_c_siteadmin($target)
43{
44    $sql = 'SELECT * FROM c_siteadmin WHERE target = ?';
45    $params = array($target);
46    return db_get_row($sql, $params);
47}
48
49function db_admin_insert_c_siteadmin($target, $body)
50{
51    $data = array(
52        'target' => $target,
53        'body' => $body,
54        'r_date' => db_now(),
55    );
56    return db_insert('c_siteadmin', $data);
57}
58
59function db_admin_update_c_siteadmin($target, $body)
60{
61    $data = array(
62        'body' => $body,
63        'r_date' => db_now(),
64    );
65    $where = array('target' => $target);
66    return db_update('c_siteadmin', $data, $where);
67}
68
69function db_admin_update_c_sns_config($data)
70{
71    $where = array('c_sns_config_id' => 1);
72    return db_update('c_sns_config', $data, $where);
73}
74
75function db_admin_delete_c_profile_option($c_profile_option_id)
76{
77    //function cache削除
78    pne_cache_drop('db_member_c_profile_list');
79
80    if (!$c_profile_option_id) {
81        return false;
82    }
83
84    $sql = 'DELETE FROM c_member_profile WHERE c_profile_option_id = ?';
85    $params = array(intval($c_profile_option_id));
86    db_query($sql, $params);
87
88    $sql = 'DELETE FROM c_profile_option WHERE c_profile_option_id = ?';
89    db_query($sql, $params);
90
91    return true;
92}
93
94function db_admin_insert_c_profile_option($c_profile_id, $value, $sort_order)
95{
96    //function cache削除
97    pne_cache_drop('db_member_c_profile_list');
98
99    $data = array(
100        'c_profile_id' => intval($c_profile_id),
101        'value' => $value,
102        'sort_order' => intval($sort_order),
103    );
104    return db_insert('c_profile_option', $data);
105}
106
107function db_admin_update_c_profile_option($c_profile_option_id, $value, $sort_order)
108{
109    //function cache削除
110    pne_cache_drop('db_member_c_profile_list');
111
112    $data = array('value' => $value);
113    $where = array('c_profile_option_id' => intval($c_profile_option_id));
114    db_update('c_member_profile', $data, $where);
115
116    $data = array(
117        'value' => $value,
118        'sort_order' => intval($sort_order),
119    );
120    db_update('c_profile_option', $data, $where);
121}
122
123function db_admin_insert_c_banner($a_href, $type, $nickname)
124{
125    $data = array(
126        'a_href' => $a_href,
127        'type' => $type,
128        'nickname' => $nickname,
129        'is_hidden_after' => 0,
130        'is_hidden_before' => 0,
131    );
132    return db_insert('c_banner', $data);
133}
134
135function db_admin_update_c_banner($c_banner_id, $sets)
136{
137    $where = array('c_banner_id' => intval($c_banner_id));
138    db_update('c_banner', $sets, $where);
139}
140
141function db_admin_delete_c_banner($c_banner_id)
142{
143    db_admin_delete_c_image4c_banner_id($c_banner_id);
144
145    $sql = 'DELETE FROM c_banner WHERE c_banner_id = ?';
146    $params = array(intval($c_banner_id));
147    db_query($sql, $params);
148}
149
150function db_admin_delete_c_image4c_banner_id($c_banner_id)
151{
152    $sql = 'SELECT image_filename FROM c_banner WHERE c_banner_id = ?';
153    $params = array(intval($c_banner_id));
154    $image_filename = db_get_one($sql, $params);
155    image_data_delete($image_filename);
156}
157
158function db_admin_insert_c_profile(
159    $name
160    , $caption
161    , $info
162    , $is_required
163    , $public_flag_edit
164    , $public_flag_default
165    , $form_type
166    , $sort_order
167    , $disp_regist
168    , $disp_config
169    , $disp_search
170    , $val_type
171    , $val_regexp
172    , $val_min
173    , $val_max
174    )
175{
176    $data = array(
177        'name' => $name,
178        'caption' => $caption,
179        'info' => $info,
180        'is_required' => (bool)$is_required,
181        'public_flag_edit' => (bool)$public_flag_edit,
182        'public_flag_default' => $public_flag_default,
183        'form_type' => $form_type,
184        'sort_order' => (int)$sort_order,
185        'disp_regist' => (bool)$disp_regist,
186        'disp_config' => (bool)$disp_config,
187        'disp_search' => (bool)$disp_search,
188        'val_type' => $val_type,
189        'val_regexp' => $val_regexp,
190        'val_min' => (int)$val_min,
191        'val_max' => (int)$val_max,
192    );
193    return db_insert('c_profile', $data);
194}
195
196function db_admin_update_c_profile($c_profile_id
197    , $name
198    , $caption
199    , $info
200    , $is_required
201    , $public_flag_edit
202    , $public_flag_default
203    , $form_type
204    , $sort_order
205    , $disp_regist
206    , $disp_config
207    , $disp_search
208    , $val_type
209    , $val_regexp
210    , $val_min
211    , $val_max
212    )
213{
214    $data = array(
215        'name' => $name,
216        'caption' => $caption,
217        'info' => $info,
218        'is_required' => (bool)$is_required,
219        'public_flag_edit' => (bool)$public_flag_edit,
220        'public_flag_default' => $public_flag_default,
221        'form_type' => $form_type,
222        'sort_order' => intval($sort_order),
223        'disp_regist' => (bool)$disp_regist,
224        'disp_config' => (bool)$disp_config,
225        'disp_search' => (bool)$disp_search,
226        'val_type' => $val_type,
227        'val_regexp' => $val_regexp,
228        'val_min' => intval($val_min),
229        'val_max' => intval($val_max),
230    );
231    $where = array('c_profile_id' => intval($c_profile_id));
232    db_update('c_profile', $data, $where);
233
234    // 公開設定が固定のときはユーザーの設定値を上書き
235    if (!$public_flag_edit) {
236        $data = array('public_flag' => $public_flag_default);
237        db_update('c_member_profile', $data, $where);
238    }
239
240    pne_cache_drop('db_member_c_profile_list');
241}
242
243function db_admin_delete_c_profile($c_profile_id)
244{
245    $params = array(intval($c_profile_id));
246
247    // メンバーのプロフィールから削除
248    $sql = 'DELETE FROM c_member_profile WHERE c_profile_id = ?';
249    db_query($sql, $params);
250
251    // 選択肢項目を削除
252    $sql = 'DELETE FROM c_profile_option WHERE c_profile_id = ?';
253    db_query($sql, $params);
254
255    // プロフィール項目を削除
256    $sql = 'DELETE FROM c_profile WHERE c_profile_id = ?';
257    db_query($sql, $params);
258
259    cache_drop_c_member_profile();
260}
261
262function db_admin_c_profile4c_profile_id($c_profile_id)
263{
264    $sql = 'SELECT * FROM c_profile WHERE c_profile_id = ?';
265    $params = array(intval($c_profile_id));
266    return db_get_row($sql, $params);
267}
268
269/**
270 * 全バナー取得
271 *
272 * @param  int $limit 取得最大件数
273 * @return array_of_array  c_banner_list バナー配列
274 */
275function db_admin_c_banner_list4null($type = '')
276{
277    $sql = 'SELECT * FROM c_banner';
278    $params = array();
279    if ($type) {
280        $sql .= ' WHERE type = ?';
281        $params[] = $type;
282    }
283    return db_get_all($sql, $params);
284}
285
286function db_admin_c_commu_category_parent_list()
287{
288    $sql = 'SELECT * FROM c_commu_category_parent ORDER BY sort_order';
289    return db_get_all($sql);
290}
291
292function db_admin_c_commu_category_list()
293{
294    $sql = 'SELECT * FROM c_commu_category ORDER BY sort_order';
295    $list = db_get_all($sql);
296
297    $category_list = array();
298    foreach ($list as $item) {
299        $category_list[$item['c_commu_category_parent_id']][] = $item;
300    }
301    return $category_list;
302}
303
304function db_admin_insert_c_commu_category_parent($name, $sort_order)
305{
306    $data = array(
307        'name' => $name,
308        'sort_order' => intval($sort_order),
309    );
310    return db_insert('c_commu_category_parent', $data);
311}
312
313function db_admin_update_c_commu_category_parent($c_commu_category_parent_id, $name, $sort_order)
314{
315    $data = array(
316        'name' => $name,
317        'sort_order' => intval($sort_order),
318    );
319    $where = array(
320        'c_commu_category_parent_id' => intval($c_commu_category_parent_id)
321    );
322    db_update('c_commu_category_parent', $data, $where);
323}
324
325function db_admin_delete_c_commu_category_parent($c_commu_category_parent_id)
326{
327    $params = array(intval($c_commu_category_parent_id));
328
329    // 小カテゴリを削除
330    $sql = 'DELETE FROM c_commu_category WHERE c_commu_category_parent_id = ?';
331    db_query($sql, $params);
332
333    // 中カテゴリを削除
334    $sql = 'DELETE FROM c_commu_category_parent WHERE c_commu_category_parent_id = ?';
335    db_query($sql, $params);
336}
337
338function db_admin_insert_c_commu_category($c_commu_category_parent_id, $name, $sort_order)
339{
340    $data = array(
341        'c_commu_category_parent_id' => intval($c_commu_category_parent_id),
342        'name' => $name,
343        'sort_order' => intval($sort_order),
344    );
345    return db_insert('c_commu_category', $data);
346}
347
348function db_admin_update_c_commu_category($c_commu_category_id, $name, $sort_order)
349{
350    $data = array(
351        'name' => $name,
352        'sort_order' => intval($sort_order)
353    );
354    $where = array('c_commu_category_id' => intval($c_commu_category_id));
355    db_update('c_commu_category', $data, $where);
356}
357
358function db_admin_delete_c_commu_category($c_commu_category_id)
359{
360    // 小カテゴリを削除
361    $sql = 'DELETE FROM c_commu_category WHERE c_commu_category_id = ?';
362    $params = array(intval($c_commu_category_id));
363    db_query($sql, $params);
364}
365
366function db_admin_c_admin_user_id4username($username)
367{
368    $sql = 'SELECT c_admin_user_id FROM c_admin_user WHERE username = ?';
369    $params = array($username);
370    return db_get_one($sql, $params);
371}
372
373function db_admin_authenticate_password($uid, $password)
374{
375    $sql = 'SELECT c_admin_user_id FROM c_admin_user WHERE c_admin_user_id = ? AND password = ?';
376    $params = array(intval($uid), md5($password));
377    return (bool)db_get_one($sql, $params);
378}
379
380function db_admin_update_c_admin_user_password($uid, $password)
381{
382    $data = array('password' => md5($password));
383    $where = array('c_admin_user_id' => intval($uid));
384    db_update('c_admin_user', $data, $where);
385}
386
387function db_admin_c_admin_config4name($name)
388{
389    $sql = 'SELECT value FROM c_admin_config WHERE name = ?';
390    $params = array($name);
391    return db_get_one($sql, $params);
392}
393
394function db_admin_insert_c_admin_config($name, $value)
395{
396    $data = array(
397        'name' => $name,
398        'value' => $value,
399    );
400    return db_insert('c_admin_config', $data);
401}
402
403function db_admin_update_c_admin_config($name, $value)
404{
405    $data = array('value' => $value);
406    $where = array('name' => $name);
407    db_update('c_admin_config', $data, $where);
408}
409
410function db_admin_replace_c_admin_config($name, $value)
411{
412    $sql = 'DELETE FROM c_admin_config WHERE name = ?';
413    $params = array($name);
414    db_query($sql, $params);
415
416    $data = array(
417        'name'  => strval($name),
418        'value' => strval($value),
419    );
420    return db_insert('c_admin_config', $data);
421}
422
423function db_admin_c_admin_config_all()
424{
425    $sql = 'SELECT name, value FROM c_admin_config';
426    return db_get_assoc($sql);
427}
428
429function db_admin_delete_c_image_link4image_filename($image_filename)
430{
431    // c_banner (削除)
432    $sql = 'DELETE FROM c_banner WHERE image_filename = ?';
433    $params = array($image_filename);
434    db_query($sql, $params);
435
436    // c_commu
437    $tbl = 'c_commu';
438    _db_admin_empty_image_filename($tbl, $image_filename);
439
440    // c_commu_topic_comment
441    $tbl = 'c_commu_topic_comment';
442    _db_admin_empty_image_filename($tbl, $image_filename, 'image_filename1');
443    _db_admin_empty_image_filename($tbl, $image_filename, 'image_filename2');
444    _db_admin_empty_image_filename($tbl, $image_filename, 'image_filename3');
445
446    // c_diary
447    $tbl = 'c_diary';
448    _db_admin_empty_image_filename($tbl, $image_filename, 'image_filename_1');
449    _db_admin_empty_image_filename($tbl, $image_filename, 'image_filename_2');
450    _db_admin_empty_image_filename($tbl, $image_filename, 'image_filename_3');
451
452    // c_diary_comment
453    $tbl = 'c_diary_comment';
454    _db_admin_empty_image_filename($tbl, $image_filename, 'image_filename_1');
455    _db_admin_empty_image_filename($tbl, $image_filename, 'image_filename_2');
456    _db_admin_empty_image_filename($tbl, $image_filename, 'image_filename_3');
457
458    // c_member
459    $tbl = 'c_member';
460    _db_admin_empty_image_filename($tbl, $image_filename);
461    _db_admin_empty_image_filename($tbl, $image_filename, 'image_filename_1');
462    _db_admin_empty_image_filename($tbl, $image_filename, 'image_filename_2');
463    _db_admin_empty_image_filename($tbl, $image_filename, 'image_filename_3');
464}
465
466function _db_admin_empty_image_filename($tbl, $image_filename, $column = 'image_filename')
467{
468    $data = array(
469        db_escapeIdentifier($column) => '',
470    );
471    $where = array(
472        db_escapeIdentifier($column) => $image_filename,
473    );
474    db_update(db_escapeIdentifier($tbl), $data, $where);
475}
476
477function db_admin_c_profile_name_exists($name)
478{
479    $sql = 'SELECT c_profile_id FROM c_profile WHERE name = ?';
480    $params = array($name);
481    return db_get_one($sql, $params);
482}
483
484function db_admin_update_is_login_rejected($c_member_id)
485{
486    $sql = 'SELECT is_login_rejected FROM c_member WHERE c_member_id = ?';
487    $params = array(intval($c_member_id));
488    $is_login_rejected = db_get_one($sql, $params);
489    if (is_null($is_login_rejected)) {
490        return false;
491    }
492
493    $data = array('is_login_rejected' => !($is_login_rejected));
494    $where = array('c_member_id' => intval($c_member_id));
495    return db_update('c_member', $data, $where);
496}
497
498function db_admin_c_admin_user_list()
499{
500    $sql = 'SELECT * FROM c_admin_user ORDER BY c_admin_user_id';
501    return db_get_all($sql);
502}
503
504function db_admin_exists_c_admin_username($username)
505{
506    $sql = 'SELECT c_admin_user_id FROM c_admin_user WHERE username = ?';
507    $params = array(strval($username));
508    return (bool)db_get_one($sql, $params);
509}
510
511function db_admin_insert_c_admin_user($username, $password, $auth_type)
512{
513    $data = array(
514        'username' => strval($username),
515        'password' => md5($password),
516        'auth_type' => strval($auth_type),
517    );
518    return db_insert('c_admin_user', $data);
519}
520
521function db_admin_delete_c_admin_user($c_admin_user_id)
522{
523    $sql = 'DELETE FROM c_admin_user WHERE c_admin_user_id = ?';
524    $params = array(intval($c_admin_user_id));
525    return db_query($sql, $params);
526}
527
528function db_admin_get_auth_type($c_admin_user_id)
529{
530    $sql = 'SELECT auth_type FROM c_admin_user WHERE c_admin_user_id = ?';
531    $params = array(intval($c_admin_user_id));
532    return db_get_one($sql, $params);
533}
534
535/**
536 * ユーザーIDリスト取得(絞り込み対応)
537 */
538function _db_admin_c_member_id_list($cond_list)
539{
540    $sql = 'SELECT c_member_id'.
541           ' FROM c_member'.
542           ' WHERE 1';
543
544    //開始年
545    if (!empty($cond_list['s_year'])) {
546        $sql .= ' AND birth_year >= ?';
547        $params[] = $cond_list['s_year'];
548    }
549    //終了年
550    if (!empty($cond_list['e_year'])) {
551        $sql .= ' AND birth_year <= ?';
552        $params[] = $cond_list['e_year'];
553    }
554    $sql .= ' ORDER BY c_member_id';
555
556    $ids = db_get_col($sql, $params);
557
558    //各プロフィールごとで絞り結果をマージする
559    $_sql = 'SELECT name FROM c_profile WHERE (form_type = ? OR form_type = ?)';
560    $profile = db_get_col($_sql, array('select', 'radio'));
561
562    if ( $profile ) {
563        foreach ($profile as $value) {
564            if (!empty($cond_list[$value])) {
565                $sql = 'SELECT c_member_id FROM c_member_profile WHERE c_profile_option_id = ?';
566                $params = array($cond_list[$value]);
567                $temp_ids = db_get_col($sql, $params);
568                $ids = array_intersect($ids, $temp_ids);
569            }
570        }
571    }
572
573    return $ids;
574}
575
576/**
577 * ユーザーリスト取得
578 * 誕生年+プロフィール(select,radioのみ)
579 */
580function _db_admin_c_member_list($page, $page_size, &$pager, $cond_list)
581{
582    $ids = _db_admin_c_member_id_list($cond_list);
583    $total_num = count($ids);
584    $ids = array_slice($ids, ($page - 1) * $page_size, $page_size);
585
586    $c_member_list = array();
587    foreach ($ids as $id) {
588        $c_member_list[] = db_member_c_member4c_member_id($id, true, true, 'private');
589    }
590
591    if ($total_num > 0) {
592        $pager = admin_make_pager($page, $page_size, $total_num);
593    }
594
595    return $c_member_list;
596}
597
598function db_c_profile_option4c_profile_option_id($c_profile_option_id)
599{
600    $sql = "SELECT * FROM c_profile_option WHERE c_profile_option_id = ? ";
601    $params = array(intval($c_profile_option_id));
602    return db_get_row($sql, $params);
603}
604
605/**
606 * メンバー絞込みパラメータ取得
607 */
608function validate_cond($requests)
609{
610    $cond_list = array();
611    //誕生年
612    if (!empty($requests['s_year'])) {
613        $cond_list['s_year'] = intval($requests['s_year']);
614    }
615    if (!empty($requests['e_year'])) {
616        $cond_list['e_year'] = intval($requests['e_year']);
617    }
618    //プロフィール
619    $profile_list = db_member_c_profile_list();
620
621    foreach ($profile_list as $key => $value) {
622        if (!empty($requests[$key])) {
623            $cond_list[$key] = intval($requests[$key]);
624        }
625    }
626    return $cond_list;
627}
628
629function do_admin_send_mail($c_member_id, $subject, $body)
630{
631    $c_member = db_member_c_member4c_member_id($c_member_id, true);
632
633    if ($c_member['secure']['pc_address']) {
634        $send_address = $c_member['secure']['pc_address'];
635    } else {
636        $send_address = $c_member['secure']['ktai_address'];
637    }
638
639    if (OPENPNE_MAIL_QUEUE) {
640        //メールキューに蓄積
641        put_mail_queue($send_address, $subject, $body);
642    } else {
643        t_send_email($send_address, $subject, $body);
644    }
645}
646
647//メッセージ受信メール(メール&メッセージキュー蓄積対応)
648function do_admin_send_message($c_member_id_from, $c_member_id_to, $subject, $body)
649{
650    //メッセージ
651    if (OPENPNE_MESSAGE_QUEUE) {
652        //メッセージキューに蓄積
653        db_admin_insert_c_message_queue($c_member_id_from, $c_member_id_to, $subject, $body);
654        return true;
655    } else {
656        db_message_insert_c_message($c_member_id_from, $c_member_id_to, $subject, $body);
657        do_admin_send_message_mail_send($c_member_id_to, $c_member_id_from);
658        do_admin_send_message_mail_send_ktai($c_member_id_to, $c_member_id_from);
659        return true;
660    }
661
662    return false;
663}
664
665//メッセージ受信メール(メールキュー蓄積対応)
666function do_admin_send_message_mail_send($c_member_id_to, $c_member_id_from)
667{
668    $c_member_to = db_member_c_member4c_member_id($c_member_id_to, true);
669    $pc_address = $c_member_to['secure']['pc_address'];
670    $is_receive_mail = $c_member_to['is_receive_mail'];
671
672    $params = array(
673        "c_member_to"   => db_member_c_member4c_member_id($c_member_id_to),
674        "c_member_from" => db_member_c_member4c_member_id($c_member_id_from),
675    );
676    return admin_fetch_send_mail($pc_address, 'm_pc_message_zyushin', $params, $is_receive_mail);
677}
678
679//◆メッセージ受信メール(携帯)
680function do_admin_send_message_mail_send_ktai($c_member_id_to, $c_member_id_from)
681{
682    $c_member_to = db_member_c_member4c_member_id($c_member_id_to, true);
683    $ktai_address = $c_member_to['secure']['ktai_address'];
684    $is_receive_ktai_mail = $c_member_to['is_receive_ktai_mail'];
685    $p = array('kad' => t_encrypt(db_member_username4c_member_id($c_member_to['c_member_id'], true)));
686    $login_url = openpne_gen_url('ktai', 'page_o_login', $p);
687
688    $params = array(
689        'c_member_to'   => db_member_c_member4c_member_id($c_member_id_to),
690        'c_member_from' => db_member_c_member4c_member_id($c_member_id_from),
691        'login_url' => $login_url,
692    );
693    return admin_fetch_send_mail($ktai_address, 'm_ktai_message_zyushin', $params, $is_receive_ktai_mail);
694}
695
696function admin_fetch_send_mail($address, $tpl_name, $params = array(), $force = true, $from = '')
697{
698    $tpl_name .= '.tpl';
699    if ($tpl = fetch_mail_m_tpl($tpl_name, $params)) {
700        list($subject, $body) = $tpl;
701        if ($from) {
702            if (OPENPNE_MAIL_QUEUE) {
703                //メールキューに蓄積
704                put_mail_queue($address, $subject, $body, $force, $from);
705            } else {
706                t_send_email($address, $subject, $body, $force, $from);
707            }
708        } else {
709            if (OPENPNE_MAIL_QUEUE) {
710                //メールキューに蓄積
711                put_mail_queue($address, $subject, $body, $force);
712            } else {
713                t_send_email($address, $subject, $body, $force);
714            }
715        }
716        return true;
717    } else {
718        return false;
719    }
720}
721
722function db_access_analysis_c_admin_user_id4username($username)
723{
724    $sql = "SELECT c_admin_user_id FROM c_admin_user" .
725        " WHERE username = ?";
726    $params = array($username);
727    return db_get_one($sql,$params);
728}
729
730function p_access_analysis_month_access_analysis_month($ktai_flag)
731{
732    $sql = "SELECT concat(left(r_datetime, 7), '-01') as ym, count(*) as count" .
733            " FROM c_access_log " .
734            " where ktai_flag = ?" .
735            " group by ym";
736    $params = array(intval($ktai_flag));           
737    $list = db_get_all($sql,$params);
738    return $list;
739}
740
741
742function p_access_analysis_day_access_analysis_day($ym, $ktai_flag)
743{
744    $sql = "SELECT left(r_datetime,10) as ymd , count(*) as count" .
745            " FROM c_access_log " .
746            " where left(r_datetime, 7) = ?" .
747            " and ktai_flag = ? " .
748            " group by ymd";           
749    $params = array(intval(substr($ym,0,7)),intval($ktai_flag));
750    $list = db_get_all($sql,$params);
751   
752    $year = substr($ym, 0, 4);
753    $month = substr($ym, 5,2);
754   
755    $return = array();
756    $days_num = date("t", mktime (0,0,0,$month,1,$year));
757    for($i=1 ; $i<=$days_num; $i++) {
758        $date = substr($ym,0,8) . substr("00".$i, -2, 2);
759
760        $count = 0;
761        foreach($list as $value) {
762            if ($value['ymd'] == $date) {
763                $count = $value['count'];
764            }
765        }
766        $return[] = array("ymd"=>$date, "count"=>$count);
767    }
768    return $return;
769}
770
771function get_page_name($ktai_flag, $orderby=1)
772{
773    if ($orderby == 1) {
774        $orderby_str = " order by page_name asc";
775    } elseif ($orderby == -1) {
776        $orderby_str = " order by page_name desc";
777    }
778    $sql = "select distinct page_name from c_access_log " .
779            " where ktai_flag = ? " .
780            $orderby_str;
781    $params = array(intval($ktai_flag));
782    return db_get_col($sql,$params);
783}
784
785function p_access_analysis_page_access_analysis_page4ym($ymd, $month_flag, $ktai_flag, $orderby)
786{
787
788    if ($orderby == 1) {
789        $orderby_str = " order by page_name asc";
790    } elseif ($orderby == -1) {
791        $orderby_str = " order by page_name desc";
792    } elseif ($orderby == 2) {
793        $orderby_str = " order by count asc";
794    } elseif ($orderby == -2) {
795        $orderby_str = " order by count desc";
796    }
797    $sql = "select page_name , count(*) as count from c_access_log where ktai_flag = ? ";
798    $params = array(intval($ktai_flag));
799    if ($month_flag) {
800        $sql .= " and left(r_datetime, 7) = ? ";
801        array_push($params,substr($ymd,0,7));
802    } else {
803        $sql .= " and left(r_datetime,10) = ? ";
804        array_push($params,$ymd);
805    }
806    $sql .= " group by page_name ".    $orderby_str;
807    $list = db_get_all($sql,$params);
808
809    $sum = 0;
810    $return = array();
811    if (abs($orderby) == 1) {
812        $page_name = get_page_name($ktai_flag, $orderby);
813        foreach($page_name as $name) {
814            $count = 0;
815            foreach($list as $value) {
816                if ($value['page_name'] == $name) $count = $value['count'];
817            }
818
819                list($is_target_c_member_id,$is_target_c_commu_id,$is_target_c_topic_id,$is_target_c_diary_id,$is_c_member_id) = get_is_show($name);
820
821            $return[] = array("page_name"=>$name, "count"=> $count, "is_target_c_member_id"=> $is_target_c_member_id, "is_target_c_commu_id"=> $is_target_c_commu_id, "is_target_c_topic_id"=> $is_target_c_topic_id, "is_target_c_diary_id"=> $is_target_c_diary_id, "is_c_member_id"=> $is_c_member_id);
822            $sum += $count;
823        }
824    } elseif (abs($orderby) == 2) {
825        $page_name = get_page_name($ktai_flag);
826
827        $t_page_name = $page_name;
828
829        //アクセスがゼロのページを取得する
830        foreach($page_name as $key=>$name) {
831            foreach($list as $value) {
832                if ($value['page_name'] == $name) {
833                    unset($page_name[$key]);//$listに含まれるページネームを削除
834                }
835            }
836        }
837
838        foreach($page_name as $key=>$name) {
839            $page_name[$key] = array("page_name"=>$name, "count"=>0);
840        }
841
842        if ($orderby == 2) {
843            $return = array_merge($page_name , $list);
844        } elseif ($orderby == -2) {
845            $return = array_merge($list, $page_name);
846        }
847        foreach($list as $value) {
848            $sum += $value['count'];
849        }
850
851        foreach($return as $value) {
852
853            list($is_target_c_member_id,$is_target_c_commu_id,$is_target_c_topic_id,$is_target_c_diary_id,$is_c_member_id) = get_is_show($value['page_name']);
854
855            $value['is_target_c_member_id'] = $is_target_c_member_id;
856            $value['is_target_c_commu_id'] = $is_target_c_commu_id;
857            $value['is_target_c_topic_id'] = $is_target_c_topic_id;
858            $value['is_target_c_diary_id'] = $is_target_c_diary_id;
859            $value['is_c_member_id'] = $is_c_member_id;
860            $t_return[] = $value;
861
862        }
863
864        $return = $t_return;
865
866    }
867   
868    return array($return, $sum);
869}
870
871
872/*
873 * target_commu
874 *
875 */
876function p_access_analysis_target_commu_target_commu4ym_page_name
877($ymd, $month_flag, $page_name, $ktai_flag, $page, $page_size, $orderby=1)
878{
879   
880    $start = ($page - 1) * $page_size;
881   
882    if ($orderby == 1) {
883        $orderby_str = " order by target_c_commu_id asc";
884    } elseif ($orderby == -1) {
885        $orderby_str = " order by target_c_commu_id desc";
886    } elseif ($orderby == 2) {
887        $orderby_str = " order by count asc";
888    } elseif ($orderby == -2) {
889        $orderby_str = " order by count desc";
890    }
891   
892    $sql = "select target_c_commu_id , count(*) as count from c_access_log  where ktai_flag = ? ";
893    $params = array(intval($ktai_flag));
894    if ($month_flag) {
895            $sql .= " and left(r_datetime, 7) = ? ";
896            array_push($params,substr($ymd,0,7));
897    } else {
898            $sql .= " and left(r_datetime,10) = ? ";
899            array_push($params,$ymd);
900    }
901    if ($page_name!="all") {
902            $sql .= " and page_name = ? ";
903            array_push($params,$page_name);
904    }
905    $sql .= " and target_c_commu_id <> 0 ";
906    $sql .= " group by target_c_commu_id " .$orderby_str." limit $start, $page_size";
907    $list = db_get_all($sql,$params);
908
909    $return = array();
910    $sum = 0;
911    foreach($list as $key => $value) {
912        if ($value['target_c_commu_id']) {
913            $c_commu = db_commu_c_commu4c_commu_id($value['target_c_commu_id']);
914            $return[] = array_merge($value, $c_commu);
915            $sum += $value['count'];
916        }
917    }
918
919    $sql =   "select count(*) from c_access_log  where ktai_flag = ? ";
920    $params = array(intval($ktai_flag));
921    if ($month_flag) {
922        $sql .= " and left(r_datetime, 7) = ? ";
923        array_push($params,substr($ymd,0,7));
924    } else {
925        $sql .= " and left(r_datetime,10) = ? ";
926        array_push($params,$ymd);
927    }
928    if ($page_name!="all") {
929        $sql .= " and page_name = ? ";
930        array_push($params,$page_name);
931    }
932    $sql .= " and target_c_commu_id <> 0 ";
933    $sql .= " group by target_c_commu_id ";
934    $result = db_get_all($sql,$params);
935    $total_num = count($result);
936
937    if ($total_num != 0) {
938        $total_page_num =  ceil($total_num / $page_size);
939        if ($page >= $total_page_num) {
940            $next = false;
941        }else{
942            $next = true;
943        }
944        if ($page <= 1) {
945            $prev = false;
946        }else{
947            $prev = true;
948        }
949    }
950    $start_num = ($page - 1) * $page_size + 1 ;
951    $end_num =   ($page - 1) * $page_size + $page_size > $total_num ? $total_num : ($page - 1) * $page_size + $page_size ;
952
953    return array($return, $sum, $prev, $next, $total_num, $start_num, $end_num);   
954}
955
956function p_access_analysis_target_topic_target_topic4ym_page_name
957($ymd, $month_flag, $page_name, $ktai_flag, $page, $page_size, $orderby=1)
958{
959    $start = ($page - 1) * $page_size;
960   
961    if ($orderby == 1) {
962        $orderby_str = " order by target_c_commu_topic_id asc";
963    } elseif ($orderby == -1) {
964        $orderby_str = " order by target_c_commu_topic_id desc";
965    } elseif ($orderby == 2) {
966        $orderby_str = " order by count asc";
967    } elseif ($orderby == -2) {
968        $orderby_str = " order by count desc";
969    }
970    $where =" where ktai_flag = ? ";
971    $params = array(intval($ktai_flag));
972    if ($month_flag) {
973            $where .= " and left(r_datetime, 7) = ? ";
974            array_push($params,substr($ymd,0,7));
975    } else {
976            $where .= " and left(r_datetime,10) = ? ";
977            array_push($params,$ymd);
978    }
979    if ($page_name!="all") {
980            $where .= " and page_name = ? ";
981            array_push($params,$page_name);
982    }
983    $sql = "select target_c_commu_topic_id , count(*) as count from c_access_log ";
984    $sql .= $where." group by target_c_commu_topic_id " .$orderby_str." limit $start, $page_size";
985    $list = db_get_all($sql,$params);
986    $sql = "select count(*) from c_access_log ";
987    $sql .= $where ." group by target_c_commu_topic_id ";
988    $result = db_get_all($sql,$params);
989    $total_num = count($result);
990
991    $return = array();
992    $sum = 0;
993    foreach ($list as $key => $value) {
994        if ($value['target_c_commu_topic_id']) {
995            $c_commu_topic = c_topic_detail_c_topic4c_commu_topic_id($value['target_c_commu_topic_id']);
996            $c_commu_topic['topic_name'] = $c_commu_topic['name'];
997            $c_commu = db_commu_c_commu4c_commu_id($c_commu_topic['c_commu_id']);
998            $c_commu_topic['commu_name'] = $c_commu['name'];
999            $return[] = array_merge($value, $c_commu_topic);
1000            $sum += $value['count'];
1001        }
1002    }
1003
1004    if ($total_num != 0) {
1005        $total_page_num =  ceil($total_num / $page_size);
1006        if ($page >= $total_page_num) {
1007            $next = false;
1008        } else {
1009            $next = true;
1010        }
1011        if ($page <= 1) {
1012            $prev = false;
1013        } else {
1014            $prev = true;
1015        }
1016    }
1017    $start_num = ($page - 1) * $page_size + 1 ;
1018    $end_num =   ($page - 1) * $page_size + $page_size > $total_num ? $total_num : ($page - 1) * $page_size + $page_size ;
1019
1020    return array($return, $sum, $prev, $next, $total_num, $start_num, $end_num);
1021}
1022
1023function p_access_analysis_target_diary_target_diary4ym_page_name
1024($ymd, $month_flag, $page_name, $ktai_flag, $page, $page_size, $orderby=1)
1025{
1026   
1027    $start = ($page - 1) * $page_size;
1028   
1029    if ($orderby == 1) {
1030        $orderby_str = " order by target_c_diary_id asc";
1031    } elseif ($orderby == -1) {
1032        $orderby_str = " order by target_c_diary_id desc";
1033    } elseif ($orderby == 2) {
1034        $orderby_str = " order by count asc";
1035    } elseif ($orderby == -2) {
1036        $orderby_str = " order by count desc";
1037    }
1038   
1039    $sql = "select target_c_diary_id , count(*) as count from c_access_log where ktai_flag = ? ";
1040    $params = array(intval($ktai_flag));
1041    if ($month_flag) {
1042        $sql .= " and left(r_datetime, 7) = ? ";
1043        array_push($params,substr($ymd,0,7));
1044    } else {
1045        $sql .= " and left(r_datetime,10) = ? ";
1046        array_push($params,$ymd);
1047    }
1048    if ($page_name!="all") {
1049        $sql .= " and page_name = ? ";
1050        array_push($params,$page_name);
1051    }
1052    $sql .= " and target_c_diary_id <> 0 ";
1053    $sql .= " group by target_c_diary_id " . $orderby_str. " limit $start, $page_size";
1054    $list = db_get_all($sql,$params);
1055
1056    $return = array();
1057    $sum = 0;
1058    foreach ($list as $key => $value) {
1059        if ($value['target_c_diary_id']) {
1060            $c_diary = db_diary_get_c_diary4id($value['target_c_diary_id']);
1061            $c_member = db_member_c_member4c_member_id($c_diary['c_member_id']);
1062            $c_diary['nickname'] = $c_member['nickname'];
1063            $return[] = array_merge($value, $c_diary);
1064            $sum += $value['count'];
1065        }
1066    }
1067
1068    $sql =   "select count(*) from c_access_log where ktai_flag = ? ";
1069    $params = array(intval($ktai_flag));
1070    if ($month_flag) {
1071            $sql .= " and left(r_datetime, 7) = ? ";
1072            array_push($params,substr($ymd,0,7));
1073    } else {
1074            $sql .= " and left(r_datetime,10) = ? ";
1075            array_push($params,$ymd);
1076    }
1077    $sql .= " and target_c_diary_id <> 0 ";
1078    $sql .= " group by target_c_diary_id ";
1079    $result = db_get_all($sql,$params);
1080    $total_num = count($result);
1081
1082    if ($total_num != 0) {
1083        $total_page_num =  ceil($total_num / $page_size);
1084        if ($page >= $total_page_num) {
1085            $next = false;
1086        }else{
1087            $next = true;
1088        }
1089        if ($page <= 1) {
1090            $prev = false;
1091        }else{
1092            $prev = true;
1093        }
1094    }
1095    $start_num = ($page - 1) * $page_size + 1 ;
1096    $end_num =   ($page - 1) * $page_size + $page_size > $total_num ? $total_num : ($page - 1) * $page_size + $page_size ;
1097
1098    return array($return, $sum, $prev, $next, $total_num, $start_num, $end_num);   
1099}
1100
1101function p_access_analysis_member_access_member4ym_page_name
1102($ymd, $month_flag, $page_name, $ktai_flag, $page, $page_size, $orderby=1)
1103{
1104    $start = ($page - 1) * $page_size;
1105   
1106    if ($orderby == 1) {
1107        $orderby_str = " order by target_c_member_id asc";
1108    } elseif ($orderby == -1) {
1109        $orderby_str = " order by target_c_member_id desc";
1110    } elseif ($orderby == 2) {
1111        $orderby_str = " order by count asc";
1112    } elseif ($orderby == -2) {
1113        $orderby_str = " order by count desc";
1114    }
1115   
1116    $where =" where ktai_flag = ? ";
1117    $params = array(intval($ktai_flag));
1118    if ($month_flag) {
1119        $where .= " and left(r_datetime, 7) = ? ";
1120        array_push($params,substr($ymd,0,7));
1121    } else {
1122        $where .= " and left(r_datetime,10) = ? ";
1123        array_push($params,$ymd);
1124    }
1125    if ($page_name!="all") {
1126        $where .= " and page_name = ? ";
1127        array_push($params,$page_name);
1128    }
1129
1130    $sql = "select c_member_id , count(*) as count from c_access_log";
1131    $sql .= $where." group by c_member_id $orderby_str limit $start, $page_size";
1132    $list = db_get_all($sql,$params);
1133    $sql = "select count(*) from c_access_log ";
1134    $sql .=    $where ." group by c_member_id ";
1135    $result = db_get_all($sql,$params);
1136    $total_num = count($result);
1137
1138    $return = array();
1139    $sum = 0;
1140    foreach($list as $key => $value) {
1141        if ($value['c_member_id']) {
1142            $c_member = _db_c_member4c_member_id($value['c_member_id']);
1143            $return[] = array_merge($value, $c_member);
1144            $sum += $value['count'];
1145        }
1146    }
1147
1148
1149    if ($total_num != 0) {
1150        $total_page_num =  ceil($total_num / $page_size);
1151        if ($page >= $total_page_num) {
1152            $next = false;
1153        }else{
1154            $next = true;
1155        }
1156        if ($page <= 1) {
1157            $prev = false;
1158        }else{
1159            $prev = true;
1160        }
1161    }
1162    $start_num = ($page - 1) * $page_size + 1 ;
1163    $end_num =   ($page - 1) * $page_size + $page_size > $total_num ? $total_num : ($page - 1) * $page_size + $page_size ;
1164    return array($return, $sum, $prev, $next, $total_num, $start_num, $end_num);   
1165}
1166
1167function p_access_analysis_target_member_access_member4ym_page_name
1168($ymd, $month_flag, $page_name, $ktai_flag, $page, $page_size, $orderby=1)
1169{
1170    $start = ($page - 1) * $page_size;
1171   
1172    if ($orderby == 1) {
1173        $orderby_str = " order by target_c_member_id asc";
1174    } elseif ($orderby == -1) {
1175        $orderby_str = " order by target_c_member_id desc";
1176    } elseif ($orderby == 2) {
1177        $orderby_str = " order by count asc";
1178    } elseif ($orderby == -2) {
1179        $orderby_str = " order by count desc";
1180    }
1181    $where =" where ktai_flag = ? ";
1182    $params = array(intval($ktai_flag));
1183        if ($month_flag) {
1184                $where .= " and left(r_datetime, 7) = ? ";
1185                array_push($params,substr($ymd,0,7));
1186        } else {
1187                $where .= " and left(r_datetime,10) = ? ";
1188                array_push($params,$ymd);
1189        }
1190        if ($page_name!="all") {
1191                $where .= " and page_name = ? ";
1192                array_push($params,$page_name);
1193        }
1194    $sql = "select target_c_member_id , count(*) as count from c_access_log ";
1195    $sql .= $where;
1196    $sql .= " AND target_c_member_id <> 0 ";
1197    $sql .= " group by target_c_member_id " . $orderby_str. " limit $start, $page_size";
1198
1199    $list = db_get_all($sql,$params);
1200
1201    $return = array();
1202    $sum = 0;
1203    foreach($list as $key => $value) {
1204        if ($value['target_c_member_id']) {
1205            $c_member = db_member_c_member4c_member_id($value['target_c_member_id']);
1206            $return[] = array_merge($value, $c_member);
1207            $sum += $value['count'];
1208        }
1209    }
1210
1211    $where =" where ktai_flag = ? ";
1212    $params = array(intval($ktai_flag));
1213        if ($month_flag) {
1214                $where .= " and left(r_datetime, 7) = ? ";
1215                array_push($params,substr($ymd,0,7));
1216        } else {
1217                $where .= " and left(r_datetime,10) = ? ";
1218                array_push($params,$ymd);
1219        }
1220        if ($page_name != "all") {
1221                $where .= " and page_name = ? ";
1222                array_push($params,$page_name);
1223        }
1224    $sql = "select count(*) from c_access_log " ;
1225    $sql .= $where;
1226    $sql .= " AND target_c_member_id <> 0 ";
1227    $sql .= " group by target_c_member_id ";
1228   
1229    $result = db_get_all($sql,$params);
1230    $total_num = count($result);
1231
1232    if ($total_num != 0) {
1233        $total_page_num =  ceil($total_num / $page_size);
1234        if ($page >= $total_page_num) {
1235            $next = false;
1236        } else {
1237            $next = true;
1238        }
1239        if ($page <= 1) {
1240            $prev = false;
1241        } else {
1242            $prev = true;
1243        }
1244    }
1245    $start_num = ($page - 1) * $page_size + 1 ;
1246    $end_num =   ($page - 1) * $page_size + $page_size > $total_num ? $total_num : ($page - 1) * $page_size + $page_size ;
1247
1248    return array($return, $sum, $prev, $next, $total_num, $start_num, $end_num);
1249}
1250
1251function get_is_show($name)
1252{
1253    //必要のない詳細ボタンを消す
1254    switch($name) {
1255    case "h_home":
1256        $is_target_c_member_id = 0;
1257        $is_target_c_commu_id = 0;
1258        $is_target_c_topic_id = 0;
1259        $is_target_c_diary_id = 0;
1260        $is_c_member_id = 1;
1261        break;
1262
1263    case "fh_friend_list":
1264        $is_target_c_member_id = 0;
1265        $is_target_c_commu_id = 0;
1266        $is_target_c_topic_id = 0;
1267        $is_target_c_diary_id = 0;
1268        $is_c_member_id = 1;
1269        break;
1270
1271    case "h_message":
1272        $is_target_c_member_id = 0;
1273        $is_target_c_commu_id = 0;
1274        $is_target_c_topic_id = 0;
1275        $is_target_c_diary_id = 0;
1276        $is_c_member_id = 1;
1277        break;
1278
1279    case "fh_diary_list":
1280        $is_target_c_member_id = 0;
1281        $is_target_c_commu_id = 0;
1282        $is_target_c_topic_id = 0;
1283        $is_target_c_diary_id = 0;
1284        $is_c_member_id = 1;
1285        break;
1286
1287    case "h_message_box":
1288        $is_target_c_member_id = 0;
1289        $is_target_c_commu_id = 0;
1290        $is_target_c_topic_id = 0;
1291        $is_target_c_diary_id = 0;
1292        $is_c_member_id = 1;
1293        break;
1294
1295    case "f_home":
1296        $is_target_c_member_id = 1;
1297        $is_target_c_commu_id = 0;
1298        $is_target_c_topic_id = 0;
1299        $is_target_c_diary_id = 0;
1300        $is_c_member_id = 1;
1301        break;
1302
1303    case "h_com_find_all":
1304        $is_target_c_member_id = 0;
1305        $is_target_c_commu_id = 0;
1306        $is_target_c_topic_id = 0;
1307        $is_target_c_diary_id = 0;
1308        $is_c_member_id = 1;
1309        break;
1310
1311    case "reply_message":
1312        $is_target_c_member_id = 0;
1313        $is_target_c_commu_id = 0;
1314        $is_target_c_topic_id = 0;
1315        $is_target_c_diary_id = 0;
1316        $is_c_member_id = 1;
1317        break;
1318
1319    case "f_message_send":
1320        $is_target_c_member_id = 0;
1321        $is_target_c_commu_id = 0;
1322        $is_target_c_topic_id = 0;
1323        $is_target_c_diary_id = 0;
1324        $is_c_member_id = 1;
1325        break;
1326
1327    case "f_message_send":
1328        $is_target_c_member_id = 0;
1329        $is_target_c_commu_id = 0;
1330        $is_target_c_topic_id = 0;
1331        $is_target_c_diary_id = 0;
1332        $is_c_member_id = 1;
1333        break;
1334   
1335    case "h_diary_list_all":
1336        $is_target_c_member_id = 0;
1337        $is_target_c_commu_id = 0;
1338        $is_target_c_topic_id = 0;
1339        $is_target_c_diary_id = 0;
1340        $is_c_member_id = 1;
1341        break;
1342
1343    case "h_search":
1344        $is_target_c_member_id = 0;
1345        $is_target_c_commu_id = 0;
1346        $is_target_c_topic_id = 0;
1347        $is_target_c_diary_id = 0;
1348        $is_c_member_id = 1;
1349        break;
1350
1351    case "f_message_send_confirm":
1352        $is_target_c_member_id = 1;
1353        $is_target_c_commu_id = 0;
1354        $is_target_c_topic_id = 0;
1355        $is_target_c_diary_id = 0;
1356        $is_c_member_id = 1;
1357        break;
1358
1359    default:
1360        $is_target_c_member_id = 1;
1361        $is_target_c_commu_id = 1;
1362        $is_target_c_topic_id = 1;
1363        $is_target_c_diary_id = 1;
1364        $is_c_member_id = 1;
1365        break;
1366    }
1367
1368    return array($is_target_c_member_id,$is_target_c_commu_id,$is_target_c_topic_id,$is_target_c_diary_id,$is_c_member_id);
1369
1370}
1371
1372/**
1373
1374カラムごとに条件を指定して絞ったメンバーの一覧を返す
1375
1376[引数]
1377適時追加していく
1378
1379$s_access_date    最終ログイン時刻 開始年月日
1380$e_access_date    最終ログイン時刻 終了年月日
1381
1382[返り値]
1383c_member_list
1384
1385*/
1386function p_member_edit_c_member_list($page_size, $page,$s_access_date='', $e_access_date='')
1387{
1388
1389    $page = intval($page);
1390    $page_size = intval($page_size);
1391
1392    $limit = "";
1393
1394    //page_sizeが0の時は全て表示(pagerなし)
1395    if ($page_size != 0) {
1396        $limit = " LIMIT ".($page_size*($page-1)).",$page_size";
1397    }
1398    $where = " WHERE 1 ";
1399
1400    //指定された条件で絞っていく
1401    if ($s_access_date != "") {
1402        $where = $where . " and access_date >= ?";
1403        $params = array($s_access_date);
1404    }
1405
1406    if ($e_access_date != "") {
1407        $where = $where . " and access_date < ?";
1408        $params = array($e_access_date);
1409    }
1410
1411    $select = "SELECT * FROM c_member";
1412    $order = " order by c_member_id";
1413
1414    $sql = $select . $where . $order . $limit;
1415    $list = db_get_all_limit($sql, 0, $limit, $params);
1416   
1417    $sql = "select count(*) from c_member".$where;
1418
1419    $total_num = db_get_one($sql, $params);
1420   
1421    if ($total_num != 0 && $page_size != 0) {
1422        $total_page_num =  ceil($total_num / $page_size);
1423        if ($page >= $total_page_num) {
1424            $next = false;
1425        } else {
1426            $next = true;
1427        }
1428        if ($page <= 1) {
1429            $prev = false;
1430        } else {
1431            $prev = true;
1432        }
1433    }
1434
1435    return array($list , $prev , $next, $total_num);
1436}
1437
1438function _db_c_member4c_member_id($c_member_id)
1439{
1440    $sql = "SELECT * FROM c_member WHERE c_member_id= ? ";
1441        $params = array(intval($c_member_id));
1442    return db_get_row($sql,$params);
1443}
1444
1445/**
1446 * 男と女の人数を取得
1447 */
1448function get_analysis_sex()
1449{
1450    $sql = "select count(*) from c_member where sex = '男'";
1451    $analysis_sex['male'] = get_one4db($sql);
1452    $sql = "select count(*) from c_member where sex = '女'";
1453    $analysis_sex['female'] = get_one4db($sql);
1454   
1455    return $analysis_sex;
1456   
1457}
1458
1459/**
1460 * 世代の人数を取得
1461 */
1462function get_analysis_generation()
1463{
1464    $analysis_generation = array(
1465            '0~9' => 0,
1466            '10~19' => 0,
1467            '20~29' => 0,
1468            '30~39' => 0,
1469            '40~49' => 0,
1470            '50~59' => 0,
1471            '60~69' => 0,
1472            '70~79' => 0,
1473            '80~' =>0
1474    );
1475   
1476    $sql = "select ((year(curdate()) - birth_year)- (RIGHT(CURDATE(),5)<concat(birth_month,'-',birth_day))) as age from c_member;";
1477    $lst = db_get_all($sql);
1478
1479    $temp = array_keys($analysis_generation);
1480    foreach($lst as $value) {
1481        $key = (int)($value['age'] / 10);
1482        if ($key > count($analysis_generation)-1) {
1483            $analysis_generation[$temp[count($analysis_generation)-1]]++;
1484        } else {
1485            $analysis_generation[$temp[$key]]++;
1486        }
1487    }
1488
1489    return $analysis_generation;
1490   
1491}
1492
1493/**
1494 * 地域別の人数を取得
1495 */
1496function get_analysis_region()
1497{
1498    $pref = p_regist_prof_c_profile_pref_list4null();
1499    $sql = "select pre_addr_c_profile_pref_id as pref_id from c_member";
1500    $lst = get_array_list4db($sql);
1501
1502    foreach($pref as $value) {
1503        $analysis_region[$value] = 0;   
1504    }
1505
1506    foreach ($lst as $value) {
1507        if ($value['pref_id'] == 0) {
1508            $analysis_region['その他']++;
1509        } else {
1510            $analysis_region[$pref[$value['pref_id']]]++;
1511        }
1512    }
1513
1514    return $analysis_region;
1515   
1516}
1517
1518function get_analysis_date_month($year = "", $month = "")
1519{
1520    $sql = "select date_format(r_date,'%Y-%m') from c_member order by r_date";
1521    $start_date = db_get_one($sql);
1522
1523    $i = 0;
1524    list($y, $m) = split("-",$start_date);
1525    do{
1526        $date = date("Y-m", mktime (0,0,0,$m+$i++,1,$y));
1527        $analysis_date_month[$date] = 0;
1528    }while($date < date("Y-m"));   
1529   
1530    $sql = "select date_format(r_date,'%Y-%m') as d from c_member";
1531    $lst = db_get_all($sql);
1532    foreach ($lst as $value) {
1533        $analysis_date_month[$value['d']]++;
1534    }
1535    return $analysis_date_month;
1536}
1537
1538function get_analysis_date_day_d($date="")
1539{
1540    if ($date == "") {
1541       $date = date("Y-m-d");
1542    }
1543    return $date;
1544}
1545
1546
1547function get_analysis_date_day($date="")
1548{
1549    if ($date == "") {
1550        $date = date("Y-m");
1551    }
1552    //一ヶ月の日数
1553    $day_num = date("t");
1554
1555    for($i=1 ; $i<=$day_num; $i++) {
1556        //一桁の数を二桁にする
1557        if ($i < 10) {
1558            $i = "0".$i;
1559        }
1560        $analysis_date_day[$i] = 0;
1561    }
1562
1563   
1564    $sql = "select date_format(r_date,'%d') as d from c_member where date_format(r_date,'%Y-%m') = ?";
1565    $params = array($date);
1566    $lst = db_get_all($sql,$params);
1567
1568    foreach($lst as $value) {
1569        $analysis_date_day[$value['d']]++;
1570    }
1571   
1572    return $analysis_date_day;
1573}
1574
1575function p_access_analysis_select_profile_list()
1576{
1577    $sql = "SELECT * " .
1578            " FROM c_profile " .
1579            " where form_type = 'select' ";
1580           
1581    $list = db_get_all($sql);
1582    return $list;
1583}
1584
1585/**
1586 * 指定されたIDのプロフィールの人数別一覧を作成
1587 */
1588function get_analysis_profile($c_profile_id)
1589{
1590    $sql = "select count(*) as count,value,c_profile.caption from c_member_profile " .
1591        " LEFT JOIN c_profile ON c_profile.c_profile_id = c_member_profile.c_profile_id " .
1592        " WHERE c_member_profile.c_profile_id = ? GROUP BY value ";
1593    $params = array(intval($c_profile_id));
1594    $analysis_profile = db_get_all($sql,$params);
1595   
1596    return $analysis_profile;
1597}
1598
1599function get_analysis_count_profile_all($c_profile_id)
1600{
1601    $sql = "select count(*) as count from c_member_profile " .
1602        " WHERE c_profile_id = ? ";
1603    $params = array(intval($c_profile_id));
1604    $analysis_profile = db_get_one($sql,$params);
1605   
1606    return $analysis_profile;
1607}
1608
1609function analysis_profile4c_profile_id($c_profile_id)
1610{
1611    $sql = "SELECT * FROM c_profile" .
1612            " WHERE c_profile_id = ? ";
1613    $params = array(intval($c_profile_id));
1614    $profile = db_get_row($sql,$params);
1615   
1616    return $profile;
1617}
1618function monitor_diary_list($keyword,$page_size,$page)
1619{
1620
1621    $page = intval($page);
1622    $page_size = intval($page_size);
1623   
1624    $where = " where 1 ";
1625
1626    if ($keyword) {
1627        //全角空白を半角に統一
1628        $keyword = str_replace(" ", " ", $keyword);
1629        $keyword_list = explode(" ", $keyword);
1630           
1631        for($i=0;$i < count($keyword_list);$i++) {
1632            $keyword = check_search_word( $keyword_list[$i] );
1633               
1634            $where .= " and (c_diary.subject like ? ";
1635            $where .= " or c_diary.body like ? ) ";
1636            $params[]="%$keyword%";
1637            $params[]="%$keyword%";
1638        }
1639    }
1640   
1641    $select = " select c_diary.*";
1642    $from = " FROM c_diary";
1643    $order = " ORDER BY r_datetime desc";
1644   
1645    $sql = $select . $from . $where . $order;
1646    $list = db_get_all_limit($sql,($page-1)*$page_size,$page_size,$params);
1647    foreach ($list as $key => $value) {
1648        $list[$key]['c_member'] = db_member_c_member_with_profile($value['c_member_id']);
1649        $list[$key]['count_comments'] = db_diary_count_c_diary_comment4c_diary_id($value['c_diary_id']); 
1650    }
1651   
1652    $sql = 
1653        "SELECT count(*) "
1654        . $from
1655        . $where ;
1656    $total_num = db_get_one($sql,$params);
1657   
1658    $total_page_num =  ceil($total_num / $page_size);
1659    $next = ($page < $total_page_num);
1660    $prev = ($page > 1);
1661   
1662    return array($list , $prev , $next, $total_num,$total_page_num); 
1663}
1664
1665function monitor_diary_comment_list($keyword,$page_size,$page)
1666{
1667
1668    $page = intval($page);
1669    $page_size = intval($page_size);
1670   
1671    $where = " where 1 ";
1672
1673    if ($keyword) {
1674        //全角空白を半角に統一
1675        $keyword = str_replace(" ", " ", $keyword);
1676        $keyword_list = explode(" ", $keyword);
1677           
1678        for($i=0;$i < count($keyword_list);$i++) {
1679            $keyword = check_search_word( $keyword_list[$i] );
1680               
1681            $where .= " and (c_diary_comment.body like ? ) ";
1682            $params[]="%$keyword%";
1683        }
1684    }
1685   
1686    $select = " select c_diary_comment.*,c_diary.subject";
1687    $from = " FROM c_diary_comment"
1688        ." LEFT JOIN c_diary ON c_diary.c_diary_id = c_diary_comment.c_diary_id ";
1689    $order = " ORDER BY r_datetime desc";
1690   
1691    $sql = $select . $from . $where . $order;
1692    $list = db_get_all_limit($sql,($page-1)*$page_size,$page_size,$params);
1693    foreach ($list as $key => $value) {
1694        $list[$key]['c_member'] = db_member_c_member_with_profile($value['c_member_id']);
1695        $list[$key]['count_comments'] = db_diary_count_c_diary_comment4c_diary_id($value['c_diary_id']); 
1696    }
1697   
1698    $sql = 
1699        "SELECT count(*) "
1700        . $from
1701        . $where ;
1702    $total_num = db_get_one($sql,$params);
1703   
1704    $total_page_num =  ceil($total_num / $page_size);
1705    $next = ($page < $total_page_num);
1706    $prev = ($page > 1);
1707   
1708    return array($list , $prev , $next, $total_num,$total_page_num); 
1709}
1710
1711
1712function monitor_topic_comment_list($keyword,$page_size,$page)
1713{
1714
1715    $page = intval($page);
1716    $page_size = intval($page_size);
1717   
1718    $where = " where 1 ";
1719
1720    if ($keyword) {
1721        $keyword = str_replace("?@", " ", $keyword);
1722        $keyword_list = explode(" ", $keyword);
1723           
1724        for($i=0;$i < count($keyword_list);$i++) {
1725            $keyword = check_search_word( $keyword_list[$i] );
1726               
1727            $where .= " AND (ctc.body like ? )";
1728            $params[]="%$keyword%";
1729        }
1730    }
1731   
1732    $select = " SELECT ctc.*,ct.name as topic_name,c.name as commu_name,m.nickname";
1733    $from = " FROM c_commu_topic_comment as ctc"
1734            ." LEFT JOIN c_member as m ON ctc.c_member_id = m.c_member_id "
1735            ." LEFT JOIN c_commu_topic as ct ON ct.c_commu_topic_id = ctc.c_commu_topic_id "
1736            ." LEFT JOIN c_commu as c ON c.c_commu_id = ct.c_commu_id ";
1737    $order = " ORDER BY r_datetime desc";
1738   
1739    $sql = $select . $from . $where . $order;
1740   
1741    $list = db_get_all_limit($sql,($page-1)*$page_size,$page_size,$params);
1742   
1743    foreach ($list as $key => $value) {
1744        $list[$key]['count_comments'] = _db_count_c_commu_topic_comments4c_commu_topic_id($value['c_commu_topic_id']); 
1745    }
1746   
1747    $sql = 
1748        "SELECT count(*) "
1749        . $from
1750        . $where ;
1751    $total_num = db_get_one($sql,$params);
1752   
1753    $total_page_num =  ceil($total_num / $page_size);
1754    $next = ($page < $total_page_num);
1755    $prev = ($page > 1);
1756   
1757    return array($list , $prev , $next, $total_num,$total_page_num); 
1758}
1759
1760function monitor_topic_list($keyword,$page_size,$page)
1761{
1762    $page = intval($page);
1763    $page_size = intval($page_size);
1764   
1765    $where = " where 1 ";
1766
1767    if ($keyword) {
1768        $keyword = str_replace("?@", " ", $keyword);
1769        $keyword_list = explode(" ", $keyword);
1770           
1771        for($i=0;$i < count($keyword_list);$i++) {
1772            $keyword = check_search_word( $keyword_list[$i] );
1773               
1774            $where .= " AND (ctc.body like ? ";
1775            $where .= " OR ct.name like ? ";
1776            $where .= " OR c.name like ? ) ";
1777            $params[]="%$keyword%";
1778            $params[]="%$keyword%";
1779            $params[]="%$keyword%";
1780        }
1781    }
1782   
1783    $select = " SELECT ct.*,ct.name as topic_name,c.name as commu_name,m.nickname,ctc.body as body";
1784    $from = " FROM c_commu_topic as ct"
1785            ." LEFT JOIN c_member as m ON ct.c_member_id = m.c_member_id "
1786            ." LEFT JOIN c_commu as c ON c.c_commu_id = ct.c_commu_id "
1787            ." LEFT JOIN c_commu_topic_comment as ctc ON (ctc.c_commu_topic_id = ct.c_commu_topic_id AND ctc.number = 0)";
1788    $order = " ORDER BY r_datetime desc";
1789   
1790    $sql = $select . $from . $where . $order;
1791   
1792    $list = db_get_all_limit($sql,($page-1)*$page_size,$page_size,$params);
1793   
1794    foreach ($list as $key => $value) {
1795        $list[$key]['count_comments'] = _db_count_c_commu_topic_comments4c_commu_topic_id($value['c_commu_topic_id']); 
1796    }
1797   
1798    $sql = 
1799        "SELECT count(*) "
1800        . $from
1801        . $where ;
1802    $total_num = db_get_one($sql,$params);
1803   
1804    $total_page_num =  ceil($total_num / $page_size);
1805    $next = ($page < $total_page_num);
1806    $prev = ($page > 1);
1807   
1808    return array($list , $prev , $next, $total_num,$total_page_num); 
1809}
1810
1811function _db_count_c_commu_topic_comments4c_commu_topic_id($c_commu_topic_id)
1812{
1813    $sql = "SELECT count(*) FROM c_commu_topic_comment" .
1814        " WHERE c_commu_topic_id = ? AND number > 0";
1815    $params = array($c_commu_topic_id);
1816    return db_get_one($sql, $params);
1817}
1818//フリーページを追加
1819function db_admin_insert_c_free_page($body)
1820{
1821    $data = array(
1822        'body' => strval($body),
1823    );
1824    return db_insert('c_free_page', $data);
1825}
1826
1827//フリーページを編集
1828function db_admin_update_c_free_page($c_free_page_id, $body)
1829{
1830    $data = array(
1831        'body' => strval($body),
1832    );
1833    $where = array('c_free_page_id' => intval($c_free_page_id));
1834    return db_update('c_free_page', $data, $where);
1835}
1836
1837//フリーページを削除
1838function db_admin_delete_c_free_page($c_free_page_id)
1839{
1840    $sql = "DELETE FROM c_free_page WHERE c_free_page_id = ?";
1841    $params = array(intval($c_free_page_id));
1842    return db_query($sql, $params);
1843}
1844
1845
1846//フリーページを全て取得(ページャー付き)
1847function db_admin_get_c_free_page_all($page, $page_size, &$pager)
1848{
1849    $sql = 'SELECT * FROM c_free_page ORDER BY c_free_page_id DESC';
1850
1851    $list = db_get_all_page($sql, $page, $page_size, $params);
1852
1853    $sql = 'SELECT count(*) FROM c_free_page';
1854    $total_num = db_get_one($sql, $params);
1855    $pager = admin_make_pager($page, $page_size, $total_num);
1856
1857    return $list;
1858}
1859
1860//フリーページを一つ取得
1861function db_admin_get_c_free_page_one($c_free_page_id)
1862{
1863    $sql = 'SELECT * FROM c_free_page WHERE c_free_page_id = ?';
1864    $params = array(intval($c_free_page_id));
1865
1866    return db_get_row($sql, $params);
1867}
1868
1869//APIを全て取得(ページャー付き)
1870function db_admin_get_c_api_all($page, $page_size, &$pager)
1871{
1872    $sql = 'SELECT * FROM c_api ORDER BY c_api_id';
1873
1874    $list = db_get_all_page($sql, $page, $page_size, $params);
1875
1876    $sql = 'SELECT count(*) FROM c_api';
1877    $total_num = db_get_one($sql, $params);
1878    $pager = admin_make_pager($page, $page_size, $total_num);
1879
1880    return $list;
1881}
1882
1883//APIを編集
1884function db_admin_update_c_api($c_api_id, $name, $ip)
1885{
1886    $data = array(
1887        'name' => strval($name),
1888        'ip' => strval($ip),
1889    );
1890    $where = array('c_api_id' => intval($c_api_id));
1891    return db_update('c_api', $data, $where);
1892}
1893
1894//CMDを追加
1895function db_admin_insert_c_cmd($name, $permit)
1896{
1897    $data = array(
1898        'name' => strval($name),
1899        'permit' => intval($permit),
1900    );
1901    return db_insert('c_cmd', $data);
1902}
1903
1904//CMDを編集
1905function db_admin_update_c_cmd($c_cmd_id, $name, $permit)
1906{
1907    $data = array(
1908        'name' => strval($name),
1909        'permit' => intval($permit),
1910    );
1911    $where = array('c_cmd_id' => intval($c_cmd_id));
1912    return db_update('c_cmd', $data, $where);
1913}
1914
1915//CMDを削除
1916function db_admin_delete_c_cmd($c_cmd_id)
1917{
1918    $sql = "DELETE FROM c_cmd WHERE c_cmd_id = ?";
1919    $params = array(intval($c_cmd_id));
1920    return db_query($sql, $params);
1921}
1922
1923
1924//CMDを全て取得(ページャー付き)
1925function db_admin_get_c_cmd_all($page, $page_size, &$pager)
1926{
1927    $sql = 'SELECT * FROM c_cmd ORDER BY c_cmd_id';
1928
1929    $list = db_get_all_page($sql, $page, $page_size, $params);
1930
1931    $sql = 'SELECT count(*) FROM c_cmd';
1932    $total_num = db_get_one($sql, $params);
1933    $pager = admin_make_pager($page, $page_size, $total_num);
1934
1935    return $list;
1936}
1937
1938//CMDを一つ取得
1939function db_admin_get_c_cmd_one($c_cmd_id)
1940{
1941    $sql = 'SELECT * FROM c_cmd WHERE c_cmd_id = ?';
1942    $params = array(intval($c_cmd_id));
1943
1944    return db_get_row($sql, $params);
1945}
1946
1947/**
1948 * 祝日のリストを取得
1949 */
1950function db_admin_c_holiday_list()
1951{
1952    $sql = 'SELECT * FROM c_holiday ORDER BY month';
1953    $holiday_list = db_get_all($sql);
1954
1955    return $holiday_list;
1956}
1957
1958/**
1959 * 休日を追加
1960 */
1961function db_admin_insert_c_holiday($name, $month, $day)
1962{
1963    $data = array(
1964        'name' => strval($name),
1965        'month' => intval($month),
1966        'day' => intval($day),
1967    );
1968    return db_insert('c_holiday', $data);
1969}
1970
1971/**
1972 * 休日を編集
1973 */
1974function db_admin_update_c_holiday($c_holiday_id, $name, $month, $day)
1975{
1976    $data = array(
1977        'name' => strval($name),
1978        'month' => intval($month),
1979        'day' => intval($day),
1980    );
1981    $where = array('c_holiday_id' => intval($c_holiday_id));
1982    return db_update('c_holiday', $data, $where);
1983}
1984
1985/**
1986 * 休日を削除
1987 */
1988function db_admin_delete_c_holiday($c_holiday_id)
1989{
1990    $sql = "DELETE FROM c_holiday WHERE c_holiday_id = ?";
1991    $params = array(intval($c_holiday_id));
1992    return db_query($sql, $params);
1993}
1994
1995//メッセージ送信履歴を挿入
1996function db_admin_insert_c_send_messages_history($subject, $body, $send_num, $type, $c_member_ids)
1997{
1998
1999    //配列を文字列に変換
2000    if($c_member_ids) {
2001        $c_member_ids = implode("-",$c_member_ids);
2002    } else {
2003        return;
2004    }
2005
2006    $data = array(
2007        'subject'       => strval($subject),
2008        'body'          => strval($body),
2009        'send_num'      => intval($send_num),
2010        'type'          => strval($type),
2011        'c_member_ids'  => strval($c_member_ids),
2012        'r_datetime'    => db_now()
2013    );
2014
2015    return db_insert('c_send_messages_history', $data);
2016
2017}
2018
2019//メッセージ送信履歴を全て取得(ページャー付き)
2020function db_admin_get_c_send_messages_history_all($page, $page_size, &$pager)
2021{
2022
2023    $sql = 'SELECT * FROM c_send_messages_history ORDER BY c_send_messages_history_id DESC';
2024
2025    $history_list = db_get_all_page($sql, $page, $page_size, $params);
2026
2027    foreach ($history_list as $key => $history) {
2028        $history_list[$key]['c_member_ids'] = explode("-", $history['c_member_ids']);
2029    }
2030
2031    $sql = 'SELECT count(*) FROM c_send_messages_history';
2032    $total_num = db_get_one($sql, $params);
2033    $pager = admin_make_pager($page, $page_size, $total_num);
2034
2035    return $history_list;
2036}
2037
2038//メッセージ送信履歴を一つ取得
2039function db_admin_get_c_send_messages_history($c_send_messages_history_id)
2040{
2041
2042    $sql = 'SELECT * FROM c_send_messages_history WHERE c_send_messages_history_id = ?';
2043
2044    $params = array(intval($c_send_messages_history_id));
2045
2046    $history = db_get_row($sql, $params);
2047
2048    $history['c_member_ids'] = explode("-", $history['c_member_ids']);
2049
2050    return $history;
2051}
2052
2053//メッセージをキューに入れる
2054function db_admin_insert_c_message_queue($c_member_id_from, $c_member_id_to, $subject, $body)
2055{
2056    $data = array(
2057        'c_member_id_from' => intval($c_member_id_from),
2058        'c_member_id_to'   => intval($c_member_id_to),
2059        'subject'          => strval($subject),
2060        'body'             => strval($body),
2061    );
2062    return db_insert('c_message_queue', $data);
2063}
2064
2065//メッセージをキューから削除
2066function db_admin_delete_c_message_queue($c_message_queue_id)
2067{
2068
2069    $sql = "DELETE FROM c_message_queue WHERE c_message_queue_id = ?";
2070    $params = array(intval($c_message_queue_id));
2071
2072    return db_query($sql, $params);
2073}
2074
2075//ランクを追加
2076function db_admin_insert_c_rank($name, $image_filename, $point)
2077{
2078    $data = array(
2079        'name' => strval($name),
2080        'image_filename' => strval($image_filename),
2081        'point' => intval($point),
2082    );
2083    return db_insert('c_rank', $data);
2084}
2085
2086//ランクを編集
2087function db_admin_update_c_rank($c_rank_id, $name, $image_filename, $point)
2088{
2089    $data = array(
2090        'name' => strval($name),
2091        'image_filename' => strval($image_filename),
2092        'point' => intval($point),
2093    );
2094    $where = array('c_rank_id' => intval($c_rank_id));
2095    return db_update('c_rank', $data, $where);
2096}
2097
2098//ランクを削除
2099function db_admin_delete_c_rank($c_rank_id)
2100{
2101    $sql = "DELETE FROM c_rank WHERE c_rank_id = ?";
2102    $params = array(intval($c_rank_id));
2103    return db_query($sql, $params);
2104}
2105
2106
2107//ランクを全て取得(ページャー付き)
2108function db_admin_get_c_rank_all($page, $page_size, &$pager)
2109{
2110    $sql = 'SELECT * FROM c_rank ORDER BY point';
2111
2112    $list = db_get_all_page($sql, $page, $page_size, $params);
2113
2114    $sql = 'SELECT count(*) FROM c_rank';
2115    $total_num = db_get_one($sql, $params);
2116    $pager = admin_make_pager($page, $page_size, $total_num);
2117
2118    return $list;
2119}
2120
2121//ランクを一つ取得
2122function db_admin_get_c_rank_one($c_rank_id)
2123{
2124    $sql = 'SELECT * FROM c_rank WHERE c_rank_id = ?';
2125    $params = array(intval($c_rank_id));
2126
2127    return db_get_row($sql, $params);
2128}
2129
2130//アクションを編集
2131function db_admin_update_c_action($c_action_id, $name, $point)
2132{
2133    $data = array(
2134        'name' => strval($name),
2135        'point' => intval($point),
2136    );
2137    $where = array('c_action_id' => intval($c_action_id));
2138    return db_update('c_action', $data, $where);
2139}
2140
2141//アクションを全て取得(ページャー付き)
2142function db_admin_get_c_action_all($page, $page_size, &$pager)
2143{
2144    $sql = 'SELECT * FROM c_action ORDER BY c_action_id';
2145
2146    $list = db_get_all_page($sql, $page, $page_size, $params);
2147
2148    $sql = 'SELECT count(*) FROM c_action';
2149    $total_num = db_get_one($sql, $params);
2150    $pager = admin_make_pager($page, $page_size, $total_num);
2151
2152    return $list;
2153}
2154?>
Note: See TracBrowser for help on using the repository browser.