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

source: OpenPNE/branches/ishida/prj_dev26/webapp/modules/admin/lib/db_admin.php @ 743

Last change on this file since 743 was 743, checked in by ishida, 14 years ago

#301 プロフィールにテキストボックス(長)追加
#302 プロフィール入力欄毎に説明文を書く
実装完了

File size: 22.9 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    if (!$c_profile_option_id) return false;
78
79    $sql = 'DELETE FROM c_member_profile WHERE c_profile_option_id = ?';
80    $params = array(intval($c_profile_option_id));
81    db_query($sql, $params);
82
83    $sql = 'DELETE FROM c_profile_option WHERE c_profile_option_id = ?';
84    db_query($sql, $params);
85
86    return true;
87}
88
89function db_admin_insert_c_profile_option($c_profile_id, $value, $sort_order)
90{
91    $data = array(
92        'c_profile_id' => intval($c_profile_id),
93        'value' => $value,
94        'sort_order' => intval($sort_order),
95    );
96    return db_insert('c_profile_option', $data);
97}
98
99function db_admin_update_c_profile_option($c_profile_option_id, $value, $sort_order)
100{
101    $data = array('value' => $value);
102    $where = array('c_profile_option_id' => intval($c_profile_option_id));
103    db_update('c_member_profile', $data, $where);
104
105    $data = array(
106        'value' => $value,
107        'sort_order' => intval($sort_order),
108    );
109    db_update('c_profile_option', $data, $where);
110}
111
112function db_admin_insert_c_banner($a_href, $type, $nickname)
113{
114    $data = array(
115        'a_href' => $a_href,
116        'type' => $type,
117        'nickname' => $nickname,
118        'is_hidden_after' => 0,
119        'is_hidden_before' => 0,
120    );
121    return db_insert('c_banner', $data);
122}
123
124function db_admin_update_c_banner($c_banner_id, $sets)
125{
126    $where = array('c_banner_id' => intval($c_banner_id));
127    db_update('c_banner', $sets, $where);
128}
129
130function db_admin_delete_c_banner($c_banner_id)
131{
132    db_admin_delete_c_image4c_banner_id($c_banner_id);
133
134    $sql = 'DELETE FROM c_banner WHERE c_banner_id = ?';
135    $params = array(intval($c_banner_id));
136    db_query($sql, $params);
137}
138
139function db_admin_delete_c_image4c_banner_id($c_banner_id)
140{
141    $sql = 'SELECT image_filename FROM c_banner WHERE c_banner_id = ?';
142    $params = array(intval($c_banner_id));
143    $image_filename = db_get_one($sql, $params);
144    image_data_delete($image_filename);
145}
146
147function db_admin_insert_c_profile(
148    $name
149    , $caption
150    , $info
151    , $is_required
152    , $public_flag_edit
153    , $public_flag_default
154    , $form_type
155    , $sort_order
156    , $disp_regist
157    , $disp_config
158    , $disp_search
159    , $val_type
160    , $val_regexp
161    , $val_min
162    , $val_max
163    )
164{
165    $data = array(
166        'name' => $name,
167        'caption' => $caption,
168        'info' => $info,
169        'is_required' => (bool)$is_required,
170        'public_flag_edit' => (bool)$public_flag_edit,
171        'public_flag_default' => $public_flag_default,
172        'form_type' => $form_type,
173        'sort_order' => (int)$sort_order,
174        'disp_regist' => (bool)$disp_regist,
175        'disp_config' => (bool)$disp_config,
176        'disp_search' => (bool)$disp_search,
177        'val_type' => $val_type,
178        'val_regexp' => $val_regexp,
179        'val_min' => (int)$val_min,
180        'val_max' => (int)$val_max,
181    );
182    return db_insert('c_profile', $data);
183}
184
185function db_admin_update_c_profile($c_profile_id
186    , $name
187    , $caption
188    , $info
189    , $is_required
190    , $public_flag_edit
191    , $public_flag_default
192    , $form_type
193    , $sort_order
194    , $disp_regist
195    , $disp_config
196    , $disp_search
197    , $val_type
198    , $val_regexp
199    , $val_min
200    , $val_max
201    )
202{
203    $data = array(
204        'name' => $name,
205        'caption' => $caption,
206        'info' => $info,
207        'is_required' => (bool)$is_required,
208        'public_flag_edit' => (bool)$public_flag_edit,
209        'public_flag_default' => $public_flag_default,
210        'form_type' => $form_type,
211        'sort_order' => intval($sort_order),
212        'disp_regist' => (bool)$disp_regist,
213        'disp_config' => (bool)$disp_config,
214        'disp_search' => (bool)$disp_search,
215        'val_type' => $val_type,
216        'val_regexp' => $val_regexp,
217        'val_min' => intval($val_min),
218        'val_max' => intval($val_max),
219    );
220    $where = array('c_profile_id' => intval($c_profile_id));
221    db_update('c_profile', $data, $where);
222
223    // 公開設定が固定のときはユーザーの設定値を上書き
224    if (!$public_flag_edit) {
225        $data = array('public_flag' => $public_flag_default);
226        db_update('c_member_profile', $data, $where);
227    }
228}
229
230function db_admin_delete_c_profile($c_profile_id)
231{
232    $params = array(intval($c_profile_id));
233
234    // メンバーのプロフィールから削除
235    $sql = 'DELETE FROM c_member_profile WHERE c_profile_id = ?';
236    db_query($sql, $params);
237
238    // 選択肢項目を削除
239    $sql = 'DELETE FROM c_profile_option WHERE c_profile_id = ?';
240    db_query($sql, $params);
241
242    // プロフィール項目を削除
243    $sql = 'DELETE FROM c_profile WHERE c_profile_id = ?';
244    db_query($sql, $params);
245}
246
247function db_admin_c_profile4c_profile_id($c_profile_id)
248{
249    $sql = 'SELECT * FROM c_profile WHERE c_profile_id = ?';
250    $params = array(intval($c_profile_id));
251    return db_get_row($sql, $params);
252}
253
254/**
255 * 全バナー取得
256 *
257 * @param  int $limit 取得最大件数
258 * @return array_of_array  c_banner_list バナー配列
259 */
260function db_admin_c_banner_list4null($type = '')
261{
262    $sql = 'SELECT * FROM c_banner';
263    $params = array();
264    if ($type) {
265        $sql .= ' WHERE type = ?';
266        $params[] = $type;
267    }
268    return db_get_all($sql, $params);
269}
270
271function db_admin_c_commu_category_parent_list()
272{
273    $sql = 'SELECT * FROM c_commu_category_parent ORDER BY sort_order';
274    return db_get_all($sql);
275}
276
277function db_admin_c_commu_category_list()
278{
279    $sql = 'SELECT * FROM c_commu_category ORDER BY sort_order';
280    $list = db_get_all($sql);
281
282    $category_list = array();
283    foreach ($list as $item) {
284        $category_list[$item['c_commu_category_parent_id']][] = $item;
285    }
286    return $category_list;
287}
288
289function db_admin_insert_c_commu_category_parent($name, $sort_order)
290{
291    $data = array(
292        'name' => $name,
293        'sort_order' => intval($sort_order),
294    );
295    return db_insert('c_commu_category_parent', $data);
296}
297
298function db_admin_update_c_commu_category_parent($c_commu_category_parent_id, $name, $sort_order)
299{
300    $data = array(
301        'name' => $name,
302        'sort_order' => intval($sort_order),
303    );
304    $where = array(
305        'c_commu_category_parent_id' => intval($c_commu_category_parent_id)
306    );
307    db_update('c_commu_category_parent', $data, $where);
308}
309
310function db_admin_delete_c_commu_category_parent($c_commu_category_parent_id)
311{
312    $params = array(intval($c_commu_category_parent_id));
313
314    // 小カテゴリを削除
315    $sql = 'DELETE FROM c_commu_category WHERE c_commu_category_parent_id = ?';
316    db_query($sql, $params);
317
318    // 中カテゴリを削除
319    $sql = 'DELETE FROM c_commu_category_parent WHERE c_commu_category_parent_id = ?';
320    db_query($sql, $params);
321}
322
323function db_admin_insert_c_commu_category($c_commu_category_parent_id, $name, $sort_order)
324{
325    $data = array(
326        'c_commu_category_parent_id' => intval($c_commu_category_parent_id),
327        'name' => $name,
328        'sort_order' => intval($sort_order),
329    );
330    return db_insert('c_commu_category', $data);
331}
332
333function db_admin_update_c_commu_category($c_commu_category_id, $name, $sort_order)
334{
335    $data = array(
336        'name' => $name,
337        'sort_order' => intval($sort_order)
338    );
339    $where = array('c_commu_category_id' => intval($c_commu_category_id));
340    db_update('c_commu_category', $data, $where);
341}
342
343function db_admin_delete_c_commu_category($c_commu_category_id)
344{
345    // 小カテゴリを削除
346    $sql = 'DELETE FROM c_commu_category WHERE c_commu_category_id = ?';
347    $params = array(intval($c_commu_category_id));
348    db_query($sql, $params);
349}
350
351function db_admin_c_admin_user_id4username($username)
352{
353    $sql = 'SELECT c_admin_user_id FROM c_admin_user WHERE username = ?';
354    $params = array($username);
355    return db_get_one($sql, $params);
356}
357
358function db_admin_authenticate_password($uid, $password)
359{
360    $sql = 'SELECT c_admin_user_id FROM c_admin_user WHERE c_admin_user_id = ? AND password = ?';
361    $params = array(intval($uid), md5($password));
362    return (bool)db_get_one($sql, $params);
363}
364
365function db_admin_update_c_admin_user_password($uid, $password)
366{
367    $data = array('password' => md5($password));
368    $where = array('c_admin_user_id' => intval($uid));
369    db_update('c_admin_user', $data, $where);
370}
371
372function db_admin_c_admin_config4name($name)
373{
374    $sql = 'SELECT value FROM c_admin_config WHERE name = ?';
375    $params = array($name);
376    return db_get_one($sql, $params);
377}
378
379function db_admin_insert_c_admin_config($name, $value)
380{
381    $data = array(
382        'name' => $name,
383        'value' => $value,
384    );
385    return db_insert('c_admin_config', $data);
386}
387
388function db_admin_update_c_admin_config($name, $value)
389{
390    $data = array('value' => $value);
391    $where = array('name' => $name);
392    db_update('c_admin_config', $data, $where);
393}
394
395function db_admin_replace_c_admin_config($name, $value)
396{
397    $sql = 'DELETE FROM c_admin_config WHERE name = ?';
398    $params = array($name);
399    db_query($sql, $params);
400
401    $data = array(
402        'name'  => strval($name),
403        'value' => strval($value),
404    );
405    return db_insert('c_admin_config', $data);
406}
407
408function db_admin_c_admin_config_all()
409{
410    $sql = 'SELECT name, value FROM c_admin_config';
411    return db_get_assoc($sql);
412}
413
414function db_admin_delete_c_image_link4image_filename($image_filename)
415{
416    // c_banner (削除)
417    $sql = 'DELETE FROM c_banner WHERE image_filename = ?';
418    $params = array($image_filename);
419    db_query($sql, $params);
420
421    // c_commu
422    $tbl = 'c_commu';
423    _db_admin_empty_image_filename($tbl, $image_filename);
424
425    // c_commu_topic_comment
426    $tbl = 'c_commu_topic_comment';
427    _db_admin_empty_image_filename($tbl, $image_filename, 'image_filename1');
428    _db_admin_empty_image_filename($tbl, $image_filename, 'image_filename2');
429    _db_admin_empty_image_filename($tbl, $image_filename, 'image_filename3');
430
431    // c_diary
432    $tbl = 'c_diary';
433    _db_admin_empty_image_filename($tbl, $image_filename, 'image_filename_1');
434    _db_admin_empty_image_filename($tbl, $image_filename, 'image_filename_2');
435    _db_admin_empty_image_filename($tbl, $image_filename, 'image_filename_3');
436
437    // c_diary_comment
438    $tbl = 'c_diary_comment';
439    _db_admin_empty_image_filename($tbl, $image_filename, 'image_filename_1');
440    _db_admin_empty_image_filename($tbl, $image_filename, 'image_filename_2');
441    _db_admin_empty_image_filename($tbl, $image_filename, 'image_filename_3');
442
443    // c_member
444    $tbl = 'c_member';
445    _db_admin_empty_image_filename($tbl, $image_filename);
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
451function _db_admin_empty_image_filename($tbl, $image_filename, $column = 'image_filename')
452{
453    $data = array(
454        db_escapeIdentifier($column) => '',
455    );
456    $where = array(
457        db_escapeIdentifier($column) => $image_filename,
458    );
459    db_update(db_escapeIdentifier($tbl), $data, $where);
460}
461
462function db_admin_c_profile_name_exists($name)
463{
464    $sql = 'SELECT c_profile_id FROM c_profile WHERE name = ?';
465    $params = array($name);
466    return db_get_one($sql, $params);
467}
468
469function db_admin_update_is_login_rejected($c_member_id)
470{
471    $sql = 'SELECT is_login_rejected FROM c_member WHERE c_member_id = ?';
472    $params = array(intval($c_member_id));
473    $is_login_rejected = db_get_one($sql, $params);
474    if (is_null($is_login_rejected)) {
475        return false;
476    }
477
478    $data = array('is_login_rejected' => !($is_login_rejected));
479    $where = array('c_member_id' => intval($c_member_id));
480    return db_update('c_member', $data, $where);
481}
482
483function db_admin_c_admin_user_list()
484{
485    $sql = 'SELECT * FROM c_admin_user ORDER BY c_admin_user_id';
486    return db_get_all($sql);
487}
488
489function db_admin_exists_c_admin_username($username)
490{
491    $sql = 'SELECT c_admin_user_id FROM c_admin_user WHERE username = ?';
492    $params = array(strval($username));
493    return (bool)db_get_one($sql, $params);
494}
495
496function db_admin_insert_c_admin_user($username, $password, $auth_type)
497{
498    $data = array(
499        'username' => strval($username),
500        'password' => md5($password),
501        'auth_type' => strval($auth_type),
502    );
503    return db_insert('c_admin_user', $data);
504}
505
506function db_admin_delete_c_admin_user($c_admin_user_id)
507{
508    $sql = 'DELETE FROM c_admin_user WHERE c_admin_user_id = ?';
509    $params = array(intval($c_admin_user_id));
510    return db_query($sql, $params);
511}
512
513function db_admin_get_auth_type($c_admin_user_id)
514{
515    $sql = 'SELECT auth_type FROM c_admin_user WHERE c_admin_user_id = ?';
516    $params = array(intval($c_admin_user_id));
517    return db_get_one($sql, $params);
518}
519
520/**
521 * ユーザーIDリスト取得(絞り込み対応)
522 */
523function _db_admin_c_member_id_list($cond_list)
524{
525    $sql = 'SELECT c_member_id'.
526           ' FROM c_member'.
527           ' WHERE 1';
528
529    //開始年
530    if (!empty($cond_list['s_year'])) {
531        $sql .= ' AND birth_year >= ?';
532        $params[] = $cond_list['s_year'];
533    }
534    //終了年
535    if (!empty($cond_list['e_year'])) {
536        $sql .= ' AND birth_year <= ?';
537        $params[] = $cond_list['e_year'];
538    }
539    $sql .= ' ORDER BY c_member_id';
540
541    $ids = db_get_col($sql, $params);
542
543    //各プロフィールごとで絞り結果をマージする
544    $_sql = 'SELECT name FROM c_profile WHERE (form_type = ? OR form_type = ?)';
545    $profile = db_get_col($_sql, array('select', 'radio'));
546
547    if ( $profile ) {
548        foreach ($profile as $value) {
549            if (!empty($cond_list[$value])) {
550                $sql = 'SELECT c_member_id FROM c_member_profile WHERE c_profile_option_id = ?';
551                $params = array($cond_list[$value]);
552                $temp_ids = db_get_col($sql, $params);
553                $ids = array_intersect($ids, $temp_ids);
554            }
555        }
556    }
557
558    return $ids;
559}
560
561/**
562 * ユーザーリスト取得
563 * 誕生年+プロフィール(select,radioのみ)
564 */
565function _db_admin_c_member_list($page, $page_size, &$pager, $cond_list)
566{
567    $ids = _db_admin_c_member_id_list($cond_list);
568    $total_num = count($ids);
569    $ids = array_slice($ids, ($page - 1) * $page_size, $page_size);
570
571    $c_member_list = array();
572    foreach ($ids as $id) {
573        $c_member_list[] = db_common_c_member4c_member_id($id, true, true, 'private');
574    }
575
576    if ($total_num > 0) {
577        $pager = admin_make_pager($page, $page_size, $total_num);
578    }
579
580    return $c_member_list;
581}
582
583function db_c_profile_option4c_profile_option_id($c_profile_option_id)
584{
585    $sql = "SELECT * FROM c_profile_option WHERE c_profile_option_id = ? ";
586    $params = array(intval($c_profile_option_id));
587    return db_get_row($sql, $params);
588}
589
590/**
591 * メンバー絞込みパラメータ取得
592 */
593function validate_cond($requests)
594{
595    $cond_list = array();
596    //誕生年
597    if (!empty($requests['s_year'])) {
598        $cond_list['s_year'] = intval($requests['s_year']);
599    }
600    if (!empty($requests['e_year'])) {
601        $cond_list['e_year'] = intval($requests['e_year']);
602    }
603    //プロフィール
604    $profile_list = db_common_c_profile_list();
605
606    foreach ($profile_list as $key => $value) {
607        if (!empty($requests[$key])) {
608            $cond_list[$key] = intval($requests[$key]);
609        }
610    }
611    return $cond_list;
612}
613
614function do_admin_send_mail($c_member_id, $subject, $body)
615{
616    $c_member = db_common_c_member4c_member_id($c_member_id, true);
617    $pc_address = $c_member['secure']['pc_address'];
618
619    if (OPENPNE_MAIL_QUEUE) {
620        //メールキューに蓄積
621        put_mail_queue($pc_address, $subject, $body);
622    } else {
623        t_send_email($pc_address, $subject, $body);
624    }
625}
626
627//メッセージ受信メール(メール&メッセージキュー蓄積対応)
628function do_admin_send_message($c_member_id_from, $c_member_id_to, $subject, $body)
629{
630    //メッセージ
631    if (OPENPNE_MESSAGE_QUEUE) {
632        //メッセージキューに蓄積
633        db_admin_insert_c_message_queue($c_member_id_from, $c_member_id_to, $subject, $body);
634        return true;
635    } else {
636        _do_insert_c_message($c_member_id_from, $c_member_id_to, $subject, $body);
637        do_admin_send_message_mail_send($c_member_id_to, $c_member_id_from);
638        do_admin_send_message_mail_send_ktai($c_member_id_to, $c_member_id_from);
639        return true;
640    }
641
642    return false;
643}
644
645//メッセージ受信メール(メールキュー蓄積対応)
646function do_admin_send_message_mail_send($c_member_id_to, $c_member_id_from)
647{
648    $c_member_to = db_common_c_member4c_member_id($c_member_id_to, true);
649    $pc_address = $c_member_to['secure']['pc_address'];
650    $is_receive_mail = $c_member_to['is_receive_mail'];
651
652    $params = array(
653        "c_member_to"   => db_common_c_member4c_member_id($c_member_id_to),
654        "c_member_from" => db_common_c_member4c_member_id($c_member_id_from),
655    );
656    return admin_fetch_send_mail($pc_address, 'm_pc_message_zyushin', $params, $is_receive_mail);
657}
658
659//◆メッセージ受信メール(携帯)
660function do_admin_send_message_mail_send_ktai($c_member_id_to, $c_member_id_from)
661{
662    $c_member_to = db_common_c_member4c_member_id($c_member_id_to, true);
663    $ktai_address = $c_member_to['secure']['ktai_address'];
664    $is_receive_ktai_mail = $c_member_to['is_receive_ktai_mail'];
665    $p = array('kad' => t_encrypt($c_member_to['secure']['ktai_address']));
666    $login_url = openpne_gen_url('ktai', 'page_o_login', $p);
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        'login_url' => $login_url,
672    );
673    return admin_fetch_send_mail($ktai_address, 'm_ktai_message_zyushin', $params, $is_receive_ktai_mail);
674}
675
676function admin_fetch_send_mail($address, $tpl_name, $params = array(), $force = true, $from = '')
677{
678    $tpl_name .= '.tpl';
679    if ($tpl = fetch_mail_m_tpl($tpl_name, $params)) {
680        list($subject, $body) = $tpl;
681        if ($from) {
682            if (OPENPNE_MAIL_QUEUE) {
683                //メールキューに蓄積
684                put_mail_queue($address, $subject, $body, $force, $from);
685            } else {
686                t_send_email($address, $subject, $body, $force, $from);
687            }
688        } else {
689            if (OPENPNE_MAIL_QUEUE) {
690                //メールキューに蓄積
691                put_mail_queue($address, $subject, $body, $force);
692            } else {
693                t_send_email($address, $subject, $body, $force);
694            }
695        }
696        return true;
697    } else {
698        return false;
699    }
700}
701
702/*--------------------------------
703ここからメッセージ送信履歴
704---------------------------------*/
705
706//メッセージ送信履歴を挿入
707function db_admin_insert_c_send_messages_history($subject, $body, $send_num, $type, $c_member_ids)
708{
709
710    //配列を文字列に変換
711    if($c_member_ids) {
712        $c_member_ids = implode("-",$c_member_ids);
713    } else {
714        return;
715    }
716
717    $data = array(
718        'subject'       => strval($subject),
719        'body'          => strval($body),
720        'send_num'      => intval($send_num),
721        'type'          => strval($type),
722        'c_member_ids'  => strval($c_member_ids),
723        'r_datetime'    => db_now()
724    );
725
726    return db_insert('c_send_messages_history', $data);
727
728}
729
730//メッセージ送信履歴を全て取得(ページャー付き)
731function db_admin_get_c_send_messages_history_all($page, $page_size, &$pager)
732{
733
734    $sql = 'SELECT * FROM c_send_messages_history ORDER BY c_send_messages_history_id DESC';
735
736    $history_list = db_get_all_page($sql, $page, $page_size, $params);
737
738    foreach ($history_list as $key => $history) {
739        $history_list[$key]['c_member_ids'] = explode("-", $history['c_member_ids']);
740    }
741
742    $sql = 'SELECT count(*) FROM c_send_messages_history';
743    $total_num = db_get_one($sql, $params);
744    $pager = admin_make_pager($page, $page_size, $total_num);
745
746    return $history_list;
747}
748
749//メッセージ送信履歴を一つ取得
750function db_admin_get_c_send_messages_history($c_send_messages_history_id)
751{
752
753    $sql = 'SELECT * FROM c_send_messages_history WHERE c_send_messages_history_id = ?';
754
755    $params = array(intval($c_send_messages_history_id));
756
757    $history = db_get_row($sql, $params);
758
759    $history['c_member_ids'] = explode("-", $history['c_member_ids']);
760
761    return $history;
762}
763
764/*--------------------------------
765ここからメッセージキュー
766---------------------------------*/
767
768//メッセージをキューに入れる
769function db_admin_insert_c_message_queue($c_member_id_from, $c_member_id_to, $subject, $body)
770{
771    $data = array(
772        'c_member_id_from' => intval($c_member_id_from),
773        'c_member_id_to'   => intval($c_member_id_to),
774        'subject'          => strval($subject),
775        'body'             => strval($body),
776    );
777    return db_insert('c_message_queue', $data);
778}
779
780//メッセージをキューから削除
781function db_admin_delete_c_message_queue($c_message_queue_id)
782{
783
784    $sql = "DELETE FROM c_message_queue WHERE c_message_queue_id = ?";
785    $params = array(intval($c_message_queue_id));
786
787    return db_query($sql, $params);
788}
789
790?>
Note: See TracBrowser for help on using the repository browser.