Laravelでチェックボックスにcheckedを付ける
検索すると三項演算子を使った方法が複数出てきますが、もっとシンプルにBladeの機能で出来ます。
Bladeの@checkedです。
<input type="checkbox" name="flag" @checked($flag)>
HumHubで「みんなの反応」を見やすくする
HumHubの「みんなの反応」はコメントが全て表示されるので非常にうざい。コメントを削除するには
humhub\protected\humhub\modules\like\messages\ja\activities.php
の「{contentTitle}」を削除する。
HumHubでアップロードする画像サイズを下げる
HumHub1.7で、ようやく画像リサイズ機能が実現されました。以前は自作していたよ…。
「protected/config/common.php」を開いて、「modules.file」を追記します。
追記するのは↓
'modules' => [ 'file' => [ 'imageMaxResolution' => '1920x1080', 'imageJpegQuality' => 75, 'imagePngCompressionLevel' => 9, 'imageWebpQuality' => 75, ] ],
こんな感じになります。
$config = [ 'modules' => [ 'file' => [ 'imageMaxResolution' => '1920x1080', 'imageJpegQuality' => 75, 'imagePngCompressionLevel' => 9, 'imageWebpQuality' => 75, ] ], 'name' => 'HumHub', 'version' => '1.8.1',
詳細はここに↓あります。
docs.humhub.org
VmwareとWindowsに共有フォルダを作って、Windows側で編集
VmwareとWindowsに共有フォルダを作って、Windows側で編集したときのメモ。共有フォルダにフォルダを移動して、シンボリックリンクを貼った。
インストール
- git clone https://github.com/rasa/vmware-tools-patches.git
- cd vmware-tools-patches
- sudo ./download-tools.sh latest
- sudo ./untar-and-patch.sh
- sudo ./compile.sh
シンボリックリンク
- sudo mv /home/myuser/app /mnt/hgfs/app
- sudo ln -s /mnt/hgfs/app /home/myuser/app
WindowsのXAMPP環境にMonicaをインストールする
WindowsのXAMPP環境にMonicaをインストールする。
phpが7.1以前の場合
- https://pecl.php.net/package/libsodiumからdllをダウンロードする。
- php.iniにextension=php_sodiumを追記する。
xampp環境でLaravel Backup
「spatie/laravel-backup」をxampp環境で使うときには、config/database.phpも編集する。
'mysql' => [ 'driver' => 'mysql', 'url' => env('DATABASE_URL'), 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'unix_socket' => env('DB_SOCKET', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', 'prefix' => '', 'prefix_indexes' => true, 'strict' => true, 'engine' => null, 'options' => extension_loaded('pdo_mysql') ? array_filter([ PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), ]) : [], 'dump' => [ 'dump_binary_path' => 'D:\xampp\mysql\bin' ←この行が必要になる。 ]
Laravel Excelでエクスポート時にヘッダをつける
Laravel Excelでエクスポート時にヘッダをつけることができる。「WithHeadings」を追加してから、「headings()」メソッドに配列でヘッダの内容を書くだけです。
<?php namespace App\Exports; use App\Member; use Maatwebsite\Excel\Concerns\FromCollection; use Maatwebsite\Excel\Concerns\WithHeadings; #←追加 class MembersExport implements FromCollection, WithHeadings #←WithHeadingsを追加 { /** * @return \Illuminate\Support\Collection */ public function collection() { return Member::all(); } public function headings(): array { return [ 'name', 'birthday', ]; } }
HumhubをSafariで使ったときの漢字確定のバグを解消する
HumhubをSafariで使うと、日本語入力でEnterキーを押すと必ず改行になる。これを解消するためにkeyCode = 229のチェックを追加した。
function inOrNearComposition(view, event) { if (view.composing) { return true } // See https://www.stum.de/2016/06/24/handling-ime-events-in-javascript/. // On Japanese input method editors (IMEs), the Enter key is used to confirm character // selection. On Safari, when Enter is pressed, compositionend and keydown events are // emitted. The keydown event triggers newline insertion, which we don't want. // This method returns true if the keydown event should be ignored. // We only ignore it once, as pressing Enter a second time *should* insert a newline. // Furthermore, the keydown event timestamp must be close to the compositionEndedAt timestamp. // This guards against the case where compositionend is triggered without the keyboard // (e.g. character confirmation may be done with the mouse), and keydown is triggered // afterwards- we wouldn't want to ignore the keydown event in this case. if (result.safari && Math.abs(event.timeStamp - view.compositionEndedAt) < 500) { view.compositionEndedAt = -2e8; return true } if (event.keyCode===229) { return true} #←これを追加する return false }
Humhubで日本語入力ができない件を解決する
HumhubのrichtextエディターはWebブラウザから日本語入力ができないんだけど、解決方法があった。
ファイル「protected\humhub\modules\content\resources\js\humhub.ui.richtext.prosemirror.js」の
RichTextEditor.prototype.focus = function() { this.editor.view.focus(); };
上記を全部消せば正常に動く。消したあとはキャッシュクリアを忘れずに実施してください。
Humhubの「ハンドラが見つかりません」エラー
こういうエラーがたまにでる。
最後の操作を処理中にエラーが発生しました。 (ハンドラが見つかりません)。
これは「設定→Advanced→キャッシュ→保存してキャッシュクリア」で解決する。
HumHubの操作マニュアル(随時更新)
「いいね!」してくれた人を調べる
「いいね!」の人数をクリックしてください。パソコンの場合はマウスオーバーだけでもわかります。
HumHub 1.3リリース
HumHubが1.3になったんだけど、Cron設定がちょっと変わった。yii cronは一つになり、yii queueが増えた。
* * * * * /usr/bin/php /path/to/humhub/protected/yii queue/run >/dev/null 2>&1 * * * * * /usr/bin/php /path/to/humhub/protected/yii cron/run >/dev/null 2>&1
HumHubに投稿する画像のサイズを小さくする
HumHubは投稿画像を小さくしてくれないので、5MBの写真をアップするとそのままアップロードされる。
まず画像を小さくする関数を作って
<?php namespace humhub\modules\mymodules\libs; use humhub\modules\file\libs\ImageConverter; class Reduce { public static function Resize($uploadedFile) { $filepath = $uploadedFile->tempName; $options = [ 'width' => 400, 'height' => 400, 'mode' => 'max', ]; ImageConverter::Resize($filepath, $filepath, $options); $uploadedFile->size = filesize($filepath); return $uploadedFile; } }
humhub\modules\file\actions\UploadAction.phpに追記する。
protected function handleFileUpload(UploadedFile $uploadedFile, $hideInStream = false) { $uploadedFile = \humhub\modules\mymodule\libs\Reduce::Resize($uploadedFile);
とりあえず応急処置。