[JavaScript]textareaでtab

textareaでtab

var addTabKeyEvent = function($textarea){
	$textarea.on('keydown',function(e){
		if(e.keyCode == 9){
			e.preventDefault();
		}else{
			return;
		}
		var $this = $(this);
		var start = this.selectionStart;
		var v = $this.val();
		$this.val(v.substring(0,start) + "\t" + v.substring(this.selectionEnd));
		this.selectionStart = this.selectionEnd = start + 1;
	});
};
addTabKeyEvent($('textarea'));

[MovableType] on windows xampp

MovableType on windows xampp

■
メール送信チェックをする場合は
C:\xampp\sendmail\sendmail.iniの下記の部分を設定しておく
auth_username=xxxxx.xxxx
auth_password=xxxxxxx

■フォルダ構成
/mt-static
/cgi-bin/mt

■アクセス
http://yourdomain/cgi-bin/mt/

■
MovableTypeへサインイン

■
スタティックウェブパス
/mt-static

スタティックファイルパス
C:\xampp\htdocs\mt_test\mt-static

■
システムチェック
次へ

■
ActivePerlインストール
インストール先C:\xampp\perl
C:\xampp\perlに元々あったファイルは削除

■
コマンドプロンプト ppm Enter
設定
Areas
Prefix:C:\xampp\perをチェック > ok
dbd-mysql インストール

■
sendmailパス
C:\xampp\sendmail\sendmail.exe

■
テンポラリーディレクトリ
C:\xampp\tmp

[WordPress]ルーティング

テーマのfunctions.phpに追記する

/**
 * ルーティング(リライトルールの追加)
 * ここの設定を反映させるには下記の操作が必要
 * 管理画面にて「設定」->「パーマリンク設定」->変更せずに「変更を保存」
 * add_rewrite_ruleの第三引数の説明は下記
 * 'top' または 'bottom'。'top' の場合、ルールは WordPressのすべての既存ルールに優先する。'bottom' の場合、ルールはすべての既存ルールがマッチしない場合に検査される。
 */
function add_user_rewrite_rules() {
    add_rewrite_rule('^hoge/?$', 'index.php?c_controller=hoge&c_method=', 'top');
    add_rewrite_rule('^hoge/([^/]*)/?$', 'index.php?c_controller=hoge&c_method=$matches[1]', 'top');
}
add_action('init', 'add_user_rewrite_rules');

/**
 * ルーティング(リライトルールの追加)関連追加処理
 * c_type,c_actionをパブリッククエリ変数として登録
 * get_query_var('c_controller')で取得
 */
function add_user_routes_query_vars($query_vars){
    $query_vars[] = 'c_controller';
    $query_vars[] = 'c_method';
    return $query_vars;
}
add_filter('query_vars','add_user_routes_query_vars');

[PHP]Imagickサンプル

Imagickサンプル

<?php
$_data = array(
        'dir'       => './output/',
        'filename'  => date('YmdHis'),
        'filetype'  => 'png',
        'fontsize'  => 24,
        'width'     => 1000,
        'height'    => 640,
        'text'      => 'sample text',
        'textcolor' => '000000',
        'color'     => 'eeeeee',
        );
$filepath = realpath($_data['dir']).DIRECTORY_SEPARATOR.$_data['filename'];

$draw = new ImagickDraw();
$draw->setFont( realpath('./font/GenEiGothicP-Regular.otf') );
$draw->setFontSize($_data['fontsize']);
$draw->setFillColor(new ImagickPixel('#'.$_data['textcolor']));
$draw->setTextAlignment(Imagick::ALIGN_CENTER);
$draw->annotation($_data['width']*0.5,$_data['height']*0.5, $_data['text'] );

$canvas = new Imagick();
$canvas->newImage($_data['width'], $_data['height'], new ImagickPixel('#'.$_data['color']), $_data['filetype']);
$canvas->drawImage($draw);
$canvas->writeImage($filepath);
$canvas->clear();

[MovableType]フィールド名を変数で指定

フィールド名を変数で指定
カスタムフィールド
CFEntryDataAddress1~CFEntryDataAddress10
CFEntryDataDetailImage1~CFEntryDataDetailImage10
を表示

<MTFor var="x" from="1" to="10">
	<MTIgnore>テキストの時</MTIgnore>
	<MTSetVarBlock name="_CFEntryDataAddress">&lt;MTCFEntryDataAddress<MTVar name="x">&gt;</MTSetVarBlock>
	<MTSetVarBlock name="_CFEntryDataAddressValue"><MTVar name="_CFEntryDataAddress" decode_html="1" mteval="1"></MTSetVarBlock>
	<MTIf name="_CFEntryDataAddressValue" ne="">
		<MTVar name="_CFEntryDataAddressValue" encode_html="1">
	</MTIf>

	<MTIgnore>画像の時</MTIgnore>
	<MTSetVarBlock name="_CFEntryDataDetailImage">&lt;MTCFEntryDataDetailImage<MTVar name="x">&gt;</MTSetVarBlock>
	<MTSetVarBlock name="_CFEntryDataDetailImageValue"><MTVar name="_CFEntryDataDetailImage" decode_html="1" mteval="1"></MTSetVarBlock>
	<MTSetVar name="_CFEntryDataDetailImageAsset" value="">
	<MTIf name="_CFEntryDataDetailImageValue" ne="">
		<MTSetVarBlock name="_CFEntryDataDetailImageAsset">
			<MTCFEntryDataDetailImage<MTVar name="x">Asset>
					<img src="<MTAssetThumbnailURL width="450" force="1">">
			</MTCFEntryDataDetailImage<MTVar name="x">Asset>
		</MTSetVarBlock>
	</MTIf>
	<MTIf name="_CFEntryDataDetailImageAsset" ne="">
		<MTVar name="_CFEntryDataDetailImageAsset" decode_html="1" mteval="1">
	</MTIf>
</MTFor>

[JavaScript]deep-link.js

deep-link.js
aタグタップでアプリ起動 > 無ければストアへ遷移

サンプル:/js/69/
GitHub:https://github.com/timseverien/deep-link.js

サンプルにおける修正点1
最後に’;end’が付いてないと動かない端末がある

if(isAndroidBrowser) {
return 'intent:' + app.split(':')[1] + '#Intent;scheme=' + scheme + ';package=' +
  store + ';S.browser_fallback_url=' + encodeURI(href)+';end';
}

サンプルにおける修正点2
でdeep-link.jsを読み込む時、初期化処理をDOM読み込み後に実行するよう変更

var init = function(){
	var elements = document.getElementsByTagName('a'),
		i = elements.length;
	while(i--) parseElement(elements[i]);
};
document.addEventListener('DOMContentLoaded',function(){
	init();
});

[Swift]addObserverでresize event

addObserverでresize event

self.contentView.addObserver(self, forKeyPath: "frame", options: NSKeyValueObservingOptions(rawValue: 0), context: nil)

override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
    //処理
}

[CodeIgniter]email

email

views/mail/user_mail.php

メール本文

libraries/MY_Email.php

<?php
class My_Email extends CI_Email {
	public function __construct(array $config = array())
	{
		parent::__construct($config);
	}

	/**
	 * get Body by tempalte
	 *
	 * @param	string
	 * @param   array
	 * @return	string
	 */
	public function get_template_contents($template, $values = array())
	{
		$file = VIEWPATH . $template;
		if(!file_exists($file)){
			$file .= '.php';
		}

		extract($values);
		ob_start();
		include($file);
		$contents = ob_get_contents();
		ob_end_clean();
		return $contents;
	}
}

config/config_mail.php

<?php
defined('BASEPATH') OR exit('No direct script access allowed');
$config['user_mail'] = array(
    'from'      => 'from@sample.co.jp',
    'from_name' => 'fromName',
    'subject'   => 'メールタイトル',
);

controller

$this->load->library('email');
$config_key = 'user_mail';
$this->load->config('config_mail');
$user_mail = $this->config->item($config_key);

$mail = new PHPMailer();
$mail->CharSet = "iso-2022-jp";
$mail->Encoding = "7bit";
$mail->AddAddress('to@sample.co.jp');
$mail->From = $user_mail['from'];
$mail->FromName = mb_encode_mimeheader(mb_convert_encoding($user_mail['from_name'], "JIS", "UTF-8"));
$mail->Subject = mb_encode_mimeheader(mb_convert_encoding($user_mail['subject'], "JIS", "UTF-8"));
$body = $this->email->get_template_contents('mail/'.$config_key);
//$mail->Body = mb_convert_encoding($body, "JIS", "UTF-8");
$mail->Body = mb_convert_encoding($body,"ISO-2022-JP-ms","UTF-8");//機種依存文字が含まれるならこちら
$result = $mail->Send();