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

source: OpenPNE/branches/stable-2.10.x/webapp/lib/util/ktai.php @ 9101

Last change on this file since 9101 was 9101, checked in by shingo, 12 years ago

#3135:携帯版のエラーメッセージとエラー番号を修正

File size: 7.9 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 k_p_common_msg4msg_id($msg_id)
11{
12    if (is_null($msg_id)) return '';
13
14    $msg =
15    array(
16        0   => "ログインに失敗しました",
17        1   => "本文を入力してください",
18        2   => "タイトルを入力してください",
19        3   => "承認が完了しました",
20        4   => "承認依頼を削除しました",
21        5   => "このメンバーは、現在リンク承認待ちです",
22        6   => "このメンバーは、すでにリンク済みです",
23        7   => "教える".WORD_MY_FRIEND_HALF."を選択してださい",
24        8   => "メッセージを入力してください",
25        9   => "このメンバーは既に登録済みです",
26        10  => "管理者なので退会できません",
27        11  => "このコミュニティのメンバーではありません",
28        12  => "メールアドレスを入力してください",
29        13  => "携帯メールアドレスには送信できません",
30        14  => "かんたんログインに失敗しました。通常ログイン後、設定してください",
31        15  => "ログインしてください",
32        16  => "携帯メールアドレス以外は指定できません",
33        17  => "このメールアドレスはすでに登録されています",
34        18  => "パスワードが違います",
35        19  => "携帯メールアドレスを登録しました",
36        20  => "パスワードは6~12文字の半角英数で入力してください",
37        21  => "パスワードを変更しました",
38        22  => "質問を選択してください",
39        23  => "答えを入力してください",
40        24  => "秘密の質問・答えを変更しました",
41        25  => "パスワード再発行できませんでした",
42        26  => "新しいパスワードをメールで送信しました",
43        27  => "携帯個体識別番号を取得できませんでした",
44        28  => "かんたんログイン設定を完了しました",
45        29  => "かんたんログイン設定を解除しました",
46        30  => "招待メールを送信しました",
47        31  => "メールアドレスを正しく入力してください",
48        32  => "メール受信設定を変更しました",
49        33  => "紹介文を入力してください",
50        34  => "あしあとお知らせメール設定を変更しました",
51        35  => "日記の公開設定を変更しました",
52        36  => "アクセスブロック設定を変更しました",
53        37  => "このメールアドレスでは登録できません",
54        38  => "退会理由を入力して下さい",
55        39  => "この携帯個体識別番号はすでに登録されています",
56        40  => "日記の公開範囲を一括変更しました",
57        41  => "無効なメンバーIDが含まれています",
58        42  => "登録できませんでした",
59        44  => "この携帯個体識別番号は登録することができません",
60        45  => "イベントの参加者数制限を超えています",
61        46  => "ログアウトしました",
62        47  => "そのコミュニティはすでに存在します",
63    );
64
65    return $msg[$msg_id];
66}
67
68/**
69 * 携帯端末からのアクセスかどうかを User-Agent の値から判別する
70 *
71 * @return bool
72 */
73function isKtaiUserAgent()
74{
75    include_once 'OpenPNE/KtaiUA.php';
76    $ktaiUA = new OpenPNE_KtaiUA();
77    return $ktaiUA->is_ktai();
78}
79
80/**
81 * fhページのタイプを取得
82 */
83function k_p_fh_common_get_type($target_c_member_id, $u)
84{
85    // ナビゲーションタイプ : "h" | "f"
86    if ($target_c_member_id && $target_c_member_id != $u) {
87        return 'f';
88    } else {
89        return 'h';
90    }
91}
92
93/** 関数
94 * k_p_c_bbs_c_member_admin4c_commu_topic_id($c_commu_topic_id)
95 *
96 *
97 */
98function k_p_h_message_ktai_url4url($str, $tail)
99{
100    $matches = array();
101
102    // 旧形式のURL
103    $pat = '|https?://.+page.php\?p=(c_home.+target_c_commu_id=\d+)$|';
104    if (preg_match($pat, $str, $matches)) {
105        if (!empty($matches[1])) {
106            $com_url = OPENPNE_URL."?m=ktai&a=page_".$matches[1]."&$tail";
107        }
108        $str = preg_replace($pat, "", $str);
109    }
110    $pat = '|https?://.+page.php\?p=(f_home.+target_c_member_id=\d+)$|';
111    if (preg_match($pat, $str, $matches)) {
112        if (!empty($matches[1])) {
113            $friend_url = OPENPNE_URL."?m=ktai&a=page_".$matches[1]."&$tail";
114        }
115        $str = preg_replace($pat, "", $str);
116    }
117
118    // 新形式のURL
119    $pat = '|https?://.+\?m=pc(&a=page_c_home.+target_c_commu_id=\d+)$|';
120    if (preg_match($pat, $str, $matches)) {
121        if (!empty($matches[1])) {
122            $com_url = OPENPNE_URL."?m=ktai".$matches[1]."&$tail";
123        }
124        $str = preg_replace($pat, "", $str);
125    }
126    $pat = '|https?://.+\?m=pc(&a=page_f_home.+target_c_member_id=\d+)$|';
127    if (preg_match($pat, $str, $matches)) {
128        if (!empty($matches[1])) {
129            $friend_url = OPENPNE_URL."?m=ktai".$matches[1]."&$tail";
130        }
131        $str = preg_replace($pat, "", $str);
132    }
133
134    return array($str, $com_url, $friend_url);
135}
136
137function fetch_inc_ktai_header()
138{
139    $inc_smarty = new OpenPNE_Smarty($GLOBALS['SMARTY']);
140    $inc_smarty->templates_dir = 'ktai/templates';
141
142    require_once 'OpenPNE/KtaiUA.php';
143    $ktai = new OpenPNE_KtaiUA();
144    $inc_smarty->assign('is_au', $ktai->is_au());
145    $inc_smarty->assign('is_softbank', $ktai->is_vodafone());
146    $inc_smarty->assign('is_docomo', $ktai->is_docomo());
147
148    $inc_smarty->assign('ktai_color_config', util_get_color_config_ktai());
149
150    if (SNS_TITLE) {
151        $inc_smarty->assign('title', SNS_TITLE);
152    } else {
153        $inc_smarty->assign('title', SNS_NAME);
154    }
155    $inc_smarty->assign('inc_ktai_html_head', p_common_c_siteadmin4target_pagename('inc_ktai_html_head'));
156    $inc_smarty->assign('inc_ktai_header', p_common_c_siteadmin4target_pagename('inc_ktai_header'));
157
158    return $inc_smarty->ext_fetch('inc_ktai_header.tpl');
159}
160
161function fetch_inc_ktai_footer()
162{
163    $inc_smarty = new OpenPNE_Smarty($GLOBALS['SMARTY']);
164    $inc_smarty->templates_dir = 'ktai/templates';
165
166    $inc_smarty->assign('inc_ktai_footer', p_common_c_siteadmin4target_pagename('inc_ktai_footer'));
167    $inc_smarty->assign('tail', $GLOBALS['KTAI_URL_TAIL']);
168    $inc_smarty->assign('page', $GLOBALS['__Framework']['current_action']);
169    $inc_smarty->assign('ktai_color_config', util_get_color_config_ktai());
170
171    return $inc_smarty->ext_fetch('inc_ktai_footer.tpl');
172}
173
174function t_get_user_hash($c_member_id, $length = 12)
175{
176    $hashed_password = k_common_hashed_password4c_member_id($c_member_id);
177    $seed = strval($c_member_id) . $hashed_password;
178
179    return substr(md5($seed), 0, $length);
180}
181
182/**
183 * 携帯端末からのアクセスかどうかを IPアドレスから判別する
184 *
185 * @return bool
186 */
187function is_ktai_ip()
188{
189    require_once 'Net/IPv4.php';
190    require_once 'ktaiIP.php';
191    $is_valid_ip = false;
192    foreach ($GLOBALS['_OPENPNE_KTAI_IP_LIST'] as $ktai_ip) {
193        if (Net_IPv4::ipInNetwork($_SERVER[SERVER_IP_KEY], $ktai_ip)) {
194            $is_valid_ip = true;
195            break;
196        }
197    }
198
199    return $is_valid_ip;
200}
201
202function ktai_display_error($errors)
203{
204    $smarty = new OpenPNE_Smarty($GLOBALS['SMARTY']);
205    $smarty->setOutputCharset('SJIS');
206    $smarty->templates_dir = 'ktai/templates';
207    $smarty->assign('inc_ktai_header', fetch_inc_ktai_header());
208    $smarty->assign('inc_ktai_footer', fetch_inc_ktai_footer());
209    $smarty->assign('errors', (array)$errors);
210    $smarty->assign('ktai_color_config', util_get_color_config_ktai());
211    $smarty->ext_display('error.tpl');
212    exit;
213}
214
215?>
Note: See TracBrowser for help on using the repository browser.