Browse Source
Move findBinaryFinder and isFunctionEnabled away from OC_Helper
Move findBinaryFinder and isFunctionEnabled away from OC_Helper
findBinaryFinder is now a service that is still private but with some minor optimization (remove the hasKey check). isFunctionEnabled is now in OCP\Util Both function are still keep but all internal usage in nextcloud/server were migrated to the new usage, so that we can remove it in 26 Signed-off-by: Carl Schwan <carl@carlschwan.eu>pull/33593/head
No known key found for this signature in database
GPG Key ID: C3AA6B3A5EFA7AC5
37 changed files with 278 additions and 201 deletions
-
6apps/admin_audit/composer/composer/installed.php
-
6apps/cloud_federation_api/composer/composer/installed.php
-
6apps/comments/composer/composer/installed.php
-
6apps/contactsinteraction/composer/composer/installed.php
-
6apps/dav/composer/composer/installed.php
-
6apps/encryption/composer/composer/installed.php
-
6apps/federatedfilesharing/composer/composer/installed.php
-
6apps/federation/composer/composer/installed.php
-
6apps/files/composer/composer/installed.php
-
6apps/files_sharing/composer/composer/installed.php
-
6apps/files_trashbin/composer/composer/installed.php
-
6apps/files_versions/composer/composer/installed.php
-
6apps/lookup_server_connector/composer/composer/installed.php
-
6apps/oauth2/composer/composer/installed.php
-
6apps/provisioning_api/composer/composer/installed.php
-
6apps/settings/composer/composer/installed.php
-
6apps/sharebymail/composer/composer/installed.php
-
6apps/systemtags/composer/composer/installed.php
-
6apps/testing/composer/composer/installed.php
-
6apps/twofactor_backupcodes/composer/composer/installed.php
-
6apps/updatenotification/composer/composer/installed.php
-
6apps/user_ldap/composer/composer/installed.php
-
6apps/user_status/composer/composer/installed.php
-
6apps/workflowengine/composer/composer/installed.php
-
2lib/composer/composer/autoload_classmap.php
-
2lib/composer/composer/autoload_static.php
-
6lib/private/App/Platform.php
-
71lib/private/BinaryFinder.php
-
4lib/private/LargeFileHelper.php
-
18lib/private/Mail/Mailer.php
-
113lib/private/PreviewManager.php
-
6lib/private/Server.php
-
44lib/private/legacy/OC_Helper.php
-
41lib/public/IBinaryFinder.php
-
24lib/public/Util.php
-
2tests/lib/LargeFileHelperGetFileSizeTest.php
-
2tests/lib/Mail/MailerTest.php
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => '9586920c0ec4016864a2219e838fb272127822d8', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => '9586920c0ec4016864a2219e838fb272127822d8', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'ea4531aaaa6eb9fb3859e05b69ab773bfbfe7437', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'ea4531aaaa6eb9fb3859e05b69ab773bfbfe7437', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'ff67123569a861301d14f83f7b2310e9a518c46d', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'ff67123569a861301d14f83f7b2310e9a518c46d', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => '3c77e489a6bb2541cd5d0c92b5498e71ec1a873f', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => '3c77e489a6bb2541cd5d0c92b5498e71ec1a873f', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => '9915dc6785d1660068a51604f9379e8b1dc1418c', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => '9915dc6785d1660068a51604f9379e8b1dc1418c', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -1,22 +1,22 @@ |
|||
<?php return array( |
|||
'root' => array( |
|||
'name' => '__root__', |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'name' => '__root__', |
|||
'dev' => false, |
|||
), |
|||
'versions' => array( |
|||
'__root__' => array( |
|||
'pretty_version' => 'dev-master', |
|||
'version' => 'dev-master', |
|||
'reference' => '7669331be09dd3cb848182ae8edc2408802a4fb4', |
|||
'type' => 'library', |
|||
'install_path' => __DIR__ . '/../', |
|||
'aliases' => array(), |
|||
'reference' => 'c6429e6cd19c57582364338362e543580821cf99', |
|||
'dev_requirement' => false, |
|||
), |
|||
), |
|||
|
@ -0,0 +1,71 @@ |
|||
<?php |
|||
|
|||
declare(strict_types = 1); |
|||
/** |
|||
* @copyright 2022 Carl Schwan <carl@carlschwan.eu> |
|||
* @license GNU AGPL version 3 or any later version |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Affero General Public License as |
|||
* published by the Free Software Foundation, either version 3 of the |
|||
* License, or (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU Affero General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Affero General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
* |
|||
*/ |
|||
|
|||
namespace OC; |
|||
|
|||
use OCP\ICache; |
|||
use OCP\ICacheFactory; |
|||
use OCP\IBinaryFinder; |
|||
use Symfony\Component\Process\ExecutableFinder; |
|||
|
|||
/** |
|||
* Service that find the binary path for a program |
|||
*/ |
|||
class BinaryFinder implements IBinaryFinder { |
|||
private ICache $cache; |
|||
|
|||
public function __construct(ICacheFactory $cacheFactory) { |
|||
$this->cache = $cacheFactory->createLocal('findBinaryPath'); |
|||
} |
|||
|
|||
/** |
|||
* Try to find a program |
|||
* |
|||
* @return false|string |
|||
*/ |
|||
public function findBinaryPath(string $program) { |
|||
$result = $this->cache->get($program); |
|||
if ($result !== null) { |
|||
return $result; |
|||
} |
|||
$result = false; |
|||
if (\OCP\Util::isFunctionEnabled('exec')) { |
|||
$exeSniffer = new ExecutableFinder(); |
|||
// Returns null if nothing is found
|
|||
$result = $exeSniffer->find($program, null, [ |
|||
'/usr/local/sbin', |
|||
'/usr/local/bin', |
|||
'/usr/sbin', |
|||
'/usr/bin', |
|||
'/sbin', |
|||
'/bin', |
|||
'/opt/bin', |
|||
]); |
|||
if ($result === null) { |
|||
$result = false; |
|||
} |
|||
} |
|||
// store the value for 5 minutes
|
|||
$this->cache->set($program, $result, 300); |
|||
return $result; |
|||
} |
|||
} |
@ -0,0 +1,41 @@ |
|||
<?php |
|||
|
|||
declare(strict_types = 1); |
|||
/** |
|||
* @copyright 2022 Carl Schwan <carl@carlschwan.eu> |
|||
* @license GNU AGPL version 3 or any later version |
|||
* |
|||
* This program is free software: you can redistribute it and/or modify |
|||
* it under the terms of the GNU Affero General Public License as |
|||
* published by the Free Software Foundation, either version 3 of the |
|||
* License, or (at your option) any later version. |
|||
* |
|||
* This program is distributed in the hope that it will be useful, |
|||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
|||
* GNU Affero General Public License for more details. |
|||
* |
|||
* You should have received a copy of the GNU Affero General Public License |
|||
* along with this program. If not, see <http://www.gnu.org/licenses/>. |
|||
* |
|||
*/ |
|||
|
|||
namespace OCP; |
|||
|
|||
/** |
|||
* Service that find the binary path for a program. |
|||
* |
|||
* This interface should be injected via depency injection and must |
|||
* not be implemented in applications. |
|||
* |
|||
* @since 25.0.0 |
|||
*/ |
|||
interface IBinaryFinder { |
|||
/** |
|||
* Try to find a program |
|||
* |
|||
* @return false|string |
|||
* @since 25.0.0 |
|||
*/ |
|||
public function findBinaryPath(string $program); |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue