Posted on

CakePHPでinputの名前で5層に対応する

CakePHPで配列で指定したinputに$this->dataが連動してくれる
helperのありがたい機能を使っていたのですが、
<?php echo $form->input(“Part.1.element.1.radio”, array(‘type’=>’text’)); ?>
という感じの5層構造になるとデータの引継ぎをしてくれません。
helperの対応しているのは4層までみたいです。

困ったということで調べてみるのですが、これという記事が見つからないので
自分でカスタマイズして5層でもデータがやり取りできるようにしました。

続きを読む CakePHPでinputの名前で5層に対応する

Posted on

pChartでレーダーチャートを描きました。

グラフを必要とするお仕事があり、JPgraphとpChartを候補にあげました。しかし、JPgraphは、有償なので対象からはずれ、pChartで作成することになりました。

○インストール方法

cakephpで実現しています。
通常はviewsを作成して表示するのですが、
このサンプルでは、controllerで表示するように記述しています。
cakephp\app\vendors\pChartにダウンロードしてきたpChart.1.27d.rarの展開したものをコピーします。
あとは、フォントを利用するので、ipaexg.ttfをcakephp\app\vendors/pChart/Fonts/ipaexg.ttfへ配置します。準備は以上です。
○利用して苦労した点
デフォルトのグラフの色が変えれなかったのですが、
// デフォルトの色を変更する。
$Test->setColorPalette(0,79,129,189);
の記述で変更することができました。

TMP.”graph/”のフォルダを作成して書き込み権限をあたえてください。

radare_1_23_20111003112429.png

続きを読む pChartでレーダーチャートを描きました。

Posted on

wdCalenderが本番サーバーで動かない

wdCalenderをローカル環境で動かしていて、実際本番環境にUPした時に動かなくなってテンパッタのでメモとしてブログに残しておきます。

症状としてはテスト環境では動くのに本番環境では動かないというもの。
jqueryに頼っているので実際動かないと、どう調査をしたらいいか分からずとりあえず、FireBugで追っかけていきます。
するとどうもテストでは値が入っている所に、本番では入っていないということが分かりました。しかもJSON形式のデータが・・・

JSON形式のデータ???んっ!!以前phpのjson_encodeはphpのバージョンに依存するなというのに、はまった事があるなということで調べるとビンゴでJSONが使えるPHPのバージョンは5.2以上ということ。
本番サーバーではphpのバージョンが5.1.6だったので早速5.1.6でもJSONが使えるように「http://www.softel.co.jp/blogs/tech/archives/973」を参考にサーバーの設定を変更!!
これで動くかなと思っていたのですが動かない・・・という事でもう一度デバッグ作業をしていきます。
今度はphpの記述部分をfwrite関数を使っていって1行ずつファイルにデバッグ文を出力して追って行きます。するとある関数で処理が止まってしまっている事が分かりました。
それはdate_parse関数なのですが調べてみると、この関数が使えるのはphp5.2以上との事でして、JSONと一緒やんという顛末でした。date_parse関数のところを独自の記述に置き換えると見事動いてくれました。

基本としてwdCalenderはphp5.2以上で使うもの。それ以前で使うときは動くように自分で調整をして上げる必要ありという事でした。

Posted on

CakePHPで複数prefixを使ったときのページネートの挙動を直す

前回はapp/core.phpの

Configure::write('Routing.admin', 'admin');
をコメントアウトすることでページネートのリンクを押した時にリンクエラーになるのを防ぎました。
じゃあ、「公開」「公開(携帯)」「管理」のように3つサイトを分ける時にはどうするの?ということで調べてみました。

続きを読む CakePHPで複数prefixを使ったときのページネートの挙動を直す

Posted on

CakePHPでprefixを使っている時のpaginatorの挙動を直す

CakePHPでprefixを切り替えた所の開発をしていたのですが、paginatorでページ切り替えなどを行おうとすると、飛び先のURLからprefixの部分が抜け落ちておりリンクエラーになってしまいました。
これは困ったと調べてみるとcore.phpで以下の記述をすれ良いだけのこと。
Configure::write(‘Routing.admin’, ‘使っているprefix値’);
なんだかみたことがある記述だなと思っていたら、prefixをadminにして動かしたいときはcore.phpで
Configure::write(‘Routing.admin’, ‘admin’);
のコメントを外す決まりごとがあったなという事を思い出しました。しかしadmin以外のprefixを使っていたのでそこらへんの仕組みがノーマークだったため、そこそこはまりました・・・

Posted on

MySQLに大量のデータをインポートする

今回レンタルサーバーの区画のMySQLに大量データを流し込まなくなったのですが、レンタルサーバーが用意してくれているphpMyAdminでは容量が大きくてインポートが出来ませんでした。
自社で管理しているサーバーであればコマンド一発で難なく出来るのですが、レンタルサーバーなものでコマンドも使えない、php.iniの値も変えれないということでどうした物かという状況になりました。
困ってググッてみたらBigDumpという便利そうなものを発見!!
詳しくはhttp://d.hatena.ne.jp/istwar/20101019/1287505139を見てもらった方が早いので説明は書かないですけど、とにかくPHPファイル1つでインポートが出来ちゃうのでどんなサーバー相手でもへっちゃらというのは素晴らしい!!
すごい重宝するので皆さんも是非使ってみてください。

Posted on

TCPDFでセキュリティー設定をしたPDFを作る

この前、閲覧、印刷のみできるPDFて作れる?

という需要があったので色々と調査してみた。(しかもPHP4で)
最初はTCPDF無理やと思って、FPDFとかで試していたのですが、
実はPDF4バージョンもあることがわかった。
今回は、
PDFで「印刷禁止」「文字等コピー禁止」「編集禁止」「パスワード」「有効期限」「ローカルPCで開くの禁止」を
テストしてみました。

続きを読む TCPDFでセキュリティー設定をしたPDFを作る

Posted on

androidアプリをEclipseで作成しました。

◎Android開発準備
1.JDK(Java Development Kit)のセットアップ
  jdk-6u25-windows-i586.exeをインストールしました。
2.Android SDK(Software Development Kit)のセットアップ
  android-sdk_r10-windows.zipをインストールしました。
3.Eclipse のセットアップ
  eclipse-java-helios-SR2-win32.zipをインストールし、
  日本語化で、pleiades_1.3.2.zipをインストールしました。
◎補足
Android SDKで、インストール後エミュレータを動作させようとすると、
adb.exe が見つからないとエラーになってしまいます。
そこで、platform-tools にあるadb.exeとAdbWinApi.dllを tools フォルダに
コピーするとエミュレータが正常に動作します。
◎サンプルアプリの作成
Buttonを押したら、TextViewに会社が表示され、editTextに奥進システムが表示し、
Button名を表示に変更するアプリを作成してみましょう。
1.「ファイル」メニュー>新規>プロジェクトを選択する。
2.新規プロジェクトのダイアログが表示する。
  AndroidのAndroidプロジェクトを選択し、「次へ」をクリックする。
3.プロジェクト名:hellooku
    【内容】
  「ワークスペース内に新規プロジェクトを作成」を選択する。
  「デフォルト・ロケーションを使用」をチェックする。
  「ビルドターゲット」Android2.2をチェックする。
  アプリケーション名:Hellooku
  パッケージ名:jp.co.okushin.android.hellooku
  Create Activity:HellookuActivity
  Min SDK Version:8
  に設定して「完了」をクリックする。
4.レイアウトの作成
  hellooku/res/layout/main.xmlを編集します。
  上記ファイルをクリックすると、Graphical Layoutタブが出てきますので、
  そこで画面レイアウトを作成します。TextViewを配置して、Plain Text(editText)を配置して、
  Buttonを配置します。ここで、main.xmlを保存しますが、
  これだけでは、配置した部品にIDが振られていない状態となり、
  実行しようとしても実行時にエラーとなります。
  そこで、main.xmlを修正した場合は、プロジェクト->プロジェクトのビルドを実行してください。
  この操作により、 hellooku/gen/jp.co.okushin.android.hellooku/R.javaのIDが自動で生成されます。

続きを読む androidアプリをEclipseで作成しました。

Posted on

AndroidアプリをApp Inventorで作成してみました。

【環境】
OS Windows 7 professional
【準備】
(1)JDKのインストール
1.ORACLEの公式ページからjdk-6u25-windows-i586.exeをダウンロードする。
2.jdk-6u25-windows-i586.exeを実行してJDKをインストールします。
3.Windows7の環境変数PathにC:\Program Files\Java\jdk1.6.0_25\binを追記します。
4.Windows7の環境変数JAVA_HOMEを新たに作成し、C:\Program Files\Java\jdk1.6.0_25を作成します。
(2)App Inventorのインストール
1.Windows Setup – App Inventor for Android よりappinventor_setup_installer_v_1_2.exeをダウンロードします。
2.appinventor_setup_installer_v_1_2.exeを実行してApp Inventorをインストールします。
3.インストールが完了しましたら、http://appinventor.googlelabs.com/へアクセスします。
 表示されない場合は、更新を押してください。※Gmailのアカウントが必要です。
4.DesignerとBlocks Editorにてプログラムを作成します。(雑誌や、チュートリアルのサンプル参考)
5.プログラムの作成が完了したら、New emulatorでAndroidエミュレータを起動
6.Connect to Deviceで立ち上がっているAndroidエミュレータを選択すると、プログラムがエミュレータにインストールされます。
7.動作確認して完了となりました。
(3)実機へインストール
1.HTC Desire SoftBank X06HTへアプリケーションをインストールしました。
2.HTC Desire SoftBank X06HTの設定として、設定->アプリケーション->不明な提供元をチェックします。
 また、設定->アプリケーション->開発->USBデバッグをチェックします。
3.HTC Desire SoftBank X06HTの公式サイトより、HTC Sync.exeをダウンロードし、インストールします。
4.App InventorのDesignerの右にあるpackage for Phoneをクリックし、Download to this Computerを選択します。
 xxxxxx.apkファイルが作成されます。
5.HTC syncで、[アプリケーションインストーラ]->[次へ]で、[参照]からインストールするapkファイルを選択します。
6.これで実機で動作すれば完成になります。
【感想】
App Inventorは取っ付き易いツールです。お試しなアプリケーション作成には、丁度よいツールだと思います。
しかし、もっと検証が必要だとおもいますが、業務アプリを作成するのには向いていない感じがします。