jisとiso-2022-jpの違い

mb_convert_encoding関数においてiso-2022-jpとjisでは意味が違うらしい。

結論から言うとiso-2022-jpは半角カナに対応しておらずjisは対応している。
だからmb_convert_encoding($str,”jis”)と書くほうが無難。

さらにmb_encode_mimeheaderでエンコードするときもmb_encode_mimeheader($str,”jis”)と書いてあげないと半角カナが化ける結果になる。
これに気づかないとメール送信などではまる

検証

// 半角カナが無いエンコードでは同じ結果
echo base64_encode(mb_convert_encoding(“漢字ひらがなカタカナ”,“iso-2022-jp”));
// GyRCNEE7eiRSJGkkLCRKJSslPyUrJUobKEI=

echo base64_encode(mb_convert_encoding(“漢字ひらがなカタカナ”,“jis”));
// GyRCNEE7eiRSJGkkLCRKJSslPyUrJUobKEI=

// 半角カナがあるエンコードでは違う結果
echo base64_encode(mb_convert_encoding(“漢字ひらがなカタカナハンカク”,“iso-2022-jp”));
// GyRCNEE7eiRSJGkkLCRKJSslPyUrJUobKEI/Pz8/

echo base64_encode(mb_convert_encoding(“漢字ひらがなカタカナハンカク”,“jis”));
// GyRCNEE7eiRSJGkkLCRKJSslPyUrJUobKElKXTY4GyhC

// 逆の処理をするとiso-2022-jpは化ける
echo mb_convert_encoding(base64_decode(“GyRCNEE7eiRSJGkkLCRKJSslPyUrJUobKEI/Pz8/”),“utf-8”,“iso-2022-jp”);
// 漢字ひらがなカタカナ????

echo mb_convert_encoding(base64_decode(“GyRCNEE7eiRSJGkkLCRKJSslPyUrJUobKElKXTY4GyhC”),“utf-8”,“jis”);
// 漢字ひらがなカタカナハンカク

// jisにエンコードたものをiso-2022-jpからデコードすると化けない
echo mb_convert_encoding(base64_decode(“GyRCNEE7eiRSJGkkLCRKJSslPyUrJUobKElKXTY4GyhC”),“utf-8”,“iso-2022-jp”);
// 漢字ひらがなカタカナハンカク

そもそもiso-2022-jpとは

JIS規格によって規定されている日本語の文字コードの一つ。
iso-2022-jpは7ビットで表現されているため、欧米などで開発された8ビット目を無視する電子メールシステムでも問題なく使用することができる。
このため、電子メールでの日本語送受信はiso-2022-jpによって行うことが事実上の標準となっている。

DETAILS

http://www.systemexpress.co.jp/php/iso-2022-jp.html

[confrim] button display in wordress

▼「確認」ボタンの表示の件につきまして
二つお問い合わせフォームページの場合、
page path設定方法は下記のとおりです。

‘path’ : [‘/contact/’,’/job_contact/’],

ファイル:/wp-content/themes/cs/js/js/contact-form-7-confirm.js

Get or Post variable value display as default in contact-form-7 wordpress

入力項目のデフォルト値は通常フォームタグの値の部分から得られますが、これをフォームが置かれている文脈から取得することが可能です。

それには、フォームタグに default:{source} オプションを追加して、デフォルト値を取得したいデータソースを指定します。利用可能なデータソースは、get (HTTP GET 変数)、post (HTTP POST 変数)、そして post_meta (カスタムフィールド) です。また、ログインユーザーの情報も利用可能です。

例として、”your-name” を名前に持つ項目があるとします:

[text* your-name]

ここで HTTP GET 変数からデフォルト値を得るには、default:get オプションをフォームタグに追加します:

[text* your-name default:get]

これで、この項目はデフォルト値を、同じ名前 (“your-name”) を持った GET 変数から取得するようになります。フォームがあるページの URL にクエリー文字列を加えてアクセスしてみましょう:

http://example.com/contact/?your-name=John+Smith

問題なく動いていれば、当該項目に「John Smith」と入力されているはずです。

同様のロジックで、フォームタグに default:post_meta オプションが指定されていて、フォームを含んだページに “your-name” という名前のカスタムフィールドが設定されている場合に、そのカスタムフィールド値がデフォルト値になります。

では、単一のフォームタグに2個以上 default オプションが指定された場合はどうなるでしょう。次のフォームタグの場合を考えてみましょう:

[text* your-name default:get default:post_meta "Your Name"]

このフォームタグは2個の default オプションと値 “Your Name” を持っています。オプションは前から順に評価されます。この例では、default:get が最初に評価されます。もし GET 変数 “your-name” に値があればそれがデフォルト値に使われます。その値が空の場合は、次に default:post_meta が評価されます。どちらのオプションにも値がない場合は、”Your Name” が使われることになります。

 

more about contact form 7 click here

画像認証(CAPTCHA) in php form

Captcha adding in form

=======================

index.php

——————————————

//ランダムコード取得
$rand_code = rand();
$smarty->assign(“rand_code”,$rand_code);

index.tmpl (smarty)

——————————————

<tr>
<th>画像認証<span class=”red”>※</span></th>
<td>
<img src=”../captcha/captcha_code_file.php?rand={$rand_code}” id=”captchaimg” ><br /><br />
<label for=”message”>上記の文字列を入力してください。</label><br/>
<input style=”height:20px; font-size:18px;” id=”6_letters_code” name=”6_letters_code” type=”text”>
</td>
</tr>

————————————–

check.php

——————————————–

check the match and validation of entered captcha code.

details zip file Download

 

WordPressの自動アップグレードを表示させない方法

File: WordPressテーマのfunctions.php

============================

or create a plugin

===============================

WordPresのバージョンが2.3系~2.7系の場合

1
2
add_action( 'init', create_function( '$a', "remove_action( 'init', 'wp_version_check' );" ), 2 );
add_filter( 'pre_option_update_core', create_function( '$a', "return null;" ) );

WordPresのバージョンが2.8系~2.9系の場合

1
2
3
remove_action( 'wp_version_check', 'wp_version_check' );
remove_action( 'admin_init', '_maybe_update_core' );
add_filter( 'pre_transient_update_core', create_function( '$a', "return nul

WordPresのバージョンが3系以降の場合

1
add_filter( 'pre_site_transient_update_core', create_function( '$a', "return null;" ) );

WordPresのバージョンが3系以降の場合のコードの書き方として、

1
add_filter( 'pre_site_transient_update_core', '__return_zero' );

Low disk space alert bash script

Linux command

========================

cd /home/

vi disk_space_alert.sh

write into this bash script as follows

=========================

#!/bin/bash
#Define Variable
LIMIT='90'
DOMAIN=$(hostname)
DIR='/var/www'
MAILTO='hanamitsu_makoto@number-1.co.jp,saiful_takeshi@number-1.co.jp'
SUBJECT="Disk Usage Alert[$DOMAIN]"
#Command section
cd $DIR
USED=`df . |awk '{print $5}' | sed -ne 2p | cut -d"%" -f1`
DIRLIST=`du -sh ${DIR}/*`
if[ $USED -gt $LIMIT ]
then
 mail -s "$SUBJECT" $MAILTO <<EOF
 Hostname: $DOMAIN
 Your current used disk space is: $USED%
 Directory:${DIR}/*
 Details:
 $DIRLIST
DateTime: $(date)
EOF
fi

==========================

save file commadn

===========

😡

make the file as executable

========================

chmod +x disk_space_alert.sh

run this file

============

sh disk_space_alert.sh

 

 

corntab file

==============

#毎日10時00分に実行する
#ユーザー:root
00 10 * * * root /home/disk_space_alert.sh

 

zip file download 

 

WordPressで複数サイトで記事共有

PHP CODE

================

/*
* Remote wordpress database information settings
*/

define(‘MULTI_DB_HOST’,’default_remote__db_host’);

define(‘MULTI_DB_NAME’,’default_remote_db_name’);

define(‘MULTI_DB_USER’,’default_remote_db_user’);

define(‘MULTI_DB_PASS’,’default_remote_db_pass’);

define(‘MULTI_DB_PREFIX’,’default_remote_db_table_prefix’);

function use_database(){

global $wpdb;

$wpdb = new wpdb(MULTI_DB_USER, MULTI_DB_PASS, MULTI_DB_NAME, MULTI_DB_HOST);

$wpdb->set_prefix(MULTI_DB_PREFIX);

}
/*

* FOR DEACTIVATE JUST PUT # IN FRONT OF THE LINE

* Example For Deactivate: #add_action( ‘init’, ‘use_database’ );

* Example For Activate: add_action( ‘init’, ‘use_database’ );

*/

#add_action( ‘init’, ‘use_database’ );

 

README

================
* Remote wordpress database information settings<br />
* まずは、コンテンツを表示したいリモートWPサイトのデータベース情報を設置します。 <br />
*/<br />
<br /><br />

//リモートWPサイトのデータベースホスト名<br />
define(‘MULTI_DB_HOST’,’default_remote__db_host’);<br />
<br /><br />
//リモートWPサイトのデータベース名<br />
define(‘MULTI_DB_NAME’,’default_remote_db_name’);<br />

<br /><br />

//リモートWPサイトのデータベースゆーざー名<br />
define(‘MULTI_DB_USER’,’default_remote_db_user’);<br />
<br /><br />

//リモートWPサイトのデータベースパスワード<br />
define(‘MULTI_DB_PASS’,’default_remote_db_pass’);<br />
<br /><br />

//リモートWPサイトのデータベーステーブルプレフィックス<br />
define(‘MULTI_DB_PREFIX’,’default_remote_db_table_prefix’);<br />

<br /><br />

//関数(編集しないでください。)<br />
function use_database(){<br />

global $wpdb;<br />

$wpdb = new wpdb(MULTI_DB_USER, MULTI_DB_PASS, MULTI_DB_NAME, MULTI_DB_HOST);<br />

$wpdb->set_prefix(MULTI_DB_PREFIX);<br />

}<br />

<br /><br />
/*<br />
* FOR DEACTIVATE JUST PUT # IN FRONT OF THE LINE<br />
* Example For Deactivate: #add_action( ‘init’, ‘use_database’ );<br />
* Example For Activate: add_action( ‘init’, ‘use_database’ );<br />
*/<br />

<br /><br />
//①上記の関数Activateする<br />
add_action( ‘init’, ‘use_database’ );<br />
<br /><br />
//②上記の関数Activateしない<br />
#add_action( ‘init’, ‘use_database’ );<br />

<br /><br />

▼重要<br />
全体的にこのプラグインをDeactivateする前に<br />
必ず上記の関数をActivateしない②ように設定し、<br />
プラグインの[Deactivate]リンクをクリックしてください。<br /><br />

②ように設定しないでDeactivateリンクをクリックすると<br />
Activateされたまま使っているリモートデータベースが更新されます。<br />
それで、本データベースを更新するために必ず「Edit」リンクをクリックして<br />
プラグインファイルにあるadd_action()関数をコメントアウトするのが必要です。<br />

<br /><br />
※同じようなActivateする前にも<br />
必ずリモートデータベース情報設置し、<br />
add_action()関数(①)をactivateするのが必要となります。<br />

<br />

Download plugin ZIP file >> Download

==================================

MODIFIED

wp admin panel and front page are using different DATABASE

==============================================

/*
* Remote wordpress database information settings
*/

define(‘MULTI_DB_HOST’,’mysql577.phy.lolipop.jp’);

define(‘MULTI_DB_NAME’,’LAA0238683-ckpjfk’);

define(‘MULTI_DB_USER’,’LAA0238683′);

define(‘MULTI_DB_PASS’,’7Vg8kqft’);

define(‘MULTI_DB_PREFIX’,’wp1_’);

define(‘MULTI_DB_PREFIX_SP’,’wpsp_’);

function use_database(){
global $wpdb;
$wpdb = new wpdb(‘LAA0238683’ , ‘7Vg8kqft’,’LAA0238683-ckpjfk’,’mysql577.phy.lolipop.jp’);

if($_SERVER[‘SCRIPT_NAME’]==’/wp-login.php’ || (preg_match(“/^\/wp-admin/”, $_SERVER[‘SCRIPT_NAME’]))){
$wpdb->set_prefix(MULTI_DB_PREFIX_SP);
//echo “smartphone”;
}else{
$wpdb->set_prefix(MULTI_DB_PREFIX);
//echo “honban”;
}
}

/*

* FOR DEACTIVATE JUST PUT # IN FRONT OF THE LINE

* Example For Deactivate: #add_action( ‘init’, ‘use_database’ );

* Example For Activate: add_action( ‘init’, ‘use_database’ );

*/

add_action( ‘init’, ‘use_database’ );