2010-01-01から1年間の記事一覧

【PHP】TwitterのストリーミングAPIを使う

TwitterのストリーミングAPIで得られるパブリックタイムラインの 内容は次がら次へとに更新されるため、『file_get_contents()』 のようにファイルを一括して読み込む方法だと、いつまでたっても 読み込みが終わらず、次の処理へ進めません。 そこで、1行ず…

【PHP】file_get_contentsのエラーを抑制する方法

【環境】 CakePHP 1.3.2 Twitter API (users/show)使用中 【困ったところ】存在するかどうかわからないユーザーID(番号)をパラメータにして 『users/show』APIを呼び出す際に、ユーザーが存在しなかった場合に 表示されるPHPのE_WORNINGをどうにかして消せな…

【CakePHP】手動で元のページへリダイレクトする

【環境】 CakePHP 1.3.2 Twitter OAuth OAuth consumers for CakePHP - by cakebaker CakePHPでTwitterマッシュアップを作る#4 - BUENA VISTA SOCIAL BLOG 【困ったところ】通常のAuthコンポーネントを使っている場合、ログイン・ログアウト後に 元のページ…

【jQuery】IE + Ajax関連でいくつかの条件が重なった場合に表示されるエラーとその解決策

【最終更新日:2010年10月23日】 基本事項〜IEについて〜Internet Explorerでは、NULLもしくは未定義の変数に対して、 存在しないメンバ変数を呼び出そうとするとエラーが表示されます。 var hoge; //または var hoge = null; var hoge = undefined; alert(h…

CakePHPの防御力を試す1〜SQLインジェクション〜

【CakePHP 1.3.2】CakePHPのデフォルトの状態で、どこまでセキュリティ対策が 施されているのかを実験します。【実験方法】デバッグを"2"に設定し、予想される攻撃によってどのような SQLが生成されるのかを確認します。 【/app/config/core.php】 Configure…

【CakePHP】アソシエーション設定時にバリデーションエラーのメッセージを表示させる

【CakePHP 1.3.2】【状況】主:Userモデル->従:Profileモデル、という関係。【方法】いろいろ試しましたが、従属テーブルのバリデーションエラーのみ、 そのメッセージをビューへ明示的に渡す必要があるようです。 【コントローラ】 //バリデーションのみを行…

【CakePHP】アソシエーションのモデルにも一緒に保存する際の注意点

【CakePHP 1.3.2】【状況】主:Userモデル->従:Profileモデル、という関係。【失敗】下記では、必ず新規作成(INSERT)となってしまい、既存のデータの 変更(UPDATE)ができません。 【/app/controllers/users_controller.php】 //フォーム送信後の処理。データ…

バージョン3.5.2の更新情報

jquery.ajaxComboBox 【ver 3.5.2】 jQuery1.4系に対応しました。 It corresponded to jQuery 1.4. jQuery1.4系で『abort()』するとIE7でエラーが発生するバグに 対処するため、IE7使用時のみ、abortを使う処理を省略しました。 jQuery1.4.3でこのバグが修正…

【CakePHP】Form::month()のの英語表記を数字にする

【CakePHP 1.3.2】【通常の解決策と、その問題点】Formヘルパーのmonthメソッドについて。 echo $form->month('month');上記だけでは、optionタグの中身がJanuary,February...と、 英語表記になってしまいます。 これを数字にする方法として、Cookbookでは'm…

【CakePHP】read()とvalidates()の相性は良くない

【CakePHP 1.3.2】【結論】バリデーションに失敗して元のフォーム画面に戻る処理の中で、 『$this->Model->read()』を使ってはいけません。 readメソッドの中に下記のような記述があるため、バリデーションに 失敗した旨のメッセージが消えてしまいます。 【…

SQLite2からMySQLへデータベースの移植を行う

【最終更新: 2012年2月23日】 SQLite2のデータベースの中身を、MySQLに移植したい場合。 具体的には、CakePHPのローカルテスト用に、複数のPCでDropboxを介してファイルとして同期できるSQLite2をデータベースに採用していたのに、CakePHP2.0ではSQLite2は使…

XAMPP for Linuxに付属しているphpMyAdminが使用可能になるまで

普通ならXAMPPをインストールすればすぐに使えるはずですが…、 僕の場合は事前にいろいろいじってたので手間がかかりました。環境 Ubuntu 10.04 XAMPP for Linux 1.7.3a 行った設定【『config.inc.php』のパーミッション変更】僕はXAMPPインストール時に、パ…

エポキシパテで補修作業

エポキシパテで、食器乾燥機の水受け容器に空いた穴の補修をします。 こんな具合に、丸い足との接続部分を覆うべきものがなくなり、 ぽっかりと空洞になってます。 これまではセロテープで塞いでいましたが…、ダメです。 ダダ漏れです。 使用するのは『セメ…

有効期限の過ぎた仮登録ユーザをcronで自動的に削除する〜その2〜

前回の方法では、仮登録ユーザを削除する処理をcronからだけでなく ブラウザでURLを入力しても実行できてしまうという欠点がある、と CakePHPのフォーラムで指摘を受けました。 今回は、CakePHPコンソールから独自のシェルを実行する、という処理を cronで自…

有効期限の過ぎた仮登録ユーザをcronで自動的に削除する

【注】 今回の方法よりも、より適切と思われる方法を下記で紹介しています。 こちらも参考にしてくださいm(_ _)m ◆有効期限の過ぎた仮登録ユーザをcronで自動的に削除する〜その2〜 http://d.hatena.ne.jp/sutara_lumpur/20100625/1277424666環境 Ubuntu 10…

Ubuntu備忘録1

【Ubuntu 10.04】 『Windowsキー』でデスクトップを表示させるには『Windowsキー』はLinuxでは使い道がないと思っていましたが、 "Super"キーという名前で、ちゃんと役割を与えられるそうです。 【端末】 $ gconftool-2 --set /apps/metacity/global_keybind…

【CakePHP】Security.levelはlowにすべき

(追記: 2012-07-24) CakePHP 2.2.1では、セッションが消える恐れのあるコードは発見されませんでした。 他に気になる点がなければ、Security.levelは'high'や'medium'でも問題ないと思います。 【おすすめ設定】 【/app/config/core.php】 Configure::write(…

CakePHP備忘録4 invalidFieldsの記述位置に注意!

【CakePHP 1.3.2】 【正しい位置】モデルのインスタンスにデータをセットする前に。 つまり、『$this->set()』や『$this->data = $hoge』の前に。 【例:コントローラ】 if(!$this->Model->validates()){ //こちらが先! $error_messages = $this->Model->in…

CakePHP備忘録3 Authを使いながらパスワードの変更を行う

【CakePHP1.3.2】 ログインパスワードを変更する場合の入力項目は、 現在のパスワード 新しく設定したいパスワード 確認のためパスワードを再入力 …というのが一般的だと思います。 これをCakePHPで行なおうとする場合、Authコンポーネントで ハッシュ化され…

CakePHP備忘録2

【CakePHP1.3.2】 $this->Model->save()以外のタイミングでバリデーションしたい場合validates()で検証し、エラーがあれば、メッセージを invalidFields()で取り出す。 【コントローラ】 if(!empty($this->data)){ //モデルのインスタンスにデータをセットす…

XAMPP(Linux版)で、Gmail経由でローカル環境からメールを送信する

【環境】 XAMPP 1.7.3a Ubuntu 10.04 【必要なもの】 Googleアカウント 【手順】 php.iniを、下記の部分のみ書き換える。 【/opt/lampp/etc/php.ini】 SMTP = smtp.gmail.com smtp_port = 587 postfixをインストールする。 $ sudo apt-get install postfixそ…

XAMPP(Windows版)で、Gmail経由でローカル環境からメールを送信する

最終更新: 2018-08-18Googleアカウントの設定メール送信に使いたいGoogleアカウントでログインし、下記のページを開きます。 https://myaccount.google.com/lesssecureapps 「安全性の低いアプリの許可」を有効にします。 XAMPPの設定対応バージョン XAMPP 7…

CakePHP備忘録1

【CakePHP1.3.2】 バリデーションでの重複チェックは『isUnique』で行う。 【例 (モデル)】 var $validate = array( 'mail' => array( 'rule' => 'isUnique', 'message' => 'このアドレスは既に登録されています。' ) ); 『$this->Model->save($this->data)…

償いはしたくない

黒歴史。 それはそれで教訓になった。 でも、あの頃の知り合いには会いたくない。 そして、謝罪はしたくない。 償いはしたくない。 僕はすっかり懲りてしまった。 何がいけなかったのか、十分に分かった。 だから、過去の清算は免除させてくれ。 教訓はしっ…

大願成就

ついに念願の"キルミンずぅラバーキーホルダー"を手に入れたぞ! まずは、対象年齢の確認だ! 3歳以上! うむ!私はこの商品を正しく取り扱える年齢に達しているようだな! さっそく、箱から中身を取り出してみる! ほほう、もはやラムネ菓子のほうがオマケ…

【CakePHP】geditで言語配色に拡張子を追加するには

要求CakePHPでは、独自の『.ctp』形式のファイルを扱うことになります。 この拡張子は、geditではPHPファイルとしてうまく認識してくれない ことがあります。 真っ白で、何の色分けもされません。 これをどうにかしたい。環境 OS Ubuntu 10.04 CakePHP 1.3.2…

人生の傍観者

小学生のころ、学校のそばの公園で、一組のカップルが ベンチに座っているのを見かけた。 男が立ち上がり、歌いだした。 笑った。 僕は、ずっと笑う立場でいられるのだろうと思った。 恥をかく必要はないのだろうと思った。 先人たちがたくさん恥をかいたり…

フローリングの傷の補修に挑戦

こんなかんじで、フローリングの表面がはげてます。 傷、拡大。 で、これで補修していきます。 『かくれん棒フローリング用 ダークオーク 358円(ナフコ)』 (製品紹介のページ) http://www.kentomo.co.jp/flooring/flooring2.html ※はじめはページ下部の『ね…

敗北者となれり

いえ、もとから人生の敗北者ですが。 それに輪をかけての負けっぷりを演じてしまいました。 去年初めて参加した父方の故郷のお祭りに、今年も行って参りました。 ◆去年↓ http://d.hatena.ne.jp/sutara_lumpur/20090413/1239603649 で、神輿を担ぎはじめて10…

オープンライフ

ふと、 『住所、電話番号さえ知られなければ、その他の個人情報を公開しても ウザいことにはならないんじゃないか。』 と、思いました。 mixi、Googleプロフィールで、本名を名乗ることにしました。 ついでに、肖像写真も撮りました。