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);
とりあえず応急処置。