SendGridで最初に行う設定変更

EC2からちょっとメールを送りたいだけの時とかに、SendGridを使う際、いつもはまるのでメモる。

Settings→Mail Settings→Plain Contentはデフォルトが「OFF」だけど、

これだとHTMLメールが送られてしまうので、「ON」に変更しよう。

Setting→Tracking→Click Trackingはデフォルトが「ON」だけど、

これだと本文に記載しているURLがSendgrid経由になってしまうので、「OFF」に変更しよう。

There is no security.output_filter defined in your application config file

いつも通り適当にFuelPHPをセットアップ。

画面を表示してみたら

「There is no security.output_filter defined in your application config file」

ってエラーが出た。

なんだこれ?ってググった。

ディレクトリのパーミッションがおかしかったら出るって書いてあった。

確認したけどおかしくないし。

次。SELinuxが有効だと出るから無効になってると出るとのこと。

そんなサーバーの設定いじる権限ないしー。

次。config.phpのoutput_filterがコメントアウトされていないか確認しろとのこと。エラーのそのまんまのことだね。

コメントアウトされてなかった。

つうか他の動いてるのと比べてみようとconfig.phpをdiffった。

…差分発見。パースエラー。。

直した。エラーは出なくなり、普通に画面が表示された。。。

XREAでFuelPHPを使ったメモ

XREAFuelPHPを試してみた。

Oilでのインストールはできるかどうかの確認はしなかった。

FuelPHPをZIPでもらってきてFTPのルートの下にディレクトリ作って設置。

cache・config・logs・tmpのパーミッション変更。

config.phpを最低限修正。(language=ja・default_timezone=Asia/Tokyo)

今回は独自ドメインの下にディレクトリ作って設置するので /public_html/ドメイン/新しいディレクトリにFuelPHPのpublicの中身をぶちこむ。

.htaccessの上の方の「Options +FollowSymLinks -Indexes」でエラーがでるのでコメントアウト

index.phpのAPPPATH・PKGPATH・COREPATHのパスを修正。

ブラウザで「ドメイン/新しいディレクトリ」で表示された。

Twig使いたかった。

config.phpのalways_loadとpackagesを開放してparserを追加。

composer.jsonのrequireにtwig足す。

"twig/twig":"1.*"

(上の行にカンマつける)

あれ?composerってコマンドラインつかわなきゃだめじゃん。

XREAのコンパネのサイト設定→ツール/セキュリティ→SSH接続IP許可。

使えるようになるまで10分くらいかかった。

SSHで接続。

composer.pharのところまで移動。

php composer.phar update

はげしくエラー出た。

ググった。

/usr/local/bin/php71cli composer.phar update

うまく動いた。Twig使えるようになった。よかった。

もしかしてFTP使わなくてもOilでインストールできたのかな。まあいいか。

MySQLで作成日と更新日の新しい方を使ってソートしたい

MySQLの作成日と更新日で新しい方を先に出したいときってあるじゃないですか。 そんなときはGREATEST。

SELECT * FROM `table` ORDER BY GREATEST(`created_at`, `updated_at`) DESC

+---------------------+---------------------+
| created_at          | updated_at          |
+---------------------+---------------------+
| 2018-08-21 19:22:55 | 2018-08-27 16:10:54 |
| 2018-08-27 12:06:44 | 2018-08-27 12:22:47 |
| 2018-08-20 17:24:34 | 2018-08-26 19:23:22 |
| 2018-08-21 15:52:43 | 2018-08-21 16:38:08 |
| 2018-08-26 13:08:17 | NULL                |
+---------------------+---------------------+

でも更新日のカラムってNULLってこともあるじゃないですか。そういう時は作成日を使いたいですよね。 なので修正。

SELECT * FROM `table` ORDER BY GREATEST(`created_at`, IFNULL(`updated_at`, `created_at`)) DESC

+---------------------+---------------------+
| created_at          | updated_at          |
+---------------------+---------------------+
| 2018-08-21 19:22:55 | 2018-08-27 16:10:54 |
| 2018-08-27 12:06:44 | 2018-08-27 12:22:47 |
| 2018-08-20 17:24:34 | 2018-08-26 19:23:22 |
| 2018-08-26 13:08:17 | NULL                |
| 2018-08-21 15:52:43 | 2018-08-21 16:38:08 |
+---------------------+---------------------+

いいかんじ。

jQueryでulにliを足したいし、XSSは避けたい

このulにjQueryでliを足したい。

<ul class="kore"></ul>

てきとうに調べて書いてみた。

var data_zokusei = 'データ属性';
var li_nakami = '中身';
$(".kore").append('<li class="kurasu" data-zokusei="'+data_zokusei+'">'+li_nakami+'</li>');

あれ?これじゃ、中身のとことかデータ属性のところとかエスケープされなくね?

<marquee>とか入れたらまわりだすやつじゃね?XSSじゃね?

でもJavaScriptエスケープするやつってreplaceで無理矢理やるやつしかないでしょ?

かっこ悪いじゃん。できればやりたくないじゃん。

色々調べた結果、こうなった。

var data_zokusei = 'データ属性';
var li_nakami = '中身';
$(".kore").append($('<li>').addClass('kurasu').attr('data-zokusei', data_zokusei).text(li_nakami));

いい感じに表示された。

NetBeansでインデントをスペースとタブで切り替えたい

ソースによってインデントがスペースだったりタブだったりするじゃないですか。

秀丸だったらその他→ファイルタイプ別の設定→体裁→タブの 「タブキーで空白入力」の入れたり入れなかったりっていうあれですよ。

NetBeansでそれを切り替えるのは ツール→オプション→エディタ→フォーマットタブの言語は「すべての言語」を選んで 「タブをスペースに展開」にチェックを入れたり入れなかったりすればおけ。

NetBeansの赤い縦線を消す

NetBeansの、コードの画面のど真ん中を縦に横切る赤いラインが急に気になりました。

あれか、このくらいの長さで書けよって目安の線か。

でも左に寄りすぎじゃね?

ツール→オプション→エディタ→フォーマットタブの「右マージン」があやしい。

で、てきとうに変えてみたらやっぱりこれでした。

ていうか80に設定されてるじゃん。80って、いつの時代だよ。

もう少し許してくれないとやってられないよ。

でもなんで右マージンって名前なの?まあいいか。

0を設定したらちゃんと無くなった。無いのもちょっと寂しい気もする。