<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-3624142561073610015</id><updated>2024-09-12T09:55:14.067+09:00</updated><category term="cakephp 個別機能"/><category term="cakephp 開発環境"/><category term="cakephp"/><category term="cakephp 初期設定"/><category term="cakephp2.2"/><category term="スマフォ"/><title type='text'>ソーシャルアプリを作る　プログラミング編</title><subtitle type='html'>$this→実現したいことを形にする→プログラミング($friends);</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>27</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-7111930835693481504</id><published>2014-06-29T02:46:00.002+09:00</published><updated>2014-06-29T02:49:03.141+09:00</updated><title type='text'>SQL メモ</title><content type='html'>&lt;pre&gt;
Oracle
テーブル一覧    desc tabale_name;
Not Nullを変更  alter table mytable modify (myname not null);


&lt;/pre&gt;


&lt;pre&gt;
MySQL

&lt;/pre&gt;

</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/7111930835693481504/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2014/06/sql.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/7111930835693481504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/7111930835693481504'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2014/06/sql.html' title='SQL メモ'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-2638210832481212049</id><published>2014-06-16T12:15:00.001+09:00</published><updated>2014-06-16T12:16:49.919+09:00</updated><title type='text'>スケジュール管理メモ</title><content type='html'>スケジュール管理のメモ&lt;br/&gt;
&lt;br/&gt;
&lt;p&gt;
１． スケジュール管理の徹底&lt;br/&gt;
２． 詳細な工程の洗い出しと管理&lt;br/&gt;
３． 毎日の報告&lt;br/&gt;
４． やることの優先順位づけの再確認・徹底&lt;br/&gt;
５． コミュニケーションの一元化（すべてPMを通す）&lt;br/&gt;
６． ドキュメント提出ルートの一元化（全てPMを通す）&lt;br/&gt;
７． DRでの説明（質問への回答は専門の方でいいです）&lt;br/&gt;
８． 現場（特に開発）への各種情報伝達とやり切らせる仕切り&lt;br/&gt;
&lt;/p&gt;</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/2638210832481212049/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2014/06/blog-post.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/2638210832481212049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/2638210832481212049'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2014/06/blog-post.html' title='スケジュール管理メモ'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-8226118915583093168</id><published>2012-10-26T15:07:00.001+09:00</published><updated>2012-10-26T15:07:59.237+09:00</updated><title type='text'>cakephp2 インターネット上の画像をサーバに保存する</title><content type='html'>実は、cakephpで、curlを使ってみたかっただけですが&lt;br/&gt;&lt;br/&gt;
cakephpネタでは、ないですが、インターネット上の画像をサーバに保存したい。&lt;br/&gt;
ということがあり、作って見ました。&lt;br/&gt;
本当は、wget関数とかがほしいですね&lt;br/&gt;
(ポイント）&lt;br/&gt;
・インターネット上の画像のＵＲＬは、$http_image&lt;br/&gt;
・サーバ上の画像のファイルを$local_imageで指定します。&lt;br/&gt;
・保存ディレクトリの名前に注意して、wb（ライト・バイナリ）モードで、オープンし、&lt;br/&gt;
・画像を読み込み、書き出す、だけです。&lt;br/&gt;


 &lt;link href=&quot;http://alexgorbatchev.com/pub/sh/current/styles/shCore.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;
&lt;link href=&quot;http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;
&lt;script src=&quot;http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
&lt;script src=&quot;http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
&lt;script src=&quot;http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
&lt;script src=&quot;http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
&lt;script src=&quot;http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;
 SyntaxHighlighter.config.bloggerMode = true;
 SyntaxHighlighter.all();
&lt;/script&gt;


&lt;script class=&quot;brush: php;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
   $http_image =&#39;http://www.*****.com/picture.jpg&#39;;
   $local_image= APP.&#39;webroot&#39;.&#39;/img/images/picture.jpg&#39;;

   $ch = curl_init($http_image);
   $fp = fopen($local_image, &quot;wb&quot;);

   curl_setopt($ch, CURLOPT_FILE, $fp);
   curl_setopt($ch, CURLOPT_HEADER, 0);

   curl_exec($ch);
   curl_close($ch);
   fclose($fp);
]]&gt;
&lt;/script&gt;
</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/8226118915583093168/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/10/cakephp2.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/8226118915583093168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/8226118915583093168'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/10/cakephp2.html' title='cakephp2 インターネット上の画像をサーバに保存する'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-2537426188452688863</id><published>2012-10-25T15:20:00.000+09:00</published><updated>2012-10-25T15:20:10.700+09:00</updated><title type='text'>cakephp2 hybridauth(2)</title><content type='html'>hybridauth概要　その２/２です。&lt;br/&gt;
&lt;br/&gt;


&lt;style type=&quot;text/css&quot;&gt;
&lt;!--
.excel1 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:11.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:&quot;ＭＳ Ｐゴシック&quot;, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:nowrap;
}
.excel12 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:.5pt solid windowtext;
white-space:nowrap;
}
.excel13 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:nowrap;
border-top:.5pt solid windowtext;
border-right:.5pt solid windowtext;
border-bottom:none;
border-left:.5pt solid windowtext;
}
.excel15 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:nowrap;
border-top:none;
border-right:.5pt solid windowtext;
border-bottom:none;
border-left:.5pt solid windowtext;
}
.excel14 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:nowrap;
border-top:none;
border-right:.5pt solid windowtext;
border-bottom:.5pt solid windowtext;
border-left:.5pt solid windowtext;
}
.excel10 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:nowrap;
border-top:.5pt solid windowtext;
border-right:none;
border-bottom:none;
border-left:none;
}
.excel4 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:nowrap;
border-top:.5pt solid windowtext;
border-right:.5pt solid windowtext;
border-bottom:none;
border-left:none;
}
.excel16 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:.5pt solid windowtext;
white-space:normal;
}
.excel11 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:nowrap;
border-top:none;
border-right:none;
border-bottom:.5pt solid windowtext;
border-left:none;
}
.excel6 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:nowrap;
border-top:none;
border-right:.5pt solid windowtext;
border-bottom:.5pt solid windowtext;
border-left:none;
}
.excel2 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:nowrap;
}
.excel8 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:nowrap;
border-top:.5pt solid windowtext;
border-right:.5pt solid windowtext;
border-bottom:.5pt solid windowtext;
border-left:none;
}
.excel7 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:nowrap;
border-top:.5pt solid windowtext;
border-right:none;
border-bottom:.5pt solid windowtext;
border-left:.5pt solid windowtext;
}
.excel9 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:nowrap;
border-top:.5pt solid windowtext;
border-right:none;
border-bottom:.5pt solid windowtext;
border-left:none;
}
.excel3 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:nowrap;
border-top:.5pt solid windowtext;
border-right:none;
border-bottom:none;
border-left:.5pt solid windowtext;
}
.excel5 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:nowrap;
border-top:none;
border-right:none;
border-bottom:.5pt solid windowtext;
border-left:.5pt solid windowtext;
}
--&gt;
&lt;/style&gt;
&lt;table cellspacing=&quot;0&quot; cellpadding=&quot;0&quot; class=&quot;excel1&quot;&gt;
  &lt;col width=&quot;204&quot; style=&quot;width:153pt;&quot; /&gt;
  &lt;col width=&quot;93&quot; style=&quot;width:70pt;&quot; /&gt;
  &lt;col width=&quot;70&quot; style=&quot;width:53pt;&quot; /&gt;
  &lt;col width=&quot;715&quot; style=&quot;width:536pt;&quot; /&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel12&quot; width=&quot;204&quot; style=&quot;height:16.5pt;width:153pt;&quot;&gt;&lt;a name=&quot;RANGE!A1:D44&quot; id=&quot;RANGE!A1:D44&quot;&gt;Hybrid_User_Profile&lt;/a&gt;&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; width=&quot;93&quot; style=&quot;border-left:none;width:70pt;&quot;&gt;Name&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; width=&quot;70&quot; style=&quot;border-left:none;width:53pt;&quot;&gt;type&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; width=&quot;715&quot; style=&quot;border-left:none;width:536pt;&quot;&gt;description&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel13&quot; style=&quot;height:16.5pt;border-top:none;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;identifier&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;　&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;Properties&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;profileURL&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;IDPのWebサイト上でプロフィールページへのURLリンク&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;webSiteURL&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;　&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;photoURL&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;ユーザー写真やアバターへのURLリンク&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;displayName&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;　&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;description&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;短いabout_me&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;firstName&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;　&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;lastName&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;　&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;gender&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;　&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;language&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;　&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;age&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;Integer&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;　&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;birthDay&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;Integer&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;　&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;birthMonth&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;Integer&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;　&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;birthYear&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;Integer&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;　&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;email&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;　&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;emailVerified&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;　&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;phone&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;　&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;address&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;　&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;country&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;　&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;region&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;　&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;city&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;　&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel14&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;zip&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;Integer&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;　&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:148.5pt;&quot;&gt;
    &lt;td class=&quot;excel13&quot; style=&quot;height:148.5pt;border-top:none;&quot;&gt;Update User    Status&amp;nbsp;&lt;/td&gt;
    &lt;td class=&quot;excel10&quot; style=&quot;border-top:none;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel4&quot; style=&quot;border-top:none;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel16&quot; width=&quot;715&quot; style=&quot;border-top:none;border-left:none;width:536pt;&quot;&gt;$hybridauth    = new Hybrid_Auth( $config );&lt;br /&gt;
      $adapter = $hybridauth-&amp;gt;authenticate( &amp;quot;Facebook&amp;quot; );&lt;br /&gt;
      $adapter-&amp;gt;setUserStatus(&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; array(&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;message&amp;quot; =&amp;gt; &amp;quot;&amp;quot;,    // status or message content&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;link&amp;quot; =&amp;gt; &amp;quot;&amp;quot;,    // webpage link&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;quot;picture&amp;quot; =&amp;gt;    &amp;quot;&amp;quot;, // a picture link&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; );&amp;nbsp;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:49.5pt;&quot;&gt;
    &lt;td class=&quot;excel14&quot; style=&quot;height:49.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel11&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel6&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel16&quot; width=&quot;715&quot; style=&quot;border-top:none;border-left:none;width:536pt;&quot;&gt;$hybridauth    = new Hybrid_Auth( $config );&lt;br /&gt;
      $adapter = $hybridauth-&amp;gt;authenticate( &amp;quot;Twitter&amp;quot; );&lt;br /&gt;
      $adapter-&amp;gt;setUserStatus( &amp;quot;Hi there!&amp;quot; );&amp;nbsp;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:99.0pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:99.0pt;&quot;&gt;Hybrid_User_Contact&lt;/td&gt;
    &lt;td class=&quot;excel2&quot;&gt;&lt;/td&gt;
    &lt;td class=&quot;excel2&quot;&gt;&lt;/td&gt;
    &lt;td class=&quot;excel16&quot; width=&quot;715&quot; style=&quot;border-top:none;width:536pt;&quot;&gt;$hybridauth =    new Hybrid_Auth( $config );&lt;br /&gt;
      $adapter = $hybridauth-&amp;gt;authenticate( &amp;quot;Twitter&amp;quot; );&lt;br /&gt;
      $user_contacts = $adapter-&amp;gt;getUserContacts();&lt;br /&gt;
      foreach( $user_contacts as $contact ){&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; echo $contact-&amp;gt;displayName . &amp;quot; &amp;quot; .    $contact-&amp;gt;profileURL . &amp;quot;&amp;lt;hr /&amp;gt;&amp;quot;;&lt;br /&gt;
      }&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel8&quot;&gt;Field Name&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-left:none;&quot;&gt;Type&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;Short description&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel8&quot; style=&quot;border-top:none;&quot;&gt;identifier&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;&amp;nbsp;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;The Unique contact&#39;s    ID on the connected provider. Usually an interger.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel8&quot; style=&quot;border-top:none;&quot;&gt;profileURL&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;&amp;nbsp;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;URL link to profile    page on the IDp web site&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel8&quot; style=&quot;border-top:none;&quot;&gt;webSiteURL&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;&amp;nbsp;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;ユーザのウェブサイト、ブログ、ウェブページ&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel8&quot; style=&quot;border-top:none;&quot;&gt;photoURL&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;&amp;nbsp;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;ユーザー写真やアバターへのURLリンク&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;page-break-before:always;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel8&quot; style=&quot;border-top:none;&quot;&gt;displayName&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;&amp;nbsp;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;User dispalyName    provided by the IDp or a concatenation of first and last name.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel8&quot; style=&quot;border-top:none;&quot;&gt;description&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;&amp;nbsp;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;短いabout_meまたは最後の接触状況&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel14&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel8&quot; style=&quot;border-top:none;&quot;&gt;email&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;&amp;nbsp;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;User email. Not all    of IDp garant access to the user email&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:181.5pt;&quot;&gt;
    &lt;td class=&quot;excel13&quot; style=&quot;height:181.5pt;border-top:none;&quot;&gt;Hybrid_User_Activity&lt;/td&gt;
    &lt;td class=&quot;excel2&quot;&gt;&lt;/td&gt;
    &lt;td class=&quot;excel2&quot;&gt;&lt;/td&gt;
    &lt;td class=&quot;excel16&quot; width=&quot;715&quot; style=&quot;border-top:none;width:536pt;&quot;&gt;$hybridauth =    new Hybrid_Auth( $config );&lt;br /&gt;
      $adapter = $hybridauth-&amp;gt;authenticate( &amp;quot;Twitter&amp;quot; ); &lt;br /&gt;
      $user_timeline = $adapter-&amp;gt;getUserActivity( &amp;quot;timeline&amp;quot;    );&lt;br /&gt;
      foreach( $user_timeline as $item ){&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; echo $item-&amp;gt;user-&amp;gt;displayName . &amp;quot;: &amp;quot; .    $item-&amp;gt;text . &amp;quot;&amp;lt;hr /&amp;gt;&amp;quot;;&lt;br /&gt;
      }&lt;br /&gt;
      &lt;br /&gt;
      $user_timeline = $adapter-&amp;gt;getUserActivity( &amp;quot;me&amp;quot; );&lt;br /&gt;
      foreach( $user_timeline as $item ){&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; echo $item-&amp;gt;user-&amp;gt;displayName . &amp;quot;: &amp;quot; .    $item-&amp;gt;text . &amp;quot;&amp;lt;hr /&amp;gt;&amp;quot;;&lt;br /&gt;
      }&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel8&quot;&gt;Field Name&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-left:none;&quot;&gt;Type&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;Short description&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel8&quot; style=&quot;border-top:none;&quot;&gt;id&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;&amp;nbsp;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;Event id on the    provider side&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel8&quot; style=&quot;border-top:none;&quot;&gt;date&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;&amp;nbsp;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;Event date of    creation. provided as is for now.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel15&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel8&quot; style=&quot;border-top:none;&quot;&gt;text&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;&amp;nbsp;String&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;activity/event/story    content as string.&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:99.0pt;&quot;&gt;
    &lt;td class=&quot;excel14&quot; style=&quot;height:99.0pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel8&quot; style=&quot;border-top:none;&quot;&gt;user&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;&amp;nbsp;stdClass&lt;/td&gt;
    &lt;td class=&quot;excel16&quot; width=&quot;715&quot; style=&quot;border-top:none;border-left:none;width:536pt;&quot;&gt;Field    Name&amp;nbsp;&amp;nbsp;&amp;nbsp; Type&amp;nbsp;&amp;nbsp;&amp;nbsp; Short description&lt;br /&gt;
      ------------------------------------------------------&lt;br /&gt;
      identifier&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string&amp;nbsp;&amp;nbsp; The    Unique user ID on the provider side. Usually an interger.&lt;br /&gt;
      displayName string&amp;nbsp;&amp;nbsp; User dispalyName provided by the    provider&lt;br /&gt;
      profileURL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string&amp;nbsp;&amp;nbsp; URL link to profile    page on the IDp web site&lt;br /&gt;
      photoURL&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; string&amp;nbsp;&amp;nbsp; URL link to user    photo or avatar&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:346.5pt;&quot;&gt;
    &lt;td class=&quot;excel7&quot; style=&quot;height:346.5pt;border-top:none;&quot;&gt;Access    social networks apis&lt;/td&gt;
    &lt;td class=&quot;excel9&quot; style=&quot;border-top:none;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel8&quot; style=&quot;border-top:none;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel16&quot; width=&quot;715&quot; style=&quot;border-top:none;border-left:none;width:536pt;&quot;&gt;try{&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; $hybridauth = new Hybrid_Auth( $config );&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; $facebook = $hybridauth-&amp;gt;authenticate(    &amp;quot;Facebook&amp;quot; );&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; $twitter = $hybridauth-&amp;gt;authenticate(    &amp;quot;Twitter&amp;quot; );&lt;br /&gt;
      &lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; /* Facebook:    https://developers.facebook.com/docs/reference/api/&amp;nbsp; */&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; $response =    $facebook-&amp;gt;api()-&amp;gt;api(&#39;/me/friends&#39;);&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; $response = $facebook-&amp;gt;api()-&amp;gt;api(&amp;quot;/me/feed&amp;quot;,    &amp;quot;post&amp;quot;, array(&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; message =&amp;gt; &amp;quot;Hi    there&amp;quot;,&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; picture =&amp;gt;    &amp;quot;http://www.mywebsite.com/path/to/an/image.jpg&amp;quot;,&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; link =&amp;gt;    &amp;quot;http://www.mywebsite.com/path/to/a/page/&amp;quot;,&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name =&amp;gt; &amp;quot;My page    name&amp;quot;,&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; caption =&amp;gt; &amp;quot;And    caption&amp;quot;&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ));&lt;br /&gt;
      &lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Twitter: https://dev.twitter.com/docs/api    */&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; $response = $twitter-&amp;gt;api()-&amp;gt;get( &#39;account/totals.json&#39;    );&lt;br /&gt;
      &amp;nbsp;&amp;nbsp; }&lt;br /&gt;
      catch( Exception $e ){&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;Ooophs, we got an error: &amp;quot; .    $e-&amp;gt;getMessage();&lt;br /&gt;
      }&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;page-break-before:always;height:82.5pt;&quot;&gt;
    &lt;td class=&quot;excel7&quot; style=&quot;height:82.5pt;border-top:none;&quot;&gt;HybridAuth    Sessions&lt;/td&gt;
    &lt;td class=&quot;excel9&quot; style=&quot;border-top:none;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel8&quot; style=&quot;border-top:none;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel16&quot; width=&quot;715&quot; style=&quot;border-top:none;border-left:none;width:536pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;    CREATE TABLE `users_connections` (&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; `user_id` int(11) NOT NULL COMMENT &#39;refer to your user    id on your application&#39;,&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; `hybridauth_session` text NOT NULL COMMENT &#39;will contain    the hybridauth session data&#39;,&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; `updated_at` timestamp NOT NULL DEFAULT    CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; ) ENGINE=InnoDB;&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:346.5pt;&quot;&gt;
    &lt;td class=&quot;excel3&quot; style=&quot;height:346.5pt;border-top:none;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel10&quot; style=&quot;border-top:none;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel4&quot; style=&quot;border-top:none;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel16&quot; width=&quot;715&quot; style=&quot;border-top:none;border-left:none;width:536pt;&quot;&gt;try{&lt;br /&gt;
      $hybridauth = new Hybrid_Auth( $config );&lt;br /&gt;
      $twitter = $hybridauth-&amp;gt;authenticate( &amp;quot;Twitter&amp;quot; );&lt;br /&gt;
      $facebook = $hybridauth-&amp;gt;authenticate( &amp;quot;Facebook&amp;quot; );&lt;br /&gt;
      $google = $hybridauth-&amp;gt;authenticate( &amp;quot;Google&amp;quot; );&lt;br /&gt;
      /* ... */ &lt;br /&gt;
      &lt;br /&gt;
      $hybridauth_session_data = $hybridauth-&amp;gt;getSessionData();&lt;br /&gt;
      &amp;nbsp;&lt;br /&gt;
      // then store it on your database or something&lt;br /&gt;
      sotre_hybridauth_session( $current_user_id, $hybridauth_session_data );&lt;br /&gt;
      }&lt;br /&gt;
      catch( Exception $e ){&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; echo &amp;quot;Ooophs, we got an error: &amp;quot; .    $e-&amp;gt;getMessage();&lt;br /&gt;
      }&lt;br /&gt;
      &amp;nbsp;&lt;br /&gt;
      // define a function to sotre it on whatever storage you want to use&lt;br /&gt;
      function sotre_hybridauth_session( $user_id, $data ){&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; $sql = &amp;quot;INSERT INTO users_connections ( user_id,    hybridauth_session ) VALUES (&amp;nbsp; $user_id , $data )&amp;quot;;&lt;br /&gt;
      // ..&lt;br /&gt;
      }&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;page-break-before:always;height:346.5pt;&quot;&gt;
    &lt;td class=&quot;excel5&quot; style=&quot;height:346.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel11&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel6&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel16&quot; width=&quot;715&quot; style=&quot;border-top:none;border-left:none;width:536pt;&quot;&gt;try{&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; $hybridauth = new Hybrid_Auth( $config );&lt;br /&gt;
      &lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; $hybridauth_session_data =    get_sotred_hybridauth_session( $current_user_id );&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; $hybridauth-&amp;gt;restoreSessionData( $hybridauth_session_data    );&lt;br /&gt;
      &lt;br /&gt;
      &amp;nbsp;&amp;nbsp; $twitter = $hybridauth-&amp;gt;getAdapter( &amp;quot;Twitter&amp;quot;    );&lt;br /&gt;
      &lt;br /&gt;
      &amp;nbsp; $user_profile = $twitter-&amp;gt;getUserProfile();&lt;br /&gt;
      &amp;nbsp;&lt;br /&gt;
      // ..&lt;br /&gt;
      }&lt;br /&gt;
      catch( Exception $e ){&lt;br /&gt;
      &amp;nbsp;&amp;nbsp; echo &amp;quot;Ooophs, we got an error: &amp;quot; .    $e-&amp;gt;getMessage();&lt;br /&gt;
      }&lt;br /&gt;
      &amp;nbsp;&lt;br /&gt;
      // define a function to get the stored hybridauth data back from your    storage system&lt;br /&gt;
      function get_sotred_hybridauth_session( $user_id ){&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; $sql = &amp;quot;SELECT FROM users_connections WHERE user_id    = $user_id &amp;quot;;&lt;br /&gt;
      &amp;nbsp;&amp;nbsp;&amp;nbsp; return ...&lt;br /&gt;
      }&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/2537426188452688863/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/10/cakephp2-hybridauth2.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/2537426188452688863'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/2537426188452688863'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/10/cakephp2-hybridauth2.html' title='cakephp2 hybridauth(2)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-4291194090143545220</id><published>2012-10-25T15:19:00.002+09:00</published><updated>2012-10-25T15:19:31.574+09:00</updated><title type='text'>cakephp2 hybridauth(1)</title><content type='html'>hybridauthの概要　その１／２です。&lt;br/&gt;
&lt;br/&gt;
&lt;style type=&quot;text/css&quot;&gt;
&lt;!--
.excel1 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:11.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:&quot;ＭＳ Ｐゴシック&quot;, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:nowrap;
}
.excel8 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:.5pt solid windowtext;
white-space:nowrap;
}
.excel5 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:nowrap;
border-top:.5pt solid windowtext;
border-right:none;
border-bottom:.5pt solid windowtext;
border-left:.5pt solid windowtext;
}
.excel6 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:nowrap;
border-top:.5pt solid windowtext;
border-right:.5pt solid windowtext;
border-bottom:.5pt solid windowtext;
border-left:none;
}
.excel9 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:nowrap;
border-top:.5pt solid windowtext;
border-right:.5pt solid windowtext;
border-bottom:none;
border-left:.5pt solid windowtext;
}
.excel11 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:nowrap;
border-top:none;
border-right:.5pt solid windowtext;
border-bottom:none;
border-left:.5pt solid windowtext;
}
.excel10 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:nowrap;
border-top:none;
border-right:.5pt solid windowtext;
border-bottom:.5pt solid windowtext;
border-left:.5pt solid windowtext;
}
.excel3 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:nowrap;
border-top:.5pt solid windowtext;
border-right:.5pt solid windowtext;
border-bottom:none;
border-left:none;
}
.excel4 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:nowrap;
border-top:none;
border-right:.5pt solid windowtext;
border-bottom:.5pt solid windowtext;
border-left:none;
}
.excel7 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:normal;
border-top:.5pt solid windowtext;
border-right:.5pt solid windowtext;
border-bottom:.5pt solid windowtext;
border-left:none;
}
.excel12 {
padding-top:1px;
padding-right:1px;
padding-left:1px;
color:black;
font-size:10.0pt;
font-weight:400;
font-style:normal;
text-decoration:none;
font-family:メイリオ, monospace;
text-align:general;
vertical-align:middle;
border:none;
white-space:normal;
border-top:none;
border-right:.5pt solid windowtext;
border-bottom:.5pt solid windowtext;
border-left:.5pt solid windowtext;
}
--&gt;
&lt;/style&gt;

&lt;table cellspacing=&quot;1&quot; cellpadding=&quot;1&quot; class=&quot;excel1&quot;&gt;
  &lt;col width=&quot;199&quot; style=&quot;width:149pt;&quot; /&gt;
  &lt;col width=&quot;351&quot; style=&quot;width:263pt;&quot; /&gt;
  &lt;col width=&quot;455&quot; style=&quot;width:341pt;&quot; /&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel8&quot; width=&quot;199&quot; style=&quot;height:16.5pt;width:149pt;&quot;&gt;Methods&lt;/td&gt;
    &lt;td class=&quot;excel5&quot; width=&quot;351&quot; style=&quot;border-left:none;width:263pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel6&quot; width=&quot;455&quot; style=&quot;width:341pt;&quot;&gt;Usage&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel9&quot; style=&quot;height:16.5pt;border-top:none;&quot;&gt;Hybrid_Auth&lt;/td&gt;
    &lt;td class=&quot;excel9&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;authenticate()&lt;/td&gt;
    &lt;td class=&quot;excel9&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;Hybrid_Auth::authenticate(    provider, params  ) &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel10&quot; style=&quot;border-left:none;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel10&quot; style=&quot;border-left:none;&quot;&gt;　&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel8&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;getAdapter（）&lt;/td&gt;
    &lt;td class=&quot;excel6&quot; style=&quot;border-top:none;&quot;&gt;Hybrid_Auth :: isConnectedWith（    provider ）&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel9&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;isConnectedWith（）&lt;/td&gt;
    &lt;td class=&quot;excel3&quot; style=&quot;border-top:none;&quot;&gt;Hybrid_Auth :: isConnectedWith（    provider ）&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel10&quot; style=&quot;border-left:none;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel4&quot;&gt;現在のユーザーが指定に接続されている場合はtrueまたはfalseを返す&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel9&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;getConnectedProviders（）&lt;/td&gt;
    &lt;td class=&quot;excel3&quot; style=&quot;border-top:none;&quot;&gt;Hybrid_Auth :: getConnectedProviders（）&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel10&quot; style=&quot;border-left:none;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel4&quot;&gt;認証プロバイダのリストを返します。&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel9&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;getSessionData（）&lt;/td&gt;
    &lt;td class=&quot;excel3&quot; style=&quot;border-top:none;&quot;&gt;Hybrid_Auth :: getSessionData（）&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel10&quot; style=&quot;border-left:none;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel4&quot;&gt;データが格納されたセッションを取得します。シリアライズ返す&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel9&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;restoreSessionData（）&lt;/td&gt;
    &lt;td class=&quot;excel3&quot; style=&quot;border-top:none;&quot;&gt;Hybrid_Auth :: restoreSessionData（    array ）&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel10&quot; style=&quot;border-left:none;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel4&quot;&gt;与えられた[シリアライズ]からHybridAuthセッションをリストアする&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel9&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;logoutAllProviders（）&lt;/td&gt;
    &lt;td class=&quot;excel3&quot; style=&quot;border-top:none;&quot;&gt;Hybrid_Auth :: logoutAllProviders（）&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel10&quot; style=&quot;border-left:none;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel4&quot;&gt;一度に接続されているすべてのプロバイダをログアウトする汎用関数。&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel9&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;getCurrentUrl（）&lt;/td&gt;
    &lt;td class=&quot;excel3&quot; style=&quot;border-top:none;&quot;&gt;Hybrid_Auth :: getCurrentUrl（）&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel10&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel10&quot; style=&quot;border-left:none;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel4&quot;&gt;効用関数は、要求Webページの現在のURLを返す。&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:49.5pt;&quot;&gt;
    &lt;td class=&quot;excel9&quot; style=&quot;height:49.5pt;border-top:none;&quot;&gt;Hybrid_Provider_Adapter &lt;/td&gt;
    &lt;td class=&quot;excel8&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;各認証プロバイダのためにそれのインスタンスを作成&lt;/td&gt;
    &lt;td class=&quot;excel7&quot; width=&quot;455&quot; style=&quot;border-top:none;width:341pt;&quot;&gt;$twitter_adapter    = $hybridauth-&amp;gt;authenticate( &amp;quot;Twitter&amp;quot; );&lt;br /&gt;
      $twitter_user_profile = $twitter_adapter-&amp;gt;getUserProfile();&lt;br /&gt;
      $twitter_adapter-&amp;gt;logout(); &lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel9&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;isUserConnected（）&lt;/td&gt;
    &lt;td class=&quot;excel3&quot; style=&quot;border-top:none;&quot;&gt;Hybrid_Provider_Adapter    ::（isUserConnected）&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel10&quot; style=&quot;border-left:none;&quot;&gt;認証されている場合にtrueを返します&lt;/td&gt;
    &lt;td class=&quot;excel4&quot;&gt;　&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel8&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;getUserProfile（）&lt;/td&gt;
    &lt;td class=&quot;excel6&quot; style=&quot;border-top:none;&quot;&gt;Hybrid_Provider_Adapter :: getUserProfile（）&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel9&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;setUserStatus（）&lt;/td&gt;
    &lt;td class=&quot;excel3&quot; style=&quot;border-top:none;&quot;&gt;Hybrid_Provider_Adapter :: setUserStatus（$ status）&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:33.0pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:33.0pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel12&quot; width=&quot;351&quot; style=&quot;border-left:none;width:263pt;&quot;&gt;ソーシャルネットワーク上の彼のwallへの&lt;br /&gt;
      ユーザー·ステータスまたはポストを更新&lt;/td&gt;
    &lt;td class=&quot;excel4&quot;&gt;ソーシャルサービスに送信するユーザのステータス&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel9&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;getUserContacts（）&lt;/td&gt;
    &lt;td class=&quot;excel3&quot; style=&quot;border-top:none;&quot;&gt;Hybrid_Provider_Adapter ::    getUserContacts（）&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel10&quot; style=&quot;border-left:none;&quot;&gt;接続ユーザーの連絡先リストを提供&lt;/td&gt;
    &lt;td class=&quot;excel4&quot;&gt;　&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel9&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;getUserActivity（）&lt;/td&gt;
    &lt;td class=&quot;excel3&quot; style=&quot;border-top:none;&quot;&gt;Hybrid_Provider_Adapter::getUserContacts(    $stream )&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel10&quot; style=&quot;border-left:none;&quot;&gt;彼の友人のアクティビティストリームを提供&lt;/td&gt;
    &lt;td class=&quot;excel4&quot;&gt;ユーザのアクティビティをロードするため&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel8&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;logout()&lt;/td&gt;
    &lt;td class=&quot;excel6&quot; style=&quot;border-top:none;&quot;&gt;Hybrid_Provider_Adapter::logout()&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel9&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;getAccessToken()&lt;/td&gt;
    &lt;td class=&quot;excel3&quot; style=&quot;border-top:none;&quot;&gt;Hybrid_Provider_Adapter::getAccessToken()&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel11&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel10&quot; style=&quot;border-left:none;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel4&quot;&gt;access.tokenプロバイダがOAuthプロトコルを使用している場合&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr style=&quot;height:16.5pt;&quot;&gt;
    &lt;td class=&quot;excel10&quot; style=&quot;height:16.5pt;&quot;&gt;　&lt;/td&gt;
    &lt;td class=&quot;excel8&quot; style=&quot;border-top:none;border-left:none;&quot;&gt;API（）&lt;/td&gt;
    &lt;td class=&quot;excel6&quot; style=&quot;border-top:none;&quot;&gt;Hybrid_Provider_Adapter::api()&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/4291194090143545220/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/10/cakephp2-hybridauth1.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/4291194090143545220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/4291194090143545220'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/10/cakephp2-hybridauth1.html' title='cakephp2 hybridauth(1)'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-6693733183267229843</id><published>2012-10-25T15:11:00.004+09:00</published><updated>2012-10-25T15:11:46.536+09:00</updated><title type='text'>cakephp2.2.3 hybridautu + tmhOAuth レイアウト twitter用</title><content type='html'>cakephpでtwitterをやるには、hybridauthだけで、OKそうなんですが、&lt;br/&gt;
画像付きの投稿が出来ないので、その部分は、tmhOAthでやります。&lt;br/&gt;
「手順」&lt;br/&gt;
１．ダウンロード、配置&lt;br/&gt;
２．Twitterのアプリを作成&lt;br/&gt;
３．アクションを作成し、実行（試す）&lt;br/&gt;
&lt;br/&gt;
cakephp2.2.3 + Hybridauth + tmhOAth のレイアウトです。&lt;br/&gt;
それぞれをダウンロードして、「だた」下記のように配置（コピー）してください。&lt;br/&gt;
コピーするだけでOKなので、解りやすいですね。&lt;br/&gt;
&lt;br/&gt;
「ダウンロード」&lt;br/&gt;
（１）cakephp2.2.3をダウンロード&lt;br/&gt;
（２）Hybridauthのcakephp用をダウンロード&lt;br/&gt;
（３）tmhOAthの最新版をダウンロード&lt;br/&gt;
「配置」&lt;br/&gt;
（１）cakephpのwebrootにhybridauthをホルダーごとコピー&lt;br/&gt;
（２）cakephpのwebrootにtmhOAthをホルダーごとコピー&lt;br/&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXmb6XH1NenQ6EnxwhhQMsbmWLy20_17fLyyV0mpOzdc7Q1wsd8Y8znsrytJjptSl_ZyyPvxh4RJLVepRee8UN2vQLPSvu1Ppu7uMLbim1nk9WY1VjqSW3J5O1DC3JtAlC0rxKeVWJyOQ/s1600/hybridauth_layout.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear:left; float:left;margin-right:1em; margin-bottom:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;400&quot; width=&quot;179&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXmb6XH1NenQ6EnxwhhQMsbmWLy20_17fLyyV0mpOzdc7Q1wsd8Y8znsrytJjptSl_ZyyPvxh4RJLVepRee8UN2vQLPSvu1Ppu7uMLbim1nk9WY1VjqSW3J5O1DC3JtAlC0rxKeVWJyOQ/s400/hybridauth_layout.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;br style=&quot;clear:both;&quot;&gt;
「ツイッターのdeveloper」にいって、アプリケーション作成し、登録する。&lt;br/&gt;
・ここは、他の解説？を見て下さい&lt;br/&gt;
&lt;br/&gt;
「アクション作成」&lt;br/&gt;
(ポイント）&lt;br/&gt;
・require_onceは、下記の例のままでOK&lt;br/&gt;
・base_urlは、例のままでOK&lt;br/&gt;
・Twitterのkeyとsecretに、作成したアプリケーションのkeyとsecretを書き込む&lt;br/&gt;
・tmhOAth用に、consumer_keyとconsumer_secretのテーブルに作成したアプリのkeyとsecretを書き込む&lt;br/&gt;
・表示するイメージを./img/images/とかに準備しておく&lt;br/&gt;
&lt;br/&gt;
 &lt;link href=&quot;http://alexgorbatchev.com/pub/sh/current/styles/shCore.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;
&lt;link href=&quot;http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;
&lt;script src=&quot;http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
&lt;script src=&quot;http://alexgorbatchev.com/pub/sh/current/scripts/shBrushCss.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
&lt;script src=&quot;http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
&lt;script src=&quot;http://alexgorbatchev.com/pub/sh/current/scripts/shBrushSql.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
&lt;script src=&quot;http://alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;
 SyntaxHighlighter.config.bloggerMode = true;
 SyntaxHighlighter.all();
&lt;/script&gt;


&lt;script class=&quot;brush: php;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
 public function twitter($provider = null) {
  require_once( WWW_ROOT . &#39;hybridauth/Hybrid/Auth.php&#39; );
  require_once( WWW_ROOT . &#39;tmhOAuth/tmhOAuth.php&#39;);

  $config = array(
    &quot;base_url&quot; =&gt; &#39;http://&#39;.$_SERVER[&#39;HTTP_HOST&#39;].$this-&gt;base . &quot;/hybridauth/&quot;, // well watev, set yours

    &quot;providers&quot; =&gt; array (
      &quot;Google&quot; =&gt; array (
        &quot;enabled&quot; =&gt; true,
        &quot;keys&quot;    =&gt; array ( &quot;id&quot; =&gt; &quot;&quot;, &quot;secret&quot; =&gt; &quot;&quot; ),
        &quot;scope&quot;   =&gt; &quot;&quot;
      ),

      &quot;Facebook&quot; =&gt; array (
        &quot;enabled&quot; =&gt; true,
        &quot;keys&quot;    =&gt; array ( &quot;id&quot; =&gt; &quot;*********&quot;, &quot;secret&quot; =&gt; &quot;************&quot; ),
        &quot;scope&quot;   =&gt; null,
      ),

      &quot;Twitter&quot; =&gt; array (
        &quot;enabled&quot; =&gt; true,
        &quot;keys&quot;    =&gt; array ( &quot;key&quot; =&gt; &quot;**********&quot;, &quot;secret&quot; =&gt; &quot;***************&quot; )
      ),
    )
  );

  try{
   $hybridauth = new Hybrid_Auth($config);
   $twitter = $hybridauth-&gt;authenticate(&#39;Twitter&#39;);
   $acToken = $twitter-&gt;getAccessToken();

   $user_profile = $twitter-&gt;getUserProfile();
   $user_timeline = $twitter-&gt;getUserActivity(&#39;timeline&#39;);
   $me_timeline   = $twitter-&gt;getUserActivity(&#39;me&#39;);
   $acToken = $twitter-&gt;getAccessToken();
   $str = &#39;Hi &#39;.date(&#39;Y/m/d H:i&#39;);
   $twitter-&gt;setUserStatus($str);

   $tmhOAuth = new tmhOAuth(array(
     &#39;consumer_key&#39; =&gt; &#39;****************&#39;,
     &#39;consumer_secret&#39; =&gt; &#39;***************&#39;,
     &#39;user_token&#39; =&gt; $acToken[&#39;access_token&#39;],
     &#39;user_secret&#39; =&gt; $acToken[&#39;access_token_secret&#39;],
   ));

    $image = &#39;./img/images/picture.jpg&#39;;
    $code = $tmhOAuth-&gt;request(&#39;POST&#39;, &#39;https://upload.twitter.com/1/statuses/update_with_media.json&#39;,
     array(
       &#39;media[]&#39; =&gt; &quot;@{$image}&quot;,
       &#39;status&#39; =&gt; $status
       ),
       true,
       true
       );

   if ($code == 200) {
    pr(json_decode($tmhOAuth-&gt;response[&#39;response&#39;]));
   } else {
    pr($tmhOAuth-&gt;response[&#39;response&#39;]);
   }
  }

  } catch( Exception $e ){
   // Display the recived error
   switch( $e-&gt;getCode() ){
    case 0 : $error = &quot;Unspecified error.&quot;; break;
    case 1 : $error = &quot;Hybriauth configuration error.&quot;; break;
    case 2 : $error = &quot;Provider not properly configured.&quot;; break;
    case 3 : $error = &quot;Unknown or disabled provider.&quot;; break;
    case 4 : $error = &quot;Missing provider application credentials.&quot;; break;
    case 5 : $error = &quot;Authentification failed. The user has canceled the authentication or the provider refused the connection.&quot;; break;
    case 6 : $error = &quot;User profile request failed. Most likely the user is not connected to the provider and he should to authenticate again.&quot;;
    $twitter-&gt;logout();
    break;
    case 7 : $error = &quot;User not connected to the provider.&quot;;
    $twitter-&gt;logout();
    break;
   }

   // well, basically your should not display this to the end user, just give him a hint and move on..
   $error .= &quot;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Original error message:&lt;/b&gt; &quot; . $e-&gt;getMessage();
   $error .= &quot;&lt;hr /&gt;&lt;pre&gt;Trace:&lt;br /&gt;&quot; . $e-&gt;getTraceAsString() . &quot;&lt;/pre&gt;&quot;;

   $this-&gt;set( &#39;error&#39;,  $error );
  }
 }
]]&gt;
&lt;/script&gt;
&lt;br/&gt;
&lt;br/&gt;

(Hybridauthのcallbackの解説)&lt;br/&gt;
・$twitter = $hybridauth-&gt;authenticate(&#39;Twitter&#39;); とするだけで、&lt;br/&gt;
　webroot/hybridauth/index.phpを実行、認証して、次の行に戻ってきます。&lt;br/&gt;
&lt;br/&gt;
認証済みの場合は、素通りします。&lt;br/&gt;
めちゃ便利ですよね。&lt;br/&gt;




</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/6693733183267229843/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/10/cakephp223-hybridautu-tmhoauth-twitter.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/6693733183267229843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/6693733183267229843'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/10/cakephp223-hybridautu-tmhoauth-twitter.html' title='cakephp2.2.3 hybridautu + tmhOAuth レイアウト twitter用'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjXmb6XH1NenQ6EnxwhhQMsbmWLy20_17fLyyV0mpOzdc7Q1wsd8Y8znsrytJjptSl_ZyyPvxh4RJLVepRee8UN2vQLPSvu1Ppu7uMLbim1nk9WY1VjqSW3J5O1DC3JtAlC0rxKeVWJyOQ/s72-c/hybridauth_layout.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-5896035501801694602</id><published>2012-10-21T08:27:00.003+09:00</published><updated>2012-10-21T08:30:49.072+09:00</updated><title type='text'>cakephp2.3 find conditions and条件、or条件</title><content type='html'>忘れてしまうので、メモ。

&lt;pre&gt;

  $conditions = array(
  &#39;or&#39; =&gt; array(
    &#39;or&#39; =&gt; array(
     array(&quot;Schedule.from BETWEEN ? AND ?&quot; =&gt; array($from, $to)),
     array(&quot;Schedule.to BETWEEN ? AND ?&quot; =&gt; array($from, $to))
     ),
    &#39;and&#39; =&gt; array(
     array(&quot;Schedule.from &gt;=&quot; =&gt; $from),
     array(&quot;Schedule.from &lt;=&quot; =&gt; $to),
     array(&quot;Schedule.to     &gt;=&quot; =&gt; $to)
     ),
    &#39;and&#39; =&gt; array(
     array(&quot;Schedule.from &lt;=&quot; =&gt; $from),
     array(&quot;Schedule.to     &lt;=&quot; =&gt; $to),
     array(&quot;Schedule.to  &gt;=&quot; =&gt; $from)
     ),
    &#39;and&#39; =&gt; array(
     array(&quot;Schedule.from &lt;=&quot; =&gt; $from),
     array(&quot;Schedule.to     &gt;=&quot; =&gt; $to)
     )
    ),
  &#39;and&#39; =&gt; array(
    &#39;SchedulesUser.user_id&#39; =&gt; $user_id
     )
   );

&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/5896035501801694602/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/10/cakephp23-find-conditions-andor.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/5896035501801694602'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/5896035501801694602'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/10/cakephp23-find-conditions-andor.html' title='cakephp2.3 find conditions and条件、or条件'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-2006946147158970829</id><published>2012-10-06T16:20:00.000+09:00</published><updated>2012-10-06T16:20:10.627+09:00</updated><title type='text'>windowsにvirtualboxでMacOSを動かす</title><content type='html'>とりあえず、動いたので、画面を紹介します。

&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_aRSK_M9kKi2qbo-kvpgP1MFsA2N_QCgLUfC6P-MpwH853EAueI6B51KZKYjXhtm40Q5bl4BGsK9TC4vVxCZosa8Lx_8PN8SMZNNtr7ndTpn0MN-jz9K5OhuUPAXvOv-VflgH14JnHiI/s1600/vmmac.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left:1em; margin-right:1em&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;250&quot; width=&quot;400&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_aRSK_M9kKi2qbo-kvpgP1MFsA2N_QCgLUfC6P-MpwH853EAueI6B51KZKYjXhtm40Q5bl4BGsK9TC4vVxCZosa8Lx_8PN8SMZNNtr7ndTpn0MN-jz9K5OhuUPAXvOv-VflgH14JnHiI/s400/vmmac.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;



使い方はまた、後日、メモします。
</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/2006946147158970829/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/10/windowsvirtualboxmacos.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/2006946147158970829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/2006946147158970829'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/10/windowsvirtualboxmacos.html' title='windowsにvirtualboxでMacOSを動かす'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_aRSK_M9kKi2qbo-kvpgP1MFsA2N_QCgLUfC6P-MpwH853EAueI6B51KZKYjXhtm40Q5bl4BGsK9TC4vVxCZosa8Lx_8PN8SMZNNtr7ndTpn0MN-jz9K5OhuUPAXvOv-VflgH14JnHiI/s72-c/vmmac.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-4747259427203756897</id><published>2012-09-28T18:54:00.000+09:00</published><updated>2012-09-28T18:54:47.219+09:00</updated><title type='text'>cakephp2.2  create read save delete</title><content type='html'>&lt;div class=&quot;title&quot;&gt;
(基本）レコード処理　create read save delete
&lt;/div&gt;
cakephp1.3と特に変更はないですね&lt;br/&gt;
&lt;pre&gt;
・（edit）アップデートの場合
（1）idにレコード番号をセットして
（２）create
（３）read　レコード番号$idのフィールド&#39;status&#39;を読んで、・・・なにか処理があって
　　　　　　レコードの全部のフィールドを読むときは、nullをセットする　$this-&gt;Report-&gt;read(null, $id); 
（４）save セーブデータをarrayで渡してあげればOK　return が falseの場合は、エラー処理してください&lt;br/&gt;
・（add)新規レコード作成の場合は、idをセットせずに、saveすればレコードが作成されます&lt;br/&gt;
・（delete）　対象のレコード番号をセットしてdeleteするだけです
&lt;/pre&gt;
&lt;link href=&quot;http://alexgorbatchev.com/pub/sh/current/styles/shCore.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;
&lt;link href=&quot;http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;
&lt;script src=&quot;http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
&lt;script src=&quot;http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;
 SyntaxHighlighter.config.bloggerMode = true;
 SyntaxHighlighter.all();
&lt;/script&gt;

&lt;script class=&quot;brush: php;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
//editの場合
$this-&gt;Report-&gt;id = $id;
$this-&gt;Report-&gt;create();
$status = $this-&gt;Report-&gt;read(&#39;status&#39;, $id);
if($status == 1) $status = 2;
$this-&gt;Report-&gt;save(array(
  &#39;status&#39; =&gt; $status,
  ));

]]&gt;
&lt;/script&gt;

&lt;br /&gt;
&lt;link href=&quot;http://alexgorbatchev.com/pub/sh/current/styles/shCore.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;
&lt;link href=&quot;http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;
&lt;script src=&quot;http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
&lt;script src=&quot;http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;
 SyntaxHighlighter.config.bloggerMode = true;
 SyntaxHighlighter.all();
&lt;/script&gt;

&lt;script class=&quot;brush: php;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
//addの場合
$this-&gt;Report-&gt;create();
$this-&gt;Report-&gt;save(array(
  &#39;status&#39; =&gt; 1,
  &#39;message&#39; =&gt; &#39;メッセージを書きます&#39;,
  ));

]]&gt;
&lt;/script&gt;
&lt;br /&gt;
&lt;link href=&quot;http://alexgorbatchev.com/pub/sh/current/styles/shCore.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;
&lt;link href=&quot;http://alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css&quot; rel=&quot;stylesheet&quot; type=&quot;text/css&quot;&gt;
&lt;script src=&quot;http://alexgorbatchev.com/pub/sh/current/scripts/shCore.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
&lt;script src=&quot;http://alexgorbatchev.com/pub/sh/current/scripts/shBrushPhp.js&quot; type=&quot;text/javascript&quot;&gt;
&lt;/script&gt;
&lt;script language=&quot;javascript&quot; type=&quot;text/javascript&quot;&gt;
 SyntaxHighlighter.config.bloggerMode = true;
 SyntaxHighlighter.all();
&lt;/script&gt;

&lt;script class=&quot;brush: php;&quot; type=&quot;syntaxhighlighter&quot;&gt;
&lt;![CDATA[
//deleteの場合
$this-&gt;Report-&gt;id = $id
$this-&gt;Report-&gt;delete();　　// returnがfalseの場合はエラー処理してください

]]&gt;
&lt;/script&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/4747259427203756897/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp22-create-read-save-delete.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/4747259427203756897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/4747259427203756897'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp22-create-read-save-delete.html' title='cakephp2.2  create read save delete'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-7572497407491224777</id><published>2012-09-18T15:00:00.003+09:00</published><updated>2012-09-18T15:00:32.822+09:00</updated><title type='text'>cakephp2.2 + Twitter Bootstrap PopOver　小さなアイコン付きのPopOverのボタン</title><content type='html'>小さなアイコン付きのPopOverのボタン
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRA_8gQKrr3UAj0nNq6HNmdZiteGGt04nu2arE5nBIGZeG78ycwbuMWQlBtbQrvT_qa_XD82OQmNkORsdd_3yIPBfKv8Oi6Td5xeWlzWRJr0uda12W7sJCOIfjT2i_B3oIUZTZOwj8_Q0/s1600/popover.JPG&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;156&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRA_8gQKrr3UAj0nNq6HNmdZiteGGt04nu2arE5nBIGZeG78ycwbuMWQlBtbQrvT_qa_XD82OQmNkORsdd_3yIPBfKv8Oi6Td5xeWlzWRJr0uda12W7sJCOIfjT2i_B3oIUZTZOwj8_Q0/s320/popover.JPG&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;$dataOriginalTitle = &#39;popoverのタイトル文字列です&#39;;
$dataDisplay = &#39;&lt;i class=&quot;icon-info-sign icon-white&quot;&gt;&lt;/i&gt;&amp;lt;i class=&quot;icon-info-sign icon-white&quot;&amp;gt;&amp;lt;/i&amp;gt; 情報&#39;;
$dataTrigger = &#39;hover&#39;;
$dataContent = &#39;表示するコンテンツの内容です&#39;;

echo $this-&amp;gt;Html-&amp;gt;link($dataDisplay, array(&#39;action&#39;=&amp;gt; &#39;edit&#39;, $id), 
              array(&#39;class&#39; =&amp;gt; &#39;btn btn-primary btn-mini&#39;, 
                      &#39;rel&#39; =&amp;gt; &#39;popover&#39;, 
                      &#39;data-trigger&#39; =&amp;gt;$dataTrigger, 
                      &#39;data-content&#39; =&amp;gt; $dataContent, 
                      &#39;data-original-title&#39; =&amp;gt; $dataOriginalTitle, 
                      &#39;escape&#39; =&amp;gt;false
                       ));

$dataDisplayにアイコンの情報をセットしています。
&#39;escape&#39; =&amp;gt; false　とするのがみそです。

$data-triggerは、hover, toggleとかあります。

本当は、hoverで、popoverを表示して、&lt;/pre&gt;
&lt;pre&gt;ボタンクリックで、～/edit/$idに分岐する機能が欲しかったのですが、

この機能は、改造のお楽しみになりそうです。

&lt;/pre&gt;
</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/7572497407491224777/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp22-twitter-bootstrap.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/7572497407491224777'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/7572497407491224777'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp22-twitter-bootstrap.html' title='cakephp2.2 + Twitter Bootstrap PopOver　小さなアイコン付きのPopOverのボタン'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjRA_8gQKrr3UAj0nNq6HNmdZiteGGt04nu2arE5nBIGZeG78ycwbuMWQlBtbQrvT_qa_XD82OQmNkORsdd_3yIPBfKv8Oi6Td5xeWlzWRJr0uda12W7sJCOIfjT2i_B3oIUZTZOwj8_Q0/s72-c/popover.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-6927050999232644462</id><published>2012-09-09T12:45:00.000+09:00</published><updated>2012-09-09T12:45:12.148+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cakephp"/><category scheme="http://www.blogger.com/atom/ns#" term="スマフォ"/><title type='text'>cakephp2.2 スマフォサイトを作ろう！ cakephp2.2 + jQuery mobile 1.1.1</title><content type='html'>&lt;div class=&quot;title&quot;&gt;
cakephp2.2 スマフォサイトを作ろう！ cakephp2.2 + jQuery mobile 1.1.1&lt;/div&gt;
&lt;br /&gt;
cakephp2.2.2とjQuery mobileをダウンロードして、配置するだけ&lt;br /&gt;
入り口は、とっても簡単なので、やってみよう&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;cakephp2.1のダウンロードと設定
http://cakephp.jp/　下記の画面のDownloadから、ダウンロードする

&lt;/pre&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNKIuxZzLbVtFmGs45CVepXoJx2hRMpN5EcCxYvlhZ9dMAxt1beGBQtqMMiGqab6vBtUzSoSkq3uTpR469iaWmn0FJ_NiMm2XFv5IRBB74sKrRwZEwELAG03ueOAF3JSTTeGPu2mjxssU/s1600/WS000000.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;265&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNKIuxZzLbVtFmGs45CVepXoJx2hRMpN5EcCxYvlhZ9dMAxt1beGBQtqMMiGqab6vBtUzSoSkq3uTpR469iaWmn0FJ_NiMm2XFv5IRBB74sKrRwZEwELAG03ueOAF3JSTTeGPu2mjxssU/s320/WS000000.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;pre&gt;（apache）
・/var/www/　配下に展開して配置。

（windowsのxampp）
・htdocsに配置。


&lt;/pre&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil3-fR_ELLE2q2aZ1zY0UDMDduxcskTqLacI2lHVoKsiCuRjVfcQnsZSNBUxzaH6izQ1YYhbSxt_svZZHvUwWO8YFBKdFZXze4Z5OD3RCcyfN8AbIk0yXrRO6ptWiejxbVYMW36hh-NI0/s1600/WS000000.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;305&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil3-fR_ELLE2q2aZ1zY0UDMDduxcskTqLacI2lHVoKsiCuRjVfcQnsZSNBUxzaH6izQ1YYhbSxt_svZZHvUwWO8YFBKdFZXze4Z5OD3RCcyfN8AbIk0yXrRO6ptWiejxbVYMW36hh-NI0/s320/WS000000.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;pre&gt;&lt;a href=&quot;http://facebookdevnice.blogspot.jp/2012/09/cakephp22-jquery-mobilelayout.html&quot; target=&quot;_blank&quot;&gt;次は、cakephpに　レイアウトファイル、コントローラ、ビューを作成する。は、こちら&lt;/a&gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/6927050999232644462/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp22-cakephp22-jquery-mobile-111.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/6927050999232644462'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/6927050999232644462'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp22-cakephp22-jquery-mobile-111.html' title='cakephp2.2 スマフォサイトを作ろう！ cakephp2.2 + jQuery mobile 1.1.1'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiNKIuxZzLbVtFmGs45CVepXoJx2hRMpN5EcCxYvlhZ9dMAxt1beGBQtqMMiGqab6vBtUzSoSkq3uTpR469iaWmn0FJ_NiMm2XFv5IRBB74sKrRwZEwELAG03ueOAF3JSTTeGPu2mjxssU/s72-c/WS000000.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-6067685250388919250</id><published>2012-09-09T12:12:00.000+09:00</published><updated>2012-09-09T12:13:08.088+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cakephp 個別機能"/><category scheme="http://www.blogger.com/atom/ns#" term="cakephp 初期設定"/><title type='text'>cakephp2.2 jQuery mobile　layout　レイアウトファイル</title><content type='html'>&lt;div class=&quot;title&quot;&gt;
cakephp2.2 + jQuery mobile layout&lt;/div&gt;
例えば、レイアウトファイル名を「mobile.ctp」として　app/View/Layouts/mobile.ctp　に配置する
&lt;br /&gt;
&lt;pre&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;ja&quot;&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;utf-8&quot;&amp;gt;
&amp;lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1&quot;&amp;gt;
&amp;lt;meta name=&quot;description&quot; content=&quot;&quot;&amp;gt;
&amp;lt;meta name=&quot;author&quot; content=&quot;Toshio Nakashima&quot;&amp;gt;
&amp;lt;title&amp;gt;&amp;lt;?php echo $title_for_layout; ?&amp;gt;&amp;lt;/title&amp;gt;
&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;meta(&#39;favicon.ico&#39;, $this-&amp;gt;Html-&amp;gt;url(&#39;/icons/favicon.ico&#39;), array(&#39;type&#39; =&amp;gt; &#39;icon&#39;));  ?&amp;gt;

&amp;lt;link rel=&quot;stylesheet&quot; href=&quot;http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.css&quot; /&amp;gt;
&amp;lt;script src=&quot;http://code.jquery.com/jquery-1.7.1.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;script src=&quot;http://code.jquery.com/mobile/1.1.1/jquery.mobile-1.1.1.min.js&quot;&amp;gt;&amp;lt;/script&amp;gt;
&amp;lt;/head&amp;gt;

&amp;lt;body lang=&quot;ja&quot;&amp;gt;

&amp;lt;?php echo $this-&amp;gt;Session-&amp;gt;flash(); ?&amp;gt;
&amp;lt;?php echo $this-&amp;gt;fetch(&#39;content&#39;);  ?&amp;gt;

&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/pre&gt;
コントローラ&lt;br /&gt;
デモソフトのdemo1とdemo2のコントローラでの記述です。&lt;br /&gt;
（何もありませんが）
&lt;br /&gt;
&lt;pre&gt;controller
  public function demo1($id=null) {
   $this-&amp;gt;layout = &#39;mobile&#39;;
   $this-&amp;gt;set(&#39;title_for_layout&#39;, &#39;モバイルdemo1&#39;);
  }
  public function demo2($id=null) {
   $this-&amp;gt;layout = &#39;mobile&#39;;
   $this-&amp;gt;set(&#39;title_for_layout&#39;, &#39;モバイルdemo2&#39;);
  }

&lt;/pre&gt;
&lt;div class=&quot;subtitle&quot;&gt;
demo1 基本&lt;/div&gt;
&lt;br/&gt;&lt;br/&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivNxUX21fhcg1VC2E8Sqinm-2ThA6p-ii48PPPB6OMtM3zpFzvR5_9TvfY7yLH8jtZMDY6UlpsFoattqhKw7K-NuLy1_7LF1fIWLZ4eMFR8jX4y05mZwPXnkaWKa_1iVpsAG1XenRvrqs/s1600/%E3%83%A2%E3%83%90%E3%82%A4%E3%83%ABdemo1.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivNxUX21fhcg1VC2E8Sqinm-2ThA6p-ii48PPPB6OMtM3zpFzvR5_9TvfY7yLH8jtZMDY6UlpsFoattqhKw7K-NuLy1_7LF1fIWLZ4eMFR8jX4y05mZwPXnkaWKa_1iVpsAG1XenRvrqs/s320/%E3%83%A2%E3%83%90%E3%82%A4%E3%83%ABdemo1.png&quot; width=&quot;205&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
demo1画面 その１&lt;br/&gt;
ソフトの配置等が合っているか、表示してみましょう
&lt;br /&gt;
&lt;pre&gt;&amp;lt;div data-role=&quot;page&quot; id=&quot;home&quot;&amp;gt;
 &amp;lt;div data-role=&quot;header&quot; id=&quot;header&quot;&amp;gt;
  &amp;lt;h1&amp;gt;ソーシャルウェア&amp;lt;/h1&amp;gt;
 &amp;lt;/div&amp;gt;
 &amp;lt;div data-role=&quot;content&quot;&amp;gt;
&amp;lt;!-- ------------------------------------------------------    --&amp;gt;
モバイルのページです。&amp;lt;br/&amp;gt;
PCで作った表をそのまま表示しています&amp;lt;br/&amp;gt;
&amp;lt;br/&amp;gt;
&amp;lt;table class=&quot;gray&quot;&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;
 &amp;lt;th&amp;gt;テーマを選ぶ&amp;lt;/th&amp;gt;
 &amp;lt;th&amp;gt;ヘッダー&amp;lt;/th&amp;gt;
 &amp;lt;th&amp;gt;フッター&amp;lt;/th&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;
 &amp;lt;td&amp;gt;テーマ a,b,c,d,&amp;lt;/td&amp;gt;
 &amp;lt;td&amp;gt;タイトル表示&amp;lt;/td&amp;gt;
 &amp;lt;td&amp;gt;Facebook、Twitte&amp;lt;/td&amp;gt;
&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;

&amp;lt;!-- ------------------------------------------------------    --&amp;gt;
 &amp;lt;/div&amp;gt;&amp;lt;!-- id=content --&amp;gt;
 &amp;lt;div data-role=&quot;footer&quot; id=&quot;footer&quot;&amp;gt;
  &amp;lt;h4&amp;gt;Copyright 2012 SoftwareFactoryTokyo inc.&amp;lt;/h4&amp;gt;
 &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- id=home --&amp;gt;

&lt;/pre&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;subtitle&quot;&gt;
demo2 基本 その２&lt;/div&gt;
&lt;br/&gt;
&lt;br/&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIdt6mlEEGrwMDTzG-7uVXRbMxon53KeRB1NWXGmIpjPhp1YtwEa6yhTRZoFmEKildFcTYJF9YOJ2xY0T7YXXD2r5BqfLYifwOF94NkxfovkBxHiyK8YOVBOkQRjSezzegO1KMeV9wa3E/s1600/%E3%83%A2%E3%83%90%E3%82%A4%E3%83%ABdemo2.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;317&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiIdt6mlEEGrwMDTzG-7uVXRbMxon53KeRB1NWXGmIpjPhp1YtwEa6yhTRZoFmEKildFcTYJF9YOJ2xY0T7YXXD2r5BqfLYifwOF94NkxfovkBxHiyK8YOVBOkQRjSezzegO1KMeV9wa3E/s320/%E3%83%A2%E3%83%90%E3%82%A4%E3%83%ABdemo2.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
demo2画面&lt;br/&gt;
基本的な部品を配置してみましょう&lt;br/&gt;

&lt;br /&gt;
&lt;pre&gt;demo2
&amp;lt;div data-role=&quot;page&quot; id=&quot;home&quot;&amp;gt;
 &amp;lt;div data-role=&quot;header&quot; id=&quot;header&quot; data-theme=&quot;b&quot;&amp;gt;
  &amp;lt;h1&amp;gt;ソーシャルウェア&amp;lt;/h1&amp;gt;
  &amp;lt;a href=&quot;#&quot; data-icon=&quot;home&quot; class=&quot;ui-btn-left&quot;&amp;gt;ホーム&amp;lt;/a&amp;gt;
  &amp;lt;a href=&quot;#&quot; data-icon=&quot;gear&quot; class=&quot;ui-btn-right&quot;&amp;gt;オプション&amp;lt;/a&amp;gt;
 &amp;lt;/div&amp;gt;
 &amp;lt;div data-role=&quot;content&quot;  data-theme=&quot;c&quot;&amp;gt;
&amp;lt;!-- ------------------------------------------------------    --&amp;gt;
&amp;lt;div data-role=&quot;navbar&quot;&amp;gt;
 &amp;lt;ul&amp;gt;
  &amp;lt;li&amp;gt;&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;link(
      __(&#39;Nav-bar デモ１&#39;, true), 
      array(&#39;controller&#39; =&amp;gt;&#39;menus&#39;,&#39;action&#39; =&amp;gt; &#39;demo1&#39;, &#39;&#39;),
      array(&#39;data-transition&#39;=&amp;gt;&#39;&#39;)); ?&amp;gt;
  &amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;link(
      __(&#39;デモ２&#39;, true), 
      array(&#39;controller&#39; =&amp;gt; &#39;menus&#39;,&#39;action&#39; =&amp;gt; &#39;demo2&#39;, &#39;&#39;),
      array(&#39;data-transition&#39; =&amp;gt; &#39;&#39;) ); ?&amp;gt;
  &amp;lt;/li&amp;gt;
  &amp;lt;li&amp;gt;&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;link(
      __(&#39;デモ３&#39;, true), 
      array(&#39;controller&#39; =&amp;gt; &#39;menus&#39;,&#39;action&#39; =&amp;gt; &#39;demo3&#39;, &#39;&#39;),
      array(&#39;data-transition&#39; =&amp;gt; &#39;&#39;) ); ?&amp;gt;&amp;lt;/li&amp;gt;
 &amp;lt;/ul&amp;gt;
&amp;lt;/div&amp;gt;
&amp;lt;br/&amp;gt;
&amp;lt;table class=&quot;blue&quot;&amp;gt;
&amp;lt;tbody&amp;gt;
&amp;lt;tr&amp;gt;&amp;lt;th&amp;gt;テーマの色を選ぶ&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;ヘッダー&amp;lt;/th&amp;gt;&amp;lt;th&amp;gt;フッター&amp;lt;/th&amp;gt;&amp;lt;/tr&amp;gt;
&amp;lt;tr&amp;gt;&amp;lt;td&amp;gt;色、表題、ナビゲーション&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Facebook、Twitte&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;選択画面を作る&amp;lt;/td&amp;gt;&amp;lt;/tr&amp;gt;
&amp;lt;/tbody&amp;gt;
&amp;lt;/table&amp;gt;
&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;
&amp;lt;ul data-role=&quot;listview&quot;&amp;gt;
 &amp;lt;li&amp;gt;&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;link(&#39;リスト表示　デモ１&#39;, array(&#39;action&#39; =&amp;gt; &#39;demo1&#39;)); ?&amp;gt;&amp;lt;/li&amp;gt;
 &amp;lt;li&amp;gt;&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;link(&#39;デモ２&#39;, array(&#39;action&#39; =&amp;gt; &#39;demo1&#39;)); ?&amp;gt;&amp;lt;/li&amp;gt;
 &amp;lt;li&amp;gt;&amp;lt;a href=&quot;#&quot;&amp;gt;イベントリスト&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
 &amp;lt;li&amp;gt;&amp;lt;a href=&quot;#&quot;&amp;gt;チェックインリスト&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;
&amp;lt;br/&amp;gt;

&amp;lt;!-- ------------------------------------------------------    --&amp;gt;
 &amp;lt;/div&amp;gt;&amp;lt;!-- id=content --&amp;gt;
 &amp;lt;div data-role=&quot;footer&quot; id=&quot;footer&quot; data-theme=&quot;b&quot; class=&quot;ui-bar&quot; data-position=&quot;fixed&quot;&amp;gt;
 &amp;lt;a href=&quot;#&quot; data-role=&quot;button&quot; data-icon=&quot;star&quot; data-iconpos=&quot;left&quot;&amp;gt;Twitter&amp;lt;/a&amp;gt;
 &amp;lt;a href=&quot;#&quot; data-icon=&quot;star&quot; data-iconpos=&quot;left&quot;&amp;gt;Facebook&amp;lt;/a&amp;gt;
 &amp;lt;a href=&quot;#&quot; data-icon=&quot;info&quot; data-iconpos=&quot;left&quot;&amp;gt;SoftwareFactoryTokyo inc.&amp;lt;/a&amp;gt;
 &amp;lt;/div&amp;gt;
&amp;lt;/div&amp;gt;&amp;lt;!-- id=home --&amp;gt;

&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/6067685250388919250/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp22-jquery-mobilelayout.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/6067685250388919250'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/6067685250388919250'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp22-jquery-mobilelayout.html' title='cakephp2.2 jQuery mobile　layout　レイアウトファイル'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEivNxUX21fhcg1VC2E8Sqinm-2ThA6p-ii48PPPB6OMtM3zpFzvR5_9TvfY7yLH8jtZMDY6UlpsFoattqhKw7K-NuLy1_7LF1fIWLZ4eMFR8jX4y05mZwPXnkaWKa_1iVpsAG1XenRvrqs/s72-c/%E3%83%A2%E3%83%90%E3%82%A4%E3%83%ABdemo1.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-4596906997534397875</id><published>2012-09-08T20:17:00.001+09:00</published><updated>2012-09-08T20:20:53.210+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cakephp 個別機能"/><title type='text'>cakephp2.2 input datetime time　=&gt; jQuery datetimePicker、timePickerを使う</title><content type='html'>&lt;div class=&quot;title&quot;&gt;
input datetime　と　input time&lt;/div&gt;
&lt;br /&gt;
・本当は、 HTML5基本として&lt;br /&gt;
$this-&amp;gt;Html-&amp;gt;input(&#39;fromTime&#39;, array(&#39;type&#39; =&amp;gt; &#39;datetime&#39;, &#39;value&#39; =&amp;gt; ・・・としたい (^_^;)&lt;br /&gt;
・$year、$month、$day、$second、$minute・・・の変数を準備して処理する→煩雑、バグの元?&lt;br /&gt;
・なんか、表示とか、いろいろ、イマイチ orz&lt;br /&gt;
&lt;br /&gt;
そこで、&lt;br /&gt;
jQueryのdatetimepickerを使おう！&lt;br /&gt;
&lt;a href=&quot;http://trentrichardson.com/examples/timepicker/&quot; target=&quot;_blank&quot;&gt;マニュアル、使い方は、こちら&lt;/a&gt;&lt;br /&gt;
(利点）&lt;br /&gt;
１）希望通りのフォーマットで入力される（はず）&lt;br /&gt;
２）Unixスタイルのフォーマットで統一したい　が、実現できる&lt;br /&gt;
３）date、datetime、timeは、「Unixのdatetime型」で処理が便利（ワンパターンでコーディングできるので）&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://facebookdevnice.blogspot.jp/2012/09/cakephp221-twitter-bootstrap-jquery.html&quot; target=&quot;_blank&quot;&gt;jQueryのcakephp2.2.2への配置は、こちらを参照してください &lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;subtitle&quot;&gt;
input datetime =&amp;gt; jQueryのdatetimePickerを使う&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho4TlcSylYUiTkkeNA7C_Q32F-rJFQcBfO-bTsRoqW4QpAV8HY9uK58n-Qn7NGXC0AWEUQCHxd396wdfzsjzba-O7kv1DEL5wDE7K2geU3RSXo5lVHsVSyqpiYUm1XN5Ep2v026DtM_xA/s1600/datetimepicker.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho4TlcSylYUiTkkeNA7C_Q32F-rJFQcBfO-bTsRoqW4QpAV8HY9uK58n-Qn7NGXC0AWEUQCHxd396wdfzsjzba-O7kv1DEL5wDE7K2geU3RSXo5lVHsVSyqpiYUm1XN5Ep2v026DtM_xA/s320/datetimepicker.png&quot; width=&quot;218&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;pre&gt;datetimepicker　（ビュー内にて）

&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;
$(function() {
$(&#39;#ScheduleFrom&#39;).datetimepicker({
  showAnim: &#39;slideDown&#39;,
  timeFormat: &#39;hh:mm&#39;,
  stepHour: 1,
  stepMinute: 10,
  showSecond: false
  });
 });
&amp;lt;/script&amp;gt;
Form-&amp;gt;input(&#39;from&#39;, array(&#39;type&#39; =&amp;gt; &#39;text&#39;, &#39;label&#39; =&amp;gt; false, &#39;class&#39; =&amp;gt; &#39;span4&#39;)); ?&amp;gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;div class=&quot;subtitle&quot;&gt;
input time  =&amp;gt; jQuery datetimepickerを使う
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwYvjnIBoXCRXkFQnD3o2BzzivPVdQctTc3yJKFpfulK6NeCHrVkbK9wMU9zkTLFTYPlIQ1r7bhRoP6FBV_pMLsgzBioyNhi8HqJHW0w1xnRE81BY6jU7-WEcCkS_Z-NyQjpr51i2Wc04/s1600/timepicker.png&quot; imageanchor=&quot;1&quot; style=&quot;margin-left: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjwYvjnIBoXCRXkFQnD3o2BzzivPVdQctTc3yJKFpfulK6NeCHrVkbK9wMU9zkTLFTYPlIQ1r7bhRoP6FBV_pMLsgzBioyNhi8HqJHW0w1xnRE81BY6jU7-WEcCkS_Z-NyQjpr51i2Wc04/s1600/timepicker.png&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;pre&gt;timepicker　（ビュー内にて）

&amp;lt;script type=&quot;text/javascript&quot;&amp;gt;
$(function() {
$(&#39;#ReportBeginTime&#39;).timepicker({
  timeFormat: &#39;hh:mm&#39;,
  stepHour: 1,
  stepMinute: 10,
  showSecond: false
  });
 });
&amp;lt;/script&amp;gt;
Form-&amp;gt;input(&#39;begin_time&#39;, array(&#39;type&#39; =&amp;gt; &#39;text&#39;, &#39;label&#39; =&amp;gt;false)); ?&amp;gt;
&lt;/pre&gt;
</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/4596906997534397875/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp22-input-datetime-time-jquery.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/4596906997534397875'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/4596906997534397875'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp22-input-datetime-time-jquery.html' title='cakephp2.2 input datetime time　=&gt; jQuery datetimePicker、timePickerを使う'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEho4TlcSylYUiTkkeNA7C_Q32F-rJFQcBfO-bTsRoqW4QpAV8HY9uK58n-Qn7NGXC0AWEUQCHxd396wdfzsjzba-O7kv1DEL5wDE7K2geU3RSXo5lVHsVSyqpiYUm1XN5Ep2v026DtM_xA/s72-c/datetimepicker.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-2310938387599241524</id><published>2012-09-07T05:54:00.001+09:00</published><updated>2012-09-08T11:32:39.896+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cakephp 個別機能"/><title type='text'>cakephp2.2.2 faviconが表示されない？ </title><content type='html'>&lt;div class=&quot;title&quot;&gt;cakephp2.2.2 faviconが表示されない？？&lt;/div&gt;
&lt;p&gt;cakephp2.xのマニュアルは、下記だが、そうすると、URLを間違える？
&lt;/p&gt;
&lt;pre&gt;echo $this-&amp;gt;Html-&amp;gt;meta(&#39;favicon.ico&#39;,&#39;/icons/favicon.ico&#39;,array(&#39;type&#39; =&amp;gt; &#39;icon&#39;));
&lt;/pre&gt;
&lt;br /&gt;
こうしました
&lt;pre&gt;echo $this-&amp;gt;Html-&amp;gt;meta(&#39;favicon.ico&#39;, $this-&amp;gt;Html-&amp;gt;url(&#39;/icons/favicon.ico&#39;), array(&#39;type&#39; =&amp;gt; &#39;icon&#39;));
&lt;/pre&gt;
表示されたよ(^^)♪</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/2310938387599241524/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp222-favicon.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/2310938387599241524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/2310938387599241524'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp222-favicon.html' title='cakephp2.2.2 faviconが表示されない？ '/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-3934724246462468224</id><published>2012-09-05T08:18:00.000+09:00</published><updated>2012-09-08T14:17:11.192+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cakephp"/><category scheme="http://www.blogger.com/atom/ns#" term="cakephp2.2"/><title type='text'>cakephp2.2 Auth認証 と　usersテーブル、その１</title><content type='html'>&lt;div class=&quot;title&quot;&gt;
Auth認証　と　usersテーブル　と　モデル/コントローラ/ビュー&lt;/div&gt;
&lt;br /&gt;
cakephpの認証機能は、とてもわかりやすいので、いいですね。&lt;br /&gt;
usersテーブルは、ログインしたユーザのデータを格納する大切なテーブルですね。 &lt;br /&gt;
&lt;br /&gt;
usersテーブルとM/C/Vを作成しながら、Auth（認証の設定）を進めます。&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://facebookdevnice.blogspot.jp/2012/09/cakephp22-session.html&quot; target=&quot;_blank&quot;&gt;Sessionをdatabaseで管理する設定はこちら&lt;/a&gt;&lt;br /&gt;
（１）cake_sessionsテーブルが作成済みである&lt;br /&gt;
（２）core.phpで、Sessionをdatabaseで行う設定済みである。&lt;br /&gt;
(上記、2つなくても、Authは動きます）&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;title&quot;&gt;
作業手順&lt;/div&gt;
&lt;pre&gt;１）Sessionはデータベースで管理
　　１．core.php　に　databaseで管理する設定をする　
　　２．cake_sessionsテーブルを作成
２）usersテーブルを作成する
　　１．userテーブルを作成
　　２．roleを検討
３）bakeで　UserモデルとUsersコントローラ、ビューを作成する
４）Usersコントローラの修正
５）indexファンクションとindex.ctp(ビュー）の修正
６）editファンクションとedit.ctp（ビュー）の修正
７）addファンクションとadd.ctp（ビュー）の修正
&lt;/pre&gt;
&lt;div class=&quot;title&quot;&gt;
（１）usersテーブルの作成&lt;/div&gt;
&lt;pre&gt;CREATE TABLE IF NOT EXISTS `users` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(128) NOT NULL,
  `password` varchar(255) NOT NULL,
  `role` varchar(20) DEFAULT NULL,
  `status` int(11) DEFAULT &#39;0&#39;,
  `name` varchar(24) DEFAULT NULL,
  `created` datetime DEFAULT NULL,
  `modified` datetime DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
&lt;/pre&gt;
&lt;br /&gt;
&lt;table class=&quot;blue&quot;&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;th&gt;フィールド名&lt;/th&gt;&lt;th&gt;型&lt;/th&gt;&lt;th&gt;説明&lt;/th&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;id&lt;/td&gt;&lt;td&gt;int&lt;/td&gt;&lt;td&gt;必須　Authに必須　auto-increment&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;username&lt;/td&gt;&lt;td&gt;varchar&lt;/td&gt;&lt;td&gt;必須　Authに必須　e-mailアドレス&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;password&lt;/td&gt;&lt;td&gt;varchar&lt;/td&gt;&lt;td&gt;必須　Authに必須&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;role&lt;/td&gt;&lt;td&gt;varchar&lt;/td&gt;&lt;td&gt;(オプション）admin, manager, userの役割で分ける&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;status&lt;/td&gt;&lt;td&gt;int&lt;/td&gt;&lt;td&gt;(オプション）登録ステータス&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;name&lt;/td&gt;&lt;td&gt;varchar&lt;/td&gt;&lt;td&gt;(オプション）氏名は漢字で欲しい&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;created&lt;/td&gt;&lt;td&gt;datetime&lt;/td&gt;&lt;td&gt;(オプション）登録日時&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;modified&lt;/td&gt;&lt;td&gt;datetime&lt;/td&gt;&lt;td&gt;(オプション）変更日時&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;div class=&quot;subtitle&quot;&gt;
（１－１）スキーマファイルを作る。　bakeする（モデル、コントローラ、ビューを焼く）&lt;/div&gt;
&lt;pre&gt;（１）パスを通す
【windowsの場合】
webapp/app/Config/Console　に　移動して

＞set path=%path%;%cd%  (パスを Consoleに通し、bakeコマンドを使えるようにする）

webapp/app/に移動する

（２）スキーマファイルを作る
【windowsの場合】

＞cake schema generate -f　（次のメッセージでは、上書きの（o)を選択し、schemaファイルを作っておく

（３）bakeする

＞cake bake　で、　Model　と　Controller　と　View　を　作ってください。
&lt;/pre&gt;
&lt;br /&gt;
&lt;div class=&quot;subtitle&quot;&gt;
（１－２）認証とセッションは、どこでも使うので、AppControllerに登録しておきます。&lt;/div&gt;
&lt;pre&gt;class AppController extends Controller {
 var $components = array(&#39;Session&#39;,&#39;Auth&#39;);
 var $helpers=array(&#39;Session&#39;);
}
&lt;/pre&gt;
&lt;br /&gt;
&lt;div class=&quot;title&quot;&gt;
（２）Userモデル　bakeしたままで、OKです&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;subtitle&quot;&gt;
（３-1）Usersコントローラ　（上の部分）&lt;/div&gt;
&lt;pre&gt;&amp;lt;?php
App::uses(&#39;AppController&#39;, &#39;Controller&#39;);

class UsersController extends AppController {
    var $layout = &#39;demo&#39;;
    public $uses = array(&#39;User&#39;, &#39;Auth&#39;, &#39;Session&#39;);
    public $components = Array(
            &#39;Session&#39;,
            &#39;Auth&#39; =&amp;gt; Array(
                &#39;loginRedirect&#39; =&amp;gt; Array(&#39;controller&#39;  =&amp;gt; &#39;mypages&#39;, &#39;action&#39; =&amp;gt; &#39;index&#39;),
                &#39;logoutRedirect&#39; =&amp;gt; Array(&#39;controller&#39; =&amp;gt; &#39;users&#39;, &#39;action&#39; =&amp;gt; &#39;login&#39;),
                &#39;loginAction&#39; =&amp;gt; Array(&#39;controller&#39; =&amp;gt; &#39;users&#39;, &#39;action&#39; =&amp;gt; &#39;login&#39;)
 /*             &#39;authenticate&#39; =&amp;gt; Array(&#39;Form&#39; =&amp;gt; Array(&#39;fields&#39; =&amp;gt; Array(&#39;username&#39; =&amp;gt; &#39;email&#39;)))  */
            )
        );


    public function beforeFilter() {

    parent::beforeFilter();
    $this-&amp;gt;Auth-&amp;gt;allow(&#39;login&#39;, &#39;logout&#39;, &#39;signup&#39;, &#39;add&#39;);

    $this-&amp;gt;Auth-&amp;gt;authError = &#39;ログインしてください&#39;;
    $this-&amp;gt;Auth-&amp;gt;loginError = &#39;メールアドレスかパスワードが違います&#39;;
  }&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;&lt;span style=&quot;background-color: #ffe599;&quot;&gt;&lt;b&gt;（解説）&lt;/b&gt;&lt;/span&gt;
$layout　   このコントローラ内のレイアウトを&#39;demo&#39;に設定。違うレイアウトを使う場合は、それそれの
　　　　　  function内で再度、定義すればよい。
$uses　　   利用するモデルを列挙する。
$components  　　 利用するコンポーネントを列挙する

&lt;/pre&gt;
&lt;br /&gt;
&lt;div class=&quot;subtitle&quot;&gt;
(3-2)Usersコントローラ　（login）&lt;/div&gt;
&lt;pre&gt;
 function login() {
 $this-&gt;set(&#39;title_for_layout&#39;,&#39;ログイン&#39;);

        if($this-&gt;request-&gt;is(&#39;post&#39;)) {
            if($this-&gt;Auth-&gt;login()) {
             $loginuser = $this-&gt;Auth-&gt;user();
             $this-&gt;Session-&gt;write(&#39;LoginUser.Id&#39;, $loginuser[&#39;id&#39;]);
             $this-&gt;Session-&gt;write(&#39;LoginUser.UserName&#39;, $loginuser[&#39;username&#39;]);
             $this-&gt;Session-&gt;write(&#39;LoginUser.Name&#39;, $loginuser[&#39;name&#39;]);
             $this-&gt;Session-&gt;write(&#39;LoginUser.Role&#39;, $loginuser[&#39;role&#39;]);
             if ($loginuser[&#39;role&#39;] == &#39;admin&#39;)  {
              $this-&gt;redirect(array(&#39;controller&#39; =&gt; &#39;menus&#39;, &#39;action&#39; =&gt; &#39;index&#39;));
             } else {
              $this-&gt;redirect(array(&#39;controller&#39; =&gt; &#39;favorites&#39;, &#39;action&#39; =&gt; &#39;index&#39;));
                }
            } else {
                $this-&gt;Session-&gt;setFlash(__(&#39;ユーザ名かパスワードが違います&#39;));
            }
        }
    }
&lt;/pre&gt;
&lt;pre&gt;解説
・リクエストが、&#39;post&#39;じゃなかったら、そのまま、抜ける。
・リクエストが、&#39;post&#39;で、logoin認証がOKの時に
&amp;nbsp;&amp;nbsp;&amp;nbsp; Loginユーザのroleが　&#39;admin&#39;だったら、管理のページへリダイレクトして、
&amp;nbsp;&amp;nbsp;&amp;nbsp; Loginユーザのroleが　&#39;その他’だったら、ユーザのページへリダイレクトする。
・リダイレクトの前に、セッションに、Loginユーザの情報を書き込んでおく。
&lt;/pre&gt;
&lt;div class=&quot;subtitle&quot;&gt;
(3-３)Usersコントローラ　（logout）&lt;/div&gt;
&lt;pre&gt; function logout() {
  $this-&gt;Session-&gt;write(&#39;LoginUser.Id&#39;, &#39;&#39;);
  $this-&gt;Session-&gt;write(&#39;LoginUser.UserName&#39;, &#39;&#39;);
  $this-&gt;Session-&gt;write(&#39;LoginUser.Name&#39;, &#39;&#39;);
  $this-&gt;Session-&gt;write(&#39;LoginUser.Role&#39;, &#39;&#39;);
  $this-&gt;redirect($this-&gt;Auth-&gt;logout());
 }
&lt;/pre&gt;
&lt;p&gt;
・セッション情報をクリアして、logoutする
&lt;/p&gt;
&lt;div class=&quot;subtitle&quot;&gt;
(3-４)Usersコントローラ　（index)&lt;/div&gt;
&lt;pre&gt; function index() {
  $this-&gt;set(&#39;title_for_layout&#39;,&#39;ユーザ一覧&#39;);

  $this-&gt;User-&gt;recursive = 0;
  $this-&gt;set(&#39;users&#39;, $this-&gt;paginate());

  $allusers = new User;
  $allusers = $this-&gt;User-&gt;find(&#39;all&#39;,array(
   &#39;conditions&#39; =&gt; array(&#39;role &lt;&gt;&#39; =&gt; &#39;admin&#39;),
   &#39;order&#39; =&gt; array(&#39;User.id&#39; =&gt; &#39;asc&#39;)
   ));
  $this-&gt;set(&#39;allusers&#39;, $allusers);
 }
&lt;/pre&gt;

&lt;p&gt;
・ロール（役割）がadminを表示したくない場合は、上記の$alluserのようなオブジェクトを作る
&lt;/p&gt;
&lt;div class=&quot;subtitle&quot;&gt;
(3-５)Usersコントローラ　（edit）&lt;/div&gt;
&lt;pre&gt; public function edit($id = null) {
  $this-&gt;User-&gt;id = $id;
  if (!$this-&gt;User-&gt;exists()) {
   throw new NotFoundException(__(&#39;Invalid user&#39;));
  }
  if ($this-&gt;request-&gt;is(&#39;post&#39;) || $this-&gt;request-&gt;is(&#39;put&#39;)) {
  $this-&gt;request-&gt;data[&#39;User&#39;][&#39;password&#39;] = AuthComponent::password($this-&gt;request-&gt;data[&#39;User&#39;][&#39;password&#39;]);
   if ($this-&gt;User-&gt;save($this-&gt;request-&gt;data)) {
    $this-&gt;Session-&gt;setFlash(__(&#39;The user has been saved&#39;));
    if($this-&gt;Session-&gt;read(&#39;LoginUser.Role&#39; == &#39;admin&#39;)){
    $this-&gt;redirect(array(&#39;action&#39; =&gt; &#39;edit&#39;));
    } else if ($this-&gt;Session-&gt;read(&#39;LoginUser.Role&#39; == &#39;user&#39;)){
     $this-&gt;redirect(array(&#39;action&#39; =&gt;&#39;view&#39;));
    }
   } else {
    $this-&gt;Session-&gt;setFlash(__(&#39;The user could not be saved. Please, try again.&#39;));
   }
  } else {
   if($this-&gt;Session-&gt;read(&#39;LoginUser.Role&#39;) == &#39;user&#39;){
    $id = $this-&gt;Session-&gt;read(&#39;LoginUser.Id&#39;);
    }
   $this-&gt;request-&gt;data = $this-&gt;User-&gt;read(null, $id);
  }
 }
&lt;/pre&gt;
&lt;p&gt;
・処理をロールがadmi userなどで分けたい場合は、上記のような処理をする&lt;br/&gt;
・自分の仕様に従って書き直してください
&lt;/p&gt;
&lt;div class=&quot;subtitle&quot;&gt;
(3-６)Usersコントローラ　（add）&lt;/div&gt;
&lt;pre&gt; public function add() {
  $this-&gt;set(&#39;title_for_layout&#39;,&#39;ユーザ：新規登録&#39;);

  if ($this-&gt;request-&gt;is(&#39;post&#39;)) {
   $this-&gt;User-&gt;create();
   $this-&gt;request-&gt;data[&#39;User&#39;][&#39;password&#39;] = AuthComponent::password($this-&gt;request-&gt;data[&#39;User&#39;][&#39;password&#39;]);
   if ($this-&gt;User-&gt;save($this-&gt;request-&gt;data)) {
    $this-&gt;Session-&gt;setFlash(__(&#39;次：ユーザ情報の登録・ログインしてください&#39;));
    $this-&gt;redirect(array(&#39;controller&#39; =&gt; &#39;users&#39;, &#39;action&#39; =&gt; &#39;add&#39;));
   } else {
    $this-&gt;Session-&gt;setFlash(__(&#39;The user could not be saved. Please, try again.&#39;));
   }
  }

  $this-&gt;User-&gt;recursive = 0;
  $this-&gt;set(&#39;users&#39;, $this-&gt;paginate());

  $allusers = new User;
  $allusers = $this-&gt;User-&gt;find(&#39;all&#39;,array(
   &#39;conditions&#39; =&gt; array(&#39;role &lt;&gt;&#39; =&gt; &#39;admin&#39;),
   &#39;order&#39; =&gt; array(&#39;User.id&#39; =&gt; &#39;asc&#39;)
   ));
  $this-&gt;set(&#39;allusers&#39;, $allusers);
 }
&lt;/pre&gt;
&lt;p&gt;
・パスワードの暗号化：$this-&gt;request-&gt;data[&#39;User&#39;][&#39;password&#39;] = AuthComponent::password($this-&gt;request-&gt;data[&#39;User&#39;][&#39;password&#39;]);　の部分が大事&lt;br/&gt;
・ユーザ新規登録は、「signUpファンクションを作る」など、自己のプログラムの仕様に従って、書き直してください。
&lt;/p&gt;
&lt;div class=&quot;subtitle&quot;&gt;
(3-７)Usersコントローラ　（view）&lt;/div&gt;
&lt;pre&gt; public function view($id = null) {

  $this-&amp;gt;User-&amp;gt;id = $id;
  if (!$this-&amp;gt;User-&amp;gt;exists()) {
   throw new NotFoundException(__(&#39;Invalid user&#39;));
  }
  $this-&amp;gt;set(&#39;user&#39;, $this-&amp;gt;User-&amp;gt;read(null, $id));
 }
&lt;/pre&gt;
&lt;p&gt;
・ロールがuserの人は、自分のアカウントしか見られない、など、自己の仕様に従って、書き直してください。
&lt;/p&gt;
&lt;div class=&quot;subtitle&quot;&gt;
(3-8)Usersコントローラ　（delete）&lt;/div&gt;
&lt;pre&gt; public function delete($id = null) {
  if (!$this-&amp;gt;request-&amp;gt;is(&#39;post&#39;)) {
   throw new MethodNotAllowedException();
  }
  $this-&amp;gt;User-&amp;gt;id = $id;
  if (!$this-&amp;gt;User-&amp;gt;exists()) {
   throw new NotFoundException(__(&#39;Invalid user&#39;));
  }
  if ($this-&amp;gt;User-&amp;gt;delete()) {
   $this-&amp;gt;Session-&amp;gt;setFlash(__(&#39;User deleted&#39;));
   $this-&amp;gt;redirect(array(&#39;action&#39; =&amp;gt; &#39;index&#39;));
  }
  $this-&amp;gt;Session-&amp;gt;setFlash(__(&#39;User was not deleted&#39;));
  $this-&amp;gt;redirect(array(&#39;action&#39; =&amp;gt; &#39;index&#39;));
 }
&lt;/pre&gt;
&lt;p&gt;
・ロールがuserの人は、消去できるのは、自分のアカウントだけとか、消去できない、など、自己の仕様により、書き直してください。
&lt;/p&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/3934724246462468224/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp22-auth-users.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/3934724246462468224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/3934724246462468224'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp22-auth-users.html' title='cakephp2.2 Auth認証 と　usersテーブル、その１'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-7695190612624813365</id><published>2012-09-05T07:38:00.002+09:00</published><updated>2012-09-07T09:44:19.115+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cakephp 個別機能"/><title type='text'>cakephp2.2 $this-&gt;Form-&gt;create submit end</title><content type='html'>&lt;span style=&quot;color: #990000;&quot;&gt;&lt;b&gt;■フォームを始める（基本形）&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;pre&gt;$this-&amp;gt;Form-&amp;gt;create(&#39;モデル名&#39;);
&lt;/pre&gt;
&lt;span style=&quot;color: #e06666;&quot;&gt;&lt;br /&gt;&lt;/span&gt;
&lt;span style=&quot;color: #990000;&quot;&gt;&lt;b&gt;■フォームを始める（詳細）&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;
&lt;pre&gt;&amp;lt;?php
echo $this-&amp;gt;Form-&amp;gt;create(&#39;モデル名&#39;, array(
                   &#39;type&#39; =&amp;gt; &#39;post&#39;, 
　　　　　　　　　　&#39;controller&#39; =&amp;gt; &#39;コントローラ名&#39;,
                    &#39;action&#39; =&amp;gt; &#39;アクション名&#39;
                     )
                   ); 
?&amp;gt;
&lt;/pre&gt;
&lt;pre class=&quot;brush: php; gutter: true&quot;&gt;&lt;span style=&quot;color: #990000;&quot;&gt;&lt;b&gt;■submitする&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&amp;lt;?php echo $this-&amp;gt;Form-&amp;gt;submit(&#39;表示文字列&#39;, array()); ?&amp;gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: #0b5394;&quot;&gt;■submitする（Twitter Bootstrap利用の場合)
&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;pre&gt;&amp;lt;?php echo $this-&amp;gt;Form-&amp;gt;input(&#39;更新&#39;, array(&#39;type&#39; =&amp;gt; &#39;submit&#39;, &#39;class&#39; =&amp;gt; &#39;btn btn-primary&#39;)); ?&amp;gt;&lt;/pre&gt;
のはずですが、2.2.2の場合は、submit文の場合はボタンが欠ける場合があるので、&lt;br /&gt;
&amp;nbsp;$this-&amp;gt;Form-&amp;gt;buttonを使って、typeにsubmitを指定すると良いようです。&lt;br /&gt;
（そのうち、修正されると思います。？）&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;&amp;lt;?php echo $this-&amp;gt;Form-&amp;gt;button(&#39;更新&#39;, array(&#39;type&#39; =&amp;gt; &#39;submit&#39;, &#39;class&#39; =&amp;gt; &#39;btn btn-primary&#39;)); ?&amp;gt;
&amp;lt;?php echo $this-&amp;gt;Form-&amp;gt;end(); ?&amp;gt;  // Formを閉じる
&lt;/pre&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: #990000;&quot;&gt;■フォームを閉じる
&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;pre&gt;&amp;lt;?php echo $this-&amp;gt;Form-&amp;gt;end();　?&amp;gt;&lt;/pre&gt;
</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/7695190612624813365/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp22-this-form-create-submit-end.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/7695190612624813365'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/7695190612624813365'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp22-this-form-create-submit-end.html' title='cakephp2.2 $this-&gt;Form-&gt;create submit end'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-6177329296364018635</id><published>2012-09-05T07:22:00.003+09:00</published><updated>2012-09-05T07:22:39.935+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cakephp 個別機能"/><title type='text'>cakephp2.2 Sessionの設定 データベースで管理する</title><content type='html'>&lt;h4&gt;
このページの内容&lt;/h4&gt;
&lt;ul style=&quot;list-style: none;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;color: #990000;&quot;&gt;（１）app/Config/core.phpにて、Sessionをdatabaseで管理する設定&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;（２）databaseにcake_sessionsテーブルを作る&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;color: #e06666;&quot;&gt;（３）Session　read/writeの使い方&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: #990000;&quot;&gt;（１）app/Config/core.phpにて、Sessionをdatabaseで管理する設定&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;color: #990000;&quot;&gt;□app/Config/core.phpのSessionに関する説明を読む&lt;/span&gt;&lt;br /&gt;
&lt;pre class=&quot;syntax-highlight&quot; style=&quot;background-color: #ffff; border: 1px solid rgb(223, 225, 227); color: #555555; font-size: 12px; overflow-x: auto; overflow-y: hidden; padding: 0.5em 0.8em; text-align: left;&quot;&gt; * The built in defaults are:
 *
 * - &#39;php&#39; - Uses settings defined in your php.ini.
 * - &#39;cake&#39; - Saves session files in CakePHP&#39;s /tmp directory.
 * - &#39;database&#39; - Uses CakePHP&#39;s database sessions.
 * - &#39;cache&#39; - Use the Cache class to save sessions.
&lt;/pre&gt;
160行目あたりに上記の記述があります。&lt;br /&gt;
&lt;br /&gt;
↓defaults =&amp;gt; &#39;php&#39;の部分を&lt;b&gt;&lt;span style=&quot;color: #990000;&quot;&gt;&#39;database&#39;に変更&lt;/span&gt;&lt;/b&gt;すれば良いようです&lt;br /&gt;
&lt;pre class=&quot;syntax-highlight&quot; style=&quot;background-color: #ffff; border: 1px solid rgb(223, 225, 227); color: #555555; font-size: 12px; overflow-x: auto; overflow-y: hidden; padding: 0.5em 0.8em; text-align: left;&quot;&gt; Configure::write(&#39;Session&#39;, array(
  &#39;defaults&#39; =&amp;gt; &#39;php&#39;,
 ));
&lt;/pre&gt;
&lt;br /&gt;
&#39;cookie&#39;と&#39;timeout&#39;の設定を追加しておきます。&lt;br /&gt;
↓下記は、24*60*60*7=1週間としました。&lt;br /&gt;
&lt;pre class=&quot;syntax-highlight&quot; style=&quot;background-color: #ffff; border: 1px solid rgb(223, 225, 227); color: #555555; font-size: 12px; overflow-x: auto; overflow-y: hidden; padding: 0.5em 0.8em; text-align: left;&quot;&gt; Configure::write(&#39;Session&#39;, array(
  &#39;defaults&#39; =&amp;gt; &#39;database&#39;,
  &#39;cookie&#39; =&amp;gt; &#39;SID&#39;,
  &#39;timeout&#39; =&amp;gt; 24*60*60*7,
 ));
&lt;/pre&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: #38761d;&quot;&gt;（２）databaseにcake_sessionsテーブルを作る&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;color: #38761d;&quot;&gt;&amp;nbsp;&lt;/span&gt;□app/Config/Schema/sessions.sql　を読む&lt;br /&gt;
&lt;pre class=&quot;syntax-highlight&quot; style=&quot;background-color: #ffff; border: 1px solid rgb(223, 225, 227); color: #555555; font-size: 12px; overflow-x: auto; overflow-y: hidden; padding: 0.5em 0.8em; text-align: left;&quot;&gt;CREATE TABLE cake_sessions (
  id varchar(255) NOT NULL default &#39;&#39;,
  data text,
  expires int(11) default NULL,
  PRIMARY KEY  (id)
);
&lt;/pre&gt;
上記のSQLを実行して、利用中のデータベースに　cake_sessionsテーブル作成して完了です。&lt;br /&gt;
&lt;br /&gt;
&lt;b&gt;&lt;span style=&quot;color: #e06666;&quot;&gt;（３）Session　read/writeの使い方&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;
&lt;br /&gt;・セッション・オブジェクトへのの書き込み&lt;br /&gt;
&lt;pre class=&quot;syntax-highlight&quot; style=&quot;background-color: #ffff; border: 1px solid rgb(223, 225, 227); color: #555555; font-size: 12px; overflow-x: auto; overflow-y: hidden; padding: 0.5em 0.8em; text-align: left;&quot;&gt;$this-&amp;gt;Session-&amp;gt;write(&#39;LoginUser.Id&#39;, $uid);
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;・セッション・オブジェクトの読み出し
&lt;br /&gt;
&lt;pre class=&quot;syntax-highlight&quot; style=&quot;background-color: #ffff; border: 1px solid rgb(223, 225, 227); color: #555555; font-size: 12px; overflow-x: auto; overflow-y: hidden; padding: 0.5em 0.8em; text-align: left;&quot;&gt;$this-&amp;gt;Session-&amp;gt;read(&#39;LoginUser.Id&#39;);
&lt;/pre&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/6177329296364018635/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp22-session.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/6177329296364018635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/6177329296364018635'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp22-session.html' title='cakephp2.2 Sessionの設定 データベースで管理する'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-7077778620151282182</id><published>2012-09-04T19:18:00.000+09:00</published><updated>2012-09-09T05:13:06.644+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cakephp 開発環境"/><title type='text'>cakephp2.2　サーバに配置、gitで管理</title><content type='html'>○ソーシャルアプリ開発の準備段階&lt;br /&gt;
&lt;br /&gt;
（＊）バージョン管理は、git。&lt;br /&gt;
　　　ローカルでもサーバでも編集できる設定にするね。&lt;br /&gt;
&lt;br /&gt;
■ローカルPCでソフトを集めて、サーバに配置して、gitするまでの流れ&lt;br /&gt;
&lt;br /&gt;
１）ローカルPCに必要なソフトをダウンロードして、ローカルPCで動作を確認する&lt;br /&gt;
２）動作したcakephpをフォルダごと、ZIPして、目的のサーバにFTPする&lt;br /&gt;
３）サーバで、unzip（展開）して、必要な設定をする。サーバにアクセスして動作確認&lt;br /&gt;
４）ローカルPCにサーバのリポジトリのコピーを取る。ローカルPCでの設定をする。&lt;br /&gt;
&lt;br /&gt;
□以下の（１）～（５）をダウンロードして、（２）～（５）は、cakephp2.2.2のwebrootに配置する。&lt;br /&gt;
&lt;br /&gt;
（１）&lt;a href=&quot;http://cakephp.org/&quot; target=&quot;_blank&quot;&gt;cakephp 2.2.2&lt;/a&gt;&lt;br /&gt;
（２）&lt;a href=&quot;http://twitter.github.com/bootstrap/&quot; target=&quot;_blank&quot;&gt;twitter bootstrap2.1.0&lt;/a&gt;&lt;br /&gt;
（３）&lt;a href=&quot;http://jquery.com/&quot; target=&quot;_blank&quot;&gt;jQuery&lt;/a&gt;&lt;br /&gt;
（４）&lt;a href=&quot;http://jqueryui.com/&quot; target=&quot;_blank&quot;&gt;jQuery UI&lt;/a&gt;&lt;br /&gt;
（５）&lt;a href=&quot;http://jquerymobile.com/&quot; target=&quot;_blank&quot;&gt;jQuery mobile&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
配置は、&lt;a href=&quot;http://facebookdevnice.blogspot.jp/2012/09/cakephp221-twitter-bootstrap-jquery.html&quot; target=&quot;_blank&quot;&gt;レイアウトファイルの例&lt;/a&gt;を見て参考にしてください。&lt;br /&gt;
&lt;br /&gt;
git-GUIの使い方は、&lt;br /&gt;
&lt;h3 class=&quot;post-title entry-title&quot; itemprop=&quot;name&quot;&gt;
&lt;a href=&quot;http://facebookdevnice.blogspot.jp/2012/06/git-gui-git.html&quot; target=&quot;_blank&quot;&gt;【git-GUI 基礎編 gitを使いまくる】&lt;/a&gt;&lt;/h3&gt;
&lt;br /&gt;
を参考にしてください。&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/7077778620151282182/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp222git.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/7077778620151282182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/7077778620151282182'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp222git.html' title='cakephp2.2　サーバに配置、gitで管理'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-852550405143583701</id><published>2012-09-04T09:06:00.003+09:00</published><updated>2012-09-06T07:03:00.361+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cakephp 個別機能"/><title type='text'>cakephp2.2 find</title><content type='html'>○新しいアプリは新しい道具で作る&lt;br /&gt;
&lt;br /&gt;
cakephpはfindを直感的に書けて、いいですね(*^_^*)&lt;br /&gt;&lt;br /&gt;
&lt;div class=&quot;titleL&quot;&gt;
メニュー&lt;/div&gt;
&lt;pre&gt;・（基本形）findのパラメータの書き方
・（応用例）Menusコントローラの中で、Favoriteモデルのオブジェクトを読み込んでViewに渡す
・（応用例）conditions　&#39;or&#39;　条件
&lt;/pre&gt;
&lt;br /&gt;
&lt;span style=&quot;color: #e06666;&quot;&gt;■ (基本形）findのパラメータの書き方&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
　$this-&amp;gt;モデル名-&amp;gt;find(&#39;all/list/count/&#39;, $parameter); &lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;http://book.cakephp.org/2.0/en/models/retrieving-your-data.html&quot; target=&quot;_blank&quot;&gt;cakephp2.xマニュアルのfindはこちら&lt;/a&gt;&lt;br /&gt;
&lt;pre&gt; array(&#39;Model.field&#39; =&amp;gt; $thisValue), //array of conditions
    &#39;recursive&#39; =&amp;gt; 1, //int
    &#39;fields&#39; =&amp;gt; array(&#39;Model.field1&#39;, &#39;DISTINCT Model.field2&#39;), //array of field names
    &#39;order&#39; =&amp;gt; array(&#39;Model.created&#39;, &#39;Model.field3 DESC&#39;), //string or array defining order
    &#39;group&#39; =&amp;gt; array(&#39;Model.field&#39;), //fields to GROUP BY
    &#39;limit&#39; =&amp;gt; n, //int
    &#39;page&#39; =&amp;gt; n, //int
    &#39;offset&#39; =&amp;gt; n, //int
    &#39;callbacks&#39; =&amp;gt; true //other possible values are false, &#39;before&#39;, &#39;after&#39;
)
&lt;/pre&gt;
&lt;pre&gt;recursive：アソシエーションの深さ。－１：自分だけ、０：自分と次まで、１：その次まで（ざっくり）
fields：取得するフィールドの指定。　おお！　DISTINCTは、ここに書けばいいんだ！！！
order：arrayで並べて書けばいい。OR条件の場合は、下の記述を参照。
group：group byは、ここに書きます。
limit：paginateで表示するデータ数です。
&lt;/pre&gt;
&lt;br /&gt;
&lt;div class=&quot;titleM&quot;&gt;
（応用例）Menusコントローラの中で、Favoriteモデルのオブジェクトを読み込んでViewに渡す&lt;/div&gt;
&lt;br /&gt;
（１）【準備】Menusコントローラの上部で、$usesに&#39;Favarite’モデルを使う設定&lt;br /&gt;
&lt;pre&gt;class MenusController extends AppController {
 var $uses = array(&#39;Menu&#39;,&#39;Favorite&#39;,　・・・・); 

　↑　$usesに&#39;Favarite&#39;モデルを追加
&lt;/pre&gt;
&lt;br /&gt;
（２）【実行】コントローラのfunctionの中でfindする&lt;br /&gt;
１）App::importでFavoriteモデルをimportして&lt;br /&gt;
２）$favaritesオブジェクトをnewして準備しておきます&lt;br /&gt;
３）findで$favaritesに読み込み、このオブジェクトをsetしてViewに渡します&lt;br /&gt;
&lt;pre&gt;(実行したいfunctionの中で）

App::import(&#39;Model&#39;, &#39;Favorite&#39;);
$favorites = new Favorite;

$parameter = array(
          &#39;conditions&#39; =&amp;gt; array(&#39;Favorite.valid &amp;lt;&amp;gt;&#39; =&amp;gt; 1, &#39;Favorite.show &amp;lt;&amp;gt;&#39; =&amp;gt;0 ),
               &#39;limit&#39; =&amp;gt; 10,
               &#39;order&#39; =&amp;gt; array(&#39;modified&#39; =&amp;gt; &#39;desc&#39;),
               );
$favorites = $this-&amp;gt;Favorite-&amp;gt;find(&#39;all&#39;, $parameter);
$this-&amp;gt;set(&#39;favorites&#39;,$favorites);
&lt;/pre&gt;
&lt;br /&gt;
&lt;div class=&quot;titleM&quot;&gt;
conditionsで&#39;or&#39;　条件を使う&lt;/div&gt;
・&#39;conditions&#39;を &#39;or&#39;のarrayで並べればOKです。&lt;br /&gt;
&lt;br /&gt;
（例）ログインユーザで(and条件）、&lt;br /&gt;
　　　favarite（好きなもの）が　&#39;りんご&#39;　か(or条件)　&#39;みかん&#39;　のデータを抽出&lt;br /&gt;
&lt;pre&gt;(実行したいfunctionの中で）

App::import(&#39;Model&#39;, &#39;Favorite&#39;);
$favorites = new Favorite;

$parameter = array(
            &#39;conditions&#39; =&amp;gt; array(&#39;Favorite.user_id&#39; =&amp;gt; $uid, 
                                      &#39;OR&#39; =&amp;gt; array(&#39;Favorite.caption&#39; =&amp;gt; &#39;リンゴ&#39;),
                                              array(&#39;Favarite.captiion&#39; =&amp;gt; &#39;みかん&#39;)
                                ),
               &#39;limit&#39; =&amp;gt; 10,
               &#39;order&#39; =&amp;gt; array(&#39;modified&#39; =&amp;gt; &#39;desc&#39;),
               );
$favorites = $this-&amp;gt;Favorite-&amp;gt;find(&#39;all&#39;, $parameter);
$this-&amp;gt;set(&#39;favorites&#39;,$favorites);
&lt;/pre&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/852550405143583701/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp22-find.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/852550405143583701'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/852550405143583701'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp22-find.html' title='cakephp2.2 find'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-3284266216177277556</id><published>2012-09-04T08:27:00.000+09:00</published><updated>2012-09-26T19:01:54.450+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cakephp 個別機能"/><title type='text'>cakephp2.2 paginateの設定例</title><content type='html'>paginateの設定例&lt;br /&gt;
&lt;br /&gt;
findと同様に、$paginateと$conditionsに設定します。&lt;br /&gt;
&lt;pre class=&quot;syntax-highlight&quot; style=&quot;border: 3px solid rgb(223, 225, 227); font-size: 12px; overflow-x: auto; overflow-y: hidden; padding: 0.5em 0.8em; text-align: left;&quot;&gt;&lt;span style=&quot;background-color: white;&quot;&gt;（コントローラのfunctionで）

var $paginate = array(
       &#39;limit&#39; =&amp;gt; 10,
       &#39;order&#39; =&amp;gt; array(
          &#39;Menu.modified&#39; =&amp;gt; &#39;desc&#39;
          ),
      );

$conditions = array(&#39;Menu.user_id&#39; =&amp;gt; $id);

$this-&amp;gt;set(&#39;menus&#39;, $this-&amp;gt;paginate(&#39;Menu&#39;, $conditions));
&lt;/span&gt;
&lt;/pre&gt;
&lt;br/&gt;
マニュアルより
&lt;br/&gt;
&lt;pre&gt;
public function paginate(
        $conditions, $fields, $order, $limit, $page = 1, $recursive = null, $extra = array()) {
    $recursive = -1;
    $group = $fields = array(&#39;weekly&#39;, &#39;category_id&#39;, &#39;start_time&#39;);
    return $this-&gt;find(&#39;all&#39;, 
        compact(&#39;conditions&#39;, &#39;fields&#39;, &#39;order&#39;, &#39;limit&#39;, &#39;page&#39;, &#39;recursive&#39;, &#39;group&#39;));
}
&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/3284266216177277556/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp22-paginate.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/3284266216177277556'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/3284266216177277556'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp22-paginate.html' title='cakephp2.2 paginateの設定例'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-2787726334698779579</id><published>2012-09-02T19:02:00.003+09:00</published><updated>2012-09-04T09:58:23.661+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cakephp 個別機能"/><title type='text'>CakePHP2.2 + Twitter Bootstrap2.1　ビューの書き方</title><content type='html'>&lt;br /&gt;
ビューファイルの書き方&lt;br /&gt;
&lt;br /&gt;
【基本パターン】&lt;br /&gt;
&lt;br /&gt;
&lt;pre class=&quot;syntax-highlight&quot; style=&quot;border: 1px solid rgb(223, 225, 227); font-size: 12px; overflow-x: auto; overflow-y: hidden; padding: 0.5em 0.8em; text-align: left;&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;
&amp;lt;div class=&quot;span12&quot;&amp;gt;
// span12の幅　で　この中に　ごにょ、ごにょ書いてゆけばよい


&amp;lt;/div&amp;gt;&amp;lt;!-- span12 --&amp;gt;
&lt;/span&gt;
&lt;/pre&gt;
・どんな風に見えるか、デモページを用意します。

　comming soon !!  maybe?


</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/2787726334698779579/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp221-twitter-bootstrap21.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/2787726334698779579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/2787726334698779579'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp221-twitter-bootstrap21.html' title='CakePHP2.2 + Twitter Bootstrap2.1　ビューの書き方'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-89703189160779171</id><published>2012-09-02T18:48:00.000+09:00</published><updated>2012-09-04T09:59:02.191+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cakephp 開発環境"/><title type='text'>レイアウトファイル cakephp2.2 + twitter bootstrap2.1 + jQuery1.7.2 + jQuery UI 1.8.21</title><content type='html'>■HTML5 + cakephp2.2.1 ＋ twitter bootstrap2.1 と　jQuery1.7.2　と　jQueryUI 1.8.21&lt;br /&gt;
&lt;br /&gt;
例えば、以下のレイアウトファイルを app/Vie/Layouts/　に配置すれば、&lt;br /&gt;
Twitter Bootstrap　と　jQuery　を　自由に使えます。&lt;br /&gt;
&lt;br /&gt;
レイアウトファイル　　app/View/Layouts/home.ctp (ファイル名はお好きに）&lt;br /&gt;
&lt;pre class=&quot;syntax-highlight&quot; style=&quot;border: 1px solid rgb(223, 225, 227); font-size: 12px; overflow-x: auto; overflow-y: hidden; padding: 0.5em 0.8em; text-align: left;&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;&amp;lt;!DOCTYPE html&amp;gt;
&amp;lt;html lang=&quot;ja&quot;&amp;gt;
&amp;lt;head&amp;gt;
&amp;lt;meta charset=&quot;utf-8&quot;&amp;gt;
&amp;lt;meta name=&quot;viewport&quot; content=&quot;width=device-width, initial-scale=1.0&quot;&amp;gt;
&amp;lt;meta name=&quot;description&quot; content=&quot;&quot;&amp;gt;
&amp;lt;meta name=&quot;author&quot; content=&quot;Toshio Nakashima&quot;&amp;gt;
&amp;lt;title&amp;gt;&amp;lt;?php echo $title_for_layout; ?&amp;gt;&amp;lt;/title&amp;gt;
&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;&amp;lt;?php  echo $this-&amp;gt;Html-&amp;gt;css(&#39;/css/bootstrap/bootstrap&#39;);  ?&amp;gt;&lt;/span&gt;&lt;span style=&quot;color: #555555;&quot;&gt;
&amp;lt;?php  echo $this-&amp;gt;Html-&amp;gt;css(&#39;/css/bootstrap/bootstrap-responsive&#39;);  ?&amp;gt;
&amp;lt;?php  echo $this-&amp;gt;Html-&amp;gt;css(&#39;/css/bootstrap/docs&#39;);  ?&amp;gt;
&amp;lt;?php  echo $this-&amp;gt;Html-&amp;gt;css(&#39;/css/bootstrap/prettify&#39;);  ?&amp;gt;
&amp;lt;?php  echo $this-&amp;gt;Html-&amp;gt;css(&#39;/css/bootstrap/ticker&#39;);   ?&amp;gt;
&amp;lt;?php  echo $this-&amp;gt;Html-&amp;gt;css(&#39;/css/bootstrap/jquery.multiselect&#39;); ?&amp;gt;
&amp;lt;?php  echo $this-&amp;gt;Html-&amp;gt;css(&#39;/css/bootstrap/jquery.multiselect.filter&#39;); ?&amp;gt;

&amp;lt;?php  echo $this-&amp;gt;Html-&amp;gt;css(&#39;/css/themes/base/jquery.ui.base&#39;); ?&amp;gt;
&amp;lt;?php  echo $this-&amp;gt;Html-&amp;gt;css(&#39;/css/themes/base/jquery.ui.theme&#39;); ?&amp;gt;
&amp;lt;?php  echo $this-&amp;gt;Html-&amp;gt;css(&#39;/css/themes/base/jquery.ui.core&#39;); ?&amp;gt;
&amp;lt;?php  echo $this-&amp;gt;Html-&amp;gt;css(&#39;/css/themes/base/jquery.ui.resizable&#39;); ?&amp;gt;
&amp;lt;?php  echo $this-&amp;gt;Html-&amp;gt;css(&#39;/css/themes/base/jquery.ui.selectable&#39;); ?&amp;gt;
&amp;lt;?php  echo $this-&amp;gt;Html-&amp;gt;css(&#39;/css/themes/base/jquery.ui.accordion&#39;); ?&amp;gt;
&amp;lt;?php  echo $this-&amp;gt;Html-&amp;gt;css(&#39;/css/themes/base/jquery.ui.autocomplete&#39;); ?&amp;gt;
&amp;lt;?php  echo $this-&amp;gt;Html-&amp;gt;css(&#39;/css/themes/base/jquery.ui.button&#39;); ?&amp;gt;
&amp;lt;?php  echo $this-&amp;gt;Html-&amp;gt;css(&#39;/css/themes/base/jquery.ui.dialog&#39;); ?&amp;gt;
&amp;lt;?php  echo $this-&amp;gt;Html-&amp;gt;css(&#39;/css/themes/base/jquery.ui.slider&#39;); ?&amp;gt;
&amp;lt;?php  echo $this-&amp;gt;Html-&amp;gt;css(&#39;/css/themes/base/jquery.ui.tabs&#39;); ?&amp;gt;
&amp;lt;?php  echo $this-&amp;gt;Html-&amp;gt;css(&#39;/css/themes/base/jquery.ui.datepicker&#39;); ?&amp;gt;
&amp;lt;?php  echo $this-&amp;gt;Html-&amp;gt;css(&#39;/css/themes/base/jquery.ui.progressbar&#39;); ?&amp;gt;
&amp;lt;?php  echo $this-&amp;gt;Html-&amp;gt;css(&#39;/css/themes/ui-lightness/jquery-ui-1.8.21.custom&#39;); ?&amp;gt;

&amp;lt;?php  echo $this-&amp;gt;Html-&amp;gt;css(&#39;/css/jquery.ui.timepicker&#39;); ?&amp;gt;

&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;script(&#39;/js/bootstrap/jquery-1.7.2&#39;);  ?&amp;gt;

&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;script(&#39;/js/bootstrap/bootstrap-transition&#39;);  ?&amp;gt;
&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;script(&#39;/js/bootstrap/bootstrap-alert&#39;);  ?&amp;gt;
&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;script(&#39;/js/bootstrap/bootstrap-modal&#39;);  ?&amp;gt;
&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;script(&#39;/js/bootstrap/bootstrap-dropdown&#39;);  ?&amp;gt;
&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;script(&#39;/js/bootstrap/bootstrap-scrollspy&#39;);  ?&amp;gt;
&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;script(&#39;/js/bootstrap/bootstrap-tab&#39;);  ?&amp;gt;
&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;script(&#39;/js/bootstrap/bootstrap-tooltip&#39;);  ?&amp;gt;
&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;script(&#39;/js/bootstrap/bootstrap-popover&#39;);  ?&amp;gt;
&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;script(&#39;/js/bootstrap/bootstrap-button&#39;);  ?&amp;gt;
&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;script(&#39;/js/bootstrap/bootstrap-collapse&#39;);  ?&amp;gt;
&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;script(&#39;/js/bootstrap/bootstrap-carousel&#39;);  ?&amp;gt;
&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;script(&#39;/js/bootstrap/application&#39;);  ?&amp;gt;

&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;script(&#39;/js/bootstrap/jquery.carouFredSel-5.1.0.js&#39;); ?&amp;gt;
&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;script(&#39;/js/bootstrap/ticker&#39;); ?&amp;gt;

&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;script(&#39;/js/jquery-ui-1.8.21.custom.min&#39;); ?&amp;gt;
&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;script(&#39;/js/jquery.ui.datepicker-ja&#39;);  ?&amp;gt;

&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;script(&#39;/js/jquery.ui.timepicker&#39;); ?&amp;gt;

&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;script(&#39;/js/bootstrap/jquery.multiselect&#39;); ?&amp;gt;
&amp;lt;?php echo $this-&amp;gt;Html-&amp;gt;script(&#39;/js/bootstrap/jquery.multiselect.filter&#39;); ?&amp;gt;

&amp;lt;?php echo $this-&amp;gt;element(&#39;google_analtics&#39;); ?&amp;gt;
&amp;lt;/head&amp;gt;

&amp;lt;body lang=&quot;ja&quot;&amp;gt;
&amp;lt;div id=&quot;fb-root&quot;&amp;gt;&amp;lt;/div&amp;gt;

&amp;lt;div class=&quot;container-fluid&quot;&amp;gt;

&amp;lt;?php echo $this-&amp;gt;Session-&amp;gt;flash();  ?&amp;gt;
&amp;lt;?php echo $this-&amp;gt;fetch(&#39;content&#39;);  ?&amp;gt;
  &amp;lt;div class=&quot;span12&quot;&amp;gt;
    &amp;lt;div class=&quot;row-fluid&quot;&amp;gt;
       (C)copyright SoftwarefactoryTokyo inc. by ソフトウェア工場
    &amp;lt;/div&amp;gt;

&amp;lt;/div&amp;gt;&amp;lt;!-- container-fluid --&amp;gt;

&amp;lt;script type=&quot;text/javascript&quot; src=&quot;http://platform.twitter.com/widgets.js&quot;&amp;gt;&amp;lt;/script&amp;gt;

&amp;lt;/body&amp;gt;
&amp;lt;/html&amp;gt;
&lt;/span&gt;
&lt;/pre&gt;
&lt;br /&gt;
■コントローラ

&lt;br /&gt;
&lt;pre class=&quot;syntax-highlight&quot; style=&quot;border: 1px solid rgb(223, 225, 227); font-size: 12px; overflow-x: auto; overflow-y: hidden; padding: 0.5em 0.8em; text-align: left;&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;
例えば、

public function test($id=null) {
   $this-&amp;gt;layout = &#39;home&#39;;   // とレイアウトファイルを指定する


}
&lt;/span&gt;
&lt;/pre&gt;
</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/89703189160779171/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp221-twitter-bootstrap-jquery.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/89703189160779171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/89703189160779171'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp221-twitter-bootstrap-jquery.html' title='レイアウトファイル cakephp2.2 + twitter bootstrap2.1 + jQuery1.7.2 + jQuery UI 1.8.21'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-5501602842881436609</id><published>2012-09-02T18:13:00.002+09:00</published><updated>2012-09-02T18:24:18.993+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cakephp 開発環境"/><title type='text'>(PC画面向け組み合わせ）CakePHP + MySQL + jQuery + Twitter Bootstrap</title><content type='html'>&lt;h4&gt;
さくさく開発環境を採用　　（というか、利用させて、いただきます）&lt;/h4&gt;
&lt;br /&gt;
【基本】CakePHP＋MySQL＋jQuery＋Twitter Bootstrap　を基本とし、&lt;br /&gt;
&lt;br /&gt;
PC画面は、Twitter Bootstrapを使い、画面の縦横の並びを合わせ、見やすい画面作りをしたい&lt;br /&gt;
&lt;br /&gt;
ｊQueryは、jQUery + jQuery UI + jQuery Mobileを利用する&lt;br /&gt;
&lt;br /&gt;
スマフォ画面は、jQuery Mobileで対応する&lt;br /&gt;
&lt;br /&gt;
iPhoneアプリ/アンドロイドアプリは、 taitanium-mobileで対応させる&lt;br /&gt;
&lt;br /&gt;
■Webアプリ&lt;br /&gt;
・PC用　　　　　　　基本&lt;br /&gt;
・スマフォ用&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; jQuery Mobile&lt;br /&gt;
・タブレット用&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 基本　＋　α　&lt;br /&gt;
&lt;br /&gt;
■アプリ&lt;br /&gt;
・Facebookページアプリ　基本&lt;br /&gt;
・iPhoneアプリ　　　　　　　titanium-mobile&lt;br /&gt;
・アンドロイドアプリ　　　　titanium-mobile&lt;br /&gt;
&lt;br /&gt;
○開発環境&lt;br /&gt;
【データベース】　MySQL&lt;br /&gt;
&lt;br /&gt;
【開発言語】 PHP、CakePHP２．２．１（最新）&lt;br /&gt;
&lt;br /&gt;
（検討）&lt;br /&gt;
・データベースは、OracleかMySQLだけど、&lt;br /&gt;
　　１．レンタルサーバでも対応できる&lt;br /&gt;
　　２．予算的にMysql&lt;br /&gt;
&lt;br /&gt;
・プログラミング言語&lt;br /&gt;
　　１．PHP→CakePHPでしょう。超リアルタイムはいらないので、Javaの必要はない。&lt;br /&gt;
　　　　CakePHPは、多国語対応が、２．２．１からとっても良くなったので。&lt;br /&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/5501602842881436609/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/pccakephp-mysql-jquery-twitter-bootstrap.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/5501602842881436609'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/5501602842881436609'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/pccakephp-mysql-jquery-twitter-bootstrap.html' title='(PC画面向け組み合わせ）CakePHP + MySQL + jQuery + Twitter Bootstrap'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-6595999886328089249</id><published>2012-09-02T15:47:00.001+09:00</published><updated>2012-09-03T06:30:45.155+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cakephp 個別機能"/><title type='text'>cakephp2.2 select optgroup</title><content type='html'>&lt;h5&gt;
■Cakephp セレクト &amp;lt;optgroup label=&#39;グループ名&#39;&amp;gt;を表現する&lt;/h5&gt;
&lt;pre class=&quot;syntax-highlight&quot; style=&quot;border: 1px solid rgb(223, 225, 227); font-size: 12px; overflow-x: auto; overflow-y: hidden; padding: 0.5em 0.8em; text-align: left;&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;        $options = array(
  &#39;洋食&#39; =&amp;gt; array(
    &#39;1&#39; =&amp;gt; &#39;ハンバーグ&#39;,
    &#39;2&#39; =&amp;gt; &#39;ステーキ&#39;
    ),
  &#39;和食&#39; =&amp;gt; array(
    &#39;3&#39; =&amp;gt; &#39;カレーライス&#39;,
    &#39;4&#39; =&amp;gt; &#39;ラーメン&#39;
    ),
  &#39;中華&#39; =&amp;gt; array(
    &#39;5&#39; =&amp;gt; &#39;餃子&#39;,
    &#39;6&#39; =&amp;gt; &#39;天津飯&#39;
    )
  );

 echo $this-&amp;gt;Form-&amp;gt;input(&#39;Mypage.menu&#39; , array(
   &#39;type&#39; =&amp;gt; &#39;select&#39;,
   &#39;options&#39;=&amp;gt; $options,
   &#39;label&#39; =&amp;gt; &#39;メニュー(グループ）&#39;
    )
   );
&lt;/span&gt;
&lt;/pre&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/6595999886328089249/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/6595999886328089249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/6595999886328089249'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp.html' title='cakephp2.2 select optgroup'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3624142561073610015.post-4564570305320202756</id><published>2012-09-02T08:36:00.001+09:00</published><updated>2012-09-03T09:28:58.406+09:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="cakephp 個別機能"/><title type='text'>cakephp2.2 select radio  checkbox</title><content type='html'>&lt;h5&gt;
cake1.3 → cake2.2 変更は&lt;br /&gt;&lt;br /&gt;
&lt;table&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;cake1.3&lt;/td&gt;&lt;td&gt;cake2.2&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;$form-&amp;gt;input　&lt;/td&gt;
&lt;td&gt;$this-&amp;gt;Form-&amp;gt;input &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;br /&gt;
&lt;a href=&quot;http://softwarefactory.lolipop.jp/cake221/mypages/test&quot; target=&quot;_blank&quot;&gt;デモ画面はこちらに設置しました&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;■Cakephp セレクト&lt;/h5&gt;
&lt;pre class=&quot;syntax-highlight&quot; style=&quot;border: 1px solid rgb(223, 225, 227); font-size: 12px; overflow-x: auto; overflow-y: hidden; padding: 0.5em 0.8em; text-align: left;&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;
$options = array(
  &#39;shop1&#39; =&amp;gt; &#39;和食&#39;,
  &#39;shop2&#39; =&amp;gt; &#39;洋食&#39;,
  &#39;shop3&#39; =&amp;gt; &#39;中華&#39;,
  &#39;shop4&#39; =&amp;gt; &#39;アジアン&#39;,
  &#39;shop5&#39; =&amp;gt; &#39;居酒屋&#39;,
  &#39;shop6&#39; =&amp;gt; &#39;バー&#39;,
  &#39;shop7&#39; =&amp;gt; &#39;ラーメン&#39;,
  &#39;shop8&#39; =&amp;gt; &#39;カフェ&#39;,
  &#39;shop9&#39; =&amp;gt; &#39;その他&#39;
  );

echo $this-&amp;gt;Form-&amp;gt;input( &#39;Mypage.menus&#39; , array(
  &#39;type&#39; =&amp;gt; &#39;select&#39;,
  &#39;options&#39;=&amp;gt; $options,
  &#39;label&#39; =&amp;gt; &#39;メニュー（グループ無し）&#39;,
  &#39;empty&#39; =&amp;gt; &#39;メニューを選んでください&#39;,
   )
  );
&lt;/span&gt;
&lt;/pre&gt;
&lt;br /&gt;
&lt;h5&gt;
■CakePHP Radioボタン&lt;/h5&gt;
&lt;pre class=&quot;syntax-highlight&quot; style=&quot;border: 1px solid rgb(223, 225, 227); font-size: 12px; overflow-x: auto; overflow-y: hidden; padding: 0.5em 0.8em; text-align: left;&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;
 $options = array(
   &#39;deal1&#39; =&amp;gt; &#39;新規開業&#39;,
   &#39;deal2&#39; =&amp;gt; &#39;新規お取引開拓&#39;,
   &#39;deal3&#39; =&amp;gt; &#39;追加出店&#39;,
   &#39;deal4&#39; =&amp;gt; &#39;商品・サービスに関するお問い合わせ&#39;,
   &#39;deal5&#39; =&amp;gt; &#39;その他&#39;
   );

 echo $this-&amp;gt;Form-&amp;gt;input( &#39;Mypage.menu&#39; , array(
   &#39;type&#39; =&amp;gt; &#39;radio&#39;,
   &#39;options&#39;=&amp;gt; $options,
   &#39;label&#39; =&amp;gt; &#39;業態&#39;,
   &#39;empty&#39; =&amp;gt; &#39;業態を選んでください&#39;
    )
   );
&lt;/span&gt;&lt;/pre&gt;
&lt;h5&gt;
■Cakephp マルチチェックボックス&lt;/h5&gt;
&lt;pre class=&quot;syntax-highlight&quot; style=&quot;border: 1px solid rgb(223, 225, 227); font-size: 12px; overflow-x: auto; overflow-y: hidden; padding: 0.5em 0.8em; text-align: left;&quot;&gt;&lt;span style=&quot;color: #555555;&quot;&gt;
 $options = array(
   &#39;check1&#39; =&amp;gt; &#39;カタログが欲しい&#39;,
   &#39;check2&#39; =&amp;gt; &#39;価格が知りたい&#39;,
   &#39;check3&#39; =&amp;gt; &#39;サンプル等を試したい&#39;,
   &#39;check4&#39; =&amp;gt; &#39;詳細について商談がしたい&#39;,
   &#39;check5&#39; =&amp;gt; &#39;その他のお問い合わせ&#39;,
   );

 echo $this-&amp;gt;Form-&amp;gt;input( &#39;Mypage.menu&#39; , array(
   &#39;type&#39; =&amp;gt; &#39;select&#39;,
   &#39;multiple&#39; =&amp;gt; &#39;checkbox&#39;,
   &#39;options&#39;=&amp;gt; $options,
   &#39;label&#39; =&amp;gt; &#39;お問合せの選択&#39;,
    )
   );
&lt;/span&gt;
&lt;/pre&gt;
&lt;br /&gt;</content><link rel='replies' type='application/atom+xml' href='http://facebookdevnice.blogspot.com/feeds/4564570305320202756/comments/default' title='コメントの投稿'/><link rel='replies' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp-radio.html#comment-form' title='0 件のコメント'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/4564570305320202756'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3624142561073610015/posts/default/4564570305320202756'/><link rel='alternate' type='text/html' href='http://facebookdevnice.blogspot.com/2012/09/cakephp-radio.html' title='cakephp2.2 select radio  checkbox'/><author><name>Anonymous</name><uri>http://www.blogger.com/profile/01532559643845666852</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='https://img1.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>