Web System
lib/dartsdic.cpp の 180 行目付近を下記のように変更 while (i != entries->end()) { const std::string& key = i->first; last = entries->upper_bound(key); lex_indices.clear(); for (; i != last; i++) { lex_indices.push_back(i->second); } lens[si…
レンタルサーバdreamhostを日本語環境で利用する際の時間の設定です。 zshでもbashでもだいじょうぶ。 export TZ='Asia/Tokyo' export LANG='ja_JP.UTF-8' export EDITOR='/usr/bin/vim'
リストの横にとかちっちゃくかわいくブログのサムネイルとか入れたいじゃないですか。そんな時に下記のテンプレートを利用してください。setvarsに有効のサムネイルURLを投げ入れてそれを表示しています。有効ではない場合は定められたアイコンが入力されま…
実用レベルに耐えられるようなmovabletypeのパンク図(ぱんくず)のテンプレートが思ったものが見つけられなかったので作りました。何らかのお役に立てればと思います。 <a href="<$mt:blogURL$>">HOME</a> &gt; <$mt:ParentFolders glue=">"$> <a href="<$mt:BlogURL$><$mt:FolderPath$>/"><$mt:FolderLabel$></a> </mt:ParentFolders> <$mt:unless name="base…
以前に紹介した ext.network.mail.Gmail を使ってviewsのテンプレートなどを使ってメールを送信する方法をまとめておきます。 require('__init__.php'); Rhaco::import('generic.Views'); Rhaco::import('ext.network.mail.Gmail'); $v = new Views(); $gmai…
ColumnObjectからvariablesに変換するmethodがおそらく無いので作りました(あったら教えてください)。$columnObj->userSeiRubi のように変換されたcolumn objectを $request->variables['user_sei_rubi'] のように変換することができます。使い方は array co…
project.xmlに書いたchoicesなどのデータを取り出したいことがありますよね。そういう時は下記のようにして取り出します。Usersテーブルのprefのchoices一覧を取り出す方法です。 Rhaco::import('model.Users'); var_dump( Users::columnPref()->choices() )…
rhaco1からgmailを送信するのが本当に面倒だったので全部まとめてライブラリにしました。 設置が結構面倒くさいです。下記をDOWNLOADします。rhaco1-gmail.zip中にはGmail.phpとphpmailer.phpとsmtp.phpが入っています。 phpmailerはあのPHPMailerです。利用…
RequestLoginクラスは思った以上に拡張性がなかったので拡張しました。 http://api.rhaco-users.jp/d8/dd3/RequestLogin_8php-source.htmlデータベースにはusersテーブルにemail, passwordが必要という設定です。ログイン状態を保存するという機能を実装する…
意外となかったのでテンプレートに使ってください。 <data caption="北海道">1</data> <data caption="青森県">2</data> <data caption="岩手県">3</data> <data caption="宮城県">4</data> <data caption="秋田県">5</data> <data caption="山形県">6</data> <data caption="福島県">7</data> <data caption="茨城県">8</data> <data caption="栃木県">9</data>
bool beforeUpdate(database::DbUtil)Views::update() 実行時にupdateSQLが実行される前に実行される。 bool beforeInsert(database::UbUtil)Views::create() 実行時にinsertSQLが実行される前に実行される bool afterUpdate(database::UbUtil)Views::update…
jpegのサムネイルを作成しようと思ったときにいろいろなライブラリがありすぎて、なにぶんtoo muchなのです。単純にjpegの正方形を作りたいだけななのに意外とよいものがない。 というわけで作りました。 使い方は bool jpeg_thumbnail($source, $dest, $siz…
function verify(&$db){ ExceptionTrigger::raise(new GenericException('This is Error message.', 'xxx')); return false; } Exceptionクラスの詳細は http://api.rhaco-users.jp/d5/da8/classExceptionTrigger.html少ないrhacoの情報ですがかろうじて詳細…
<project> <cookie expire="123456" /> </project> cookie expire="" の一行を追加してやるだけです。 かんたんです。
samba serverの設定がややこしいので分かりやすくまとめてみた。 設定のポリシーは下記のとおりです。・ /etc/samba/smbpasswd でパスワード管理する ・ /mnt のデータをsambaとして公開する/etc/samba/smb.conf [global] workgroup = workgroup netbios nam…
lsyncによるファイル同期システムの構築方法をメモがてらに。エンドユーザが使うサービスdropboxのように非常に小規模のバックアップシステムとして利用が可能です。その他、大規模なシステムのコンテンツ共有の手段としても非常に有効です。 30分もあれば構…
Movabletype4のテンプレートの作り方は非常に多くのパターンがあるかと思いますが多くのサイトを作ってきて一番最適な方法がそれぞれにはあると思います。おいらの方法をメモがてらに乗っけておきます。ウェブページテンプレート(上部のみ) <$mt:SetVars$> t…
もう名前が分からないだけで作業が30分も遅れた。これはどうかな??この文字列をなんと呼べばいいかが分からなかった。呼び名はHTMLエンティティ。まったく。エンコードはUTF8であるがアスキーでもないしなーなんだろーなーと。phpではhtml_entity_decodeで…
EC-CUBEはかしこいのかかしこくないのかいつもわかりません。その中でもタグの許可を設定するだけでも結構大変です。EC-CUBEの商品記事のタグを増やす方法をご紹介します。何かのためになれば。1.データベースのテーブル「mtb_allowed_tag」をいじります。…
EC-CUBEのカスタマイズも非常に簡単でよいのですがメールの送信設定がむちゃめんどーくさい。sendmailで何度設定してもうまくいかないのでsmtpでメールを送信することにしました。 ec-cubeのdefaultがsmtpでの送信になっているので推奨ということなのでしょ…
Google map APIは本当に便利です。かゆいところにも手が届くようになっています。 Javascriptと基本的なHTMLの知識さえあれば誰でもGoogle mapを自由に操れます。 1.Google map apiのキーを取得する。 http://code.google.com/intl/ja/apis/maps/signup.ht…
住所から緯度経度を調べるサービス(http://www.geocoding.jp/ など)がありますが、サービスを通さずに簡単に住所→緯度経度を検出できます。実際はGoogleにどこも頼っているわけですし。どこもここを参照するわけです。Google map api なんでわざわざ他のサー…
Chasenの辞書を作るのに結構てこずったのでメモにしておく。1.オリジナル辞書の準備 辞書の元となるファイル(ここではmydic.chaとして)の作成。改行コードは(LF), 文字コードは(EUC-JP) 、Chasenの環境に合わせる(echo $LANGなどで確認)辞書ファイルフォー…
ChasenをPHPから利用する方法です。MeCabのほうが速いけどChasenが入っているレンタサーバのほうが多いみたいなので結構需要はあるんじゃないかなと思います。Chasenが /usr/local/bin/chasen にあるとして下記のfunctionで利用できます。Chasenエンジン側は…
Rhaco::import('network.http.Http'); $url = 'http://www.kmusiclife.com/'; $headers = array( 'User-Agent'=>'Mozilla/5.0', 'abc'=>'postdata' ); list($head, $body) = Http::request($url, 'POST', $headers); echo $body; rawdataを送りたいときは Rh…
AmazonをPHPのライブラリPEARから使う方法です。APIの変更が多くあるAMAZONなので今のところはこれでAPIの利用が可能です。下準備としてhttp://aws.amazon.com/よりアカウントを取得してAccess Key IDとSecret Access Keyを取得します。 http://aws.amazon.c…
Criteriaクラスを使ったORマッパーは非常に柔軟でプログラマのミスを減らしてくれたりしますが、SQLをダイレクトに書いたほうが早いことはあります。奨励はされませんが、まぁ分かりやすいこともあって使うことも多々あるかと思います。project.xml
project.xmlでrequire="true"になっている場合はupdateの際にrequireの項目にダミーデータを入れてあげてください。ダミーを入れないとエラーが出ます。その他unique="true"が設定されている場合はuniqueのカラムにダミーを入れたTableObjectを作成しQ::equa…
rhacoでのdeleteの仕方を書き忘れていました。INSERT, SELECT, UPDATEができればDELETEはかんたんだお。project.xml <project rhacover="1.6.1" version="0.0.1" name="rhaco_test" xmlns="http://rhaco.org" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://rhaco.org http://m.rhaco.org/xsd/project_1_6_x.xsd"> <…</project>
xmlだけではなくhtmlも強力にパースするライブラリさん。 phpでスクレイピングするならrhacoが最適です。こんな便利なものはありません。 <xmp> <?xml version="1.0" encoding="UTF-8"?> <user> <id>3724581</id> <name>Yuta Konishi</name> <screen_name>kmusicl</xmp>…