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

Changeset 5041


Ignore:
Timestamp:
Jan 27, 2008, 2:07:28 AM (12 years ago)
Author:
ebihara
Message:

#1843:ログイン画面と簡単なログイン処理の実装

Location:
OpenPNE/branches/prj/framework/cakephp/app
Files:
27 added
3 edited
1 copied

Legend:

Unmodified
Added
Removed
  • OpenPNE/branches/prj/framework/cakephp/app/config/routes.php

    r5039 r5041  
    3434 * to use (in this case, /app/views/pages/home.thtml)...
    3535 */
    36         Router::connect('/', array('controller' => 'members', 'action' => 'login'));
     36    Router::connect('/', array('controller' => 'members', 'action' => 'index'));
    3737?>
  • OpenPNE/branches/prj/framework/cakephp/app/controllers/members_controller.php

    r5039 r5041  
    33{
    44    var $name = 'Members';
     5    var $uses = array('Member', 'Secure');
     6
     7    function beforeFilter()
     8    {
     9        parent::beforeFilter();
     10
     11        $this->Auth->allow('index');
     12    }
     13
     14    function beforeRender()
     15    {
     16        parent::beforeRender();
     17
     18        $this->set('SNS_TITLE', 'OpenPNE 実装サンプル by CakePHP');
     19    }
     20
     21    function index()
     22    {
     23        $this->layout = '';
     24    }
    525
    626    function login()
    727    {
    828    }
     29
     30    function home()
     31    {
     32    }
    933}
    1034?>
  • OpenPNE/branches/prj/framework/cakephp/app/views/members/index.ctp

    r5039 r5041  
    1 members login page
     1<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
     2<html>
     3<head>
     4<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
     5
     6<meta http-equiv="Content-Style-Type" content="text/css">
     7<title><?= h($SNS_TITLE) ?></title>
     8<link rel="stylesheet" href="./css/default.css" type="text/css">
     9<script type="text/javascript" src="./js/prototype.js"></script>
     10<script type="text/javascript" src="./js/pne.js"></script>
     11<style type="text/css">
     12<!--
     13/*枠線要素*/
     14.border_01 { border: #aaaaaa 1px solid ; }
     15.border_07 { border: #CCCCCC 1px solid ; }
     16.border_10 { border: #FFFFFF 1px solid ; }
     17
     18/*背景要素*/
     19.bg_00 { background-color: #FFFFFF ; }
     20.bg_01 { background-color: #CCCCCC ; }
     21.bg_02 { background-color: #FFFFFF ; }
     22.bg_03 { background-color: #FFFFFF ; }
     23.bg_04 { background-color: #CCCCCC ; }
     24.bg_05 { background-color: #FFFFFF ; }
     25.bg_06 { background-color: #FF847C ; }
     26.bg_07 { background-color: #CCCCCC ; }
     27.bg_08 { background-color: #FFFFFF ; }
     28.bg_09 { background-color: #F6EEEE ; }
     29.bg_10 { background-color: #CCCCCC ; }
     30.bg_11 { background-color: #DDDDDD ; }
     31.bg_12 { background-color: #FFFFFF ; }
     32.bg_13 { background-color: #FFFFFF ; }
     33.bg_14 { background-color: #FFFFFF ; }
     34.color_19 { background-color: #FFFFFF ; }
     35
     36body { background-color: #FFFFFF ; }
     37.container { background-color: #FFFFFF ; }
     38
     39.arrow_1 {
     40  width: 17px ;
     41  height: 14px ;
     42  background: url(./skin/default/img/icon_arrow_1.gif) 0% 100%  no-repeat ;
     43}
     44.icon_1 {
     45  width: 14px ;
     46  height: 14px ;
     47  background: url(./skin/default/img/icon_1.gif) 50% 70%  no-repeat ;
     48}
     49.icon_2 {
     50  width: 14px ;
     51  height: 14px ;
     52  background: url(./skin/default/img/icon_2.gif) 50% 70%  no-repeat ;
     53}
     54.icon_3 {
     55  width: 14px ;
     56  height: 14px ;
     57  background: url(./skin/default/img/icon_3.gif) 50% 70%  no-repeat ;
     58}
     59
     60* { font-family: "Hiragino Kaku Gothic Pro", "Hiragino Kaku Ghothic Pro W3", "ヒラギノ角ゴ Pro W3", "MS Pゴシック", Osaka, sans-serif ; }
     61
     62/*ここから:safari1.xパスワードフォーム非表示対策*/
     63html:\66irst-child input[type="password"] { font-family: "Lucida Grande", "Hiragino Kaku Gothic Pro", "Hiragino Kaku Ghothic Pro W3", "ヒラギノ角ゴ Pro W3",sans-serif,"Osaka" ; }
     64/*ここまで:safari1.xパスワードフォーム非表示対策*/
     65
     66/*テキスト入力欄のフォーカス時のクラス*/
     67.text       { background-color:#F8F8F8; }
     68.text_focus { background-color:#FFFFFF; }
     69
     70
     71/*ボタンに対する背景画像の指定*/
     72input.submit {
     73    background: #DADCE6 url(./skin/default/img/bg_button.gif) 50% 0 repeat-x ;
     74}
     75
     76/*ページヘッダロールオーバー設定*/
     77div.inc_page_header div.navi_global a.navi_global_1:active ,
     78div.inc_page_header div.navi_global a.navi_global_1:hover {
     79    background: url(./skin/005_openpne_blue/img/skin_after_header_2.jpg) 0 -70px no-repeat ;
     80}
     81
     82div.inc_page_header div.navi_global a.navi_global_2:active ,
     83div.inc_page_header div.navi_global a.navi_global_2:hover {
     84    background: url(./skin/005_openpne_blue/img/skin_after_header_2.jpg) -90px -70px no-repeat ;
     85}
     86
     87div.inc_page_header div.navi_global a.navi_global_3:active ,
     88div.inc_page_header div.navi_global a.navi_global_3:hover {
     89    background: url(./skin/005_openpne_blue/img/skin_after_header_2.jpg) -180px -70px no-repeat ;
     90}
     91
     92div.inc_page_header div.navi_global a.navi_global_4:active ,
     93div.inc_page_header div.navi_global a.navi_global_4:hover {
     94    background: url(./skin/005_openpne_blue/img/skin_after_header_2.jpg) -288px -70px no-repeat ;
     95}
     96
     97div.inc_page_header div.navi_global a.navi_global_5:active ,
     98div.inc_page_header div.navi_global a.navi_global_5:hover {
     99    background: url(./skin/005_openpne_blue/img/skin_after_header_2.jpg) -360px -70px no-repeat ;
     100}
     101
     102div.inc_page_header div.navi_global a.navi_global_6:active ,
     103div.inc_page_header div.navi_global a.navi_global_6:hover {
     104    background: url(./skin/005_openpne_blue/img/skin_after_header_2.jpg) -432px -70px no-repeat ;
     105}
     106
     107div.inc_page_header div.navi_global a.navi_global_7:active ,
     108div.inc_page_header div.navi_global a.navi_global_7:hover {
     109    background: url(./skin/005_openpne_blue/img/skin_after_header_2.jpg) -504px -70px no-repeat ;
     110}
     111
     112div.inc_page_header div.navi_global a.navi_global_8:active ,
     113div.inc_page_header div.navi_global a.navi_global_8:hover {
     114    background: url(./skin/005_openpne_blue/img/skin_after_header_2.jpg) -576px -70px no-repeat ;
     115}
     116
     117div.inc_page_header div.navi_global a.navi_global_9:active ,
     118div.inc_page_header div.navi_global a.navi_global_9:hover {
     119    background: url(./skin/005_openpne_blue/img/skin_after_header_2.jpg) -648px -70px no-repeat ;
     120}
     121
     122/*h系ナビロールオーバー設定*/
     123.inc_navi div.h a.navi_h_1:active ,
     124.inc_navi div.h a.navi_h_1:hover {
     125    background: url(./skin/005_openpne_blue/img/skin_navi_h_2.jpg) 0 0 no-repeat ;
     126}
     127
     128.inc_navi div.h a.navi_h_2:active ,
     129.inc_navi div.h a.navi_h_2:hover {
     130    background: url(./skin/005_openpne_blue/img/skin_navi_h_2.jpg) -80px 0 no-repeat ;
     131}
     132
     133.inc_navi div.h a.navi_h_3:active ,
     134.inc_navi div.h a.navi_h_3:hover {
     135    background: url(./skin/005_openpne_blue/img/skin_navi_h_2.jpg) -160px 0 no-repeat ;
     136}
     137
     138.inc_navi div.h a.navi_h_4:active ,
     139.inc_navi div.h a.navi_h_4:hover {
     140    background: url(./skin/005_openpne_blue/img/skin_navi_h_2.jpg) -240px 0 no-repeat ;
     141}
     142
     143.inc_navi div.h a.navi_h_5:active ,
     144.inc_navi div.h a.navi_h_5:hover {
     145    background: url(./skin/005_openpne_blue/img/skin_navi_h_2.jpg) -320px 0 no-repeat ;
     146}
     147
     148.inc_navi div.h a.navi_h_6:active ,
     149.inc_navi div.h a.navi_h_6:hover {
     150    background: url(./skin/005_openpne_blue/img/skin_navi_h_2.jpg) -400px 0 no-repeat ;
     151}
     152
     153.inc_navi div.h a.navi_h_7:active ,
     154.inc_navi div.h a.navi_h_7:hover {
     155    background: url(./skin/005_openpne_blue/img/skin_navi_h_2.jpg) -480px 0 no-repeat ;
     156}
     157
     158.inc_navi div.h a.navi_h_8:active ,
     159.inc_navi div.h a.navi_h_8:hover {
     160    background: url(./skin/005_openpne_blue/img/skin_navi_h_2.jpg) -560px 0 no-repeat ;
     161}
     162
     163.inc_navi div.h a.navi_h_9:active ,
     164.inc_navi div.h a.navi_h_9:hover {
     165    background: url(./skin/005_openpne_blue/img/skin_navi_h_2.jpg) -640px 0 no-repeat ;
     166}
     167
     168/*f系ナビロールオーバー設定*/
     169.inc_navi div.f a.navi_f_1:active ,
     170.inc_navi div.f a.navi_f_1:hover {
     171    background: url(./skin/005_openpne_blue/img/skin_navi_f_2.jpg) 0 0 no-repeat ;
     172}
     173
     174.inc_navi div.f a.navi_f_2:active ,
     175.inc_navi div.f a.navi_f_2:hover {
     176    background: url(./skin/005_openpne_blue/img/skin_navi_f_2.jpg) -80px 0 no-repeat ;
     177}
     178
     179.inc_navi div.f a.navi_f_3:active ,
     180.inc_navi div.f a.navi_f_3:hover {
     181    background: url(./skin/005_openpne_blue/img/skin_navi_f_2.jpg) -160px 0 no-repeat ;
     182}
     183
     184.inc_navi div.f a.navi_f_4:active ,
     185.inc_navi div.f a.navi_f_4:hover {
     186    background: url(./skin/005_openpne_blue/img/skin_navi_f_2.jpg) -240px 0 no-repeat ;
     187}
     188
     189.inc_navi div.f a.navi_f_5:active ,
     190.inc_navi div.f a.navi_f_5:hover {
     191    background: url(./skin/005_openpne_blue/img/skin_navi_f_2.jpg) -320px 0 no-repeat ;
     192}
     193
     194.inc_navi div.f a.navi_f_6:active ,
     195.inc_navi div.f a.navi_f_6:hover {
     196    background: url(./skin/005_openpne_blue/img/skin_navi_f_2.jpg) -400px 0 no-repeat ;
     197}
     198
     199.inc_navi div.f a.navi_f_7:active ,
     200.inc_navi div.f a.navi_f_7:hover {
     201    background: url(./skin/005_openpne_blue/img/skin_navi_f_2.jpg) -480px 0 no-repeat ;
     202}
     203
     204.inc_navi div.f a.navi_f_8:active ,
     205.inc_navi div.f a.navi_f_8:hover {
     206    background: url(./skin/005_openpne_blue/img/skin_navi_f_2.jpg) -560px 0 no-repeat ;
     207}
     208
     209.inc_navi div.f a.navi_f_9:active ,
     210.inc_navi div.f a.navi_f_9:hover {
     211    background: url(./skin/005_openpne_blue/img/skin_navi_f_2.jpg) -640px 0 no-repeat ;
     212}
     213
     214/*c系ナビロールオーバー設定*/
     215.inc_navi div.c a.navi_c_1:active ,
     216.inc_navi div.c a.navi_c_1:hover {
     217    background: url(./skin/005_openpne_blue/img/skin_navi_c_2.jpg) 0 0 no-repeat ;
     218}
     219
     220.inc_navi div.c a.navi_c_2:active ,
     221.inc_navi div.c a.navi_c_2:hover {
     222    background: url(./skin/005_openpne_blue/img/skin_navi_c_2.jpg) -120px 0 no-repeat ;
     223}
     224
     225.inc_navi div.c a.navi_c_3:active ,
     226.inc_navi div.c a.navi_c_3:hover {
     227    background: url(./skin/005_openpne_blue/img/skin_navi_c_2.jpg) -240px 0 no-repeat ;
     228}
     229
     230.inc_navi div.c a.navi_c_4:active ,
     231.inc_navi div.c a.navi_c_4:hover {
     232    background: url(./skin/005_openpne_blue/img/skin_navi_c_2.jpg) -360px 0 no-repeat ;
     233}
     234
     235.inc_navi div.c a.navi_c_5:active ,
     236.inc_navi div.c a.navi_c_5:hover {
     237    background: url(./skin/005_openpne_blue/img/skin_navi_c_2.jpg) -480px 0 no-repeat ;
     238}
     239
     240.inc_navi div.c a.navi_c_6:active ,
     241.inc_navi div.c a.navi_c_6:hover {
     242    background: url(./skin/005_openpne_blue/img/skin_navi_c_2.jpg) -600px 0 no-repeat ;
     243}
     244
     245/**フォント色変更**/
     246
     247/*リンク関連*/
     248a:link    { color: #026CD1; }
     249a:visited { color: #004A95; }
     250a:hover   { color: #76AFE6; }
     251a:active  { color: #76AFE6; }
     252
     253/*コンテンツ見出しlv1*/
     254td.bg_06 span.b_b,
     255.c_00 { color: #222222; }
     256
     257/*コンテンツ見出しlv2*/
     258.c_01 { color: #444444; }
     259
     260/*強調文字暖色*/
     261.c_02 { color: #D92C49; }
     262
     263/*強調文字寒色*/
     264.c_03 { color: #2C65D9; }
     265
     266/*その他文字色*/
     267body { color: #000000; }
     268
     269-->
     270</style>
     271<script type="text/javascript">
     272<!--
     273TextFiledClassName_normal = 'text';
     274TextFiledClassName_focus  = 'text_focus';
     275
     276Event.observe(window, 'load', setFocusClass, false);
     277
     278function setFocusClass() {
     279    var TFs = $A(document.getElementsByClassName(TextFiledClassName_normal));
     280    TFs.each(function (node){
     281        node.TFclass = node.className;
     282        node.TFclass_onfocus = TextFiledClassName_focus;
     283        node.onfocus = function() { this.className = this.TFclass_onfocus; };
     284        node.onblur  = function() { this.className = this.TFclass; };
     285    });
     286}
     287//-->
     288</script>
     289
     290</head>
     291
     292<body id="pc_page_o_login">
     293
     294
     295
     296<div align="left">
     297
     298<table class="ext_sub_container" border="0" cellspacing="0" cellpadding="0">
     299<tr>
     300<td class="ext_sub_container_left" align="left" valign="top">
     301
     302
     303<table class="mainframe" border="0" cellspacing="0" cellpadding="0">
     304<tr>
     305<td class="container inc_page_header">
     306
     307
     308<div id="container_login"><div class="w_screen">
     309
     310<img src="./skin/005_openpne_blue/img/skin_login.jpg" class="bg">
     311
     312
     313<?= $form->create('Member', aa('action', 'login')) ?>
     314<?= $form->input('Secure.pc_address', aa('legend', false, 'label', false, 'type', 'text')) ?>
     315<?= $form->input('Secure.password', aa('legend', false, 'label', false, 'type', 'password')) ?>
     316<input type="image" tabindex="4" name="submit" src="./skin/dummy.gif" border="0" id="button_login" alt="ログイン">
     317<div class="msg lh_130">
     318<input type="checkbox" tabindex="3" name="is_save" id="is_save" value="1" class="no_bg"><label for="is_save">次回から自動的にログイン</label><br>
     319<span class="password_query"><a href="./?m=pc&amp;a=page_o_password_query">&gt;パスワードを忘れた方はこちらへ</a></span>
     320</div>
     321<?= $form->end() ?>
     322
     323<div class="footer">
     324
     325<a href="./?m=pc&amp;a=page_o_sns_kiyaku" target="_blank">利用規約</a> <a href="./?m=pc&amp;a=page_o_sns_privacy" target="_blank">プライバシーポリシー</a> <a href="http://www.openpne.jp/about/" target="_blank">OpenPNEとは</a>
     326
     327</div>
     328
     329</div></div>
     330
     331</table>
     332
     333
     334
     335</td>
     336
     337
     338<td class="ext_sub_container_right" align="center" valign="top">
     339
     340
     341
     342</td>
     343</tr>
     344</table>
     345
     346</div>
     347
     348
     349
     350</body>
     351</html>
  • OpenPNE/branches/prj/framework/cakephp/app/views/members/login.ctp

    r5039 r5041  
    1 members login page
     1ログイン失敗?
Note: See TracChangeset for help on using the changeset viewer.