Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
9d9e6be
fixed php version in md files
SergiuBota1 Apr 23, 2026
7aaffa1
wrong release
SergiuBota1 Apr 23, 2026
edce524
Issue #423: Upgraded mezzio-oauth2 to v3.0.1
SergiuBota1 Apr 29, 2026
68fe0ba
sync files with dk api
SergiuBota1 Apr 30, 2026
d9e2e76
sync adminLogin with API
SergiuBota1 Apr 30, 2026
3fa260d
sync classes and fix PHPStan issues
SergiuBota1 Apr 30, 2026
975fd73
fixed indentation
SergiuBota1 May 4, 2026
1b06a2d
Issue #425: Revert changes that interfered with the Browscap mapping
SergiuBota1 May 5, 2026
5f3577b
minor phpstan fix
Jurj-Bogdan May 22, 2026
2a91120
Add renovate.json
renovate[bot] May 21, 2026
00e312f
Update codecov/codecov-action action to v6
renovate[bot] May 25, 2026
dd05376
package clean v1
Jun 9, 2026
807cd45
package clean v1.2
Jun 9, 2026
2bdb821
package clean v2
Jun 16, 2026
73a04f8
Issue #446: Admin JS broken after fresh install
alexmerlin Jun 17, 2026
4da272d
Issue #446: Admin JS broken after fresh install
alexmerlin Jun 17, 2026
b2af8c2
package clean v4
Jun 17, 2026
7dbab25
package clean v2
Jun 16, 2026
09aee26
Issue #446: Admin JS broken after fresh install
alexmerlin Jun 17, 2026
26f63b4
Issue #446: Admin JS broken after fresh install
alexmerlin Jun 17, 2026
b49d8aa
package clean v4
Jun 17, 2026
8976b31
Update dependency vincentlanglet/twig-cs-fixer to v4
renovate[bot] Jun 15, 2026
bd945fd
Issue #453: Implement CSS/JS builder
alexmerlin Jun 18, 2026
38d9023
Issue #453: Implement CSS/JS builder
alexmerlin Jun 18, 2026
2ebfaa4
Update JetBrains/qodana-action action to v2026
renovate[bot] Jun 18, 2026
945838e
Update codecov/codecov-action action to v7
renovate[bot] Jun 18, 2026
444a960
Update actions/checkout action to v7
renovate[bot] Jun 19, 2026
a7fb8d5
removed the "perfect-scrollbar" package
Jun 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 33 additions & 0 deletions .github/workflows/build-assets.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Build Assets

on: push

permissions:
contents: read

jobs:
build:
name: Build assets (Node ${{ matrix.node-version }})
runs-on: ubuntu-latest

strategy:
matrix:
node-version: ["20", "22", "24", "26"]

steps:
- name: Checkout code
uses: actions/checkout@v7

- name: Set up Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v6
with:
node-version: ${{ matrix.node-version }}

- name: Install dependencies
run: npm install

- name: Build assets
run: npm run prod

- name: Audit dependencies
run: npm audit --audit-level=critical
4 changes: 2 additions & 2 deletions .github/workflows/codecov.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v7

- name: Install PHP
uses: shivammathur/setup-php@v2
Expand Down Expand Up @@ -49,6 +49,6 @@ jobs:
run: vendor/bin/phpunit --colors=always --coverage-clover clover.xml

- name: Send code coverage report to Codecov.io
uses: codecov/codecov-action@v3
uses: codecov/codecov-action@v7
with:
token: ${{ secrets.CODECOV_TOKEN }}
4 changes: 2 additions & 2 deletions .github/workflows/qodana_code_quality.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ jobs:
matrix:
php-versions: ['8.3', '8.4', '8.5' ]
steps:
- uses: actions/checkout@v6
- uses: actions/checkout@v7
with:
ref: ${{ github.event.pull_request.head.sha }} # to check out the actual pull request commit, not the merge commit
fetch-depth: 0 # a full history is required for pull request analysis
Expand All @@ -43,6 +43,6 @@ jobs:
- name: Install dependencies with composer
run: composer install --prefer-dist --no-interaction --no-progress --optimize-autoloader --ansi
- name: 'Qodana Scan'
uses: JetBrains/qodana-action@v2025.3
uses: JetBrains/qodana-action@v2026.1.3
env:
QODANA_TOKEN: ${{ secrets.QODANA_TOKEN }}
2 changes: 1 addition & 1 deletion .github/workflows/static-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:

steps:
- name: Checkout
uses: actions/checkout@v6
uses: actions/checkout@v7

- name: Install PHP
uses: shivammathur/setup-php@v2
Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,8 @@ Documentation is available at: https://docs.dotkernel.org/admin-documentation/

| Branch | Release | PSR-11 | OSS Lifecycle | PHP Version |
|--------|----------|--------|----------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------|
| 7.0 | `>= 7.0` | 1 | ![OSS Lifecycle](https://img.shields.io/osslifecycle?file_url=https%3A%2F%2Fgithub.com%2Fdotkernel%2Fadmin%2Fblob%2F7.0%2FOSSMETADATA) | ![PHP from Packagist (specify version)](https://img.shields.io/packagist/php-v/dotkernel/admin/7.2.0) |
| 7.0 | `>= 7.2` | 1 | ![OSS Lifecycle](https://img.shields.io/osslifecycle?file_url=https%3A%2F%2Fgithub.com%2Fdotkernel%2Fadmin%2Fblob%2F7.0%2FOSSMETADATA) | ![PHP from Packagist (specify version)](https://img.shields.io/packagist/php-v/dotkernel/admin/7.2.0) |
| 7.0 | `< 7.2` | 1 | ![OSS Lifecycle](https://img.shields.io/osslifecycle?file_url=https%3A%2F%2Fgithub.com%2Fdotkernel%2Fadmin%2Fblob%2F7.0%2FOSSMETADATA) | ![PHP from Packagist (specify version)](https://img.shields.io/packagist/php-v/dotkernel/admin/7.1.0) |
| 6.0 | `< 7.0` | 1 | ![OSS Lifecycle](https://img.shields.io/osslifecycle?file_url=https%3A%2F%2Fgithub.com%2Fdotkernel%2Fadmin%2Fblob%2F6.0%2FOSSMETADATA) | ![PHP from Packagist (specify version)](https://img.shields.io/packagist/php-v/dotkernel/admin/6.2.0) |
| 5.0 | `< 6.0` | 1 | ![OSS Lifecycle](https://img.shields.io/osslifecycle?file_url=https%3A%2F%2Fgithub.com%2Fdotkernel%2Fadmin%2Fblob%2F5.0%2FOSSMETADATA) | ![PHP from Packagist (specify version)](https://img.shields.io/packagist/php-v/dotkernel/admin/5.0.3) |
| 4.0 | `< 5.0` | 1 | ![OSS Lifecycle](https://img.shields.io/osslifecycle?file_url=https%3A%2F%2Fgithub.com%2Fdotkernel%2Fadmin%2Fblob%2F4.0%2FOSSMETADATA) | ![PHP from Packagist (specify version)](https://img.shields.io/packagist/php-v/dotkernel/admin/4.3.1) |
Expand All @@ -36,6 +37,7 @@ Documentation is available at: https://docs.dotkernel.org/admin-documentation/
[![codecov](https://codecov.io/gh/dotkernel/admin/graph/badge.svg?token=BQS43UWAM4)](https://codecov.io/gh/dotkernel/admin)
[![Qodana](https://github.com/dotkernel/admin/actions/workflows/qodana_code_quality.yml/badge.svg?branch=7.0)](https://github.com/dotkernel/admin/actions/workflows/qodana_code_quality.yml)
[![PHPStan](https://github.com/dotkernel/admin/actions/workflows/static-analysis.yml/badge.svg?branch=7.0)](https://github.com/dotkernel/admin/actions/workflows/static-analysis.yml)
[![Build Assets](https://github.com/dotkernel/admin/actions/workflows/build-assets.yml/badge.svg?branch=7.0)](https://github.com/dotkernel/admin/actions/workflows/build-assets.yml)

## Getting Started

Expand Down
15 changes: 8 additions & 7 deletions SECURITY.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,14 @@

## Supported Versions

| Branch | OSS Lifecycle | PHP Version |
|--------|----------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------|
| 7.0 | ![OSS Lifecycle](https://img.shields.io/osslifecycle?file_url=https%3A%2F%2Fgithub.com%2Fdotkernel%2Fadmin%2Fblob%2F7.0%2FOSSMETADATA) | ![PHP from Packagist (specify version)](https://img.shields.io/packagist/php-v/dotkernel/admin/7.2.0) |
| 6.0 | ![OSS Lifecycle](https://img.shields.io/osslifecycle?file_url=https%3A%2F%2Fgithub.com%2Fdotkernel%2Fadmin%2Fblob%2F6.0%2FOSSMETADATA) | ![PHP from Packagist (specify version)](https://img.shields.io/packagist/php-v/dotkernel/admin/6.2.0) |
| 5.0 | ![OSS Lifecycle](https://img.shields.io/osslifecycle?file_url=https%3A%2F%2Fgithub.com%2Fdotkernel%2Fadmin%2Fblob%2F5.0%2FOSSMETADATA) | ![PHP from Packagist (specify version)](https://img.shields.io/packagist/php-v/dotkernel/admin/5.0.3) |
| 4.0 | ![OSS Lifecycle](https://img.shields.io/osslifecycle?file_url=https%3A%2F%2Fgithub.com%2Fdotkernel%2Fadmin%2Fblob%2F4.0%2FOSSMETADATA) | ![PHP from Packagist (specify version)](https://img.shields.io/packagist/php-v/dotkernel/admin/4.3.1) |
| 3.0 | ![OSS Lifecycle](https://img.shields.io/osslifecycle?file_url=https%3A%2F%2Fgithub.com%2Fdotkernel%2Fadmin%2Fblob%2F3.0%2FOSSMETADATA) | ![PHP from Packagist (specify version)](https://img.shields.io/packagist/php-v/dotkernel/admin/3.2.1) |
| Branch | Release | OSS Lifecycle | PHP Version |
|--------|----------|----------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------|
| 7.0 | `>= 7.2` | ![OSS Lifecycle](https://img.shields.io/osslifecycle?file_url=https%3A%2F%2Fgithub.com%2Fdotkernel%2Fadmin%2Fblob%2F7.0%2FOSSMETADATA) | ![PHP from Packagist (specify version)](https://img.shields.io/packagist/php-v/dotkernel/admin/7.2.0) |
| 7.0 | `< 7.2` | ![OSS Lifecycle](https://img.shields.io/osslifecycle?file_url=https%3A%2F%2Fgithub.com%2Fdotkernel%2Fadmin%2Fblob%2F7.0%2FOSSMETADATA) | ![PHP from Packagist (specify version)](https://img.shields.io/packagist/php-v/dotkernel/admin/7.1.0) |
| 6.0 | `< 7.0` | ![OSS Lifecycle](https://img.shields.io/osslifecycle?file_url=https%3A%2F%2Fgithub.com%2Fdotkernel%2Fadmin%2Fblob%2F6.0%2FOSSMETADATA) | ![PHP from Packagist (specify version)](https://img.shields.io/packagist/php-v/dotkernel/admin/6.2.0) |
| 5.0 | `< 6.0` | ![OSS Lifecycle](https://img.shields.io/osslifecycle?file_url=https%3A%2F%2Fgithub.com%2Fdotkernel%2Fadmin%2Fblob%2F5.0%2FOSSMETADATA) | ![PHP from Packagist (specify version)](https://img.shields.io/packagist/php-v/dotkernel/admin/5.0.3) |
| 4.0 | `< 5.0` | ![OSS Lifecycle](https://img.shields.io/osslifecycle?file_url=https%3A%2F%2Fgithub.com%2Fdotkernel%2Fadmin%2Fblob%2F4.0%2FOSSMETADATA) | ![PHP from Packagist (specify version)](https://img.shields.io/packagist/php-v/dotkernel/admin/4.3.1) |
| 3.0 | `< 4.0` | ![OSS Lifecycle](https://img.shields.io/osslifecycle?file_url=https%3A%2F%2Fgithub.com%2Fdotkernel%2Fadmin%2Fblob%2F3.0%2FOSSMETADATA) | ![PHP from Packagist (specify version)](https://img.shields.io/packagist/php-v/dotkernel/admin/3.2.1) |

## Reporting Potential Security Issues

Expand Down
7 changes: 6 additions & 1 deletion bin/composer-post-install-script.php
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,12 @@ function getEnvironment(): string
],
[
'source' => 'vendor/dotkernel/dot-mail/config/mail.global.php.dist',
'destination' => 'config/autoload/mail.global.php',
'destination' => 'config/autoload/mail.local.php',
'environment' => [ENVIRONMENT_DEVELOPMENT, ENVIRONMENT_PRODUCTION],
],
[
'source' => 'vendor/dotkernel/dot-mail/config/mail.global.php.dist',
'destination' => 'config/autoload/mail.local.php.dist',
'environment' => [ENVIRONMENT_DEVELOPMENT, ENVIRONMENT_PRODUCTION],
],
];
Expand Down
4 changes: 2 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@
"laminas/laminas-component-installer": "^3.7.0",
"laminas/laminas-config-aggregator": "^1.19.0",
"mezzio/mezzio": "^3.26.0",
"mezzio/mezzio-authentication-oauth2": "^2.13.0",
"mezzio/mezzio-authentication-oauth2": "^3.0.1",
"mezzio/mezzio-authorization-rbac": "^1.10.0",
"mezzio/mezzio-cors": "^1.15.0",
"mezzio/mezzio-fastroute": "^3.14.0",
Expand All @@ -67,7 +67,7 @@
"phpunit/phpunit": "^12.5.23",
"roave/security-advisories": "dev-latest",
"symfony/var-dumper": "^7.4.0",
"vincentlanglet/twig-cs-fixer": "^3.11.0"
"vincentlanglet/twig-cs-fixer": "^4.0.0"
},
"autoload": {
"psr-4": {
Expand Down
44 changes: 12 additions & 32 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
"description": "Web starter package suitable for admin applications.",
"main": "index.js",
"scripts": {
"dev": "cross-env NODE_ENV=development node_modules/.bin/webpack -d --progress --hide-modules",
"dev": "cross-env NODE_ENV=development node_modules/.bin/webpack --mode development --progress",
"watch": "cross-env NODE_ENV=development webpack --watch --mode development --progress",
"prod": "cross-env NODE_ENV=production node_modules/.bin/webpack --mode=production --progress"
},
Expand All @@ -25,53 +25,33 @@
"dependencies": {
"@popperjs/core": "^2.11.8",
"babel-polyfill": "^6.26.0",
"bootstrap": "^5.3.3",
"chart.js": "^4.4.3",
"jquery": "^3.7.1",
"jquery-sparkline": "^2.4.0",
"lodash": "^4.17.21",
"bootstrap": "^5.3.8",
"chart.js": "^4.5.1",
"jquery": "^4.0.0",
"jquery-migrate": "^4.0.2",
"lodash": "^4.18.1",
"moment": "^2.30.1",
"perfect-scrollbar": "^1.5.5",
"skycons": "^1.0.0"
"jquery-sparkline": "^2.4.0"
},
"devDependencies": {
"@babel/core": "^7.24.7",
"@babel/eslint-parser": "^7.24.7",
"@babel/plugin-proposal-class-properties": "^7.18.6",
"@babel/plugin-proposal-object-rest-spread": "^7.20.7",
"@babel/plugin-transform-runtime": "^7.24.7",
"@babel/runtime": "^7.24.7",
"babel-core": "^6.26.3",
"babel-loader": "^9.1.3",
"babel-preset-env": "^1.7.0",
"babel-preset-stage-0": "^6.24.1",
"case-sensitive-paths-webpack-plugin": "^2.4.0",
"ajv": "^8.18.0",
"babel-loader": "^10.1.1",
"clean-webpack-plugin": "^4.0.0",
"copy-webpack-plugin": "^12.0.2",
"copy-webpack-plugin": "^14.0.0",
"cross-env": "^7.0.3",
"css-loader": "5.2.7",
"css-minimizer-webpack-plugin": "^7.0.0",
"eslint": "^8.56.0",
"eslint-config-airbnb-base": "^15.0.0",
"eslint-plugin-import": "^2.29.1",
"expose-loader": "^5.0.0",
"html-webpack-plugin": "^5.6.0",
"imagemin-webpack-plugin": "^2.4.2",
"file-loader": "^6.2.0",
"mini-css-extract-plugin": "^2.9.0",
"postcss": "^8.4.39",
"postcss-loader": "^8.1.1",
"postcss-preset-env": "^9.6.0",
"sass": "^1.77.1",
"sass-loader": "^14.2.1",
"shx": "^0.3.4",
"style-loader": "^4.0.0",
"stylelint": "^16.6.1",
"stylelint-config-standard": "^36.0.1",
"webpack": "^5.92.1",
"webpack-cli": "^5.1.4",
"webpack-dashboard": "^3.3.8",
"webpack-dev-server": "^5.0.4",
"file-loader": "^6.2.0"
"webpack-cli": "^5.1.4"
},
"overrides": {
"graceful-fs": "^4.2.11"
Expand Down
6 changes: 3 additions & 3 deletions public/css/app.css

Large diffs are not rendered by default.

File renamed without changes
File renamed without changes
File renamed without changes
12 changes: 11 additions & 1 deletion public/js/admin.js

Large diffs are not rendered by default.

41 changes: 21 additions & 20 deletions public/js/app.js

Large diffs are not rendered by default.

12 changes: 11 additions & 1 deletion public/js/table_settings.js

Large diffs are not rendered by default.

12 changes: 11 additions & 1 deletion public/js/user.js

Large diffs are not rendered by default.

6 changes: 6 additions & 0 deletions renovate.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended"
]
}
4 changes: 3 additions & 1 deletion src/Admin/src/Adapter/AuthenticationAdapter.php
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,10 @@ public function authenticate(): Result
/** Check for the authentication configuration */
$this->validateConfig();

/** @var class-string $classString */
$classString = $this->config['orm_default']['identity_class'];
/** Get the identity class object */
$repository = $this->entityManager->getRepository($this->config['orm_default']['identity_class']);
$repository = $this->entityManager->getRepository($classString);

/** @var Admin $identityClass */
$identityClass = $repository->findOneBy([
Expand Down
6 changes: 3 additions & 3 deletions src/Admin/src/Service/AdminLoginService.php
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ public function getAdminLogins(array $params): array
}

/**
* @param non-empty-array<non-empty-string, mixed> $serverParams
* @param array{HTTP_X_FORWARDED_FOR?: string, HTTP_CLIENT_IP?: string, REMOTE_ADDR: string} $serverParams
* @throws Exception
*/
public function logFailedLogin(array $serverParams, string $name): AdminLogin
Expand All @@ -84,7 +84,7 @@ public function logFailedLogin(array $serverParams, string $name): AdminLogin
}

/**
* @param non-empty-array<non-empty-string, mixed> $serverParams
* @param array{HTTP_X_FORWARDED_FOR?: string, HTTP_CLIENT_IP?: string, REMOTE_ADDR: string} $serverParams
* @throws Exception
*/
public function logSuccessfulLogin(array $serverParams, string $name): AdminLogin
Expand All @@ -93,7 +93,7 @@ public function logSuccessfulLogin(array $serverParams, string $name): AdminLogi
}

/**
* @param non-empty-array<non-empty-string, mixed> $serverParams
* @param array{HTTP_X_FORWARDED_FOR?: string, HTTP_CLIENT_IP?: string, REMOTE_ADDR: string} $serverParams
* @throws Exception
*/
private function logAdminVisit(array $serverParams, string $name, SuccessFailureEnum $status): AdminLogin
Expand Down
2 changes: 1 addition & 1 deletion src/Admin/templates/admin/login-form.html.twig
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<div class="peers ai-s fxw-nw h-100vh align-items-center">
<div class="container">
<div class="row">
<div class="col-md-6 peer pX-40 pY-80 h-100 bgc-white scrollable pos-r">
<div class="col-md-6 peer pX-40 pY-80 h-100 bgc-white pos-r">
<div class="pos-a centerXY">
<div class="bgc-white bdrs-50p w-100">
<a href="{{ path('app::index-redirect') }}">
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
15 changes: 15 additions & 0 deletions src/App/assets/images/no-image.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
3 changes: 3 additions & 0 deletions src/App/assets/js/_jquery-setup.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
import $ from 'jquery';

$.migrateMute = true;
2 changes: 2 additions & 0 deletions src/App/assets/js/components/_admin.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
import $ from 'jquery';

$(document).ready(() => {
const request = async(url, options = {}) => {
try {
Expand Down
Loading