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

source: OpenPNE/branches/takanashi/prj_takanashi3/webapp/modules/admin/do/csv_member.php @ 954

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

モジュール名誤りを修正

  • Property svn:eol-style set to LF
  • Property svn:keywords set to Id Date Author Rev URL
File size: 4.5 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
7class admin_do_csv_member extends OpenPNE_Action
8{
9    function execute($requests)
10    {
11        $start_id = $requests['start_id'];
12        $end_id = $requests['end_id'];
13       
14        $member_key_string = $this->get_key_list();
15        $c_member_list = $this->db_get_c_member_list($start_id,$end_id);
16        $member_csv_data = $this->create_csv_data($member_key_string,$c_member_list);
17       
18        header("Content-Type: application/octet-stream");
19        header("Content-Disposition: attachment; filename=member.csv");
20        echo $member_csv_data;
21        exit;
22    }
23   
24    /**
25     * ユーザーリスト取得
26     */
27    function db_get_c_member_list($start_id,$end_id)
28    {
29        $params=array();
30        $sql = 'SELECT c_member_id FROM c_member ';
31        $sql .= ' WHERE 1 ' ;
32        if($start_id!=""){
33            $sql .= ' AND c_member_id >= ? ';
34            $params[] = $start_id;
35        }
36        if($end_id!=""){
37            $sql .= ' AND c_member_id <= ? ';
38            $params[] = $end_id;
39        }
40        $sql .= ' ORDER BY c_member_id' ;
41        $ids = db_get_col($sql,$params);
42   
43        $c_member_list = array();
44        foreach ($ids as $id) {
45            $tmp_c_member = array();
46            $_tmp_c_member = db_common_c_member4c_member_id($id, false, false, 'private');
47           
48            $tmp_c_member['c_member_id'] = $_tmp_c_member['c_member_id'];
49            $tmp_c_member['nickname'] = $_tmp_c_member['nickname'];
50            $tmp_c_member['access_date'] = $_tmp_c_member['access_date'];
51            $tmp_c_member['r_date'] = $_tmp_c_member['r_date'];
52            $tmp_c_member['c_member_id_invite'] = $_tmp_c_member['c_member_id_invite'];
53            $tmp_c_member['image_filename_1'] = $_tmp_c_member['image_filename_1'];
54            $tmp_c_member['image_filename_2'] = $_tmp_c_member['image_filename_2'];
55            $tmp_c_member['image_filename_3'] = $_tmp_c_member['image_filename_3'];
56            $tmp_c_member['birth_year'] = $_tmp_c_member['birth_year'];
57            $tmp_c_member['birth_month'] = $_tmp_c_member['birth_month'];
58            $tmp_c_member['birth_day'] = $_tmp_c_member['birth_day'];
59           
60            $tmp_profile_list = db_common_c_member_profile_list4c_member_id($id, 'private');
61            $c_profile_list = db_common_c_profile_list4null();
62            foreach($c_profile_list as $key=>$tmp_profile ){
63                $tmp_c_member[$tmp_profile['name']] = $tmp_profile_list[$tmp_profile['name']]['value'];
64            }
65           
66            $tmp_secure = db_common_c_member_secure4c_member_id($id);
67            $tmp_c_member['pc_address'] = $tmp_secure['pc_address'];
68            $tmp_c_member['ktai_address'] = $tmp_secure['ktai_address'];
69            $tmp_c_member['regist_address'] = $tmp_secure['regist_address'];
70           
71            $c_member_list[]=$tmp_c_member;
72        }
73   
74        return $c_member_list;
75    }
76   
77    function get_key_list(){
78        $c_profile_list = db_common_c_profile_list4null();
79       
80        $ley_list[]="メンバーID";
81        $ley_list[]="ニックネーム";
82        $ley_list[]="最終ログイン";
83        $ley_list[]="登録日";
84        $ley_list[]="招待者ID";
85        $ley_list[]="画像1";
86        $ley_list[]="画像2";
87        $ley_list[]="画像3";
88        $ley_list[]="誕生年";
89        $ley_list[]="誕生月";
90        $ley_list[]="誕生日";
91        foreach($c_profile_list as $profile){
92                $ley_list[]= $profile['caption'];
93        }
94        $ley_list[]="PCアドレス";
95        $ley_list[]="携帯アドレス";
96        $ley_list[]="登録時アドレス";
97       
98        return $ley_list;
99    }
100   
101    function create_csv_data($key_string,$value_list){
102        $csv = "";
103        foreach($key_string as $each_key){
104            if($csv != "")$csv .= ",";
105                $csv .= '"'.mb_convert_encoding($each_key ,"SJIS", "auto").'"';
106        }
107        $csv .= "\n";
108       
109        foreach($value_list as $key => $value){
110            $temp = "";
111            foreach($value as $key2 => $value2){
112                $value2 = mb_convert_encoding($value2 ,"SJIS", "auto");
113                if ($value2 != null) $value2 = str_replace('"', '""', $value2);//クォート
114                if ($value2 != null) $value2 = str_replace("\r","",$value2);//改行コードを変換
115                $temp .= "\"".$value2."\",";
116            }
117            $csv .= $temp."\n";
118        }
119        return $csv;
120    }
121}
122
123?>
Note: See TracBrowser for help on using the repository browser.