PHPでIE8,9,10,11のユーザエージェントからバージョンを取得する

IEのユーザエージェントがIE8,9,10,11とそれぞれ変わってきているようで、数年前のサンプルコードではIEブラウザバージョンの判定がPHPでできなかったため、作成してみました。


function getIeUaVer(){
// UserAgetn を小文字に統一
$ua = strtolower($_SERVER['HTTP_USER_AGENT']);
// IE の場合、バージョンを取得
if (strstr($ua, 'trident') || strstr($ua, 'msie')) {
$ret = preg_match_all('/(msie|rv:?)\s?([\d\.]+)/', $ua, $arr, PREG_SET_ORDER);
if($ret != FALSE && count($arr) > 0){
if(is_array($arr[0]) && count($arr[0]) > 2){
return intval($arr[0][2]); // version
}
}
}
return FALSE;
}

<span style="line-height: 1.5;">

 

 

 

EclipseLinkのJPAを使ってViewを参照する時の注意点

最近、EclipseLinkのJPAを使った開発をしていますが、単純なテーブル構造の参照・追加の処理においては便利です。

ただ、ViewをJPAで参照する場合はどのように扱ったらよいか分からなかったので、調べてみました。以下2つのサイトが参考になりました。

JPAでDatabase View?

persistence.xmlには、上記記事内の<property name=”hibernate.hbm2ddl.auto” value=”none”/>でなく、<property name=”eclipselink.ddl-generation” value=”none”/>として設定しました。

またJPA-toolでViewからエンティティを作成した場合は『@Column(insertable=false, updatable=false)』を付与してあげましょう。

 

howto-user-metaslider

WordPress Plugin のMetaSliderはスライド画像を容易に設定できるプラグインです。複数の画像スライドショーを作成、管理できます。残念ながら動画スライドショーはできません。「MasterSlider」プラグインであれば、Youtubeなどの動画コンテンツの埋め込んだスライダーも作成できます。

MetaSliderの場合、表示設定時はPHPに直接埋め込んでもできますし、記事・固定ページへショートコードで入れ込むことも可能です。

続きを読む

GoogleCloudVisionAPIを試してみる

先日(3月19日)行われたGoogleCloudVision APIのハンズオンにてサンプルを作成。

フォルダにある画像をサムネイル表示し、対応するボタン押下でサーバ経由でGoogleCloudVision APIをコールしてくれます。

cloudvisionApi

参考URL

契約しているさくらレンタルスタンダードでは、base64コマンドが入っていなかったので、自サーバにて試してみました。

http://test.zamuu.net/googleCloudVision2016/

追記2016/11

2016/11月現在では、https://cloud.google.com/vision/?hl=ja にサンプル動作確認用のフォームがあります。

 

buddypress のユーザ登録承認・有効化する際のメール本文をカスタマイズする

wordpressのSNS向けプラグインであるbuddypressを運用していて、新たにユーザ登録された際、ユーザに自動的にActivateするためのメールが届くのですが、そのやり方を調査したので、以下メモしておきます。

参考にさせてもらったのは以下3つのサイト。

3つめの海外サイトが一番参考になりました。メール本文を変更したい場合は『bp_core_signup_send_validation_email_message』にfilterをかけます。


add_filter( 'bp_core_signup_send_validation_email_message', 'custom_buddypress_activation_message', 10, 3 );
function custom_buddypress_activation_message( $message, $user_id, $activate_url ) {
$user = get_userdata( $user_id );
$post = get_post([有効化]);
return "$user->user_login
$post->post_content
$activate_url
";
}

$post = get_post([有効化]); という部分は、buddypressの「設定」-「固定」にある、有効化させた際の固定ページのidを指定します。有効化した際の固定ページに記載した文章を入れ、これをメール本文として送付するよう修正しています。

 

オープンデータ活用・香川県三豊市と琴平町のゴミ情報・5374アプリ

2016/03/13(日)に『G7香川・高松情報通信大臣会合関連事業 オープンデータ活用セミナー』にて、 5374.jp のハンズオンがありました。

その一環として三豊市のゴミ無しアプリを作成し公開しました。元々はCode for kanazawaが作成したアプリだそうです。
モバイル対応しているので、各地域に広がって蔵たらいいですね。

Webアプリは以下 から閲覧できます。

三豊市5374アプリ(GitHub)

琴平町5374アプリ(GitHub)

 

wordpress「new-user-approve」プラグインの日本語化

wordpress のプラグイン new-user-approve (ver1.7.3)の日本語化をしましたのでpo/moファイルをこちらに置いておきます。

本プラグインは、新しいユーザ登録時に承認と管理機能をもつプラグインです。

翻訳ファイル:download1.0 - WordPressユーザ登録時の承認プラグインの日本語化ファイルです。

AndroidWearWatchFace アプリイベント

本日、高松で@adakodaさんによるAndriod Watch Face アプリの作成イベントが行われました。

@adakodaさんのサイトは以下でレッスン形式で記載してくれています。

参考URL : http://android-wear-watch-faces-lesson.blogspot.jp/
LESSON1-7 http://android-wear-watch-faces-lesson.blogspot.jp/2015/11/lesson-01.html

adbコマンドのPATHを通す
http://qiita.com/momotas210/items/3488956b8bab72d49498

https://io2015codelabs.appspot.com/codelabs/watchface#1
API18 タブレット側
API21 WearのWatchFace対応がAPI21から

androidhttpclient cannot be resolvedでコードエラー表示

Android Studio1.4の環境でAndroid 4.0.2向けにHTTPClientを利用しようとしたらタイトルのようなエラーとなったので調べてみました。

解決URL:

http://stackoverflow.com/questions/32153318/httpclient-wont-import-in-android-studio

Android Studioのプロジェクト – Gradle – build.gradle を開き、中のandroid{} セクションに以下1行を追加するとエラーが取れました。


<i></i><i><span style="font-weight: 400;">//gradle 環境の build.gradleに以下セクションを追加する。</span></i>

<i><span style="font-weight: 400;">android{</span></i>

<span style="font-weight: 400;">useLibrary </span><b>'org.apache.http.legacy'</b>

<b>}</b>