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

source: OpenPNE/branches/develop/2_7_2/webapp/modules/admin/lib/db_admin.php @ 2003

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

#470 管理画面からレビュー一覧・削除

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