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

source: OpenPNE/branches/takanashi/prj_takanashi7/webapp/modules/admin/lib/db_admin.php @ 1253

Last change on this file since 1253 was 1253, checked in by takanashi, 16 years ago

PNEPointアクション・ランク確認

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