{"sha":"e7f1446af3e62258cc883bd177d02b9a196f83e0","node_id":"C_kwDOLgQlp9oAKGU3ZjE0NDZhZjNlNjIyNThjYzg4M2JkMTc3ZDAyYjlhMTk2ZjgzZTA","commit":{"author":{"name":"Sigurd Nes","email":"sigurdne@users.noreply.github.com","date":"2026-08-05T14:26:26Z"},"committer":{"name":"GitHub","email":"noreply@github.com","date":"2026-08-05T14:26:26Z"},"message":"Merge from master (#1246)\n\nCo-authored-by: Sigurd Nes <sigurdne@gmail.com>\nCo-authored-by: Henning Berge <henning.ber@gmail.com>","tree":{"sha":"a5b3403149e79de4227a3b6c9108ccc5203714e1","url":"https://api.github.com/repos/PorticoEstate/PorticoEstate-v2/git/trees/a5b3403149e79de4227a3b6c9108ccc5203714e1"},"url":"https://api.github.com/repos/PorticoEstate/PorticoEstate-v2/git/commits/e7f1446af3e62258cc883bd177d02b9a196f83e0","comment_count":0,"verification":{"verified":true,"reason":"valid","signature":"-----BEGIN PGP SIGNATURE-----\n\nwsFcBAABCAAQBQJqc0gSCRC1aQ7uu5UhlAAAEacQAFmXusmM6RP89qr6+BJMW4oC\nJglIll/dh7wihJ0RJKejfFl+p/pGiVbHIk7eOAboMwQ9pdTQ/lnZD9LjhgmHjIRw\nZIzAzsG75QgJYuuieLG0SEXz9yJphIwb4b7vlppZG8mWGP97oLlHHGTfZDKP0fXI\nAR4fcAsmCnv+2bS0QIe2l9LLOHR79ig2toTEMLrxnRue0oEcOHubaw4rAwCmjNYF\n6DlKlpD/sRNoCYx3sj0HIj3ze07vohOQQeA2ifpM9uhc/VB99O5zo4LtcHw6uEsO\n4cxA29+kEZWDuuxoFdPn3Bzm1zGJwP8uczvi7Xhuzi9tzQwNRRQOnc4uTxw8yZCI\nm73cRoev1v2chm8sbxc02cMfw+Jp+qepOW8hkS1gNiJpQvnCLKUycq6GftDyZ+n1\nYBvXune5rhZQdTpze11qmNxRaQ6NhxMF1CClFXhAiIB6xKTbOM9+M8qiyNoPopZA\n+2RGnOb3t+OZnupgY0qMtDIi82/3a9CvZwrrclnWw4Kfu8n+f+IdRDcdvmDx6/ha\nyDCCbZtduVcWtcmB3+tMZ5Ia+T1uKAqRii/kZOF+X1FSmtbdTWqKH8bBVvGToIhN\n3+Er8Ga+D2Ufkhyi1hv/9XShWl7DoJ9Cv08MrSDq+NDoIpO7GGa9iK7W5+uRSmiC\n9jwUnxV+fyhwT6mfnQmQ\n=SCpE\n-----END PGP SIGNATURE-----\n","payload":"tree a5b3403149e79de4227a3b6c9108ccc5203714e1\nparent fdd34e83a42000fe0e590f6e7534a7eaf73381ac\nauthor Sigurd Nes <sigurdne@users.noreply.github.com> 1785939986 +0200\ncommitter GitHub <noreply@github.com> 1785939986 +0200\n\nMerge from master (#1246)\n\nCo-authored-by: Sigurd Nes <sigurdne@gmail.com>\nCo-authored-by: Henning Berge <henning.ber@gmail.com>","verified_at":"2026-08-05T14:29:59Z"}},"url":"https://api.github.com/repos/PorticoEstate/PorticoEstate-v2/commits/e7f1446af3e62258cc883bd177d02b9a196f83e0","html_url":"https://github.com/PorticoEstate/PorticoEstate-v2/commit/e7f1446af3e62258cc883bd177d02b9a196f83e0","comments_url":"https://api.github.com/repos/PorticoEstate/PorticoEstate-v2/commits/e7f1446af3e62258cc883bd177d02b9a196f83e0/comments","author":{"login":"sigurdne","id":12719970,"node_id":"MDQ6VXNlcjEyNzE5OTcw","avatar_url":"https://avatars.githubusercontent.com/u/12719970?v=4","gravatar_id":"","url":"https://api.github.com/users/sigurdne","html_url":"https://github.com/sigurdne","followers_url":"https://api.github.com/users/sigurdne/followers","following_url":"https://api.github.com/users/sigurdne/following{/other_user}","gists_url":"https://api.github.com/users/sigurdne/gists{/gist_id}","starred_url":"https://api.github.com/users/sigurdne/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sigurdne/subscriptions","organizations_url":"https://api.github.com/users/sigurdne/orgs","repos_url":"https://api.github.com/users/sigurdne/repos","events_url":"https://api.github.com/users/sigurdne/events{/privacy}","received_events_url":"https://api.github.com/users/sigurdne/received_events","type":"User","user_view_type":"public","site_admin":false},"committer":{"login":"web-flow","id":19864447,"node_id":"MDQ6VXNlcjE5ODY0NDQ3","avatar_url":"https://avatars.githubusercontent.com/u/19864447?v=4","gravatar_id":"","url":"https://api.github.com/users/web-flow","html_url":"https://github.com/web-flow","followers_url":"https://api.github.com/users/web-flow/followers","following_url":"https://api.github.com/users/web-flow/following{/other_user}","gists_url":"https://api.github.com/users/web-flow/gists{/gist_id}","starred_url":"https://api.github.com/users/web-flow/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/web-flow/subscriptions","organizations_url":"https://api.github.com/users/web-flow/orgs","repos_url":"https://api.github.com/users/web-flow/repos","events_url":"https://api.github.com/users/web-flow/events{/privacy}","received_events_url":"https://api.github.com/users/web-flow/received_events","type":"User","user_view_type":"public","site_admin":false},"parents":[{"sha":"fdd34e83a42000fe0e590f6e7534a7eaf73381ac","url":"https://api.github.com/repos/PorticoEstate/PorticoEstate-v2/commits/fdd34e83a42000fe0e590f6e7534a7eaf73381ac","html_url":"https://github.com/PorticoEstate/PorticoEstate-v2/commit/fdd34e83a42000fe0e590f6e7534a7eaf73381ac"}],"stats":{"total":16,"additions":12,"deletions":4},"files":[{"sha":"07e60898c602bad0d44cad3631b1c730a457bc45","filename":"src/modules/property/inc/cron/cron.php","status":"modified","additions":1,"deletions":1,"changes":2,"blob_url":"https://github.com/PorticoEstate/PorticoEstate-v2/blob/e7f1446af3e62258cc883bd177d02b9a196f83e0/src%2Fmodules%2Fproperty%2Finc%2Fcron%2Fcron.php","raw_url":"https://github.com/PorticoEstate/PorticoEstate-v2/raw/e7f1446af3e62258cc883bd177d02b9a196f83e0/src%2Fmodules%2Fproperty%2Finc%2Fcron%2Fcron.php","contents_url":"https://api.github.com/repos/PorticoEstate/PorticoEstate-v2/contents/src%2Fmodules%2Fproperty%2Finc%2Fcron%2Fcron.php?ref=e7f1446af3e62258cc883bd177d02b9a196f83e0","patch":"@@ -51,7 +51,7 @@\n // Register service providers\n $datbaseProvider = new DatabaseServiceProvider();\n \n-$datbaseProvider->register($app);\n+$datbaseProvider->register($container);\n \n $displayErrorDetails = true; // Set to false in production\n $logErrors = true;"},{"sha":"6a8e9d1ec840e1da6fd1d3aafdd55ea08e6c3545","filename":"src/modules/property/inc/cron/default/deceased_tenants_BK_EBF.php","status":"modified","additions":11,"deletions":3,"changes":14,"blob_url":"https://github.com/PorticoEstate/PorticoEstate-v2/blob/e7f1446af3e62258cc883bd177d02b9a196f83e0/src%2Fmodules%2Fproperty%2Finc%2Fcron%2Fdefault%2Fdeceased_tenants_BK_EBF.php","raw_url":"https://github.com/PorticoEstate/PorticoEstate-v2/raw/e7f1446af3e62258cc883bd177d02b9a196f83e0/src%2Fmodules%2Fproperty%2Finc%2Fcron%2Fdefault%2Fdeceased_tenants_BK_EBF.php","contents_url":"https://api.github.com/repos/PorticoEstate/PorticoEstate-v2/contents/src%2Fmodules%2Fproperty%2Finc%2Fcron%2Fdefault%2Fdeceased_tenants_BK_EBF.php?ref=e7f1446af3e62258cc883bd177d02b9a196f83e0","patch":"@@ -32,7 +32,7 @@\n \n /**\n  * Description\n- * example cron : /usr/local/bin/php -q /var/www/html/phpgroupware/property/inc/cron/cron.php default deceased_tenants_BK_EBF\n+ * example cron : /usr/local/bin/php -q /var/www/html/src/modules/property/inc/cron/cron.php default deceased_tenants_BK_EBF\n  * @package property\n  */\n include_class('property', 'cron_parent', 'inc/cron/');\n@@ -549,20 +549,28 @@ public function get_db()\n \t\t}\n \n \t\t$external_db = Settings::getInstance()->get('external_db');\n+\t\tif (empty($external_db['boei']))\n+\t\t{\n+\t\t\tthrow new RuntimeException('Missing external_db.boei configuration');\n+\t\t}\n \n \t\t$host_info\t\t = explode(':', $external_db['boei']['db_host']);\n \t\t$host\t = $host_info[0];\n \t\t$port\t = isset($host_info[1]) && $host_info[1] ? $host_info[1] : $external_db['boei']['db_port'];\n \n \t\t$dsn = \"sqlsrv:Server={$host},{$port};Database={$external_db['boei']['db_name']}\";\n+\t\t$options = [\n+\t\t\tPDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,\n+\t\t];\n+\t\t$db = null;\n \t\ttry\n \t\t{\n-\t\t\t$db = new \\App\\Database\\Db2($dsn, $external_db['boei']['db_user'], $external_db['boei']['db_pass']);\n+\t\t\t$db = new \\App\\Database\\Db2($dsn, $external_db['boei']['db_user'], $external_db['boei']['db_pass'], $options);\n \t\t\t$this->connected = true;\n \t\t}\n \t\tcatch (Exception $e)\n \t\t{\n-\t\t\t$status = lang('unable_to_connect_to_database');\n+\t\t\tthrow new RuntimeException('Unable to connect to BOEI database: ' . $e->getMessage(), 0, $e);\n \t\t}\n \n \t\t$this->db = $db;"}]}