2009年8月17日月曜日

 

WordPerss 2.8+XREAでの管理画面レイアウト崩れの事

XREAやCoreServerで発生する、PHP-CGIモードの副作用。「header()」を使ってる為、CSSを読み込めない様。
なので、CGIモードの動作を限定的にする。
また、2.8以降でスクリプト処理のスピードを向上させた代わりにメモリ使用量が増え、CGIモードではメモリ不足になり正常に作動しなくなることも一因である。
これを「wp-config.php」で無効にする。
以下が設定の全てである。

.htaccess

XREA・CORESERVER.JP にて CGIモードで動かす場合(まとめ) - WordPress Codex 日本語版
/* XREAサーバでWPディレクトリ内に配置する「.htaccess」 */

<files async-upload.php>
AddHandler application/x-httpd-phpcgi .php
</files>
<Files plugin-install.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files update.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files update-core.php>
AddHandler application/x-httpd-phpcgi .php
</Files>

wp-config.php

セーフモード対策 - WordPressをxreaにインストールする
/* wp-config.php */
define( 'CONCATENATE_SCRIPTS', false );

この「.htaccess」は、以前紹介したPHPを個別にCGIモードで動作させ高速化する為の「.htaccess」と共通部が多いのでそちらを採用。

調べるに、「.htaccess」の方はすぐ見付かったがレイアウト崩れは解消されなかった。CGIモードのメモリ不足はレアケースなのだろうか。プラグインなどにも依存するのだろうか。

参考

xreaでWordPressを利用する時の.htaccess記述例 - デジコム
※リンク切れ

ラベル:


2009年8月11日火曜日

 

【PHP】cURLでCookieとかSSLサイトにログインや投稿

結論から言うと、自分がやりたいことは出来ませんでしたよー。
SSL領域のユーザ画面にログインして編集するのが目的だったが、取得できたページ内容はサイトの表示するエラーページだった。 USER_AGENT設定してみたりしたが、携帯アクセス禁止のサイトだからユーザのIPアドレスで振り分けてるのだろうか。
手詰まり。

以下の設定をつけるとSSLサイトでもいけるようだ。

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); // サーバ証明書検証をスキップ
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); // サーバ証明書検証をスキップ

OpenSSLが有効になってる必要があるらしいのでphpinfo()でパスが通ってるか確認。(XREAレンタルサーバは使える)

Cookieを使ってログイン認証をしている場合は以下のような感じで出来たはず。

/* Cookie を使ったログイン認証 - ログイン*/
  $params = array('user' => 'UserName', 'password' => 'pass0123');

  $fp = fopen("tmp", "w");
  $ch = curl_init("https://example.com");
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie");
  curl_setopt($ch, CURLOPT_POST, TRUE);
  curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
  curl_setopt($ch, CURLOPT_WRITEHEADER, $fp);  
  $output = curl_exec($ch);
  fclose($fp);
  print_r(curl_getinfo($ch));
  curl_close($ch);

  print "CURL OUTPUT:\n{$output}\n";

ログイン後のページにPOST。

/* Cookie を使ったログイン認証 - 投稿 */
  $params = array('title' => 'Test', 'text' => 'Hello!');

  $ch = curl_init("https://example.com");
  curl_setopt($ch, CURLOPT_AUTOREFERER, TRUE);
  curl_setopt($ch, CURLOPT_HEADER, TRUE);
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
  curl_setopt($ch, CURLOPT_COOKIEFILE, "tmp");
  curl_setopt($ch, CURLOPT_POST, TRUE);
  $output = curl_exec($ch);
  print_r(curl_getinfo($ch));
  curl_close($ch);
  print "CURL OUTPUT:\n{$output}\n"; 

「tmp」ファイルにCookieの内容が書き込まれる。セーフモードの場合は事前に作成して権限変更する。

/* その他cURLのオプション */
  curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // サーバが HTTP ヘッダの一部として送ってくる "Location: " ヘッダの内容をたどる
  curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); // HTTP リクエストで使用される "User-Agent: "  ヘッダの内容。
  curl_setopt($ch, CURLOPT_REFERER, 'http://example.com/'); // HTTP リクエストで使用される "Referer: "  ヘッダの内容

参考

curlによるSSL sample - rings100's プログラミング
PHPセキュリティ対策:SSL通信を行う - ぱふぅ家のホームページ

関連

Wassr APIをPHPから - さぼてん:2009年3月27日
クローラのためのライブラリ - さぼてん:2008年8月20日

ラベル:


2009年8月5日水曜日

 

【WordPress】カスタムフィールドを取得する関数 - get_post_meta()

/* カスタムフィールドを取得する関数 get_post_meta() */
get_post_meta($post_id, $key, $single);
$post_id…投稿記事のID
$key…カスタムフィールドで指定したキー文字列
$singletrue:単一結果の文字列を取得 / false(default):カスタムフィールドの配列を取得

ラベル:


 

【WordPress】不動産物件掲載サイトの構築(※追記)【オープンソース】

WordPress

word press プラグイン - ihouseflorida.com
不動産サイトを作るプラグイン。
Google Maps for WordPress日本語版 - ある日の小さなつぶやき
DMSGuestbook - WordPress
Contact Form 7 (日本語) - iDeasilo
Great Real Estate - WordPress
「Great Real Estate」に必要なプラグイン。
NextGEN Gallery - WordPress
wordTube - WordPress
FPP-Pano - WordPress
WP-DownloadManager - WordPress
All in One SEO Pack - WordPress
条件付検索を行うプラグイン - WordPress
※追記:2009/08/17
Great Real Estate» WordPress Plugins » Great Real Estate plugin for WordPress Great Real Estate plugin for WordPress
Quick Start Guide
不動産だと複数のカスタムフィールドを検索対象にするかと思うので適さないかもしれません。
~(中略)~
WordPressの場合、検索対象のカスタムフィールドが複数ある場合、検索対象のカスタムフィールドの数の分LEFT JOINを繰り返すことになります。
~(中略)~
そのため速度や負荷の面でかなり疑問符が付くので、解決・検証に手間が掛かります。
~(中略)~
不動産モジュールの存在するXoopsを使う。どうしてもWordPressを使いたいのならば、別に不動産管理システムを作ってくっつけることを考えたほうが自分には良い気がします。
気仙沼/みちのく建設・アパート&マンション賃貸情報
カスタマイズプラグインを使わないWordPressの機能だけで構築。

XOOPS

不動産モジュールの作り方 - XOOPS.JP
CosmoDB - CosmoDB Official
XOOPSモジュールCosmoDBは汎用データベースシステムで、データ項目での絞り込みなど検索機能を使って不動産DBを扱えるようカスタマイズする。
pico 1.81b - PEAK XOOPS
静的ページコンテンツを作成するモジュール。 picoとは? ~インストール後~ -
picoって何? - うさぎにもできるXOOPS Cube入門♪
GnaviD3 - +DA-Studio XTR
GoogleMap APIをXOOPSに組み込むモジュール。GoogleMapと画像やテキスト、カテゴリの情報を組み合わせられる。(これをカスタマイズした不動産モジュールも開発中)
Gnavi ダウンロード

CMS Drupal

Drupal(ドルーパル)公認日本サイト
PHPのオープンソースのCMS。
新らしいコンテンツタイプの作成 - Drupalブック
DrupalでCCKモジュールを使って不動産DBにカスタマイズ。

CGI AmigoDatabase

AmigoDatabase - CGI DE アミ~ゴ!!
不動産・賃貸物件で無料のCGIとしては一番カスタマイズ性や汎用性があるらしい。
AmigoDatabaseカスタマイズノート - CGI-Search ※追記:2009/08/20
AmigoDatabase - with_you あなたもHpを持とう
サンプル
AmigoDatabase簡易設定法
AmigoDatabaseの各ファイルの概略解説
システムや変数など構成の説明があるのでカスタム時に参照。

ラベル: ,


 

【WordPress】カスタマイズ - データベースへアクセスする関数

WordPressの関数を使ってDBにクエリを渡して結果を取得する。
テーブル「wp_test」から、カラム「test01~04」を取得。

/* DBからフィールドを取得 */
< ?php
  $sql = "SELECT * FROM wp_test";
  $value =$wpdb->get_results($sql);
  foreach($value as $data):
    echo $data->test01;
    echo $data->test02;
    echo $data->test03;
    echo $data->test04;
  endforeach;
?>

WordPressに独自のテーブルを追加してカスタマイズする時なども簡単にはこれで可能。

参考

CMSとしてのWordPress - WordPressカスタマイズメモ

ラベル:


 

【XREA】PHPを個別にCGIモードで動作させ高速化する為の「.htaccess」【WordPress】

/* wp-admin/.htaccess */

 <files setup-config.php>
 AddHandler application/x-httpd-phpcgi .php
 </files>
 <files async-upload.php>
 AddHandler application/x-httpd-phpcgi .php
 </files>
 <files update-core.php>
 AddHandler application/x-httpd-phpcgi .php
 </files>
 <files admin.php>
 AddHandler application/x-httpd-phpcgi .php
 </files>
 <files update.php>
 AddHandler application/x-httpd-phpcgi .php
 </files>
 <files edit.php>
 AddHandler application/x-httpd-phpcgi .php
 </files>
 <files plugin-install.php>
 AddHandler application/x-httpd-phpcgi .php
 </files>
 <files plugins.php>
 AddHandler application/x-httpd-phpcgi .php
 </files>

参考

xreaでWordPressを利用する時の.htaccess記述例 - デジコム

ラベル:


2009年8月3日月曜日

 

【PHP】Qdmail

Qdmail - PHP::Mail Library , Quick and Detailed for Multibyte
ダウンロード

日本語、又はそれ以外の言語のマルチバイトメール対応、携帯デコメール対応、オブジェクトによる簡単な操作、文字コード判別・MIME判定を自動で行う等々…
様々な機能が1つのファイルを読み込むだけで可能。各主要フレームワークにも対応。

関連

Qdmailは使うときだけnewするかvar $is_qmailを変更しよう (特にCakePHPで使う場合) - akiyan.com
日本語メールを送信するためプラグイン - jpSimpleMailPlugin - さぼてん:2009年7月30日

ラベル:


2009年8月1日土曜日

 

【WordPress】カスタムフィールド・プラグイン - Custom Field GUI Utility

カスタムフィールドの使い方 - WordPress Codex 日本語版

カスタムフィールドとは、投稿記事に情報(メタデータ)を付加できる機能。
本文とは別に投稿記事に「タイトル」「URL」「評価」「コメント」「キャプチャ画像」などを登録できる。
これにより、投稿者が毎回レイアウトを調整することなく定型のレイアウト(テンプレート)を利用して投稿することができる。

レシピブログやレビューブログなど役立ちそうだが、これをもっと簡単にプラグインを使って活用する。

Custom Field GUI Utility - WordPress プラグイン - かたつむりくんのWWW
WordPressのカスタムフィールドで選択した大分類によって小分類の内容を変えるカスタマイズ
-カスタムフィールドにカテゴリ・サブカテゴリを追加する方法。

ラベル:


This page is powered by Blogger. Isn't yours?

登録 投稿 [Atom]

Google