月別アーカイブ: 2013年6月

WordPress SyntaxHighlighterでソースコード表示

ここではWordPressでソースコード表示するプラグインSyntaxHighlighterを紹介しています。

WordPewss以外で使う場合はこちら
http://office-goto.info/javascript-jquery/syntaxhighlighter/

<?php
    echo date("Y-m-d");
    print "HelloWorld";

公式サイトはこちら
http://wordpress.org/plugins/syntaxhighlighter/

プラグイン新規追加で「SyntaxHighlighter」検索でインストールできます。

使い方

phpのソースコードを表示させるには

「php」←※かぎ括弧は半角で入力

    echo date("Y-m-d");
    print "HelloWorld";

「/php」

このように記述すれば

    echo date("Y-m-d");
    print "HelloWorld";

このように表示されます。

オプション

「php firstline=”5″」

    echo date("Y-m-d");
    print "HelloWorld";

左の開始行番号が設定できます。

「php light=”true”」

    echo date("Y-m-d");
    print "HelloWorld";

行番号を非表示にできます。

「php highlight=”2″」

    echo date("Y-m-d");
    print "HelloWorld";

設定した行の色を変えることができます。
複数指定する場合「highlight=”1,2,3″」とコンマで区切ってください。

「php collapse=”true”」

    echo date("Y-m-d");
    print "HelloWorld";

折りたたんで表示できます。

対応言語一覧

Brush name Brush aliases
ActionScript3 as3, actionscript3
Bash/shell bash, shell
ColdFusion cf, coldfusion
C# c-sharp, csharp
C++ cpp, c
CSS css
Delphi delphi, pas, pascal
Diff diff, patch
Erlang erl, erlang
Groovy groovy
JavaScript js, jscript, javascript
Java java
JavaFX jfx, javafx
Perl perl, pl
PHP php
Plain Text plain, text
PowerShell ps, powershell
Python py, python
Ruby rails, ror, ruby
Scala scala
SQL sql
Visual Basic vb, vbnet
XML xml, xhtml, xslt, html, xhtml

WordPress PHP Text Widget テキストウィジットでPHP

ここではWordPressのテキストウィジットでPHPを実行するプラグインを紹介しています。

wordpress_logo

公式サイトはこちら
http://wordpress.org/plugins/php-text-widget/

プラグイン新規追加で「PHP Text Widget」検索でインストールできます。

これで概観→ウィジットのテキストの項目でPHPが実行できます。

PHP IMAP メール解析

ここではPHP、IMAPを使ったメール解析をまとめています。

<?php

    // 言語
    mb_language('Japanese');
    // 文字コード
    mb_internal_encoding('utf-8');

    $mailNum = 1;

    $mbox = imap_open("{pop3.exsample.com:143}INBOX", "mail@address.com", "password") or die('cannot open');
    // メッセージヘッダ取得
    $header = imap_headerinfo($mbox, $mailNum);
    $body = imap_body($mbox, $mailNum, FT_INTERNAL);
    $mailData = array(
        "date" => date("Y-m-d H:i:s", strtotime($header->date)),
        "to" => $header->toaddress,
        "cc" => $header->ccaddress,
        "from" => $header->fromaddress,
        "subject" => mb_convert_encoding($header->subject, 'utf-8', 'auto'),
        "body" => mb_convert_encoding($body, 'utf-8', 'auto'),
    );

    imap_close($mbox);

    echo $mailData["date"]."<br/><br/>";
    echo $mailData["to"]."<br/><br/>";
    echo $mailData["cc"]."<br/><br/>";
    echo $mailData["from"]."<br/><br/>";
    echo $mailData["subject"]."<br/><br/>";
    echo nl2br($mailData['body']);

ソースコードはUTF-8で書いています。

imap_open(・・・);
Manualより
imap_open ( string $mailbox , string $username , string $password [, int $options = 0 [, int $n_retries = 0 [, array $params = NULL ]]] )

第一引数に受信サーバーとポート番号で指定してください。
第二引数にメールアドレス
第三引数にパスワードを設定してください。

例では$mailNumの変数に解析したいメールを指定しています。

SSL IMAP

imap_open("{pop3.exsample.com:993/imap/ssl}INBOX", "mail@address.com", "password");

例でSSL IMAPでの接続はこのようになります。
サーバーの環境に合わせて設定してください。

CakePHP2.x core.php

ここではCakePHP2.xのcore.phpの設定をまとめています。

cakephp

debug

Configure::write('debug', 0);

デバッグの設定値
0が本番環境モード
1がエラーと警告表示
2がエラーと警告とSQLログ表示
本番環境とテスト環境とではパフォーマンスに大きくかかわるので必ず設定しましょう。

Error

Configure::write('Error', array(
	'handler' => 'ErrorHandler::handleError',
	'level' => E_ALL & ~E_DEPRECATED,
	'trace' => true
));

エラーハンドラの設定

Exception

Configure::write('Exception', array(
	'handler' => 'ErrorHandler::handleException',
	'renderer' => 'ExceptionRenderer',
	'log' => true
));

例外パンドラの設定

App.encoding

Configure::write('App.encoding', 'UTF-8');

アプリケーション内で使用する文字コード設定

App.baseUrl

Configure::write('App.baseUrl', env('SCRIPT_NAME'));

mod_rewrite以外でbaseUrlを制御する設定

Routing.prefixes

Configure::write('Routing.prefixes', array('admin'));

プレフィックスルーティングの設定

Cache.disable

Configure::write('Cache.disable', true);

キャッシュの設定 true/false

Cache.check

Configure::write('Cache.check', true);

ビューキャッシュの設定 true/false

Session

Configure::write('Session', array(
    'defaults' => 'php',
    'cookie' => 'CAKEPHP',
    'timeout' => 60,
    'ini' => Array(
        'session.cookie_lifetime' => 0
    )
));

セッションの設定
defaults
セッションの保存先の設定、php,database,cakeなどがあります。
cookie
クッキーの名前の設定
timeout
Sessionタイムアウトの設定
分単位で設定、デフォルトでは240分
ini
php.iniの内容を配列で設定できる。

Security.level

Configure::write('Security.level', 'medium');

high,medium,lowで設定する。
上記で設定したSessionタイムアウトの時間から
highが10倍、mediumが100倍、lowが300倍となる。
highはSessionが毎回生成される。

Security.salt

Configure::write('Security.salt', 'uiuindo873g8Ggyoue87DGoijoHhu29i');

パスワードのハッシュ化に利用される。デフォルトのままだと動かないので適当に変える。

Security.cipherSeed

Configure::write('Security.cipherSeed', '98757747699707078678575457');

暗号化、複合化に利用される。こちらもデフォルトのままだと動かないので数字で適当に変える。