--- /dev/null
+<?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;
+ }
+
+}
"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",