Compare commits

...

3 Commits

Author SHA1 Message Date
028d6bb68f Revert version to 2.2.2-dev
All checks were successful
Create Docker Image / Test Application (x86_64) (push) Successful in 3m29s
Create Docker Image / Build Docker Image (x86_64) (push) Successful in 2m5s
Create Docker Image / Build Docker Image (arm64) (push) Successful in 3m45s
Create Docker Image / Final Docker Image Manifest (push) Successful in 9s
2025-07-17 21:58:06 +08:00
715fe92da4 Fix for template autoFill processing with "k" tokens, the attribute wasnt being selected to parse. Fixes #363 2025-07-17 21:58:06 +08:00
d90bc32887 Fix schema viewer, showing objectClass name in used_in and not oid 2025-07-17 21:58:06 +08:00
8 changed files with 67 additions and 8 deletions

View File

@ -3,7 +3,7 @@ run-name: ${{ gitea.actor }} Building Docker Image 🐳
on: [push]
env:
DOCKER_HOST: tcp://127.0.0.1:2375
ASSETS: 2d732e5
ASSETS: b7700ea
jobs:
test:

View File

@ -64,8 +64,8 @@ class Attribute implements \Countable, \ArrayAccess
$soc = config('server')->schema('objectclasses',$objectclass);
if ($soc) {
$this->oc->push($soc->oid);
$this->oc = $this->oc->merge($soc->getParents()->pluck('oid'));
$this->oc->push($soc->name);
$this->oc = $this->oc->merge($soc->getParents()->pluck('name'));
}
}
}

View File

@ -463,11 +463,11 @@ final class Server
foreach ($o->attributes as $attribute) {
if (($attrid = $this->schema('attributetypes')->search(fn($item)=>$item->oid === $attribute->oid)) !== FALSE) {
// Add Used In.
$this->attributetypes[$attrid]->addUsedInObjectClass($o->oid,$o->isStructural());
$this->attributetypes[$attrid]->addUsedInObjectClass($o->name,$o->isStructural());
// Add Required By.
if ($attribute->is_must)
$this->attributetypes[$attrid]->addRequiredByObjectClass($o->oid,$o->isStructural());
$this->attributetypes[$attrid]->addRequiredByObjectClass($o->name,$o->isStructural());
}
}
}

View File

@ -415,6 +415,7 @@ class Template
preg_match_all('/(\d+)/',trim($match_subst),$substrarray);
$delimiter = ($match_delim === '') ? ' ' : preg_quote($match_delim);
$result .= sprintf("%s = get_attribute('%s');\n",$match_attr,$match_attr);
$result .= sprintf(" %s = %s.split('%s')[%s];\n",$match_attr,$match_attr,$delimiter,$substrarray[1][0] ?? '0');
} else {

View File

@ -1 +1 @@
v2.2.1-rel
v2.2.2-dev

10
public/home-note.html Normal file
View File

@ -0,0 +1,10 @@
<p>This is a actively developed instance of phpLDAPadmin, so you can expect that things could be broken or non-functional. You may like to check back here regularly to see how the development is progressing.</p>
<p>Things being worked on here are:</p>
<ul>
<li>Attribute Tags</li>
<li>Certificate Binary Objects</li>
<li>JpegPhoto Objects</li>
<li>Templates</li>
</ul>

View File

@ -88,11 +88,11 @@
<td>@lang('Used by ObjectClasses')</td>
<td>
@if($o->used_in_object_classes->count())
@foreach($o->used_in_object_classes as $class => $structural)
@foreach($o->used_in_object_classes as $name => $structural)
@if($structural)
<strong>
@endif
<a class="objectclass" id="{{ strtolower($class) }}" href="#{{ strtolower($class) }}">{{ $class }}</a>
<a class="objectclass" id="{{ strtolower($name) }}" href="#{{ strtolower($name) }}">{{ $name }}</a>
@if($structural)
</strong>
@endif

View File

@ -0,0 +1,48 @@
{
"title": "Generic: Mail Account",
"description": "New Mail Account",
"enabled": true,
"icon": "fa-at",
"rdn": "cn",
"regexp": "/^ou=.+,?/",
"objectclasses": [
"inetOrgPerson"
],
"attributes": {
"mail": {
"display": "Email (mail)",
"order": 1,
"onchange": [
"=autoFill(cn;%mail|0-0/k|@%)",
"=autoFill(description;%mail|1-0/k|@%)"
]
},
"givenName": {
"display": "First Name",
"onchange": [
"=autoFill(cn;%givenName% %sn/U%)",
"=autoFill(uid;%givenName|0-1/l%%sn/l%)"
],
"order": 3
},
"sn": {
"display": "Last Name",
"onchange": [
"=autoFill(cn;%givenName% %sn/U%)",
"=autoFill(uid;%givenName|0-1/l%%sn/l%)"
],
"order": 4
},
"cn": {
"display": "Common Name",
"readonly": true,
"order": 2
},
"description": {
"display": "Description",
"order": 5
}
}
}