imagefilterにはまる

imagefilter
http://www.php.net/imagefilter

PHP5以上だと、画像をグレイスケールやらいろいろいじれる、便利なimagefilter関数(GD必須)が使えます。
その中に、画像をモザイク化してくれる、IMG_FILTER_PIXELATEモードが存在し、いろいろやっても、どうにも動かない。って状態になりました。

バージョン的には、PHP5って書いてあるし、動くはずだよな~。しかし表示されるエラーは、

Warning: imagefilter() expects parameter 2 to be long, string given in /hogehoge/mosaic.php on line xxx

そんなのねえYOってPHPからのエラーメッセージで、いろいろ調べていたら、こんなのにぶち当たりました。

定義済み定数
http://php.plus-server.net/image.constants.html

IMG_FILTER_PIXELATE
magefilter()関数で使用する特別な GD フィルタ (PHP 5.3.0 以降で使用可能)。

・・・そりゃ、PHP5.2系じゃ動かないよね・・・orz
imagefilterの説明にも書いておいてほしかったな・・・。PHP5.3.0以降だよって・・・。

フォーム入力用のWYSIWYG

jWYSIWYG
http://projects.bundleweb.com.ar/jWYSIWYG/

jQueryを用いた、軽量なWYSIWYG。
ちょこっと使用したい場合などに最適。
入力内容の保存タイミングに、少しだけ難があるので、メソッドを追加してコントロールすると吉。

以下170行目あたりに追加してみた。

        save : function()
        {
            var self = $.data(this, 'wysiwyg');
                var content = self.getContent();
                self.setContent(content);
                self.saveContent();
        },

        reset : function()
        {
            var self = $.data(this, 'wysiwyg');
                self.setContent( $(self.original).val() );
                self.saveContent();
        },

resetの方は、自分でJSで送った内容を反映させるためのコード。

汚いけど、実際使うとこんな感じ。

(管理画面でアップロード済みの任意のリンク付き画像をWYSIWYGで入力したかったのでやってみた。)

	$(function(){
		$("a.appImg").click(function(ev) {
			$('#wysiwyg').wysiwyg('save');
			addSrc = $(this).attr('href');
			addThumb = $(this).attr('rel');
			addTags = '<a href="' + addSrc + '" rel="' + addThumb + '" class="クラス名"><img src="' + addThumb + '" border="0" /></a>';
			tmpTxt = $('#wysiwyg').val() + addTags;
			$('#wysiwyg').val(tmpTxt);
			$('#wysiwyg').wysiwyg('reset');
			return false;
		});
	});

WYSIWYGエリアに任意のCSSを反映させるには、

	$(function(){
		$('#wysiwyg').wysiwyg({ css : 'CSSファイル' });
	});

でOK。

いつもこの手のJSベースのWYSIWYG使って思うんだけど、IEのURLとかの自動補完を何とかしてほしい・・・。仕様と言えば仕様なんだけど、勝手に変わっていて涙目になる。

なので登録するときは、リンクや画像も絶対パスになっちゃうよね・・・。

""とかが勝手に外れるのもいただけないな。

jQuery tablesorter 数値カンマ対応

tablesorter
http://tablesorter.com/docs/

jQueryのプラグインで、テーブルのソートや色づけなどを簡単に行えるようにするプラグイン。

数値がカンマ区切りされていた際に、数値として指定しても、ソートがカンマまでの値で計算されてしまうため、プチ改造。

jquery.tablesorter.js(2.0.3)の660行目

var i = parseFloat(s.replace(/,/g,”));

と変更。
あと、ほかの通貨やら±やら、そのあたりの対応のため、正規表現の修正も必要になるはずだけど、そっちはあとでやる。

VMware Server & CentOS 開発環境インストールの備忘録の備忘録

[to-R]

VMware Server のインストール
http://blog.webcreativepark.net/2009/02/14-234747.html

VMware ServerにCentOSをインストール
http://blog.webcreativepark.net/2009/02/14-235032.html

CentOSの開発環境を整える
http://blog.webcreativepark.net/2009/02/14-235542.html

viの基本的な使い方
http://blog.webcreativepark.net/2009/02/14-235825.html

だいたいいつも探す羽目になるので、メモメモ

モバイル用クローラー情報のまとめ

Google
http://googlejapan.blogspot.com/2008/05/google.html

Yahoo
http://help.yahoo.co.jp/help/jp/search/indexing/indexing-27.html

Livedoor
http://helpguide.livedoor.com/help/search/qa/grp627

Goo
http://help.goo.ne.jp/help/article/1142/

エルフノート
http://search.froute.jp/howto/crawler.html

基本的に、そこまで縛らないのであれば、User Agentで判別するとOKっぽい。
GoogleやYahooはそれぞれ

Google Googlebot-Mobile
Yahoo! Y!J-SRD/1.0 Y!J-MBS/1.0

のようなUAを出力し、その他は基本的に携帯ブラウザのUA文字列を持ったUAでアクセスしているので、そのままでOKっぽい。

また、通常サイトから携帯に向けた、情報発信用に、

Six Apart
http://www.sixapart.jp/docs/tech/mobile_link_discovery_ja.html

メタデータを埋め込む方法があるので、これもあわせて適用すると、なおOKと。

これらを適用した.htaccess(mod_rewrite)はあとで書いてみるw

Referrerから来る、Keyword Stringの設定についても、あとでアクセス解析ツールと相談してみるw

参考サイト
http://blog.livedoor.jp/ld_directors/archives/51135390.html
http://www.sin-news.com/archives/2007/09/post_120.html
http://labs.unoh.net/2007/09/post_104.html

ブラウザチェック IE

デザインなどで、各ブラウザチェックを行うときに、古いIEなどでのチェックをするためのツール。

IETester
http://www.my-debugbar.com/wiki/IETester/HomePage

アプリの上で各ブラウザのレンダリングとJSの実行結果をチェック可能。
タブで各バージョンを切り替えて表示できるのが便利。
まだβのため、バグがちょくちょくある。
Vistaや64bitOSでもOK。

Multiple IE
http://tredosoft.com/Multiple_IE

IE3~IE6のスタンドアローン版を一括でインストールできるソフト。
Vista上で動作させる場合には、結構面倒そう。
IE4なども一部dllをどこからか入手する必要あり。

Light Box系メモ

写真などのギャラリーページを構築する際に便利なLight Box系スクリプトのメモ。

以下資料

Lightboxスクリプトいろいろ
http://www.designwalker.com/2008/01/lightbox.html

Lightbox.js のような写真のスライドショーするライブラリ沢山
http://www.goodpic.com/mt/archives2/2007/03/lightboxjs.html

上の2つは、スクリプトの紹介。

Facebox
http://famspam.com/facebox

少しだけツールチップ的に表示させるのにちょうどいいかも。備考とか。

GreyBox
http://orangoo.com/labs/GreyBox/

HTMLをAjaxでオーバーレイして表示させる場合とかに便利。
リンクギャラリー的に利用ができる。

FloatBox
http://randomous.com/tools/floatbox/

意外と使いやすい。
インラインフレームで展開するので、Ajaxで呼び出すページ内のみで遷移させる場合に便利。

Windows Vista がインストールされた ThinkPad(というかLenovo)

自分で使っていたわけじゃないので、そんなに気にしていなかったんだけど、どうもえらいフォントが汚いなあと。
ちょっと調べてみた。

・・・ClearTypeがOFFやんけ!!!そりゃ、メイリオのアンチエイリアス効かないよ・・・。

って事で設定手順
コントロールパネル > 個人設定 > ウィンドウの色とデザイン > 詳細な色のオプションを設定するにはクラシックスタイルの[デザイン]プロパティを開きます > 効果 > 次の方法でスクリーン フォントの縁を滑らかにするをチェック、プルダウンからClearTypeを選択。
・・・すご~く面倒です・・・。というか、なんでデフォルトでClearTypeがOFFなのかと、小一時間問い詰めたい・・・。

Windows XP or Vistaの時計修正

1週間位の利用で10秒程度ずれてしまう、Windowsの内部時計ですが、補正タイミングが1週間に1回に通常は設定されているので、これを1時間とか1日1回に変更する方法です。

  1. ファイルを指定して実行などから、regiedit.exeを選択し、レジストリエディタを起動
  2. HKEY_LOCAL_MACHINE -> SYSTEM -> CurrentControlSet -> Services -> W32Time -> TimeProviders -> NtpClient
  3. SpecialPollInterval の値を10進数で更新したいタイミングの秒数をセット
    標準は、7日間なので、60×60×24×7=604,800
    1時間の場合は、60×60=3,600
    1日の場合は、60×60×24=86,400
  4. 時計のプロパティから、インターネット時刻で今すぐ更新してチェック
  5. 同期後次回の同期時間が設定した時間後であればOK

Movable Typeの動作環境

はい。見事にはまりました。普通に動作環境満たしていたはずなので、DBから出力している文字列がすべて文字化けしてしまったので、DBの文字コードがDBとのやり取りする部分の文字コードがずれていたか?って3時間ぐらい悩んで、インストールしなおして、MySQLが悪いならPostgreSQLにすればいいじゃない!って思ったら、8以降でないと対応していなくて、VPSで動いているサーバーなので、提供されていたバージョンが、7系までで、OSがFreeBSDだからRPM使えないし、ports取りに行って更新かけても旨く動かないし・・・悩んでいたらどうもPerlのバージョンが、5.6.1でしたとさ・・・。

最初に確認しろ!<俺!<つーか古っ

バージョンアップパッケージが、サーバー会社から提供されていたので、それを使ってバージョンアップ、ports使ってDBIなどを更新したら、何も変更しなくても、ちゃんと使えましたとさ。

たまにはあるよね???