Blog

NC3公式サイトでのファイルクリーンアップの不具合について

公式サイトにてファイルクリーンアップでブログの画像が使用しているにもかかわらず削除されてしまうといったトラブルに興味がわき確認してみたら、確かに削除されてしまっていました。

そこで、調べてみたらwysiwygの画像の名称からブログのコンテンツテーブルを検索し使用されている件数を調べ存在した場合、削除しないといった方法がとられていることが分かりました。

その際、検索条件の作り方が問題と分かりちょっと変更してみたところ、使用している場合は削除せず、使用しなくなった場合は削除するようになりました。

変更内容は

/app/Plugin/CleanUp/Model/CleanUp.php の476行目から484行目をコメントアウトし、かわりに

$checkConditions[] = array('OR' => array());
foreach ($fieldsArray as $field) {
     $field = trim($field);
     array_push($checkConditions[0]['OR'],array($this->$model->alias . '.' . $field . ' LIKE' => '%' . $checkFileUrl . '%'));
     array_push($checkConditions[0]['OR'],array($this->$model->alias . '.' . $field . ' LIKE' => '%' . $checkImageUrl . '%'));
}

を追加します。

変更内容は間違いはないと思いますが、記述方法はもっとよい方法があると思われます。

これで、ブログの画像も問題なく不要なファイルは削除され、まだ使用されているファイルは削除されなくなります。

以上、興味からの修正内容ですので、変更は自己責任で変更願います。