Compare commits
7 Commits
3cc577136c
...
06701de72e
Author | SHA1 | Date | |
---|---|---|---|
06701de72e | |||
7debd9ff2b | |||
49fd9b419a | |||
3161fe4fcb | |||
add3f85812 | |||
853bd92340 | |||
a56b2d8002 |
@ -3,7 +3,7 @@ run-name: ${{ gitea.actor }} Building Docker Image 🐳
|
|||||||
on: [push]
|
on: [push]
|
||||||
env:
|
env:
|
||||||
DOCKER_HOST: tcp://127.0.0.1:2375
|
DOCKER_HOST: tcp://127.0.0.1:2375
|
||||||
ASSETS: 509b1a1
|
ASSETS: c2780a3
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
|
@ -279,7 +279,11 @@ class Attribute implements \Countable, \ArrayAccess, \Iterator
|
|||||||
*/
|
*/
|
||||||
public function render(bool $edit=FALSE,bool $old=FALSE,bool $new=FALSE): View
|
public function render(bool $edit=FALSE,bool $old=FALSE,bool $new=FALSE): View
|
||||||
{
|
{
|
||||||
return view('components.attribute')
|
$view = view()->exists($x='components.attribute.'.$this->name_lc)
|
||||||
|
? view($x)
|
||||||
|
: view('components.attribute');
|
||||||
|
|
||||||
|
return $view
|
||||||
->with('o',$this)
|
->with('o',$this)
|
||||||
->with('edit',$edit)
|
->with('edit',$edit)
|
||||||
->with('old',$old)
|
->with('old',$old)
|
||||||
|
@ -26,12 +26,17 @@ class Factory
|
|||||||
'entrycsn' => Internal\CSN::class,
|
'entrycsn' => Internal\CSN::class,
|
||||||
'entrydn' => Internal\DN::class,
|
'entrydn' => Internal\DN::class,
|
||||||
'entryuuid' => Internal\UUID::class,
|
'entryuuid' => Internal\UUID::class,
|
||||||
|
'etag' => Internal\Etag::class,
|
||||||
|
'krbprincipalkey' => KrbPrincipalKey::class,
|
||||||
|
'krbticketflags' => KrbTicketFlags::class,
|
||||||
'gidnumber' => GidNumber::class,
|
'gidnumber' => GidNumber::class,
|
||||||
'hassubordinates' => Internal\HasSubordinates::class,
|
'hassubordinates' => Internal\HasSubordinates::class,
|
||||||
'jpegphoto' => Binary\JpegPhoto::class,
|
'jpegphoto' => Binary\JpegPhoto::class,
|
||||||
'modifytimestamp' => Internal\Timestamp::class,
|
'modifytimestamp' => Internal\Timestamp::class,
|
||||||
'modifiersname' => Internal\DN::class,
|
'modifiersname' => Internal\DN::class,
|
||||||
|
'numsubordinates' => Internal\NumSubordinates::class,
|
||||||
'objectclass' => ObjectClass::class,
|
'objectclass' => ObjectClass::class,
|
||||||
|
'pwdpolicysubentry' => Internal\PwdPolicySubentry::class,
|
||||||
'structuralobjectclass' => Internal\StructuralObjectClass::class,
|
'structuralobjectclass' => Internal\StructuralObjectClass::class,
|
||||||
'subschemasubentry' => Internal\SubschemaSubentry::class,
|
'subschemasubentry' => Internal\SubschemaSubentry::class,
|
||||||
'supportedcontrol' => Schema\OID::class,
|
'supportedcontrol' => Schema\OID::class,
|
||||||
|
12
app/Classes/LDAP/Attribute/Internal/Etag.php
Normal file
12
app/Classes/LDAP/Attribute/Internal/Etag.php
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\LDAP\Attribute\Internal;
|
||||||
|
|
||||||
|
use App\Classes\LDAP\Attribute\Internal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Represents an Etag Attribute
|
||||||
|
*/
|
||||||
|
final class Etag extends Internal
|
||||||
|
{
|
||||||
|
}
|
12
app/Classes/LDAP/Attribute/Internal/NumSubordinates.php
Normal file
12
app/Classes/LDAP/Attribute/Internal/NumSubordinates.php
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\LDAP\Attribute\Internal;
|
||||||
|
|
||||||
|
use App\Classes\LDAP\Attribute\Internal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Represents an NumSubordinates Attribute
|
||||||
|
*/
|
||||||
|
final class NumSubordinates extends Internal
|
||||||
|
{
|
||||||
|
}
|
12
app/Classes/LDAP/Attribute/Internal/PwdPolicySubentry.php
Normal file
12
app/Classes/LDAP/Attribute/Internal/PwdPolicySubentry.php
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\LDAP\Attribute\Internal;
|
||||||
|
|
||||||
|
use App\Classes\LDAP\Attribute\Internal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Represents an PwdPolicySubentry Attribute
|
||||||
|
*/
|
||||||
|
final class PwdPolicySubentry extends Internal
|
||||||
|
{
|
||||||
|
}
|
42
app/Classes/LDAP/Attribute/KrbPrincipalKey.php
Normal file
42
app/Classes/LDAP/Attribute/KrbPrincipalKey.php
Normal file
@ -0,0 +1,42 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\LDAP\Attribute;
|
||||||
|
|
||||||
|
use Illuminate\Contracts\View\View;
|
||||||
|
use Illuminate\Support\Arr;
|
||||||
|
|
||||||
|
use App\Classes\LDAP\Attribute;
|
||||||
|
use App\Traits\MD5Updates;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Represents an attribute whose values are passwords
|
||||||
|
*/
|
||||||
|
final class KrbPrincipalKey extends Attribute
|
||||||
|
{
|
||||||
|
use MD5Updates;
|
||||||
|
|
||||||
|
public function render(bool $edit=FALSE,bool $old=FALSE,bool $new=FALSE): View
|
||||||
|
{
|
||||||
|
return view('components.attribute.krbprincipalkey')
|
||||||
|
->with('o',$this)
|
||||||
|
->with('edit',$edit)
|
||||||
|
->with('old',$old)
|
||||||
|
->with('new',$new);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function render_item_old(int $key): ?string
|
||||||
|
{
|
||||||
|
$pw = Arr::get($this->oldValues,$key);
|
||||||
|
return $pw
|
||||||
|
? str_repeat('*',16)
|
||||||
|
: NULL;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function render_item_new(int $key): ?string
|
||||||
|
{
|
||||||
|
$pw = Arr::get($this->values,$key);
|
||||||
|
return $pw
|
||||||
|
? str_repeat('*',16)
|
||||||
|
: NULL;
|
||||||
|
}
|
||||||
|
}
|
59
app/Classes/LDAP/Attribute/KrbTicketFlags.php
Normal file
59
app/Classes/LDAP/Attribute/KrbTicketFlags.php
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Classes\LDAP\Attribute;
|
||||||
|
|
||||||
|
use Illuminate\Contracts\View\View;
|
||||||
|
|
||||||
|
use App\Classes\LDAP\Attribute;
|
||||||
|
use Illuminate\Support\Collection;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Represents an attribute whose value is a Kerberos Ticket Flag
|
||||||
|
* See RFC4120
|
||||||
|
*/
|
||||||
|
class KrbTicketFlags extends Attribute
|
||||||
|
{
|
||||||
|
private const DISALLOW_POSTDATED = 0x00000001;
|
||||||
|
private const DISALLOW_FORWARDABLE = 0x00000002;
|
||||||
|
private const DISALLOW_TGT_BASED = 0x00000004;
|
||||||
|
private const DISALLOW_RENEWABLE = 0x00000008;
|
||||||
|
private const DISALLOW_PROXIABLE = 0x00000010;
|
||||||
|
private const DISALLOW_DUP_SKEY = 0x00000020;
|
||||||
|
private const DISALLOW_ALL_TIX = 0x00000040;
|
||||||
|
private const REQUIRES_PRE_AUTH = 0x00000080;
|
||||||
|
private const REQUIRES_HW_AUTH = 0x00000100;
|
||||||
|
private const REQUIRES_PWCHANGE = 0x00000200;
|
||||||
|
private const DISALLOW_SVR = 0x00001000;
|
||||||
|
private const PWCHANGE_SERVICE = 0x00002000;
|
||||||
|
|
||||||
|
private static function helpers(): Collection
|
||||||
|
{
|
||||||
|
$helpers = collect([
|
||||||
|
log(self::DISALLOW_POSTDATED,2) => __('KRB_DISALLOW_POSTDATED'),
|
||||||
|
log(self::DISALLOW_FORWARDABLE,2) => __('KRB_DISALLOW_FORWARDABLE'),
|
||||||
|
log(self::DISALLOW_TGT_BASED,2) => __('KRB_DISALLOW_TGT_BASED'),
|
||||||
|
log(self::DISALLOW_RENEWABLE,2) => __('KRB_DISALLOW_RENEWABLE'),
|
||||||
|
log(self::DISALLOW_PROXIABLE,2) => __('KRB_DISALLOW_PROXIABLE'),
|
||||||
|
log(self::DISALLOW_DUP_SKEY,2) => __('KRB_DISALLOW_DUP_SKEY'),
|
||||||
|
log(self::DISALLOW_ALL_TIX,2) => __('KRB_DISALLOW_ALL_TIX'),
|
||||||
|
log(self::REQUIRES_PRE_AUTH,2) => __('KRB_REQUIRES_PRE_AUTH'),
|
||||||
|
log(self::REQUIRES_HW_AUTH,2) => __('KRB_REQUIRES_HW_AUTH'),
|
||||||
|
log(self::REQUIRES_PWCHANGE,2) => __('KRB_REQUIRES_PWCHANGE'),
|
||||||
|
log(self::DISALLOW_SVR,2) => __('KRB_DISALLOW_SVR'),
|
||||||
|
log(self::PWCHANGE_SERVICE,2) => __('KRB_PWCHANGE_SERVICE'),
|
||||||
|
])
|
||||||
|
->replace(config('pla.krb.bits',[]));
|
||||||
|
|
||||||
|
return $helpers;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function render(bool $edit=FALSE,bool $old=FALSE,bool $new=FALSE): View
|
||||||
|
{
|
||||||
|
return view('components.attribute.krbticketflags')
|
||||||
|
->with('o',$this)
|
||||||
|
->with('edit',$edit)
|
||||||
|
->with('old',$old)
|
||||||
|
->with('new',$new)
|
||||||
|
->with('helper',static::helpers());
|
||||||
|
}
|
||||||
|
}
|
@ -39,14 +39,13 @@ class APIController extends Controller
|
|||||||
*/
|
*/
|
||||||
public function children(Request $request): Collection
|
public function children(Request $request): Collection
|
||||||
{
|
{
|
||||||
$levels = $request->query('depth',1);
|
|
||||||
$dn = Crypt::decryptString($request->query('key'));
|
$dn = Crypt::decryptString($request->query('key'));
|
||||||
|
|
||||||
// Sometimes our key has a command, so we'll ignore it
|
// Sometimes our key has a command, so we'll ignore it
|
||||||
if (str_starts_with($dn,'*') && ($x=strpos($dn,'|')))
|
if (str_starts_with($dn,'*') && ($x=strpos($dn,'|')))
|
||||||
$dn = substr($dn,$x+1);
|
$dn = substr($dn,$x+1);
|
||||||
|
|
||||||
Log::debug(sprintf('%s: Query [%s] - Levels [%d]',__METHOD__,$dn,$levels));
|
Log::debug(sprintf('%s: Query [%s]',__METHOD__,$dn));
|
||||||
|
|
||||||
return (config('server'))
|
return (config('server'))
|
||||||
->children($dn)
|
->children($dn)
|
||||||
@ -102,7 +101,7 @@ class APIController extends Controller
|
|||||||
* @param string $objectclass
|
* @param string $objectclass
|
||||||
* @return array
|
* @return array
|
||||||
*/
|
*/
|
||||||
public function schema_objectclass_attrs(Request $request,string $objectclass): array
|
public function schema_objectclass_attrs(string $objectclass): array
|
||||||
{
|
{
|
||||||
$oc = config('server')->schema('objectclasses',$objectclass);
|
$oc = config('server')->schema('objectclasses',$objectclass);
|
||||||
|
|
||||||
|
38
composer.lock
generated
38
composer.lock
generated
@ -1199,16 +1199,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/framework",
|
"name": "laravel/framework",
|
||||||
"version": "v11.44.1",
|
"version": "v11.44.2",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/laravel/framework.git",
|
"url": "https://github.com/laravel/framework.git",
|
||||||
"reference": "0883d4175f4e2b5c299e7087ad3c74f2ce195c6d"
|
"reference": "f85216c82cbd38b66d67ebd20ea762cb3751a4b4"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/laravel/framework/zipball/0883d4175f4e2b5c299e7087ad3c74f2ce195c6d",
|
"url": "https://api.github.com/repos/laravel/framework/zipball/f85216c82cbd38b66d67ebd20ea762cb3751a4b4",
|
||||||
"reference": "0883d4175f4e2b5c299e7087ad3c74f2ce195c6d",
|
"reference": "f85216c82cbd38b66d67ebd20ea762cb3751a4b4",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -1410,7 +1410,7 @@
|
|||||||
"issues": "https://github.com/laravel/framework/issues",
|
"issues": "https://github.com/laravel/framework/issues",
|
||||||
"source": "https://github.com/laravel/framework"
|
"source": "https://github.com/laravel/framework"
|
||||||
},
|
},
|
||||||
"time": "2025-03-05T15:34:10+00:00"
|
"time": "2025-03-12T14:34:30+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "laravel/prompts",
|
"name": "laravel/prompts",
|
||||||
@ -6939,16 +6939,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "phpunit/phpunit",
|
"name": "phpunit/phpunit",
|
||||||
"version": "11.5.11",
|
"version": "11.5.12",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
"url": "https://github.com/sebastianbergmann/phpunit.git",
|
||||||
"reference": "3946ac38410be7440186c6e74584f31b15107fc7"
|
"reference": "d42785840519401ed2113292263795eb4c0f95da"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/3946ac38410be7440186c6e74584f31b15107fc7",
|
"url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/d42785840519401ed2113292263795eb4c0f95da",
|
||||||
"reference": "3946ac38410be7440186c6e74584f31b15107fc7",
|
"reference": "d42785840519401ed2113292263795eb4c0f95da",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -6969,7 +6969,7 @@
|
|||||||
"phpunit/php-timer": "^7.0.1",
|
"phpunit/php-timer": "^7.0.1",
|
||||||
"sebastian/cli-parser": "^3.0.2",
|
"sebastian/cli-parser": "^3.0.2",
|
||||||
"sebastian/code-unit": "^3.0.2",
|
"sebastian/code-unit": "^3.0.2",
|
||||||
"sebastian/comparator": "^6.3.0",
|
"sebastian/comparator": "^6.3.1",
|
||||||
"sebastian/diff": "^6.0.2",
|
"sebastian/diff": "^6.0.2",
|
||||||
"sebastian/environment": "^7.2.0",
|
"sebastian/environment": "^7.2.0",
|
||||||
"sebastian/exporter": "^6.3.0",
|
"sebastian/exporter": "^6.3.0",
|
||||||
@ -7020,7 +7020,7 @@
|
|||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
|
"issues": "https://github.com/sebastianbergmann/phpunit/issues",
|
||||||
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
|
"security": "https://github.com/sebastianbergmann/phpunit/security/policy",
|
||||||
"source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.11"
|
"source": "https://github.com/sebastianbergmann/phpunit/tree/11.5.12"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -7036,7 +7036,7 @@
|
|||||||
"type": "tidelift"
|
"type": "tidelift"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-03-05T07:36:02+00:00"
|
"time": "2025-03-07T07:31:03+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/cli-parser",
|
"name": "sebastian/cli-parser",
|
||||||
@ -7210,16 +7210,16 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/comparator",
|
"name": "sebastian/comparator",
|
||||||
"version": "6.3.0",
|
"version": "6.3.1",
|
||||||
"source": {
|
"source": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/sebastianbergmann/comparator.git",
|
"url": "https://github.com/sebastianbergmann/comparator.git",
|
||||||
"reference": "d4e47a769525c4dd38cea90e5dcd435ddbbc7115"
|
"reference": "24b8fbc2c8e201bb1308e7b05148d6ab393b6959"
|
||||||
},
|
},
|
||||||
"dist": {
|
"dist": {
|
||||||
"type": "zip",
|
"type": "zip",
|
||||||
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/d4e47a769525c4dd38cea90e5dcd435ddbbc7115",
|
"url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/24b8fbc2c8e201bb1308e7b05148d6ab393b6959",
|
||||||
"reference": "d4e47a769525c4dd38cea90e5dcd435ddbbc7115",
|
"reference": "24b8fbc2c8e201bb1308e7b05148d6ab393b6959",
|
||||||
"shasum": ""
|
"shasum": ""
|
||||||
},
|
},
|
||||||
"require": {
|
"require": {
|
||||||
@ -7238,7 +7238,7 @@
|
|||||||
"type": "library",
|
"type": "library",
|
||||||
"extra": {
|
"extra": {
|
||||||
"branch-alias": {
|
"branch-alias": {
|
||||||
"dev-main": "6.2-dev"
|
"dev-main": "6.3-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"autoload": {
|
"autoload": {
|
||||||
@ -7278,7 +7278,7 @@
|
|||||||
"support": {
|
"support": {
|
||||||
"issues": "https://github.com/sebastianbergmann/comparator/issues",
|
"issues": "https://github.com/sebastianbergmann/comparator/issues",
|
||||||
"security": "https://github.com/sebastianbergmann/comparator/security/policy",
|
"security": "https://github.com/sebastianbergmann/comparator/security/policy",
|
||||||
"source": "https://github.com/sebastianbergmann/comparator/tree/6.3.0"
|
"source": "https://github.com/sebastianbergmann/comparator/tree/6.3.1"
|
||||||
},
|
},
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
@ -7286,7 +7286,7 @@
|
|||||||
"type": "github"
|
"type": "github"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"time": "2025-01-06T10:28:19+00:00"
|
"time": "2025-03-07T06:57:01+00:00"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"name": "sebastian/complexity",
|
"name": "sebastian/complexity",
|
||||||
|
162
package-lock.json
generated
162
package-lock.json
generated
@ -10,6 +10,7 @@
|
|||||||
"animate-sass": "^0.8.2",
|
"animate-sass": "^0.8.2",
|
||||||
"axios": "^1.3.4",
|
"axios": "^1.3.4",
|
||||||
"bootstrap": "^5.2.3",
|
"bootstrap": "^5.2.3",
|
||||||
|
"bootstrap-icons": "^1.11.3",
|
||||||
"jquery": "^3.6.3",
|
"jquery": "^3.6.3",
|
||||||
"jquery-ui": "^1.13.2",
|
"jquery-ui": "^1.13.2",
|
||||||
"jquery.fancytree": "^2.38.3",
|
"jquery.fancytree": "^2.38.3",
|
||||||
@ -61,21 +62,21 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/core": {
|
"node_modules/@babel/core": {
|
||||||
"version": "7.26.9",
|
"version": "7.26.10",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.10.tgz",
|
||||||
"integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==",
|
"integrity": "sha512-vMqyb7XCDMPvJFFOaT9kxtiRh42GwlZEg1/uIgtZshS5a/8OaduUfCi7kynKgc3Tw/6Uo2D+db9qBttghhmxwQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@ampproject/remapping": "^2.2.0",
|
"@ampproject/remapping": "^2.2.0",
|
||||||
"@babel/code-frame": "^7.26.2",
|
"@babel/code-frame": "^7.26.2",
|
||||||
"@babel/generator": "^7.26.9",
|
"@babel/generator": "^7.26.10",
|
||||||
"@babel/helper-compilation-targets": "^7.26.5",
|
"@babel/helper-compilation-targets": "^7.26.5",
|
||||||
"@babel/helper-module-transforms": "^7.26.0",
|
"@babel/helper-module-transforms": "^7.26.0",
|
||||||
"@babel/helpers": "^7.26.9",
|
"@babel/helpers": "^7.26.10",
|
||||||
"@babel/parser": "^7.26.9",
|
"@babel/parser": "^7.26.10",
|
||||||
"@babel/template": "^7.26.9",
|
"@babel/template": "^7.26.9",
|
||||||
"@babel/traverse": "^7.26.9",
|
"@babel/traverse": "^7.26.10",
|
||||||
"@babel/types": "^7.26.9",
|
"@babel/types": "^7.26.10",
|
||||||
"convert-source-map": "^2.0.0",
|
"convert-source-map": "^2.0.0",
|
||||||
"debug": "^4.1.0",
|
"debug": "^4.1.0",
|
||||||
"gensync": "^1.0.0-beta.2",
|
"gensync": "^1.0.0-beta.2",
|
||||||
@ -100,13 +101,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/generator": {
|
"node_modules/@babel/generator": {
|
||||||
"version": "7.26.9",
|
"version": "7.26.10",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.9.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.10.tgz",
|
||||||
"integrity": "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==",
|
"integrity": "sha512-rRHT8siFIXQrAYOYqZQVsAr8vJ+cBNqcVAY6m5V8/4QqzaPl+zDBe6cLEPRDuNOUf3ww8RfJVlOyQMoSI+5Ang==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/parser": "^7.26.9",
|
"@babel/parser": "^7.26.10",
|
||||||
"@babel/types": "^7.26.9",
|
"@babel/types": "^7.26.10",
|
||||||
"@jridgewell/gen-mapping": "^0.3.5",
|
"@jridgewell/gen-mapping": "^0.3.5",
|
||||||
"@jridgewell/trace-mapping": "^0.3.25",
|
"@jridgewell/trace-mapping": "^0.3.25",
|
||||||
"jsesc": "^3.0.2"
|
"jsesc": "^3.0.2"
|
||||||
@ -377,25 +378,25 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/helpers": {
|
"node_modules/@babel/helpers": {
|
||||||
"version": "7.26.9",
|
"version": "7.26.10",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.9.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.10.tgz",
|
||||||
"integrity": "sha512-Mz/4+y8udxBKdmzt/UjPACs4G3j5SshJJEFFKxlCGPydG4JAHXxjWjAwjd09tf6oINvl1VfMJo+nB7H2YKQ0dA==",
|
"integrity": "sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/template": "^7.26.9",
|
"@babel/template": "^7.26.9",
|
||||||
"@babel/types": "^7.26.9"
|
"@babel/types": "^7.26.10"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/parser": {
|
"node_modules/@babel/parser": {
|
||||||
"version": "7.26.9",
|
"version": "7.26.10",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.10.tgz",
|
||||||
"integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==",
|
"integrity": "sha512-6aQR2zGE/QFi8JpDLjUZEPYOs7+mhKXm86VaKFiLP35JQwQb6bwUE+XbvkH0EptsYhbNBSUGaUBLKqxH1xSgsA==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/types": "^7.26.9"
|
"@babel/types": "^7.26.10"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
"parser": "bin/babel-parser.js"
|
"parser": "bin/babel-parser.js"
|
||||||
@ -1234,15 +1235,15 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/plugin-transform-runtime": {
|
"node_modules/@babel/plugin-transform-runtime": {
|
||||||
"version": "7.26.9",
|
"version": "7.26.10",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.26.9.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.26.10.tgz",
|
||||||
"integrity": "sha512-Jf+8y9wXQbbxvVYTM8gO5oEF2POdNji0NMltEkG7FtmzD9PVz7/lxpqSdTvwsjTMU5HIHuDVNf2SOxLkWi+wPQ==",
|
"integrity": "sha512-NWaL2qG6HRpONTnj4JvDU6th4jYeZOJgu3QhmFTCihib0ermtOJqktA5BduGm3suhhVe9EMP9c9+mfJ/I9slqw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-module-imports": "^7.25.9",
|
"@babel/helper-module-imports": "^7.25.9",
|
||||||
"@babel/helper-plugin-utils": "^7.26.5",
|
"@babel/helper-plugin-utils": "^7.26.5",
|
||||||
"babel-plugin-polyfill-corejs2": "^0.4.10",
|
"babel-plugin-polyfill-corejs2": "^0.4.10",
|
||||||
"babel-plugin-polyfill-corejs3": "^0.10.6",
|
"babel-plugin-polyfill-corejs3": "^0.11.0",
|
||||||
"babel-plugin-polyfill-regenerator": "^0.6.1",
|
"babel-plugin-polyfill-regenerator": "^0.6.1",
|
||||||
"semver": "^6.3.1"
|
"semver": "^6.3.1"
|
||||||
},
|
},
|
||||||
@ -1484,19 +1485,6 @@
|
|||||||
"@babel/core": "^7.0.0-0"
|
"@babel/core": "^7.0.0-0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/preset-env/node_modules/babel-plugin-polyfill-corejs3": {
|
|
||||||
"version": "0.11.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz",
|
|
||||||
"integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==",
|
|
||||||
"license": "MIT",
|
|
||||||
"dependencies": {
|
|
||||||
"@babel/helper-define-polyfill-provider": "^0.6.3",
|
|
||||||
"core-js-compat": "^3.40.0"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@babel/preset-env/node_modules/semver": {
|
"node_modules/@babel/preset-env/node_modules/semver": {
|
||||||
"version": "6.3.1",
|
"version": "6.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
|
||||||
@ -1521,9 +1509,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/runtime": {
|
"node_modules/@babel/runtime": {
|
||||||
"version": "7.26.9",
|
"version": "7.26.10",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.9.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.10.tgz",
|
||||||
"integrity": "sha512-aA63XwOkcl4xxQa3HjPMqOP6LiK0ZDv3mUPYEFXkpHbaFjtGggE1A61FjFzJnB+p7/oy2gA8E+rcBNl/zC1tMg==",
|
"integrity": "sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"regenerator-runtime": "^0.14.0"
|
"regenerator-runtime": "^0.14.0"
|
||||||
@ -1547,16 +1535,16 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/traverse": {
|
"node_modules/@babel/traverse": {
|
||||||
"version": "7.26.9",
|
"version": "7.26.10",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.9.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.10.tgz",
|
||||||
"integrity": "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==",
|
"integrity": "sha512-k8NuDrxr0WrPH5Aupqb2LCVURP/S0vBEn5mK6iH+GIYob66U5EtoZvcdudR2jQ4cmTwhEwW1DLB+Yyas9zjF6A==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/code-frame": "^7.26.2",
|
"@babel/code-frame": "^7.26.2",
|
||||||
"@babel/generator": "^7.26.9",
|
"@babel/generator": "^7.26.10",
|
||||||
"@babel/parser": "^7.26.9",
|
"@babel/parser": "^7.26.10",
|
||||||
"@babel/template": "^7.26.9",
|
"@babel/template": "^7.26.9",
|
||||||
"@babel/types": "^7.26.9",
|
"@babel/types": "^7.26.10",
|
||||||
"debug": "^4.3.1",
|
"debug": "^4.3.1",
|
||||||
"globals": "^11.1.0"
|
"globals": "^11.1.0"
|
||||||
},
|
},
|
||||||
@ -1565,9 +1553,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/types": {
|
"node_modules/@babel/types": {
|
||||||
"version": "7.26.9",
|
"version": "7.26.10",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.9.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz",
|
||||||
"integrity": "sha512-Y3IR1cRnOxOCDvMmNiym7XpXQ93iGDDPHx+Zj+NM+rg0fBaShfQLkg+hKPaZCEvg5N/LeCo4+Rj/i3FuJsIQaw==",
|
"integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-string-parser": "^7.25.9",
|
"@babel/helper-string-parser": "^7.25.9",
|
||||||
@ -2260,9 +2248,9 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "22.13.9",
|
"version": "22.13.10",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.9.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-22.13.10.tgz",
|
||||||
"integrity": "sha512-acBjXdRJ3A6Pb3tqnw9HZmyR3Fiol3aGxRCK1x3d+6CDAMjl7I649wpSd+yNURCjbOUGu9tqtLKnTGxmK6CyGw==",
|
"integrity": "sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"undici-types": "~6.20.0"
|
"undici-types": "~6.20.0"
|
||||||
@ -2779,9 +2767,9 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/autoprefixer": {
|
"node_modules/autoprefixer": {
|
||||||
"version": "10.4.20",
|
"version": "10.4.21",
|
||||||
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.20.tgz",
|
"resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.21.tgz",
|
||||||
"integrity": "sha512-XY25y5xSv/wEoqzDyXXME4AFfkZI0P23z6Fs3YgymDnKJkCGOnkL0iTxCa85UTqaSgfcqyf3UA6+c7wUvx/16g==",
|
"integrity": "sha512-O+A6LWV5LDHSJD3LjHYoNi4VLsj/Whi7k6zG12xTYaU4cQ8oxQGckXNX8cRHK5yOZ/ppVHe0ZBXGzSV9jXdVbQ==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
@ -2798,11 +2786,11 @@
|
|||||||
],
|
],
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"browserslist": "^4.23.3",
|
"browserslist": "^4.24.4",
|
||||||
"caniuse-lite": "^1.0.30001646",
|
"caniuse-lite": "^1.0.30001702",
|
||||||
"fraction.js": "^4.3.7",
|
"fraction.js": "^4.3.7",
|
||||||
"normalize-range": "^0.1.2",
|
"normalize-range": "^0.1.2",
|
||||||
"picocolors": "^1.0.1",
|
"picocolors": "^1.1.1",
|
||||||
"postcss-value-parser": "^4.2.0"
|
"postcss-value-parser": "^4.2.0"
|
||||||
},
|
},
|
||||||
"bin": {
|
"bin": {
|
||||||
@ -2816,9 +2804,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/axios": {
|
"node_modules/axios": {
|
||||||
"version": "1.8.1",
|
"version": "1.8.3",
|
||||||
"resolved": "https://registry.npmjs.org/axios/-/axios-1.8.1.tgz",
|
"resolved": "https://registry.npmjs.org/axios/-/axios-1.8.3.tgz",
|
||||||
"integrity": "sha512-NN+fvwH/kV01dYUQ3PTOZns4LWtWhOFCAhQ/pHb88WQ1hNe5V/dvFwc4VJcDL11LT9xSX0QtsR8sWUuyOuOq7g==",
|
"integrity": "sha512-iP4DebzoNlP/YN2dpwCgb8zoCmhtkajzS48JvwmkSkXvPI3DHc7m+XYL5tGnSlJtR6nImXZmdCuN5aP8dh1d8A==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"follow-redirects": "^1.15.6",
|
"follow-redirects": "^1.15.6",
|
||||||
@ -2869,13 +2857,13 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/babel-plugin-polyfill-corejs3": {
|
"node_modules/babel-plugin-polyfill-corejs3": {
|
||||||
"version": "0.10.6",
|
"version": "0.11.1",
|
||||||
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz",
|
"resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.11.1.tgz",
|
||||||
"integrity": "sha512-b37+KR2i/khY5sKmWNVQAnitvquQbNdWy6lJdsr0kmquCKEEUgMKK4SboVM3HtfnZilfjr4MMQ7vY58FVWDtIA==",
|
"integrity": "sha512-yGCqvBT4rwMczo28xkH/noxJ6MZ4nJfkVYdoDaC/utLtWrXxv27HVrzAeSbqR8SxDsp46n0YF47EbHoixy6rXQ==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/helper-define-polyfill-provider": "^0.6.2",
|
"@babel/helper-define-polyfill-provider": "^0.6.3",
|
||||||
"core-js-compat": "^3.38.0"
|
"core-js-compat": "^3.40.0"
|
||||||
},
|
},
|
||||||
"peerDependencies": {
|
"peerDependencies": {
|
||||||
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
|
"@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0"
|
||||||
@ -3053,6 +3041,22 @@
|
|||||||
"@popperjs/core": "^2.11.8"
|
"@popperjs/core": "^2.11.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/bootstrap-icons": {
|
||||||
|
"version": "1.11.3",
|
||||||
|
"resolved": "https://registry.npmjs.org/bootstrap-icons/-/bootstrap-icons-1.11.3.tgz",
|
||||||
|
"integrity": "sha512-+3lpHrCw/it2/7lBL15VR0HEumaBss0+f/Lb6ZvHISn1mlK83jjFpooTLsMWbIjJMDjDjOExMsTxnXSIT4k4ww==",
|
||||||
|
"funding": [
|
||||||
|
{
|
||||||
|
"type": "github",
|
||||||
|
"url": "https://github.com/sponsors/twbs"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"type": "opencollective",
|
||||||
|
"url": "https://opencollective.com/bootstrap"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/brace-expansion": {
|
"node_modules/brace-expansion": {
|
||||||
"version": "1.1.11",
|
"version": "1.1.11",
|
||||||
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
"resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
|
||||||
@ -3311,9 +3315,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/caniuse-lite": {
|
"node_modules/caniuse-lite": {
|
||||||
"version": "1.0.30001702",
|
"version": "1.0.30001703",
|
||||||
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001702.tgz",
|
"resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001703.tgz",
|
||||||
"integrity": "sha512-LoPe/D7zioC0REI5W73PeR1e1MLCipRGq/VkovJnd6Df+QVqT+vT33OXCp8QUd7kA7RZrHWxb1B36OQKI/0gOA==",
|
"integrity": "sha512-kRlAGTRWgPsOj7oARC9m1okJEXdL/8fekFVcxA8Hl7GH4r/sN4OJn/i6Flde373T50KS7Y37oFbMwlE8+F42kQ==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "opencollective",
|
"type": "opencollective",
|
||||||
@ -4324,9 +4328,9 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/electron-to-chromium": {
|
"node_modules/electron-to-chromium": {
|
||||||
"version": "1.5.112",
|
"version": "1.5.115",
|
||||||
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.112.tgz",
|
"resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.115.tgz",
|
||||||
"integrity": "sha512-oen93kVyqSb3l+ziUgzIOlWt/oOuy4zRmpwestMn4rhFWAoFJeFuCVte9F2fASjeZZo7l/Cif9TiyrdW4CwEMA==",
|
"integrity": "sha512-MN1nahVHAQMOz6dz6bNZ7apgqc9InZy7Ja4DBEVCTdeiUcegbyOYE9bi/f2Z/z6ZxLi0RxLpyJ3EGe+4h3w73A==",
|
||||||
"license": "ISC"
|
"license": "ISC"
|
||||||
},
|
},
|
||||||
"node_modules/elliptic": {
|
"node_modules/elliptic": {
|
||||||
@ -6545,9 +6549,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/nanoid": {
|
"node_modules/nanoid": {
|
||||||
"version": "3.3.8",
|
"version": "3.3.9",
|
||||||
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.8.tgz",
|
"resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.9.tgz",
|
||||||
"integrity": "sha512-WNLf5Sd8oZxOm+TzppcYk8gVOgP+l58xNy58D0nbUnOxOWRWvlcCV4kUF7ltmI6PsrLl/BgKEyS4mqsGChFN0w==",
|
"integrity": "sha512-SppoicMGpZvbF1l3z4x7No3OlIjP7QJvC9XR7AhZr1kL133KHnKPztkKDc+Ir4aJ/1VhTySrtKhrsycmrMQfvg==",
|
||||||
"funding": [
|
"funding": [
|
||||||
{
|
{
|
||||||
"type": "github",
|
"type": "github",
|
||||||
@ -9027,9 +9031,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/terser-webpack-plugin": {
|
"node_modules/terser-webpack-plugin": {
|
||||||
"version": "5.3.13",
|
"version": "5.3.14",
|
||||||
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.13.tgz",
|
"resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz",
|
||||||
"integrity": "sha512-JG3pBixF6kx2o0Yfz2K6pqh72DpwTI08nooHd06tcj5WyIt5SsSiUYqRT+kemrGUNSuSzVhwfZ28aO8gogajNQ==",
|
"integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==",
|
||||||
"license": "MIT",
|
"license": "MIT",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@jridgewell/trace-mapping": "^0.3.25",
|
"@jridgewell/trace-mapping": "^0.3.25",
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
"animate-sass": "^0.8.2",
|
"animate-sass": "^0.8.2",
|
||||||
"axios": "^1.3.4",
|
"axios": "^1.3.4",
|
||||||
"bootstrap": "^5.2.3",
|
"bootstrap": "^5.2.3",
|
||||||
|
"bootstrap-icons": "^1.11.3",
|
||||||
"jquery": "^3.6.3",
|
"jquery": "^3.6.3",
|
||||||
"jquery-ui": "^1.13.2",
|
"jquery-ui": "^1.13.2",
|
||||||
"jquery.fancytree": "^2.38.3",
|
"jquery.fancytree": "^2.38.3",
|
||||||
|
@ -1 +1 @@
|
|||||||
v2.0.2-rel
|
v2.0.3-dev
|
||||||
|
3
resources/sass/app.scss
vendored
3
resources/sass/app.scss
vendored
@ -7,3 +7,6 @@
|
|||||||
// Select2
|
// Select2
|
||||||
@import "select2/dist/css/select2";
|
@import "select2/dist/css/select2";
|
||||||
@import "select2-bootstrap-5-theme/dist/select2-bootstrap-5-theme";
|
@import "select2-bootstrap-5-theme/dist/select2-bootstrap-5-theme";
|
||||||
|
|
||||||
|
// Bootstrap icons
|
||||||
|
@import "bootstrap-icons"
|
||||||
|
@ -17,4 +17,6 @@
|
|||||||
|
|
||||||
<x-attribute :o="$o" :edit="true" :new="$new ?? FALSE"/>
|
<x-attribute :o="$o" :edit="true" :new="$new ?? FALSE"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@yield($o->name_lc.'-scripts')
|
@ -0,0 +1,8 @@
|
|||||||
|
<!-- $o=Attribute::class -->
|
||||||
|
<x-attribute.layout :edit="false" :new="false" :detail="true" :o="$o">
|
||||||
|
@foreach(old($o->name_lc,($new ?? FALSE) ? [NULL] : $o->values) as $value)
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" @class(['form-control','mb-1']) name="{{ $o->name_lc }}[]" value="{{ \Carbon\Carbon::createFromTimestamp(strtotime($value))->format(config('pla.datetime_format','Y-m-d H:i:s')) }}" @disabled(true)>
|
||||||
|
</div>
|
||||||
|
@endforeach
|
||||||
|
</x-attribute.layout>
|
@ -0,0 +1 @@
|
|||||||
|
@include('components.attribute.krblastfailedauth')
|
@ -0,0 +1 @@
|
|||||||
|
@include('components.attribute.krblastfailedauth')
|
@ -0,0 +1,8 @@
|
|||||||
|
<!-- $o=Attribute::class -->
|
||||||
|
<x-attribute.layout :edit="false" :new="false" :detail="true" :o="$o">
|
||||||
|
@foreach(old($o->name_lc,($new ?? FALSE) ? [NULL] : $o->values) as $value)
|
||||||
|
<div class="input-group">
|
||||||
|
<input type="text" @class(['form-control','mb-1']) name="{{ $o->name_lc }}[]" value="{{ $value }}" @disabled(true)>
|
||||||
|
</div>
|
||||||
|
@endforeach
|
||||||
|
</x-attribute.layout>
|
@ -0,0 +1 @@
|
|||||||
|
@include('components.attribute.krblastfailedauth')
|
@ -0,0 +1,18 @@
|
|||||||
|
<!-- $o=Password::class -->
|
||||||
|
<x-attribute.layout :edit="$edit ?? FALSE" :new="$new ?? FALSE" :o="$o">
|
||||||
|
@foreach($o->values as $value)
|
||||||
|
@if($edit)
|
||||||
|
<div class="input-group has-validation mb-3">
|
||||||
|
<input type="password" @class(['form-control','is-invalid'=>($e=$errors->get($o->name_lc.'.'.$loop->index)),'mb-1','border-focus'=>$o->values->contains($value)]) name="{{ $o->name_lc }}[]" value="{{ md5($value) }}" @readonly(true)>
|
||||||
|
|
||||||
|
<div class="invalid-feedback pb-2">
|
||||||
|
@if($e)
|
||||||
|
{{ join('|',$e) }}
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@else
|
||||||
|
{{ str_repeat('*',16) }}
|
||||||
|
@endif
|
||||||
|
@endforeach
|
||||||
|
</x-attribute.layout>
|
109
resources/views/components/attribute/krbticketflags.blade.php
Normal file
109
resources/views/components/attribute/krbticketflags.blade.php
Normal file
@ -0,0 +1,109 @@
|
|||||||
|
<!-- $o=KrbTicketFlags::class -->
|
||||||
|
<x-attribute.layout :edit="$edit ?? FALSE" :new="$new ?? FALSE" :o="$o">
|
||||||
|
@foreach(($o->values->count() ? $o->values : ($new ? [0] : NULL)) as $value)
|
||||||
|
@if($edit)
|
||||||
|
<div id="32"></div>
|
||||||
|
<div id="16"></div>
|
||||||
|
|
||||||
|
<div class="input-group has-validation mb-3">
|
||||||
|
<input type="hidden" @class(['form-control','is-invalid'=>($e=$errors->get($o->name_lc.'.'.$loop->index)),'mb-1','border-focus'=>$o->values->contains($value)]) name="{{ $o->name_lc }}[]" value="{{ $value }}" @readonly(true)>
|
||||||
|
|
||||||
|
<div class="invalid-feedback pb-2">
|
||||||
|
@if($e)
|
||||||
|
{{ join('|',$e) }}
|
||||||
|
@endif
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
@else
|
||||||
|
{{ $value }}
|
||||||
|
@endif
|
||||||
|
@endforeach
|
||||||
|
</x-attribute.layout>
|
||||||
|
|
||||||
|
@section($o->name_lc.'-scripts')
|
||||||
|
<script type="text/javascript">
|
||||||
|
var value = {{ $value ?? 0 }};
|
||||||
|
var label = {!! $helper !!};
|
||||||
|
|
||||||
|
function tooltip(bit) {
|
||||||
|
if (bit === undefined)
|
||||||
|
return;
|
||||||
|
|
||||||
|
return label[bit] ? label[bit] : 'Bit '+bit;
|
||||||
|
}
|
||||||
|
|
||||||
|
function binary(s=31,e=0) {
|
||||||
|
var result = '';
|
||||||
|
|
||||||
|
for (let x=s;x>=e;x--) {
|
||||||
|
var bit = (value&Math.pow(2,x));
|
||||||
|
|
||||||
|
result += '<i id="b'+x+'" style="margin-left:-1px;" class="fs-4 bi bi-'+(bit ? '1' : '0')+'-square'+(bit ? '-fill' : '')+'" data-bs-toggle="tooltip" data-bs-placement="bottom" title="'+tooltip(x)+'"></i>';
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
function krbticketflags() {
|
||||||
|
$('div#32').append(binary(31,16));
|
||||||
|
$('div#16').append(binary(15,0));
|
||||||
|
|
||||||
|
$('attribute#krbTicketFlags').find('i')
|
||||||
|
.on('click',function() {
|
||||||
|
var item = $(this);
|
||||||
|
if ($('form#dn-edit').attr('readonly'))
|
||||||
|
return;
|
||||||
|
|
||||||
|
var key = Number(item.attr('id').substring(1));
|
||||||
|
|
||||||
|
if (item.data('old') === undefined)
|
||||||
|
item.data('old',null);
|
||||||
|
|
||||||
|
item.toggleClass('text-success');
|
||||||
|
|
||||||
|
// has the item changed?
|
||||||
|
if (item.data('old') === null) {
|
||||||
|
// It was set to 1
|
||||||
|
if (item.hasClass('bi-1-square-fill')) {
|
||||||
|
item.data('old',1);
|
||||||
|
item.removeClass('bi-1-square-fill').addClass('bi-0-square-fill');
|
||||||
|
|
||||||
|
value -= Math.pow(2,key);
|
||||||
|
|
||||||
|
// It was set to 0
|
||||||
|
} else if (item.hasClass('bi-0-square')) {
|
||||||
|
item.data('old',0);
|
||||||
|
item.removeClass('bi-0-square').addClass('bi-1-square-fill');
|
||||||
|
|
||||||
|
value += Math.pow(2,key);
|
||||||
|
}
|
||||||
|
|
||||||
|
} else {
|
||||||
|
if (item.data('old') === 0) {
|
||||||
|
item.removeClass('bi-1-square-fill').addClass('bi-0-square');
|
||||||
|
value -= Math.pow(2,key);
|
||||||
|
|
||||||
|
} else {
|
||||||
|
item.removeClass('bi-0-square-fill').addClass('bi-1-square-fill');
|
||||||
|
value += Math.pow(2,key);
|
||||||
|
}
|
||||||
|
|
||||||
|
item.data('old',null);
|
||||||
|
}
|
||||||
|
|
||||||
|
$('attribute#krbTicketFlags').find('input').val(value);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
// When returning to a Entry after an update, jquery hasnt loaded yet, so make sure we defer this to after the page has run
|
||||||
|
if (window.$ === undefined) {
|
||||||
|
document.addEventListener('DOMContentLoaded',() => krbticketflags());
|
||||||
|
|
||||||
|
} else {
|
||||||
|
krbticketflags();
|
||||||
|
|
||||||
|
$('attribute#krbTicketFlags').find('i')
|
||||||
|
.tooltip();
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
@endsection
|
@ -1,5 +1,5 @@
|
|||||||
<div class="row pt-2">
|
<div class="row pt-2">
|
||||||
<div @class(['col-1','d-none'=>(! $edit)])></div>
|
<div @class(['col-1','d-none'=>(! $edit) && (! ($detail ?? true))])></div>
|
||||||
<div class="col-10 p-2">
|
<div class="col-10 p-2">
|
||||||
<attribute id="{{ $o->name }}">
|
<attribute id="{{ $o->name }}">
|
||||||
{{ $slot }}
|
{{ $slot }}
|
||||||
@ -7,4 +7,6 @@
|
|||||||
|
|
||||||
<x-attribute.widget.options :o="$o" :edit="$edit" :new="$new"/>
|
<x-attribute.widget.options :o="$o" :edit="$edit" :new="$new"/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@yield($o->name_lc.'-scripts')
|
@ -220,7 +220,7 @@
|
|||||||
<!-- All other attributes -->
|
<!-- All other attributes -->
|
||||||
@default
|
@default
|
||||||
@php($clone=TRUE)
|
@php($clone=TRUE)
|
||||||
<span @class(['btn','btn-sm','btn-outline-primary','mt-3','addable','d-none'=>(! $new)]) id="{{ $o->name }}-addnew"><i class="fas fa-fw fa-plus"></i> @lang('Add Value')</span>
|
<button @class(['btn','btn-sm','btn-outline-primary','mt-3','addable','d-none'=>(! $new)]) id="{{ $o->name }}-addnew"><i class="fas fa-fw fa-plus"></i> @lang('Add Value')</button>
|
||||||
|
|
||||||
@section('page-scripts')
|
@section('page-scripts')
|
||||||
@if($clone && $edit && $o->can_addvalues)
|
@if($clone && $edit && $o->can_addvalues)
|
||||||
|
@ -85,7 +85,7 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Our password type
|
// Our password type
|
||||||
$('div#userPassword .form-select').each(function() {
|
$('attribute#userPassword .form-select').each(function() {
|
||||||
$(this).prop('disabled',false);
|
$(this).prop('disabled',false);
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -23,7 +23,7 @@
|
|||||||
<div class="tab-content">
|
<div class="tab-content">
|
||||||
<!-- All Attributes -->
|
<!-- All Attributes -->
|
||||||
<div class="tab-pane active" id="attributes" role="tabpanel">
|
<div class="tab-pane active" id="attributes" role="tabpanel">
|
||||||
<form id="dn-edit" method="POST" class="needs-validation" action="{{ url('entry/update/pending') }}" novalidate>
|
<form id="dn-edit" method="POST" class="needs-validation" action="{{ url('entry/update/pending') }}" novalidate readonly>
|
||||||
@csrf
|
@csrf
|
||||||
|
|
||||||
<input type="hidden" name="dn" value="">
|
<input type="hidden" name="dn" value="">
|
||||||
@ -156,9 +156,12 @@
|
|||||||
function editmode() {
|
function editmode() {
|
||||||
$('#dn-edit input[name="dn"]').val(dn);
|
$('#dn-edit input[name="dn"]').val(dn);
|
||||||
|
|
||||||
|
$('form#dn-edit').attr('readonly',false);
|
||||||
$('button[id=entry-edit]')
|
$('button[id=entry-edit]')
|
||||||
.removeClass('btn-outline-dark')
|
.removeClass('btn-outline-dark')
|
||||||
.addClass('btn-dark');
|
.addClass('btn-dark')
|
||||||
|
.addClass('opacity-100')
|
||||||
|
.attr('disabled',true);
|
||||||
|
|
||||||
// Find all input items and turn off readonly
|
// Find all input items and turn off readonly
|
||||||
$('input.form-control').each(function() {
|
$('input.form-control').each(function() {
|
||||||
@ -170,13 +173,13 @@
|
|||||||
});
|
});
|
||||||
|
|
||||||
// Our password type
|
// Our password type
|
||||||
$('div#userPassword .form-select').each(function() {
|
$('attribute#userPassword .form-select').each(function() {
|
||||||
$(this).prop('disabled',false);
|
$(this).prop('disabled',false);
|
||||||
})
|
})
|
||||||
|
|
||||||
$('.row.d-none').removeClass('d-none');
|
$('.row.d-none').removeClass('d-none');
|
||||||
$('.addable.d-none').removeClass('d-none');
|
$('button.addable.d-none').removeClass('d-none');
|
||||||
$('.deletable.d-none').removeClass('d-none');
|
$('button.deletable.d-none').removeClass('d-none');
|
||||||
|
|
||||||
@if($o->getMissingAttributes()->count())
|
@if($o->getMissingAttributes()->count())
|
||||||
$('#newattr-select.d-none').removeClass('d-none');
|
$('#newattr-select.d-none').removeClass('d-none');
|
||||||
|
@ -39,8 +39,8 @@
|
|||||||
</tr><tr>
|
</tr><tr>
|
||||||
@endif
|
@endif
|
||||||
|
|
||||||
<td>{{ $oo->render_item_old($xx) ?: '['.strtoupper(__('New Value')).']' }}</td>
|
<td>{{ (($r=$oo->render_item_old($xx)) !== NULL) ? $r : '['.strtoupper(__('New Value')).']' }}</td>
|
||||||
<td>{{ $oo->render_item_new($xx) ?: '['.strtoupper(__('Deleted')).']' }}<input type="hidden" name="{{ $key }}[]" value="{{ Arr::get($oo->values,$xx) }}"></td>
|
<td>{{ (($r=$oo->render_item_new($xx)) !== NULL) ? $r : '['.strtoupper(__('Deleted')).']' }}<input type="hidden" name="{{ $key }}[]" value="{{ Arr::get($oo->values,$xx) }}"></td>
|
||||||
@endfor
|
@endfor
|
||||||
</tr>
|
</tr>
|
||||||
@endforeach
|
@endforeach
|
||||||
|
Loading…
x
Reference in New Issue
Block a user