OpenPNE2 for Smart Phone β1.3.1版公開

OpenPNE2 for Smart Phoneβ1.3.1版を公開しました。 β1.2版からの修正内容は、以下の通りです。 ・iOS6でフォームからのファイルアップロードが可能になったのを受けて、Apple社製品でメール投稿/フォームアップロード両方を可能にしました。 ・トピック/イ…

ユーザフォーラム・デモサイト

有志の方に、ユーザフォーラム・デモサイトを作成していただきました。ユーザフォーラム(Google グループ) 情報集約のためにも、今後、問い合わせやバグ報告などは、こちらに上げていただければ、と思います。 http://openpne2sp.s502.xrea.com/ こちら、現…

OpenPNE2 for Smart Phone β1.2版公開

OpenPNE2 for Smart Phoneβ1.2版を公開しました。 修正内容は以下の通りです。 ・画像キャッシュをpublic_html以下に置く設定での表示不具合 不具合のご報告、ありがとうございました。

アルバム周りの不具合

OpenPNE2 for Smart Phoneβ版で、PC側アルバム機能不具合のご報告をいただきました。 修正方法は以下の通りです。 【追記】2012/11/30 誤記を訂正しました 【追々記】不具合修正済みのβ1.1版を公開しました。こちらのDownloadボタンからダウンロード可能です…

色を変更する(テーマローラー使用)

OpenPNE2 for Smart Phoneをちょっと改造して、スマートフォン版の配色を変更する方法を、紹介します。

OpenPNE2スマホ対応の方針

OpnePNE2をスマートフォン向けに対応した際の方針です。OpenPNE2スマホ対応版を作ったきっかけ - 趣味の延長線の続きです。

OpenPNE2スマホ対応版を作ったきっかけ

折角公開したので、OpenPNE2 for Smart Phoneを開発した際の経緯などを書いていきます。 思い出し話なので、時系列や詳細が異なる場合がありえます。

OpenPNE2をスマートフォン対応させました

スマートフォンで利用できるOpenPNE2の改変版を作り、配布を始めました。OpenPNE2 for Smart Phone

ImageMagickでgifをcropすると余白ができる場合

サムネイル画像作成のために 「短辺を指定のサイズに合わせて縮小、長辺をトリミング」 という処理をImageMagickで行うと、 「トリミングしたはずの箇所が余白として残る」 という現象が、gifだけで発生しました。その解決方法。

モデルのカスタマイズ

Giiで生成したソースをカスタマイズして、項目ごとのバリデーションなどの設定を追加します。 参考:この辺り一帯 フォームを使う: モデルの作成 | Yii 1.1 公式ガイド | Yii PHP Framework

Yiiチュートリアル2:Mysqlの設定とGiiによるCRUD作成

Yiiチュートリアル続き 参考は引き続き 初めに: 初めての Yii アプリケーションの作成 | Yii 1.1 公式ガイド | Yii PHP Framework

Yiiチュートリアル:Welcome表示が出ず真っ白…

PHPフレームワークYiiのチュートリアルメモ。 Yiiの公式ドキュメントは分かりやすいので、基本これを見て進める 初めに: 初めての Yii アプリケーションの作成 | Yii 1.1 公式ガイド | Yii PHP Framework

パラノイア日本ステージ案メモ

ディストピアTRPGの最高傑作と名高い「パラノイア」の、日本ステージ・・・っぽいことをちょっとしたいので案のメモ。

ZendFrameworkチュートリアル その1

ZendFrameworkを試してみたので、チュートリアルのメモ。 参考 http://web-rhodia.com/pages/web/zf/zf-tutorial/ (分かりやすい) 公式のプログラマ向け日本語ガイド(一部邦訳)

携帯で表示されない

メモ。 CakePHPで携帯・PC共通サイト作っていたら、一部の文字が携帯では表示されなかった。 原因不明のため、表示しない文字列を変更して回避したが、NG文字と状況をメモ。

joinsの設定を使う場合

メモ。 pagerやfindでデータを抽出する設定$optionsで、joinsによりINNER JOINなどを行う場合、 database.phpにてテーブルのprefixを設定すると正しく動かなくなる。 その対策。

モデルでURLのパラメータ(params)を取得する

コントローラでは、$this->paramsで得られる値:例えば$this->params['prefix']や$this->params['admin']を、 コントローラ・コンポーンネント以外で得る方法。

FireFoxのアドオンでCook Bookをカスタマイズ表示

CakePHPのオンラインリファレンス、CookBookのデザインが新しくなりました。 http://book.cakephp.org/ja# 内容は一緒ですが、デザインが大幅に変わり、また検索結果の出力が非同期表示になるなどの違いがあります。 しかしながらこの新デザイン、個人的に、…

TagsPluginの導入

CakeDC様配布の、CakePHP用タグ付けプラグイン TagsPluginを導入しました。 http://cakedc.com/downloads/view/cakephp_tags_plugin 導入時のトラブルや、実際の挙動、そしてタグ削除・タグクラウドを表示する際の疑問点などがあるので、それらについて記載…

UtilsPluginの内訳

下の記事で存在を知ったのですが、 CakePHPに、様々な「ちょっとした処理」を追加できる UtilsPlugin という便利なものが配布されています。 http://1-byte.jp/2011/01/06/open_trivist/ しかし、公式ページ(ver.1.1)や、READMEを読んでも、何にどうやって使…

Mediaプラグインのver.1.2->1.3バージョンアップ

CakePHPをver.1.3にアップしたのに伴い、 1.2時代から導入+拡張コンポーネント入れて独自遣いしていた、Mediaプラグインも、1.3b*1にアップデートしました。その際の、トラブル解消過程のメモです。 * 注 1.「独自拡張」由来の不具合が混ざっているかもし…

アメリカAmazonでお買い物

アメリカのAmazonで、お買い物してみました。 買ったのは パラノイア。 Troubleshooters (Paranoia)作者: Allen Varney,Charlotte Law出版社/メーカー: Mongoose Pub発売日: 2009/08/01メディア: ハードカバー クリック: 8回この商品を含むブログ (2件) を見…

saveAll()を使う時の注意

saveAll()を使うと複数のデータを一括で保存できます。 大変便利ですが、 セットするデータの形式に、注意が必要です。

同じModelに複数の関連付け

たとえば、メッセージ機能で1つのテーブルに from_user_id と to_user_id があって、Userと2つ以上の関連付けを持つ場合の方法。

セッション「7人いる!」

今回予告 時は20XX年。日本に新たな宇宙開発機構が誕生した。 その名は New Investigation Network of Japan Aerospace EXploration Agency ── NINJAXA ! 宇宙飛行シノビを養成して日本が有人宇宙開発を牛耳ろうと、 流派を超えて結成された組織だ!各流派か…

危険なHTMLタグを削除する正規表現

PHP

ユーザ入力などから危険なHTMLタグおよび属性などを削除する正規表現。 preg_replaceで使用します。 不完全な箇所もあるかもしれないので、ご参考までに。

$paginator->sortで、現在ソート中の見出しに↑↓がつく

前記事で、謎記号が出力されている問題。フォントサイズを拡大してみて、解明しました。 上下矢印です。 (参考画像のフォントサイズ:24px/通常12px) どうやら、「現在この項目の昇順/降順でソートしていますマーク」らしいです。 ソート項目を変えると、矢印…

DebugKit+IEでのエラー緩和

CakePHPでの開発に非常に便利なDebugKit。 しかし、IE*1でのみ、謎のエラーが発生する場合があります。 CakePHP1.2の頃は、そもそもIEでは動作しなかったのですが、 その対応用のパッチを当てると、1.3用で発生しているエラーも多少緩和されるようです。 (追…

謎文字

CakePHPを1.3にバージョンアップしたら、 pagenateのソートリンクに謎の文字が表示されるようになったのですが・・・・これは何?? 謎文字の特徴 当該箇所のソースには何もない。コピー&ペーストしても、何もない 多言語化(i18n)対応箇所 出ない場所もある…

allowEmpty設定とフォーム

CakePHP1.3では、validateにallowEmpty => true を明示しない項目は、 フォーム自動生成時に、ラベルの後に赤文字で * が表示されるようになります。 例 名前 * 表示させたくない場合は、allowEmpty => trueを明示するしかないようです*1。 *1:ver.1.3.6