From d689b21ab408555aa50ecbb6de48eff8fca4d210 Mon Sep 17 00:00:00 2001 From: Frank Schubert Date: Wed, 16 Jul 2025 17:37:12 +0200 Subject: [PATCH] added script to list missing document files --- .../ContractFile/ContractFileModel.php | 4 +- application/OrderFile/OrderFileModel.php | 6 +-- scripts/stuff/list-missing-files.php | 46 +++++++++++++++++++ 3 files changed, 51 insertions(+), 5 deletions(-) create mode 100644 scripts/stuff/list-missing-files.php diff --git a/application/ContractFile/ContractFileModel.php b/application/ContractFile/ContractFileModel.php index 46a1a2d4b..db9d8194b 100644 --- a/application/ContractFile/ContractFileModel.php +++ b/application/ContractFile/ContractFileModel.php @@ -64,7 +64,7 @@ class ContractFileModel { } - public static function getFirst() { + public static function getFirst($filter = []) { $db = FronkDB::singleton(); $where = self::getSqlFilter($filter); @@ -81,7 +81,7 @@ class ContractFileModel { return null; } - public static function search($filter) { + public static function search($filter = []) { $items = []; $db = FronkDB::singleton(); diff --git a/application/OrderFile/OrderFileModel.php b/application/OrderFile/OrderFileModel.php index ff6838c10..e22395659 100644 --- a/application/OrderFile/OrderFileModel.php +++ b/application/OrderFile/OrderFileModel.php @@ -54,7 +54,7 @@ class OrderFileModel { $db = FronkDB::singleton(); - $res = $db->select("OrderFile", "*", "1=1 ORDER BY name, filename"); + $res = $db->select("OrderFile", "*", "1=1 ORDER BY name"); if($db->num_rows($res)) { while($data = $db->fetch_object($res)) { $items[] = new OrderFile($data); @@ -64,11 +64,11 @@ class OrderFileModel { } - public static function getFirst() { + public static function getFirst($filter = []) { $db = FronkDB::singleton(); $where = self::getSqlFilter($filter); - $res = $db->select("OrderFile", "*", "$where ORDER BY name, filename"); + $res = $db->select("OrderFile", "*", "$where ORDER BY name"); if($db->num_rows($res)) { $data = $db->fetch_object($res); $item = new OrderFile($data); diff --git a/scripts/stuff/list-missing-files.php b/scripts/stuff/list-missing-files.php new file mode 100644 index 000000000..c1ee50f60 --- /dev/null +++ b/scripts/stuff/list-missing-files.php @@ -0,0 +1,46 @@ +#!/usr/bin/php +id); +define("INTERNAL_USER_USERNAME", $me->username); +define("MFBASE_BYPASS_LOGIN", true); + +echo "id;Dateiname;Bestellung;Kunde\n"; + +foreach(FileModel::search(["subfolder" => "documents"]) as $file) { + $name = $file->orig_filename; + $filename = $file->store_filename; + + if(!$file->fileExists()) { + echo $file->id.";"; + echo '"'.$name.'";'; + + $orderfile = OrderFileModel::getFirst(["file_id" => $file->id]); + + if($orderfile) { + $order = new Order($orderfile->order_id); + if($order->id) { + echo $order->id.";"; + echo '"'.$order->owner->getCompanyOrName().'";'; + } else { + echo ";"; + echo ";"; + } + } else { + echo ";"; + echo ";"; + } + echo "\n"; + } +}