リビジョン 67acbfb5
| app/Controller/UsersController.php | ||
|---|---|---|
| 14 | 14 |
|
| 15 | 15 |
public function beforeFilter() {
|
| 16 | 16 |
parent::beforeFilter(); |
| 17 |
$this->Auth->allow('register','activate','confirm','sent','login','index');
|
|
| 17 |
$this->Auth->allow('register','activate','confirm','sent','login','reset_pwd','reset_pwd_confirm','reset_pwd_sent','newpwd','reset_pwd_comp_mail');
|
|
| 18 | 18 |
} |
| 19 | 19 |
|
| 20 | 20 |
/** |
| ... | ... | |
| 198 | 198 |
* @return void |
| 199 | 199 |
*/ |
| 200 | 200 |
public function login() {
|
| 201 |
//var_dump(Security::hash( "123", 'blowfish')); |
|
| 202 |
if($this->Auth->user()){
|
|
| 203 |
$this->redirect($this->Auth->redirectUrl()); |
|
| 204 |
} |
|
| 201 |
// if($this->Auth->user()){
|
|
| 202 |
// $this->redirect($this->Auth->redirectUrl()); |
|
| 203 |
// } |
|
| 205 | 204 |
if ($this->request->is('post')) {
|
| 206 | 205 |
if ($this->Auth->login()) {
|
| 207 |
// var_dump($this->Auth->login('User.status'));
|
|
| 208 |
// exit; |
|
| 209 |
if($this->Auth->user('User.status') == 1){
|
|
| 206 |
// $options = array('conditions' => array('User.email' => $this->Auth->user('User.email'),'User.status' => 1));
|
|
| 207 |
// $this->request->data = $this->User->find('first', $options);
|
|
| 208 |
// $this->set('user', $this->request->data);
|
|
| 209 |
if($this->Auth->user('status') == 1){
|
|
| 210 | 210 |
$this->redirect('/Users/login_top');
|
| 211 | 211 |
}else{
|
| 212 | 212 |
$this->Flash->loginerror('まだ本登録が完了していません。送られてきたメールを見てね!', array(
|
| ... | ... | |
| 240 | 240 |
} |
| 241 | 241 |
|
| 242 | 242 |
|
| 243 |
/** |
|
| 244 |
* reset_pwd |
|
| 245 |
*/ |
|
| 246 |
public function reset_pwd() {
|
|
| 247 |
$this->User->validate = $this->User->reset_pwd_validate; |
|
| 248 |
if ($this->request->is(array('post', 'put'))) {
|
|
| 249 |
$this->User->set($this->request->data); |
|
| 250 |
if($this->User->validates()){
|
|
| 251 |
$this->Session->write('register',$this->request->data);
|
|
| 252 |
$this->redirect(array('action'=>'reset_pwd_confirm'));
|
|
| 253 |
}else{
|
|
| 254 |
$this->Flash->loginerror('メールアドレスが一致しません。誤りがないかもう一度ご確認の上、正確にご入力ください。', array(
|
|
| 255 |
'key' => 'positive', |
|
| 256 |
)); |
|
| 257 |
} |
|
| 258 |
} |
|
| 259 |
} |
|
| 260 |
|
|
| 261 |
/** |
|
| 262 |
* reset_pwd confirm |
|
| 263 |
*/ |
|
| 264 |
public function reset_pwd_confirm() {
|
|
| 265 |
if($this->Session->read('register')){
|
|
| 266 |
$this->set('register',$this->Session->read('register'));
|
|
| 267 |
}else{
|
|
| 268 |
$this->redirect(array('action'=>'reset_pwd'));
|
|
| 269 |
} |
|
| 270 |
} |
|
| 271 |
|
|
| 272 |
|
|
| 273 |
/** |
|
| 274 |
* register sent |
|
| 275 |
*/ |
|
| 276 |
public function reset_pwd_sent() {
|
|
| 277 |
// if (!empty( $this->data)){
|
|
| 278 |
// // 保存 |
|
| 279 |
if($this->Session->read('register')){
|
|
| 280 |
// メール送信 |
|
| 281 |
$this->set('register',$this->Session->read('register'));
|
|
| 282 |
$mail = $this->Session->read('register.User.email');
|
|
| 283 |
$options = array('conditions' => array('User.email' => $mail));
|
|
| 284 |
$user = $this->User->find('first', $options);
|
|
| 285 |
$name = $user['User']['login_id']; |
|
| 286 |
|
|
| 287 |
// ユーザアクティベート(本登録)用URLの作成 DSはスラッシュの意味 |
|
| 288 |
$url = |
|
| 289 |
DS . 'users' . // コントローラ |
|
| 290 |
DS . 'newpwd' . // アクション |
|
| 291 |
DS . $user['User']['id'] . // ユーザID |
|
| 292 |
DS . $this->User->getActivationHash(); // ハッシュ値 |
|
| 293 |
$url = Router::url( $url, true); // ドメイン(+サブディレクトリ)を付与 |
|
| 294 |
$comment = $url; |
|
| 295 |
$Email = new CakeEmail(); |
|
| 296 |
$Email->charset('ISO-2022-JP');
|
|
| 297 |
$Email->emailFormat('text');
|
|
| 298 |
$Email->template('user_reset_pwd');
|
|
| 299 |
$Email->viewVars(array('name'=>$name,'comment'=>$comment));
|
|
| 300 |
$Email->from( MAIL_FROM ); //MAIL_FROM:Config/const.phpにて定義 |
|
| 301 |
$Email->to($mail); |
|
| 302 |
$Email->subject('[PICT CODE]問い合わせ');
|
|
| 303 |
$Email->send(); |
|
| 304 |
} |
|
| 305 |
|
|
| 306 |
} |
|
| 307 |
|
|
| 308 |
|
|
| 309 |
|
|
| 310 |
/** |
|
| 311 |
* new password |
|
| 312 |
*/ |
|
| 313 |
public function newpwd( $user_id = null, $in_hash = null) {
|
|
| 314 |
$this->User->validate = $this->User->new_pwd_validate; |
|
| 315 |
|
|
| 316 |
// UserモデルにIDをセット |
|
| 317 |
$this->User->id = $user_id; |
|
| 318 |
if ($this->User->exists() && $in_hash == $this->User->getActivationHash()) {
|
|
| 319 |
$this->Session->setFlash( '無効なURLです'); |
|
| 320 |
return $this->redirect(array('controller' => 'top', 'action' => 'index'));
|
|
| 321 |
|
|
| 322 |
}else{
|
|
| 323 |
if ($this->request->is(array('post', 'put'))) {
|
|
| 324 |
|
|
| 325 |
$this->set('user', $this->request->data);
|
|
| 326 |
if ($this->User->save($this->request->data)) {
|
|
| 327 |
return $this->redirect(array('action' => 'reset_pwd_comp_mail'));
|
|
| 328 |
} |
|
| 329 |
} else {
|
|
| 330 |
$options = array('conditions' => array('User.id' => $user_id,'User.status' => 1));
|
|
| 331 |
$this->request->data = $this->User->find('first', $options);
|
|
| 332 |
$this->set('user', $this->request->data);
|
|
| 333 |
// var_dump($this->request->data); |
|
| 334 |
// exit; |
|
| 335 |
} |
|
| 336 |
} |
|
| 337 |
|
|
| 338 |
// $options = array('conditions' => array('User.id' => $user_id,'User.status' => 1));
|
|
| 339 |
// // $this->request->data = $this->set('user',$this->User->find('first', $options));
|
|
| 340 |
// $this->set('user',$this->User->find('first', $options));
|
|
| 341 |
// // $this->set('user', $this->request->data);
|
|
| 342 |
|
|
| 343 |
|
|
| 344 |
// // if ($this->User->exists() && $in_hash == $this->User->getActivationHash()) {
|
|
| 345 |
// // var_dump($this->request->data); |
|
| 346 |
// // exit; |
|
| 347 |
// if ($this->request->is(array('post', 'put'))) {
|
|
| 348 |
// // if($this->User->validates()){
|
|
| 349 |
|
|
| 350 |
// $this->User->save($this->request->data); |
|
| 351 |
// $this->redirect(array('action'=>'reset_pwd_comp_mail'));
|
|
| 352 |
// // } else {
|
|
| 353 |
// // $this->Flash->loginerror('パスワードが一致しません。誤りがないかもう一度ご確認の上、正確にご入力ください。', array(
|
|
| 354 |
// // 'key' => 'positive', |
|
| 355 |
// // )); |
|
| 356 |
// // } |
|
| 357 |
// // } else {
|
|
| 358 |
// // $options = array('conditions' => array('User.id' => $user_id,'User.status' => 1));
|
|
| 359 |
// // $this->request->data = $this->set('user',$this->User->find('first', $options));
|
|
| 360 |
// // // $this->set('user', $this->request->data);
|
|
| 361 |
// // $this->Session->setFlash( '無効なURLですaaa'); |
|
| 362 |
// // } |
|
| 363 |
|
|
| 364 |
|
|
| 365 |
// }else{
|
|
| 366 |
// // 本登録に無効なURL |
|
| 367 |
// $this->Session->setFlash( '無効なURLです'); |
|
| 368 |
// } |
|
| 369 |
} |
|
| 370 |
|
|
| 371 |
/** |
|
| 372 |
* |
|
| 373 |
*/ |
|
| 374 |
public function reset_pwd_comp_mail() {
|
|
| 375 |
// if (!empty( $this->data)){
|
|
| 376 |
// 保存 |
|
| 377 |
$this->User->validate = $this->User->new_pwd_validate; |
|
| 378 |
if( $this->User->save($this->request->data('user'))){
|
|
| 379 |
// メール送信 |
|
| 380 |
$this->set('register',$this->Session->read('register'));
|
|
| 381 |
$mail = $this->Session->read('register.User.email');
|
|
| 382 |
// exit; |
|
| 383 |
$options = array('conditions' => array('User.email' => $mail));
|
|
| 384 |
$user = $this->User->find('first', $options);
|
|
| 385 |
$name = $user['User']['login_id']; |
|
| 386 |
|
|
| 387 |
// ユーザアクティベート(本登録)用URLの作成 DSはスラッシュの意味 |
|
| 388 |
// $url = |
|
| 389 |
// DS . 'users' . // コントローラ |
|
| 390 |
// DS . 'newpwd' . // アクション |
|
| 391 |
// DS . $user['User']['id'] . // ユーザID |
|
| 392 |
// DS . $this->User->getActivationHash(); // ハッシュ値 |
|
| 393 |
// $url = Router::url( $url, true); // ドメイン(+サブディレクトリ)を付与 |
|
| 394 |
$comment = "本文本文本文本文本文本文本文本文"; |
|
| 395 |
$Email = new CakeEmail(); |
|
| 396 |
$Email->charset('ISO-2022-JP');
|
|
| 397 |
$Email->emailFormat('text');
|
|
| 398 |
$Email->template('comp_reset_pwd');
|
|
| 399 |
$Email->viewVars(array('name'=>$name,'comment'=>$comment));
|
|
| 400 |
$Email->from( MAIL_FROM ); //MAIL_FROM:Config/const.phpにて定義 |
|
| 401 |
$Email->to($mail); |
|
| 402 |
$Email->subject('[PICT CODE]問い合わせ');
|
|
| 403 |
$Email->send(); |
|
| 404 |
} |
|
| 405 |
// } |
|
| 406 |
// }else{
|
|
| 407 |
// exit; |
|
| 408 |
// } |
|
| 409 |
debug($this->User->validationErrors); |
|
| 410 |
} |
|
| 411 |
|
|
| 412 |
|
|
| 243 | 413 |
|
| 244 | 414 |
} |
| 245 | 415 |
|
| app/Model/ContactValidate.php | ||
|---|---|---|
| 31 | 31 |
*/ |
| 32 | 32 |
public $validate = array( |
| 33 | 33 |
'name' => array( |
| 34 |
'notblank' => array( |
|
| 35 | 34 |
'rule' => array('notBlank'),
|
| 36 |
'message' => '入力されていません', |
|
| 37 |
), |
|
| 35 |
'message' => 'この項目は入力必須です' |
|
| 38 | 36 |
), |
| 39 |
'email' => array(
|
|
| 40 |
'notblank' => array(
|
|
| 37 |
'email' => array(
|
|
| 38 |
array(
|
|
| 41 | 39 |
'rule' => array('notBlank'),
|
| 42 |
'message' => '入力されていません', |
|
| 43 |
), |
|
| 44 |
'isEmail' => array( |
|
| 40 |
'message' => 'メールアドレスを入力してください' |
|
| 41 |
), |
|
| 42 |
// メールアドレスであること。 |
|
| 43 |
'isEmail' => array( |
|
| 45 | 44 |
'rule' => 'Email', |
| 46 |
'message' => '入力形式が正しくありません', |
|
| 47 |
), |
|
| 48 |
), |
|
| 49 |
'comment' => array( |
|
| 45 |
'message' => '正しいメールアドレスを入力してください' |
|
| 46 |
), |
|
| 47 |
array( |
|
| 48 |
'rule' => 'emailConfirm', |
|
| 49 |
'message' => 'メールアドレスが一致していません' |
|
| 50 |
), |
|
| 51 |
), |
|
| 52 |
'email_confirm' => array( |
|
| 53 |
array( |
|
| 54 |
'rule' => array('notBlank'),
|
|
| 55 |
'message' => 'メールアドレス(確認)を入力してください' |
|
| 56 |
), |
|
| 57 |
), |
|
| 58 |
|
|
| 59 |
'comment' => array( |
|
| 50 | 60 |
'notblank' => array( |
| 51 | 61 |
'rule' => array('notblank'),
|
| 52 | 62 |
'message' => '入力されていません', |
| 53 | 63 |
), |
| 54 | 64 |
), |
| 55 | 65 |
); |
| 66 |
|
|
| 67 |
|
|
| 68 |
public function emailConfirm($check){
|
|
| 69 |
//2つのパスワードフィールドが一致する事を確認する |
|
| 70 |
if($this->data['ContactValidate']['email'] === $this->data['ContactValidate']['email_confirm']){
|
|
| 71 |
return true; |
|
| 72 |
}else{
|
|
| 73 |
return false; |
|
| 74 |
} |
|
| 75 |
|
|
| 76 |
} |
|
| 77 |
|
|
| 78 |
|
|
| 56 | 79 |
} |
| app/Model/User.php | ||
|---|---|---|
| 39 | 39 |
// 一意性チェック |
| 40 | 40 |
// 'emailExists' => array( 'rule' => 'isUnique', 'message' => '既に登録されています'), |
| 41 | 41 |
), |
| 42 |
'email_confirm' => array( |
|
| 43 |
array( |
|
| 44 |
'rule' => array('notBlank'),
|
|
| 45 |
'message' => 'メールアドレス(確認)を入力してください' |
|
| 46 |
), |
|
| 47 |
array( |
|
| 48 |
'rule' => 'emailConfirm', |
|
| 49 |
'message' => 'メールアドレスが一致していません' |
|
| 50 |
), |
|
| 51 |
|
|
| 52 |
), |
|
| 53 |
|
|
| 42 | 54 |
'password' => array( |
| 43 | 55 |
array( |
| 44 | 56 |
'rule' => array('notBlank'),
|
| ... | ... | |
| 71 | 83 |
), |
| 72 | 84 |
); |
| 73 | 85 |
|
| 86 |
public $reset_pwd_validate = array( |
|
| 87 |
'email' => array( |
|
| 88 |
array( |
|
| 89 |
'rule' => array('notBlank'),
|
|
| 90 |
'message' => 'メールアドレスを入力してください' |
|
| 91 |
), |
|
| 92 |
// メールアドレスであること。 |
|
| 93 |
'isEmail' => array( |
|
| 94 |
'rule' => 'Email', |
|
| 95 |
'message' => '正しいメールアドレスを入力してください' |
|
| 96 |
), |
|
| 97 |
array( |
|
| 98 |
'rule' => 'emailConfirm', |
|
| 99 |
'message' => 'メールアドレスが一致していません' |
|
| 100 |
), |
|
| 101 |
array( |
|
| 102 |
'rule' => 'NotExistEmailCheck', |
|
| 103 |
'message' => 'このメールアドレスは登録されていません' |
|
| 104 |
), |
|
| 74 | 105 |
|
| 106 |
), |
|
| 107 |
'email_confirm' => array( |
|
| 108 |
array( |
|
| 109 |
'rule' => array('notBlank'),
|
|
| 110 |
'message' => 'メールアドレス(確認)を入力してください' |
|
| 111 |
), |
|
| 112 |
|
|
| 113 |
), |
|
| 114 |
|
|
| 115 |
'password' => array( |
|
| 116 |
array( |
|
| 117 |
'rule' => array('notBlank'),
|
|
| 118 |
'message' => 'パスワードを入力してください' |
|
| 119 |
), |
|
| 120 |
array( |
|
| 121 |
'rule' => array('minLength', 8),
|
|
| 122 |
'message' => 'パスワードは8文字以上入力してください', |
|
| 123 |
), |
|
| 124 |
array( |
|
| 125 |
'rule' => 'passwordConfirm', |
|
| 126 |
'message' => 'パスワードが一致していません' |
|
| 127 |
), |
|
| 128 |
), |
|
| 129 |
'password_confirm' => array( |
|
| 130 |
array( |
|
| 131 |
'rule' => array('notBlank'),
|
|
| 132 |
'message' => 'パスワード(確認)を入力してください' |
|
| 133 |
), |
|
| 134 |
), |
|
| 135 |
); |
|
| 136 |
public $new_pwd_validate = array( |
|
| 137 |
|
|
| 138 |
'password' => array( |
|
| 139 |
array( |
|
| 140 |
'rule' => array('notBlank'),
|
|
| 141 |
'message' => 'パスワードを入力してください' |
|
| 142 |
), |
|
| 143 |
array( |
|
| 144 |
'rule' => array('minLength', 8),
|
|
| 145 |
'message' => 'パスワードは8文字以上入力してください', |
|
| 146 |
), |
|
| 147 |
array( |
|
| 148 |
'rule' => 'passwordConfirm', |
|
| 149 |
'message' => 'パスワードが一致していません' |
|
| 150 |
), |
|
| 151 |
), |
|
| 152 |
'password_confirm' => array( |
|
| 153 |
array( |
|
| 154 |
'rule' => array('notBlank'),
|
|
| 155 |
'message' => 'パスワード(確認)を入力してください' |
|
| 156 |
), |
|
| 157 |
), |
|
| 158 |
); |
|
| 75 | 159 |
public function DuplicateEmailCheck(){
|
| 76 | 160 |
$query = array('conditions' => array('User.email' => $this->data['User']['email'],'User.status' => 1));
|
| 77 | 161 |
$num = $this->find('count',$query);
|
| ... | ... | |
| 95 | 179 |
|
| 96 | 180 |
} |
| 97 | 181 |
|
| 182 |
public function emailConfirm($check){
|
|
| 183 |
//2つのパスワードフィールドが一致する事を確認する |
|
| 184 |
if($this->data['User']['email'] === $this->data['User']['email_confirm']){
|
|
| 185 |
return true; |
|
| 186 |
}else{
|
|
| 187 |
return false; |
|
| 188 |
} |
|
| 189 |
|
|
| 190 |
} |
|
| 98 | 191 |
|
| 99 | 192 |
public function getActivationHash() {
|
| 100 | 193 |
// ユーザIDの有無確認 |
| ... | ... | |
| 106 | 199 |
} |
| 107 | 200 |
|
| 108 | 201 |
|
| 202 |
//メールアドレスが登録されていない、またはメールアドレスのstatusが1ではない場合、エラーを出す |
|
| 203 |
public function NotExistEmailCheck(){
|
|
| 204 |
$query = array('conditions' => array('User.email' => $this->data['User']['email'],'User.status' => 1));
|
|
| 205 |
$num = $this->find('count',$query);
|
|
| 206 |
//$this->log($recodes); |
|
| 207 |
//var_dump($num); |
|
| 208 |
//exit; |
|
| 209 |
if($num > 0){
|
|
| 210 |
return true; //未登録 |
|
| 211 |
} else{
|
|
| 212 |
return false; //登録済み |
|
| 213 |
} |
|
| 214 |
} |
|
| 215 |
|
|
| 109 | 216 |
public function beforeSave($options = array()) {
|
| 110 | 217 |
if (isset($this->data[$this->alias]['password'])) {
|
| 111 | 218 |
$passwordHasher = new BlowfishPasswordHasher(); |
| app/View/Emails/text/comp_reset_pwd.ctp | ||
|---|---|---|
| 1 |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
|
| 2 |
このメールは、PICT CODE から配信されています |
|
| 3 |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
|
| 4 |
|
|
| 5 |
|
|
| 6 |
パスワードが変更されました。 |
|
| 7 |
|
|
| 8 |
変更★変更★変更 |
|
| 9 |
|
|
| 10 |
お名前:<?php echo $name;?> |
|
| 11 |
|
|
| 12 |
お問い合わせ内容: |
|
| 13 |
|
|
| 14 |
<?php echo $comment;?> |
|
| 15 |
|
|
| 16 |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
|
| 17 |
PICT CODE カスタマーサポートセンター |
|
| 18 |
メールでのお問い合わせ: info@itkids.com |
|
| 19 |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
|
| app/View/Emails/text/user_reset_pwd.ctp | ||
|---|---|---|
| 1 |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
|
| 2 |
このメールは、PICT CODE から配信されています |
|
| 3 |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
|
| 4 |
|
|
| 5 |
|
|
| 6 |
パスワードを変更する場合には下記リンクからお願いします。 |
|
| 7 |
|
|
| 8 |
お名前:<?php echo $name;?> |
|
| 9 |
|
|
| 10 |
お問い合わせ内容: |
|
| 11 |
|
|
| 12 |
<?php echo $comment;?> |
|
| 13 |
|
|
| 14 |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
|
| 15 |
PICT CODE カスタマーサポートセンター |
|
| 16 |
メールでのお問い合わせ: info@itkids.com |
|
| 17 |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
|
| app/View/top/contact.ctp | ||
|---|---|---|
| 4 | 4 |
<h2> |
| 5 | 5 |
<img src="/img/img_h1_contact01.png" alt="お問い合わせ - 送信内容入力"> |
| 6 | 6 |
</h2> |
| 7 |
<p>PictCodeに関するお問い合わせやご相談、ご質問などがございましたら、下記のお問い合わせフォームより対応いたします。</p>
|
|
| 7 |
<p>PictCodeに関するお問い合わせやご相談、ご質問などがございましたら、下記のお問い合わせフォームよりご連絡ください。</p>
|
|
| 8 | 8 |
<hr> |
| 9 | 9 |
<?php echo $this->Form->create('ContactValidate',array(
|
| 10 | 10 |
'div' => false, |
| ... | ... | |
| 36 | 36 |
'label' => 'メールアドレス', |
| 37 | 37 |
'maxlength' => '255', |
| 38 | 38 |
'type' => 'email')); |
| 39 |
echo $this->Form->input('email',
|
|
| 39 |
echo $this->Form->input('email_confirm',
|
|
| 40 | 40 |
array('placeholder'=>'半角英数字',
|
| 41 | 41 |
'label' => 'メールアドレス(確認用)', |
| 42 | 42 |
'maxlength' => '255', |
| 43 | 43 |
'type' => 'email')); |
| 44 |
echo $this->Form->input('postcode', array('label'=>'郵便番号',
|
|
| 44 |
echo $this->Form->input('postcode', array('label'=>'郵便番号(ハイフンなし)',
|
|
| 45 | 45 |
'onkeyup'=>'zipsearch()', |
| 46 |
'placeholder'=>'半角数字で入力して下さい',
|
|
| 46 |
'placeholder'=>'半角数字', |
|
| 47 | 47 |
)); |
| 48 | 48 |
echo $this->Form->input('prefecture', array('label'=>'ご住所',
|
| 49 | 49 |
'placeholder'=>'例) ○○県 ○○市○○町 ○丁目 ○‐○', |
| ... | ... | |
| 53 | 53 |
'placeholder'=>'例) ○○ビル○○号室', |
| 54 | 54 |
)); |
| 55 | 55 |
echo $this->Form->input('tel',
|
| 56 |
array('placeholder'=>'半角英数字',
|
|
| 56 |
array('placeholder'=>'半角数字(00-0000-0000)',
|
|
| 57 | 57 |
'label' => 'お電話番号', |
| 58 | 58 |
'maxlength' => '13', |
| 59 | 59 |
'type' => 'text')); |
| app/View/users/login.ctp | ||
|---|---|---|
| 37 | 37 |
</fieldset> |
| 38 | 38 |
<?php echo $this->Flash->render('positive') ?>
|
| 39 | 39 |
<section> |
| 40 |
<p>ニックネームや パスワードを 忘れたばあいには お父さんや お母さんに 相談して、<br><a href="reminder.html"><span class="link_reminder">コチラ</span></a>を クリックして パスワードを 再はっこうしてもらってね!</p>
|
|
| 40 |
<p>ニックネームや パスワードを 忘れたばあいには お父さんや お母さんに 相談して、<br><a href="reset_pwd"><span class="link_reminder">コチラ</span></a>を クリックして パスワードを 再はっこうしてもらってね!</p>
|
|
| 41 | 41 |
</section> |
| 42 | 42 |
<section class="button_area01"> |
| 43 | 43 |
<a href="/top/index"><p class="button btn_back02"></p></a> |
| app/View/users/newpwd.ctp | ||
|---|---|---|
| 1 |
<!-- ログイン リマインダー --> |
|
| 2 |
<main role="main"> |
|
| 3 |
<article class="contact"> |
|
| 4 |
<h2> |
|
| 5 |
<img src="/img/img_h1_reissue.png" alt="パスワードの再設定"> |
|
| 6 |
</h2> |
|
| 7 |
<p>パスワードの再設定を行います。ご両親にご確認の上、パスワードを正しく入力して下さい。入力されたパスワードは、忘れないようにメモに残しておき、大切に保管しましょう。</p> |
|
| 8 |
<div id="contents"> |
|
| 9 |
<hr> |
|
| 10 |
<?php echo $this->Form->create('User',array(
|
|
| 11 |
'div' => false, |
|
| 12 |
'novalidate' => true, |
|
| 13 |
'inputDefaults' => array( |
|
| 14 |
'before' => '<dt>', |
|
| 15 |
'between' => '</dt><dd>', |
|
| 16 |
'after' => '</dd>', |
|
| 17 |
'div' => false |
|
| 18 |
) |
|
| 19 |
)); ?> |
|
| 20 |
<fieldset> |
|
| 21 |
<section> |
|
| 22 |
<dl> |
|
| 23 |
<dt><label for="">ニックネーム</label></dt> |
|
| 24 |
<dd> |
|
| 25 |
<?php echo h($user['User']['login_id']); ?> |
|
| 26 |
</dd> |
|
| 27 |
<?php |
|
| 28 |
echo $this->Form->input('password',
|
|
| 29 |
array( 'placeholder'=>'パスワード', |
|
| 30 |
'label' => 'パスワード', |
|
| 31 |
'maxlength' => '50', |
|
| 32 |
'type' => 'password', |
|
| 33 |
'value' => '', |
|
| 34 |
)); |
|
| 35 |
echo $this->Form->input('password_confirm',
|
|
| 36 |
array( 'placeholder'=>'パスワード(確認用)', |
|
| 37 |
'label' => 'パスワード(確認用)', |
|
| 38 |
'maxlength' => '50', |
|
| 39 |
'type' => 'password' |
|
| 40 |
)); |
|
| 41 |
|
|
| 42 |
|
|
| 43 |
//表示されない領域 |
|
| 44 |
echo $this->Form->input('login_id',
|
|
| 45 |
array( 'type' => 'hidden', |
|
| 46 |
'label' => 'ニックネーム', |
|
| 47 |
'placeholder'=>'ニックネーム', |
|
| 48 |
'value' => $user['User']['login_id'], |
|
| 49 |
)); |
|
| 50 |
echo $this->Form->input( 'email', |
|
| 51 |
array('placeholder'=>'メールアドレス',
|
|
| 52 |
'label' => 'メールアドレス', |
|
| 53 |
'maxlength' => '255', |
|
| 54 |
'value' => $user['User']['email'], |
|
| 55 |
'type' => 'hidden')); |
|
| 56 |
//キャプチャコード (recapcha) |
|
| 57 |
// echo $this->Recaptcha->display(array( |
|
| 58 |
// 'recaptchaOptions' => array( |
|
| 59 |
// 'theme' => 'blackglass' |
|
| 60 |
// ) |
|
| 61 |
// )); |
|
| 62 |
echo $this->Form->input('user_flg',
|
|
| 63 |
array( 'type' => 'hidden', |
|
| 64 |
'value' => 0, |
|
| 65 |
)); |
|
| 66 |
echo $this->Form->input('status',
|
|
| 67 |
array( 'type' => 'hidden', |
|
| 68 |
'value' => 1, |
|
| 69 |
)); |
|
| 70 |
?> |
|
| 71 |
</dl> |
|
| 72 |
</section> |
|
| 73 |
</fieldset> |
|
| 74 |
|
|
| 75 |
<?php echo $this->Flash->render('positive') ?>
|
|
| 76 |
</div> |
|
| 77 |
<section class="button_area01"> |
|
| 78 |
<a href="javascript:history.back();"> |
|
| 79 |
<p class="button btn_back01"></p> |
|
| 80 |
</a> |
|
| 81 |
<?php echo $this->Form->submit('',array('class'=>'button btn_check01')); ?>
|
|
| 82 |
<?php echo $this->Form->end(); ?> |
|
| 83 |
|
|
| 84 |
<!-- <a href="reminder_check.html"><p class="button btn_check01"></p></a> |
|
| 85 |
--> </section> |
|
| 86 |
</article> |
|
| 87 |
</main> |
|
| app/View/users/register.html | ||
|---|---|---|
| 1 |
<!DOCTYPE html> |
|
| 2 |
|
|
| 3 |
<html> |
|
| 4 |
<head> |
|
| 5 |
<title>-PictCode-</title> |
|
| 6 |
<meta name="apple-mobile-web-app-capable" content="yes"> |
|
| 7 |
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> |
|
| 8 |
<meta charset = "UTF-8"> |
|
| 9 |
<meta http-equiv="pragma" content="public"> |
|
| 10 |
<meta http-equiv="Cache-Control" content="public"> |
|
| 11 |
<meta http-equiv="Expires" content="-1"> |
|
| 12 |
<meta http-equiv="Expires" content="86400"> |
|
| 13 |
<!-- css --> |
|
| 14 |
<link href = "css/main.css" rel="stylesheet" type="text/css"> |
|
| 15 |
<link href="css/bootstrap/bootstrap.css" rel="stylesheet" > |
|
| 16 |
<link href="css/jquery-ui.min.css" rel="stylesheet" > |
|
| 17 |
<!-- <link href = "css/fixedheaderandfooter.css" rel="stylesheet" type="text/css">--> |
|
| 18 |
</head> |
|
| 19 |
|
|
| 20 |
<body> |
|
| 21 |
<!-- ヘッダー --> |
|
| 22 |
|
|
| 23 |
<header> |
|
| 24 |
<a href=""><img class="header_button left" type="button" src="img/btn_header_004.png" alt=""></a> |
|
| 25 |
<img class="center" src="img/header_title.png" alt="Pict Code"> |
|
| 26 |
<a href=""><img class="header_button right" type="button" src="img/btn_header_014.png" alt=""></a> |
|
| 27 |
</header> |
|
| 28 |
|
|
| 29 |
<!-- メインコンテンツ --> |
|
| 30 |
|
|
| 31 |
<script type="text/javascript"> |
|
| 32 |
$(function(){
|
|
| 33 |
reviseMargin(); |
|
| 34 |
$(window).on("resize",reviseMargin);
|
|
| 35 |
function reviseMargin(){
|
|
| 36 |
$("#contents").css({
|
|
| 37 |
"margin-top":$("header")[150].offsetHeight + "px",
|
|
| 38 |
"margin-bottom": $("footer")[450].offsetHeight + "px"
|
|
| 39 |
}); |
|
| 40 |
} |
|
| 41 |
}); |
|
| 42 |
</script> |
|
| 43 |
|
|
| 44 |
<main role="main"> |
|
| 45 |
<article class="register"> |
|
| 46 |
<h2> |
|
| 47 |
<img src="img/img_h1_register01.png" alt="PictCode登録 - 情報入力"> |
|
| 48 |
</h2> |
|
| 49 |
<ol> |
|
| 50 |
<li id="navigator01_on"></li> |
|
| 51 |
<li id="navigator02_off"></li> |
|
| 52 |
<li id="navigator03_off"></li> |
|
| 53 |
<li id="navigator04_off"></li> |
|
| 54 |
</ol> |
|
| 55 |
<p class="">PictCodeに新規登録を行います。登録の際にはご両親の付き添い、または管理のもと、お間違いのないよう入力を行ってください。</p> |
|
| 56 |
<div id="contents"> |
|
| 57 |
<section> |
|
| 58 |
<dl> |
|
| 59 |
<dt><label for="">ニックネーム</label></dt> |
|
| 60 |
<dd><input type="text" name="name" value="" id="" placeholder="ニックネーム" /></dd> |
|
| 61 |
<dt><label for="">パスワード</label></dt> |
|
| 62 |
<dd><input type="text" name="email" value="" id="" placeholder="パスワード" /></dd> |
|
| 63 |
<dt><label for="">パスワード(確認用)</label></dt> |
|
| 64 |
<dd><input type="text" name="email" value="" id="" placeholder="パスワード(確認用)" /></dd> |
|
| 65 |
<dt><label for="">メールアドレス</label></dt> |
|
| 66 |
<dd><input type="text" name="email" value="" id="" placeholder="メールアドレス" /></dd> |
|
| 67 |
<dt><label for="">キャプチャコード</label></dt> |
|
| 68 |
<dd><input type="text" name="email" value="" id="" placeholder="絵の文字" /></dd> |
|
| 69 |
</dl> |
|
| 70 |
</section> |
|
| 71 |
</div> |
|
| 72 |
<section class="button_area01"> |
|
| 73 |
<a href="index.html"><p class="button btn_back01"></p></a> |
|
| 74 |
<a href="register_check.html"><p class="button btn_check01"></p></a> |
|
| 75 |
</section> |
|
| 76 |
</article> |
|
| 77 |
</main> |
|
| 78 |
|
|
| 79 |
<!-- フッター --> |
|
| 80 |
|
|
| 81 |
<footer> |
|
| 82 |
<div id="wrapper"> |
|
| 83 |
<ul> |
|
| 84 |
<li><a href="aboutthis.html" alt="">PictCodeについて</a></li> |
|
| 85 |
<li><a href="terms.html" alt="">利用規約</a></li> |
|
| 86 |
<li><a href="privacy.html" alt="">プライバシーポリシー</a></li> |
|
| 87 |
<li><a href="aboutus.html" alt="">運営会社情報</a></li> |
|
| 88 |
<li><a href="contact.html" alt="">お問い合わせ</a></li> |
|
| 89 |
</ul> |
|
| 90 |
<a href="index.html"><img class="logo" src="img/footer_logo01.png" alt=""></a> |
|
| 91 |
<hr> |
|
| 92 |
<img class="logo" src="img/footer_logo02.png" alt=""> |
|
| 93 |
</div> |
|
| 94 |
</footer> |
|
| 95 |
|
|
| 96 |
<!-- js --> |
|
| 97 |
<script src="js/require_config.js"></script> |
|
| 98 |
<script data-main="js/app.js" src="js/require.js"></script> |
|
| 99 |
</body> |
|
| 100 |
</html> |
|
| app/View/users/reset_pwd.ctp | ||
|---|---|---|
| 1 |
<!-- ログイン リマインダー --> |
|
| 2 |
<main role="main"> |
|
| 3 |
<article class="contact"> |
|
| 4 |
<h2> |
|
| 5 |
<img src="/img/img_h1_reissue.png" alt="パスワードの再設定"> |
|
| 6 |
</h2> |
|
| 7 |
<p>パスワードを再発行します。ご両親にご確認の上、ご登録いただいたメールアドレスを入力し、パスワード再発行用のURLを取得してください。ニックネームに関しましては、再発行用URLをクリックした際に表示されます。<br>(※携帯電話用メールアカウントの場合、メールフィルターを解除する必要があります。「itkids.club」のアカウント受信設定を行ってください。)</p> |
|
| 8 |
<div id="contents"> |
|
| 9 |
<hr> |
|
| 10 |
<?php echo $this->Form->create('User',array(
|
|
| 11 |
'div' => false, |
|
| 12 |
'novalidate' => true, |
|
| 13 |
'inputDefaults' => array( |
|
| 14 |
'before' => '<dt>', |
|
| 15 |
'between' => '</dt><dd>', |
|
| 16 |
'after' => '</dd>', |
|
| 17 |
'div' => false |
|
| 18 |
) |
|
| 19 |
)); ?> |
|
| 20 |
<fieldset> |
|
| 21 |
<section> |
|
| 22 |
<dl> |
|
| 23 |
<?php |
|
| 24 |
echo $this->Form->input('email',
|
|
| 25 |
array('placeholder'=>'メールアドレス',
|
|
| 26 |
'label' => 'メールアドレス', |
|
| 27 |
'maxlength' => '255', |
|
| 28 |
'type' => 'email')); |
|
| 29 |
echo $this->Form->input('email_confirm',
|
|
| 30 |
array('placeholder'=>'メールアドレス(確認用)',
|
|
| 31 |
'label' => 'メールアドレス(確認用)', |
|
| 32 |
'maxlength' => '255', |
|
| 33 |
'type' => 'email')); |
|
| 34 |
|
|
| 35 |
?> |
|
| 36 |
</dl> |
|
| 37 |
</section> |
|
| 38 |
</fieldset> |
|
| 39 |
<?php //echo $this->Flash->render('positive') ?>
|
|
| 40 |
</div> |
|
| 41 |
<section class="button_area01"> |
|
| 42 |
<a href="javascript:history.back();"> |
|
| 43 |
<p class="button btn_back01"></p> |
|
| 44 |
</a> |
|
| 45 |
<?php echo $this->Form->submit('',array('class'=>'button btn_check01')); ?>
|
|
| 46 |
<?php echo $this->Form->end(); ?> |
|
| 47 |
|
|
| 48 |
<!-- <a href="reminder_check.html"><p class="button btn_check01"></p></a> |
|
| 49 |
--> |
|
| 50 |
</section> |
|
| 51 |
</article> |
|
| 52 |
</main> |
|
| app/View/users/reset_pwd_comp_mail.ctp | ||
|---|---|---|
| 1 |
<!-- ログイン リマインダー送信完了画面 --> |
|
| 2 |
<main role="main"> |
|
| 3 |
<article class="contact"> |
|
| 4 |
<h2> |
|
| 5 |
<img src="/img/img_h1_reissue.png" alt="お問い合わせ - 送信完了"> |
|
| 6 |
</h2> |
|
| 7 |
<p>パスワード再発行用のURLを、ご登録いただいたメールアドレス宛てに送信しました。</p> |
|
| 8 |
<p>メールボックスをご確認の上、メールに添付されているURLをクリックし、指示に従ってパスワードの再発行を行ってください。</p> |
|
| 9 |
<section class="image"> |
|
| 10 |
<img src="/img/img_img_sendmail.png"> |
|
| 11 |
</section> |
|
| 12 |
<section class="button_area01"> |
|
| 13 |
<a href="/top/index"><p class="button btn_top02"></p></a> |
|
| 14 |
</section> |
|
| 15 |
</article> |
|
| 16 |
</main> |
|
| app/View/users/reset_pwd_confirm.ctp | ||
|---|---|---|
| 1 |
<!-- ログイン リマインダー確認画面 --> |
|
| 2 |
<main role="main"> |
|
| 3 |
<article class="contact"> |
|
| 4 |
<h2> |
|
| 5 |
<img src="/img/img_h1_reissue.png" alt="パスワードの再設定"> |
|
| 6 |
</h2> |
|
| 7 |
<p class="">パスワードを再発行します。ご両親にご確認の上、ご登録いただいたメールアドレスを入力し、パスワード再発行用のURLを取得してください。ニックネームに関しましては、再発行用URLをクリックした際に表示されます。<br>(※携帯電話用メールアカウントの場合、メールフィルターを解除する必要があります。「itkids.club」のアカウント受信設定を行ってください。)</p> |
|
| 8 |
<div id="contents"> |
|
| 9 |
<hr> |
|
| 10 |
<section> |
|
| 11 |
<dl> |
|
| 12 |
<dt><label for="">メールアドレス</label></dt> |
|
| 13 |
<dd><p><?php echo $register['User']['email'];?></p></dd> |
|
| 14 |
</dl> |
|
| 15 |
</section> |
|
| 16 |
<section> |
|
| 17 |
<p>以上の内容でよろしいでしょうか?内容に誤りがある場合には「修正する」ボタンを押し修正を、再発行する場合には「送信する」ボタンを押して再発行用URLを取得してください。</p> |
|
| 18 |
</section> |
|
| 19 |
</div> |
|
| 20 |
<section class="button_area01"> |
|
| 21 |
<a href="javascript:history.back();"><p class="button btn_alter01"></p></a> |
|
| 22 |
<a href="/users/reset_pwd_sent"><p class="button btn_reissue"></p></a> |
|
| 23 |
</section> |
|
| 24 |
</article> |
|
| 25 |
</main> |
|
| app/View/users/reset_pwd_sent.ctp | ||
|---|---|---|
| 1 |
<!-- ログイン リマインダー送信完了画面 --> |
|
| 2 |
<main role="main"> |
|
| 3 |
<article class="contact"> |
|
| 4 |
<h2> |
|
| 5 |
<img src="/img/img_h1_reissue.png" alt="お問い合わせ - 送信完了"> |
|
| 6 |
</h2> |
|
| 7 |
<p>パスワード再発行用のURLを、ご登録いただいたメールアドレス宛てに送信しました。</p> |
|
| 8 |
<p>メールボックスをご確認の上、メールに添付されているURLをクリックし、指示に従ってパスワードの再発行を行ってください。</p> |
|
| 9 |
<section class="image"> |
|
| 10 |
<img src="/img/img_img_sendmail.png"> |
|
| 11 |
</section> |
|
| 12 |
<section class="button_area01"> |
|
| 13 |
<a href="/top/index"><p class="button btn_top02"></p></a> |
|
| 14 |
</section> |
|
| 15 |
</article> |
|
| 16 |
</main> |
|
| app/View/users/user_register.ctp | ||
|---|---|---|
| 1 |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
|
| 2 |
このメールは、PICT CODE から配信されています |
|
| 3 |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
|
| 4 |
|
|
| 5 |
以下の内容で、お客様よりお問い合わせがありました。 |
|
| 6 |
|
|
| 7 |
お名前:<?php echo $name;?> |
|
| 8 |
|
|
| 9 |
お問い合わせ内容: |
|
| 10 |
|
|
| 11 |
<?php echo $comment;?> |
|
| 12 |
|
|
| 13 |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
|
| 14 |
PICT CODE カスタマーサポートセンター |
|
| 15 |
メールでのお問い合わせ: info@itkids.com |
|
| 16 |
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ |
|
| app/View/users/yano_login.ctp | ||
|---|---|---|
| 1 |
<div class="users form"> |
|
| 2 |
<?php echo $this->Flash->render('auth'); ?>
|
|
| 3 |
<?php echo $this->Form->create('User',array(
|
|
| 4 |
'inputDefaults' => array( |
|
| 5 |
'div' => 'form-group', |
|
| 6 |
'wrapInput' => false, |
|
| 7 |
'class' => 'form-control' |
|
| 8 |
), |
|
| 9 |
'class' => 'well')); ?> |
|
| 10 |
<fieldset> |
|
| 11 |
<legend> |
|
| 12 |
<?php echo __('ユーザーネームとパスワードを入力してください'); ?>
|
|
| 13 |
</legend> |
|
| 14 |
<?php echo $this->Form->input('login_id',array( 'type' => 'text'));
|
|
| 15 |
echo $this->Form->input('password');
|
|
| 16 |
?> |
|
| 17 |
</fieldset> |
|
| 18 |
<?php echo $this->Session->Flash(); ?> |
|
| 19 |
<?php echo $this->Form->submit('ログイン',array('class'=>'btn btn-info')); ?>
|
|
| 20 |
<?php echo $this->Form->end(); ?> |
|
| 21 |
</div> |
|
| 22 |
<?php echo $this->element('footer');?>
|
|
| app/webroot/css/main.css | ||
|---|---|---|
| 661 | 661 |
-moz-border-radius: 5px; |
| 662 | 662 |
border-radius: 5px; |
| 663 | 663 |
} |
| 664 |
article.contact dl dd div input span, |
|
| 665 |
article.contact dl dd div textarea span{
|
|
| 664 |
article.contact dl dd div.input span{
|
|
| 666 | 665 |
margin: 0 0 0 120px; |
| 667 | 666 |
} |
| 668 | 667 |
|
他の形式にエクスポート: Unified diff