]> _ Git - fluidbook-toolbox.git/commitdiff
wip #7406 @0.5
authorVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 20 Mar 2025 12:15:03 +0000 (13:15 +0100)
committerVincent Vanwaelscappel <vincent@cubedesigners.com>
Thu, 20 Mar 2025 12:15:03 +0000 (13:15 +0100)
app/Console/Commands/NextcloudSync.php [new file with mode: 0644]
composer.lock

diff --git a/app/Console/Commands/NextcloudSync.php b/app/Console/Commands/NextcloudSync.php
new file mode 100644 (file)
index 0000000..ae66acc
--- /dev/null
@@ -0,0 +1,68 @@
+<?php
+
+namespace App\Console\Commands;
+
+use App\Console\Commands\Base\ToolboxCommand;
+use Cubedesigners\UserDatabase\Models\User;
+use Cubist\Util\CommandLine\Owncloud;
+
+class NextcloudSync extends ToolboxCommand
+{
+    protected $signature = 'nextcloud:sync';
+    protected $description = 'Nextcloud Sync';
+
+    public function handle()
+    {
+        $existing = self::_occ()->listUsers();
+
+        $add = [];
+        $disable = [];
+        $enable = [];
+
+        // List cubedesigners user
+        foreach (User::withoutGlobalScopes()->where('company', 7)->get() as $u) {
+            if (!stristr($u->email, '@cubedesigners.com')) {
+                continue;
+            }
+            if (isset($existing[$u->email])) {
+                if ($existing[$u->email]['enabled'] != $u->enabled) {
+                    if ($existing[$u->email]['enabled']) {
+                        $disable[] = $u->email;
+                    } else {
+                        $enable[] = $u->email;
+                    }
+                }
+            } else {
+                $add[$u->email] = $u->name;
+                if (!$u->enabled) {
+                    $disable[] = $u->email;
+                }
+            }
+        }
+
+        foreach ($add as $email => $name) {
+            self::_occ()->addUser($email, null, $name);
+        }
+
+        foreach ($disable as $d) {
+            self::_occ()->disableUser($d);
+        }
+
+        foreach ($enable as $e) {
+            self::_occ()->enableUser($e);
+        }
+
+    }
+
+    /**
+     * @return Owncloud
+     */
+    protected static function _occ()
+    {
+        $occ = new Owncloud('/var/www/html/occ');
+        $occ->setSSH('cloudatlas.cubedesigners.com', 'root', null, 22, '/application/.ssh/id_rsa');
+        $occ->docker('nextcloud');
+        return $occ;
+    }
+
+}
index 54cde6611c434791b885c05b228592b9ef5727a0..e6b5ee66d1efcdde5d00b62e80c92de6057c781e 100644 (file)
             "source": {
                 "type": "git",
                 "url": "https://github.com/chillerlan/php-qrcode.git",
-                "reference": "b5ff1258a9a8bf6eff15d8c12365400ba60d652c"
+                "reference": "965146f2109224fdc4be3340331529e0e7c7b2c3"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/chillerlan/php-qrcode/zipball/b5ff1258a9a8bf6eff15d8c12365400ba60d652c",
-                "reference": "b5ff1258a9a8bf6eff15d8c12365400ba60d652c",
+                "url": "https://api.github.com/repos/chillerlan/php-qrcode/zipball/965146f2109224fdc4be3340331529e0e7c7b2c3",
+                "reference": "965146f2109224fdc4be3340331529e0e7c7b2c3",
                 "shasum": ""
             },
             "require": {
             "require-dev": {
                 "chillerlan/php-authenticator": "^5.2.1",
                 "ext-fileinfo": "*",
-                "intervention/image": "^3.8",
-                "phpbench/phpbench": "^1.3",
+                "intervention/image": "^3.11",
+                "phpbench/phpbench": "^1.4",
                 "phpmd/phpmd": "^2.15",
-                "phpstan/phpstan": "^2.0",
+                "phpstan/phpstan": "^2.1",
                 "phpstan/phpstan-deprecation-rules": "^2.0",
-                "phpunit/phpunit": "^11.3",
-                "setasign/fpdf": "^1.8.2",
+                "phpunit/phpunit": "^11.5",
+                "setasign/fpdf": "^1.8.6",
                 "slevomat/coding-standard": "^8.15",
-                "squizlabs/php_codesniffer": "^3.10"
+                "squizlabs/php_codesniffer": "^3.11"
             },
             "suggest": {
                 "chillerlan/php-authenticator": "Yet another Google authenticator! Also creates URIs for mobile apps.",
                     "type": "Ko-Fi"
                 }
             ],
-            "time": "2024-11-27T19:19:56+00:00"
+            "time": "2025-03-14T19:01:50+00:00"
         },
         {
             "name": "chillerlan/php-settings-container",
             "version": "v1.0.25",
             "source": {
                 "type": "git",
-                "url": "https://github.com/creativeorange/gravatar.git",
+                "url": "https://github.com/brainpink/gravatar.git",
                 "reference": "21ba6cbe125d57965c58468047ea29dfa822b4d3"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/creativeorange/gravatar/zipball/21ba6cbe125d57965c58468047ea29dfa822b4d3",
+                "url": "https://api.github.com/repos/brainpink/gravatar/zipball/21ba6cbe125d57965c58468047ea29dfa822b4d3",
                 "reference": "21ba6cbe125d57965c58468047ea29dfa822b4d3",
                 "shasum": ""
             },
                 "laravel"
             ],
             "support": {
-                "issues": "https://github.com/creativeorange/gravatar/issues",
-                "source": "https://github.com/creativeorange/gravatar/tree/v1.0.25"
+                "issues": "https://github.com/brainpink/gravatar/issues",
+                "source": "https://github.com/brainpink/gravatar/tree/v1.0.25"
             },
             "time": "2025-02-22T19:11:54+00:00"
         },
             "source": {
                 "type": "git",
                 "url": "git://git.cubedesigners.com/cubist_cms-back.git",
-                "reference": "d35f1c3d13a3625d80eaf3cd5a4ee74821847fc9"
+                "reference": "c311de2e5d3dde7ad02a6c9eff0a0450bfffdab3"
             },
             "dist": {
                 "type": "tar",
-                "url": "https://composer.cubedesigners.com/dist/cubist/cms-back/cubist-cms-back-dev-master-5fb7c0.tar",
-                "reference": "d35f1c3d13a3625d80eaf3cd5a4ee74821847fc9",
-                "shasum": "bd724a0a677ec7d2733b0e7cfa3544e6f5e058b8"
+                "url": "https://composer.cubedesigners.com/dist/cubist/cms-back/cubist-cms-back-dev-master-88059b.tar",
+                "reference": "c311de2e5d3dde7ad02a6c9eff0a0450bfffdab3",
+                "shasum": "03cb5102ae4e0bac178ded5b0e48b5eb7fb615a8"
             },
             "require": {
                 "backpack/backupmanager": "^v3.0.9",
                 }
             ],
             "description": "Cubist Backpack extension",
-            "time": "2025-02-24T16:45:54+00:00"
+            "time": "2025-03-13T16:11:47+00:00"
         },
         {
             "name": "cubist/cms-front",
             "source": {
                 "type": "git",
                 "url": "git://git.cubedesigners.com/cubist_util.git",
-                "reference": "4a8f775501a863379d5e997dec51df9e2708f773"
+                "reference": "2db8257265e093ff21b4d44c16bd0318a63d4cb6"
             },
             "dist": {
                 "type": "tar",
-                "url": "https://composer.cubedesigners.com/dist/cubist/util/cubist-util-dev-master-f3f8da.tar",
-                "reference": "4a8f775501a863379d5e997dec51df9e2708f773",
-                "shasum": "3ec1a2f700e424eae514cf4eaee9446f28212bd5"
+                "url": "https://composer.cubedesigners.com/dist/cubist/util/cubist-util-dev-master-abd052.tar",
+                "reference": "2db8257265e093ff21b4d44c16bd0318a63d4cb6",
+                "shasum": "bd76da5f2f2e819d6618a63d9072bab8ffe0c801"
             },
             "require": {
                 "cubist/net": "dev-master",
                 }
             ],
             "description": "Utilities class",
-            "time": "2025-02-13T18:18:56+00:00"
+            "time": "2025-03-20T10:43:02+00:00"
         },
         {
             "name": "cviebrock/eloquent-sluggable",
         },
         {
             "name": "laravel/framework",
-            "version": "v10.48.28",
+            "version": "v10.48.29",
             "source": {
                 "type": "git",
                 "url": "https://github.com/laravel/framework.git",
-                "reference": "e714e7e0c1ae51bf747e3df5b10fa60c54e3e0e1"
+                "reference": "8f7f9247cb8aad1a769d6b9815a6623d89b46b47"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/laravel/framework/zipball/e714e7e0c1ae51bf747e3df5b10fa60c54e3e0e1",
-                "reference": "e714e7e0c1ae51bf747e3df5b10fa60c54e3e0e1",
+                "url": "https://api.github.com/repos/laravel/framework/zipball/8f7f9247cb8aad1a769d6b9815a6623d89b46b47",
+                "reference": "8f7f9247cb8aad1a769d6b9815a6623d89b46b47",
                 "shasum": ""
             },
             "require": {
                 "issues": "https://github.com/laravel/framework/issues",
                 "source": "https://github.com/laravel/framework"
             },
-            "time": "2025-01-31T10:04:17+00:00"
+            "time": "2025-03-12T14:42:01+00:00"
         },
         {
             "name": "laravel/prompts",
         },
         {
             "name": "filp/whoops",
-            "version": "2.17.0",
+            "version": "2.18.0",
             "source": {
                 "type": "git",
                 "url": "https://github.com/filp/whoops.git",
-                "reference": "075bc0c26631110584175de6523ab3f1652eb28e"
+                "reference": "a7de6c3c6c3c022f5cfc337f8ede6a14460cf77e"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/filp/whoops/zipball/075bc0c26631110584175de6523ab3f1652eb28e",
-                "reference": "075bc0c26631110584175de6523ab3f1652eb28e",
+                "url": "https://api.github.com/repos/filp/whoops/zipball/a7de6c3c6c3c022f5cfc337f8ede6a14460cf77e",
+                "reference": "a7de6c3c6c3c022f5cfc337f8ede6a14460cf77e",
                 "shasum": ""
             },
             "require": {
             ],
             "support": {
                 "issues": "https://github.com/filp/whoops/issues",
-                "source": "https://github.com/filp/whoops/tree/2.17.0"
+                "source": "https://github.com/filp/whoops/tree/2.18.0"
             },
             "funding": [
                 {
                     "type": "github"
                 }
             ],
-            "time": "2025-01-25T12:00:00+00:00"
+            "time": "2025-03-15T12:00:00+00:00"
         },
         {
             "name": "hamcrest/hamcrest-php",
         },
         {
             "name": "psy/psysh",
-            "version": "v0.12.7",
+            "version": "v0.12.8",
             "source": {
                 "type": "git",
                 "url": "https://github.com/bobthecow/psysh.git",
-                "reference": "d73fa3c74918ef4522bb8a3bf9cab39161c4b57c"
+                "reference": "85057ceedee50c49d4f6ecaff73ee96adb3b3625"
             },
             "dist": {
                 "type": "zip",
-                "url": "https://api.github.com/repos/bobthecow/psysh/zipball/d73fa3c74918ef4522bb8a3bf9cab39161c4b57c",
-                "reference": "d73fa3c74918ef4522bb8a3bf9cab39161c4b57c",
+                "url": "https://api.github.com/repos/bobthecow/psysh/zipball/85057ceedee50c49d4f6ecaff73ee96adb3b3625",
+                "reference": "85057ceedee50c49d4f6ecaff73ee96adb3b3625",
                 "shasum": ""
             },
             "require": {
             ],
             "support": {
                 "issues": "https://github.com/bobthecow/psysh/issues",
-                "source": "https://github.com/bobthecow/psysh/tree/v0.12.7"
+                "source": "https://github.com/bobthecow/psysh/tree/v0.12.8"
             },
-            "time": "2024-12-10T01:58:33+00:00"
+            "time": "2025-03-16T03:05:19+00:00"
         },
         {
             "name": "sebastian/cli-parser",