Custom content

Create custom content for stylesheets, Javascript, a global warning-message and a new page to render markdown content for company news.

Kevin Papst
Offered by
Kevin Papst

A Kimai plugin which allows adding custom content for:

  • Stylesheet (embedded in all pages)
  • Javascript (embedded in all pages, except security screens)
  • A global warning message, shown to every logged-in user
  • An entire new page to display (markdown formatted) information for your users

Alternative

If you only want to add some custom CSS stylesheets, you can have a look at this free item instead: Custom CSS

Storage

This bundle stores contents in the directory var/data/custom-content-bundle/.

Make sure the data directory is writable by your webserver and included in your backups.

Changelog

## Version 2.3.1

Compatibility: requires minimum Kimai 2.5.0

- Changed: import Route attribute from correct namespace
- Changed: use bundle identifier to load routes

## Version 2.3.0

Compatibility: requires minimum Kimai 2.5.0

- Changed: moved some translations to core, allowing more languages

## Version 2.2.0

Compatibility: requires minimum Kimai 2.1.0

- Fixed: route mapping type changed to attribute

## Version 2.1.1

Compatibility: requires minimum Kimai 2.0

- Added: explicit ID and class to target markdown news content via Javascript

## Version 2.1.0

Compatibility: requires minimum Kimai 2.0

- Added: new permissions `js_custom_content`, `css_custom_content`, `alert_custom_content`, `news_custom_content` for separate content sections
- Added: better tabs

## Version 2.0.3

Compatibility: requires minimum Kimai 2.0

- Fixed: do not escape HTML in javascript content

## Version 2.0.2

Compatibility: requires minimum Kimai 2.0

- Added: improved validation rules
- Fixed: show submitted tab again

## Version 2.0.1

Compatibility: requires minimum Kimai 2.0

- Fixed: compatibility with Kimai 2.0 (new Configuration access API)

## Version 2.0

Compatibility: requires minimum Kimai 2.0

- Fixed: compatibility with Kimai 2.0

## Version 1.2

Compatibility: requires minimum Kimai 1.17

- Added: automatically import settings from CustomCSS bundle (when admin page is opened first)
- Added: Translations for tabs (added german)

## Version 1.1

Compatibility: requires minimum Kimai 1.17

- Fixed: saving failed
- Code cleanup

## Version 1.0

Compatibility: requires minimum Kimai 1.17

- Added support for: Custom CSS
- Added support for: Custom Javascript
- Added support for: Custom warning message (alert)
- Added support for: Custom page with title (name of menu) and content

Installation

Copy files

Extract the ZIP file and upload the included directory and all files to your Kimai installation to the new directory:

var/plugins/CustomContentBundle/

The file structure needs to look like this afterwards:

var/plugins/
├── CustomContentBundle
│   ├── CustomContentBundle.php
|   └ ... more files and directories follow here ...

Clear cache

After uploading the files, Kimai needs to know about the new plugin. It will be found once the cache was re-built. Call these commands from the Kimai directory:

How to reload Kimai cache

bin/console kimai:reload --env=prod

It is not advised, but in case the above command fails you could try:

rm -r var/cache/prod/*

You might have to set file permissions afterwards:

Adjust file permission

You have to allow PHP (your webserver process) to write to var/ and it subdirectories.

Here is an example for Debian/Ubuntu (to be executed inside the Kimai directory):

chown -R :www-data .
chmod -R g+r .
chmod -R g+rw var/

Updates

Updating the plugin works exactly like the installation:

  • Delete the directory var/plugins/CustomContentBundle/
  • Execute all installation steps again:
    • Copy files
    • Clear cache

Compatibility

The following table contains a comparison between plugin and required minimum Kimai version.

Bundle version Minimum Kimai version
2.3.0 - 2.3.1 2.5.0
2.2.0 2.1.0
2.1.0 - 2.1.1 2.0
2.0.1 2.0
1.2.1 1.17

Demo

You can test this plugin at demo.kimai.org:

Username: susan_super
Password: kitten

Find more test accounts here.

Screenshots

Screenshot
The warning message is displayed on every page for logged-in users
Screenshot
The Javascript is executed on every page for logged-in users
Screenshot
You can enter a markdown-formatted news with a title
Screenshot
The news page is linked in the user menu and displays your markdown message

Purchase

You can buy the plugin via Lemon Squeezy (CreditCard, instant access) or from the developer (bank-transfer, up to one week)

Support-questions, bug-reports and feature-requests will be answered in this Github repository

Offered by

Kevin Papst

Building Kimai since 2009

If you have any question, please use the following contact information to get in touch with the developer directly.
Top