Das PMJ Bootstrap CMS ist kein CMS im eigentlichen Sinn.

Es ist eine Web Applikation basierend auf dem FuelPHP Framework welche Basisfunktionen wie ACL, Config und Kontakte enthält und so aufgebaut ist, dass man sie beliebig modular erweitern kann, wenn man sich an ein paar Vorgaben hält.
Ich habe die App entwickelt um möglichst schnell auf bestimmte Anforderungen reagieren und entsprechnde Funktionalität hinzufügen zu können.

Es befindet sich immer noch in der Entwicklungsphase und ich empfehle es niemandem zur aktiven oder sogar produktiven Benutzung.

Changelog

0.18 (pre state)

0.18.1 [2024-08-22]

  • Version 0.18.1
  • Fixed empty uri segment passed to ucwords
  • Fixed dummy image creation
  • Fixed login title
  • [BUG] Implemented the API check in the wrong place and some other small fixes
  • [BUG] Fixed updater: no property on null
  • [BUG] Fixed updater: whole system fails if update domain is not available

0.18.0 [2024-07-16]

  • Version 0.18.0
  • Fixed date display in ACL users
  • Changed gitlab-ci.yml for FuelPHP 1.9
  • Changed README
  • Fixed config for FuelPHP 1.9
  • Fixed navigation for FuelPHP 1.9
  • Fixed a JS error in Contacts which prevents saving when email could not be linked with a user

0.17 (pre state)

0.17.4 [2022-11-29]

  • Version 0.17.4
  • Added formatDateTime() to helpers

0.17.3 [2022-10-12]

  • Version 0.17.3
  • Added global variables and constants to readme
  • [BUG] Don't filter password, it will be hashed anyway
  • [BUG] Fixed notification on login error

0.17.2 [2022-10-04]

  • Version 0.17.2
  • Updated README
  • Adapted ACL view to new template
  • Added the possibility to change meta data to the template

0.17.1 [2022-08-01]

  • Version 1.17.1
  • Added some text strings
  • Fixed a bug in login

0.17.0 [2022-07-18]

  • Version 0.17.0
  • Updated Installation form to prevent CSRF token overwrite
  • Updated Contacts forms to prevent CSRF token overwrite
  • Updated System forms to prevent CSRF token overwrite
  • Removed JS CSRF token generation from lang switch
  • Moved JS CSRF token to template
  • Updated ACL forms to prevent CSRF token overwrite
  • Typo
  • Added compatibility check for extensions
  • Updated Config to prevent CSRF token overwrite
  • Updated language switch to prevent CSRF token overwrite
  • Only create a nav entry for controllers which contain action_index()
  • Sort extensions by name in Navigation

0.16 (pre state)

0.16.8 [2022-06-22]

  • Version 0.16.8
  • Fixed a typo in auth driver
  • [BUG] Another round in trying to get the Auth::has_access() right

0.16.7 [2022-05-29]

  • Version 0.16.7
  • Added confirmation before uninstalling extensions

0.16.6 [2022-05-08]

  • Version 0.16.6
  • Small fix in ACL library
  • Cleanup
  • Add Migration
  • [BUG] Fixed wrong language variable in access check for user
  • FINALLY! Extension Update works! (migrations, permissions, files not yet)
  • [BUG] Fixed display of empty errors when deleting multiple users
  • Added some global language strings
  • [BUG] Fixed validation unique and unique multi
  • [BUG] Cannot create new user due to required active validation
  • [BUG] Fixed wrong language string again
  • [BUG] Wrong language string

0.16.5 [2021-08-31]

  • Version 0.16.5
  • Forgot to change default config path value
  • Switch from ORM to direct query to update image path upon config change to reduce execution time
  • Still path issues in contacts

0.16.4 [2021-08-30]

  • Version 0.16.4
  • Added option to delete profile image and fixed path
  • Changed image helper class to use Liberation Sans regular font
  • Added font Liberation Sans regular
  • Fixed Typo

0.16.3 [2021-08-14]

  • Version 0.16.3
  • Forgot to add down function in migration
  • [BUG] Countries were not inserted correctly into the database due to wrong variable

0.16.2 [2021-05-09]

  • Version 0.16.2
  • Fixed referral code creation
  • Fixed missing Navbar on user profile
  • Fixed wrong text variable name

0.16.1 [2020-12-08]

  • Version 0.16.1
  • Finally fixed login redirect when in admin section, hopefully
  • Small design fix in closed login form
  • Several small text fixes
  • Forgot to add lost password to login widget
  • Reset password redirect back if no code provided

0.16.0 [2020-12-07]

  • Version 0.16.0
  • Added lost/reset password
  • Small fix in profile route
  • Moved signup to separate controller
  • Updated Routes
  • Migrate Permissions
  • Forgot to ACTUALLY SAVE THE USERNAME, d'err
  • Small fix in profile username edit
  • Edit profile username
  • Reworked ACL Users
  • Added user confirmation by admin action
  • Fixed setting of active and confirmed status in ACL Users
  • Added referrals to user creation
  • Reworked user self activation
  • Don't just update referrals, create a new one
  • Fixed Signup Emails
  • Reworked Signup
  • Typo fix
  • Small ACL fix
  • Forgot code validation in email confirmation
  • Changed code generation length from 32 to 16
  • Reworked Login
  • Reworked referrals
  • Edit profile email
  • Reworked email confirmation
  • Changed Footer Copyright
  • Edit Profile works now
  • [BUG] ACL User can't save own user due to group validation
  • [BUG] Fixed route for Contacts pagination
  • Remove migration task

0.15 (pre state)

0.15.2 [2020-11-24]

  • Version 0.15.2
  • Don't show Extension Manager if there are no extensions
  • [BUG] Updater doesn't delete extracted directory

0.15.1 (New Updater Test) [2020-11-24]

  • Version 0.15.1
  • [BUG] Wrong Filename in CI
  • Updated Readme
  • [BUG] Wrong variable in Contacts Socials migration

0.15.0 (Switch from Package to App) [2020-11-24]

  • Version 0.15.0
  • Updated Readme
  • Removed Introtext in Login (for now)
  • Corrected Paths in Updater (hopefully)
  • Added Migration Task
  • Fixed permissions Roles
  • Fixed permissions Groups
  • Fixed persmissions User
  • Fixed permissions module filter
  • Fixed access check
  • Fix autoincrement start to prevent wrong created-by entries
  • Fix exception in validation
  • Fixed .gitignore
  • Added DATA and BACKUP (unused for now) folders
  • Switch from beta to pre state
  • Added presenter folder
  • Switch from package to app: Updater
  • Changed version_check to update_check
  • Updated PMJ_PATH realpath
  • Updated CI
  • Updated Readme
  • Fixed some stuff in config
  • Setup: copy core config files to app config to prevent overwriting
  • [BUG] Small fix in base controller
  • Added constant PMJ_TMP_PATH and fixed double slash in path constants
  • Added DOCROOT validation
  • Added subfolders to config dir
  • Cleanup bootstrap.php
  • Switch PMJ_BACKUPS_PATH to PMJ_BACKUP_PATH
  • [BUG] Small fix in routes.php
  • [BUG] Setup overwrote core db config file
  • Changed PKGPATH to APPPATH
  • Switch PMJ_UPLOADS_PATH to PMJ_DATA_PATH
  • Switch from package to app: Uninstall
  • Switch from package to app: Setup
  • [BUG] Fixed Assetloader fonts loading (FontAwesome)
  • Intermediate fix for profile stats page
  • Removed file-config
  • [BUG] ACL and System Config didn't show success or error message upon saving
  • Moved permissions description to single file
  • Switch from package to app: config.php
  • array_unique for error, success and info messages
  • Cleaned up Signup Process
  • Fixed several signup issues
  • Fixed signup views
  • Return correct 404 header with 404 page
  • Load ALL mandatory assets through assetloader
  • Fix Contacts
  • Fix ACL Users
  • Forgot to reactivate redirect after testing in ACL Roles
  • Fix Validation Unique
  • Fix ACL Groups
  • Fix ACL Roles
  • ACL Library didn't save permission
  • Small text/design fix for login with inexisting user
  • Enable sitemodes with correct routing
  • Added full fuel directory structure
  • Switch to Assetloader to load js and css
  • Small design fix for navbar
  • Home doesn't need a dashboard entry
  • Use correct assets in correct order
  • Always use SSL
  • Updated .gitlab-ci.yaml
  • Updated .gitignore
  • Changed default config system paths
  • [BUG] Fixed saving of core config
  • Switch from package to app: Extensions
  • Switch from package to app: System
  • Switch from package to app: Widgets
  • Switch from package to app: Contacts
  • Switch from package to app: ACL
  • Switch from package to app: Base

0.14 (beta state)

0.14.0 [2019-12-11]

  • Version 0.14.0 DO NOT USE THIS VERSION!
  • Needed to completely change everything commit!
  • Changelog typo: of course FuelPHP changed to load routes BEFORE the always_load() ;)
  • [BUG] Added router to bootstrap since FuelPHP changed to load routes AFTER the always_load()
  • [BUG] Fixed redirect error on session expiration logout
  • Sysinfo docroot
  • Original Groups,Roles and Super Admins,Banned should not be deleted nor edited
  • Updated Login and Signup to Bootstrap 4.3.1 and made some small fixes
  • Added validation rule is_numeric
  • Added validation rules to validate referrals
  • Replaced all control-label with col-form-label
  • Replaced all form-control-static with form-control-plaintext
  • All ACL Bootstrap class form-control-plaintext
  • ACL Users Bootstrap class form-control-plaintext
  • Updated Bootstrap 4.3.1

0.13 (beta state)

0.13.6 [2019-05-22]

  • Version 0.13.6
  • [BUG] Config languages not loaded properly
  • Small changes to Contacts

0.13.5 [2018-11-21]

  • Added some global text variables

0.13.4 [2018-10-03]

  • Switch runner
  • CHANGELOG.md formatting was wrong for version separation
  • Only use active languages in global variable
  • Optimized language switch (visually)
  • Small bug in Contacts form
  • Added concat validation
  • Changed position of tooltip
  • Updated Bootstrap to 4.1.2
  • Added language to API
  • Pass filter back to input field
  • Forgot to pass filter url from index to view/edit

0.13.3 [2018-07-15]

  • Save filter url when viewing or editing contact
  • Contacts pagination route was wrong

0.13.2 [2018-07-15]

  • Added filter and pagination to Contacts

0.13.1 [2018-07-14]

  • Added the possibility to reset permissions and access rights to their initial state to system tools

0.13.0 [2018-07-10]

  • Some tweaks in Extension Manager
  • Load text variables in backup (wip)
  • Several dashboards
  • Some tweaks in config
  • ACL Roles updated for new ACL system
  • Updated _view_permissions
  • Several fixes and updates in ACL Users
  • System language
  • Multi delete for permissions
  • ACL Groups updated for new ACL system
  • Contacts updated for new ACL system
  • Code removal for views_permissions.php
  • ACL User updated to new ACL system
  • Create or change referral code upon login
  • [BUG] Permissions were not saved correctly when selecting parent and child was still set
  • Removed ACL Permissions access, it should only be available to super admins
  • [BUG] ACL Config was not saved correctly
  • Remove Core Extensions from Extension Manager when not authorized
  • Public role was only added to Users group
  • [BUG] Nav entries were not displayed when items are in subdirectories
  • Tabs were not displayed in permissions view and form when multiple areas were present
  • Migrated Login Widget to Bootstrap v4
  • [BUG] Could not remove partial from ACL Permissions form
  • Very small calculation bug in Acl access check
  • Updated Extension Manager to deal with new ACL and details.xml
  • [BUG] Wrong variable name in Acl::setAccess()
  • [BUG] Wrong variable name in Acl::installPermissions()
  • Changed details.xml for new ACL
  • Hopefully simplified ACL stuff for details.xml
  • Nav: missing dropdown marks and active state on active items
  • [BUG] Access calculations in permission view for user, group and role were wrong or could not be displayed correctly
  • Small design fix for permission switch
  • Updated Permissions List
  • Complete rewrite of the ACL library to comply with new Auth and removed everything concerning ACL from Helpers library
  • Adapted Permissions View to new Auth
  • Adapted ACL Permissions to new Auth
  • Added Helpers::get_url() to stored url and fixed Helpers::get_url() for any input
  • Added the $_GET url part to pagination
  • Added get_url() to Helpers to get the $_GET part of url
  • Added ACL checks to Navigation
  • Edit new Permissions
  • Database migrations for new Auth ACL (temporary, will be removed in a later release)
  • Auth: expanding ACL to 4 levels (area.module.controller.action[partial])
  • [BUG] Wrong/Not set redirect route in login controller
  • PMJ_REPO_PATH -> PMJ_UPLOADS_PATH
  • Added backup path
  • Another small design improvement in template
  • Config path doesn't have to be ommited anymore in Updater::reset()
  • Small design improvements in template
  • Improved Config views to be even more mobile friendly (i hope)
  • Added enable / disable of packages to system config
  • Added installation date and version to system overview
  • Major Config overhaul

0.12 (beta state)

0.12.6 (Quick Fix) [2018-03-27]

  • Forgot to exclude logs path and used a wrong variable to create tempdir after cleanup

0.12.5 (Quick Fix) [2018-03-27]

  • Forgot to exclude uploads, tmp and config directories from new files in Reset which resulted in error and abortion as soon as the file existed

0.12.4 [2018-03-26]

  • [BUG] Fixed #41, Reset deletes everything but doesn't copy new files
  • Forgot to remove Bootstrap 3 theme from Login splash
  • Some design fixes in Contacts Config
  • Socials were displayed in Contacts form even when deactivated

0.12.3 [2018-03-26]

  • Migrate Extension Manager to Bootstrap v4
  • Removed Bootstrap 3 theme
  • Migrate System Update to Bootstrap v4
  • Still something wrong with the Updater?

0.12.2 [2018-03-26]

  • [BUG] Fixed #40, Update from 0.12.0 to 0.12.1 doesn't work

0.12.1 (Bootstrap v4) [2018-03-25]

  • Added german translation of the base system language
  • Migrated System Dashboard to Bootstrap v4
  • [BUG] Fixes #38, Can't edit or create Group when form contains error
  • Finished System Languages and Bootstrap v4
  • Tried to get validation right on config: failed but did some other stuff (check commit for details)
  • getUserDocroot()
  • Small corrections in Contacts
  • Added default upload path
  • Added profile image size and save path to Contacts Config
  • Added (php) maxUploadSize() to Sysinfo class
  • Migrate Contacts to Bootstrap v4
  • Migrate Contacts Titles to Bootstrap v4
  • Migrate Contacts Socials to Bootstrap v4
  • Migrate Contacts Genders to Bootstrap v4
  • Migrate Contacts Appellations to Bootstrap v4
  • Migrate Contacts Addendums to Bootstrap v4
  • Migrate Contacts Categories to Bootstrap v4
  • Small design adjustments
  • [Bug] Fix #39 Several Bugs in Acl User (save/edit)
  • Migrate Acl Users to Bootstrap v4
  • Duplicate ID in permissions form
  • Forgot to change roles language
  • Some changes in permissions view
  • Migrate Acl Roles to Bootstrap v4
  • Changed button design for Acl Groups
  • Migrating Acl Permissions to Bootstrap v4
  • Pagination Bootstrap v4
  • Added some text variables to system
  • Migrate Acl Groups to Bootstrap v4
  • Migrate Config to Bootstrap v4
  • Basic migration from Bootstrap v3 to Bootstrap v4
  • Added JQuery Offset Plugin
  • Added image to Contacts and fixed a bug in the model
  • Improved Dummy Image Generator and added a general image url call

0.12.0 [2018-01-29]

  • Include migrations in updater

0.11 (beta state)

0.11.15 [2018-01-26]

  • Added BarGen to config (should find a solution for this asap)
  • Added global variable for active language to be used in views
  • Added Dummy Image creator
  • Some small improvements
  • [BUG] Validation language not loaded

0.11.14 [2018-01-21]

  • Only use runners with docker

0.11.13 [2018-01-21]

  • [BUG] Some files need to be ommited in the Updater because they are not in the archive
  • Added pipeline status to README

0.11.12 [2018-01-21]

  • [BUG] System Dashboard Development did not show dev commits
  • Deploy only on Tags
  • Damn
  • Wrong port
  • Forgot to set PMJ variable
  • Adding Deployment

0.11.11 [2018-01-11]

  • Completed Updater library and applied changes to the new update process
  • Added Helpers::flat_read_dir() to list all files recursively in one array
  • Apply Updater
  • Remove update stuff from Helpers
  • Added library Updater to perform remote checks on the repository

0.11.10 (Quick Fix) [2018-01-02]

  • Version bump
  • Quick fix get_class() error for PHP 7.2 (null is not allowed anymore)

0.11.9 [2018-01-01]

  • Removed some unused file
  • Added some german validation text
  • Moved JQuery UI tooltip initialisation to pmj.js since it is used on many forms
  • Added FontAwesome carets to JQuery UI datepicker
  • Replaced deprecated each() function
  • Added possibility to render any page in an iframe without navbar and footer by adding ?render=iframe to any url

0.11.8 (Friday update) [2017-11-03]

  • Friday update
  • Deleted old code from Contacts view
  • Countries list search display
  • [BUG] Language switch didn't work correctly and produced several errors

0.11.7 [2017-10-18]

  • [BUG] Contacts birthday and death dates were not saved correctly
  • Updated Contacts details.xml
  • [BUG] Observer in Contacts model didn't insert/update correct user id
  • Added Contacts Types editing (addendums, appellations, genders, socials, titles)
  • Forgot to add a file in the last commit
  • [BUG] Contacts Categories Descriptions were not updated correctly
  • [BUG] Observer in ACL models didn't insert/update correct user id
  • [BUG] Several bugs in Contacts when trying to save/edit with form errors or remove addresses and socials to none
  • [BUG] Contacts appellation, gender and addendum are not saved
  • Needed a global $language_active variable
  • [BUG] Did not install new details.xml permission sets
  • Drop tables tags and countries_states upon uninstall
  • Added Bug and Dev count to System Dashboard
  • ACL: make realname/displayname required
  • [BUG] SQL Error when trying to create Contacts category, Fixes #37
  • Load System language strings more efficient
  • Infinite Menu Levels
  • [BUG] Extensions Manager error when permissions were not defined in details.xml
  • Changed Pmj class to Helper class to use Pmj class for more relevant stuff
  • [BUG] Redirect loop in login controller
  • Prevent direct access to signup
  • [BUG] Extension Manager doesn't identify core extensions correctly

0.11.6 [2017-09-28]

  • Some work in progress and code clean up which is basically a save point but should not affect general operation
  • Added active and confirm fields on User form
  • Automatically load all main module configuration files
  • [BUG] Permissions display and form in Groups, Roles and Users, Fixes #36 ?
  • Optimized Javascript Combinator
  • [BUG] Fixed small bug in Nav
  • Changed Extension Manager to use details.xml to provide information about the extension
  • Automatically load main config (\Config::load('extension id', true)) from loaded/installed modules/extensions
  • [BUG] There were several errors produced in the Nav. Check the changelog for further details.
    • The divider was added even when there was only the dashboard (action_index()) to display
    • There was a menu entry created when admin or home directories contained hidden/dotted files
    • There was a 'Invalid argument supplied for foreach()' when for some reason the action_index() method was not found in the main admin or home controllers of modules
  • Added Niels Leenheer's Javascript Combinator 0.5 to compress and combine js and css files
  • Changed contact_fullname index from unique to fulltext
  • Contacts could not be saved without addresses or socials and tags were saved as string or were saved as empty string when not set
  • Contacts could not be saved if some values were omitted by config settings
  • Added Contacts configuration
  • Added 'resend confirmation email' option to ACL config
  • Added even more global text variables
  • Users: delete selected
  • Added some more global text variables

0.11.5 (Quick Bugfix Release) [2017-08-30]

  • [BUG] Forgot to add Contacts API and adminroutes
  • [BUG] Forgot to add Contacts categories and types
  • [BUG] Wrong config variable for group default upon installation
  • [BUG] Unique index on activation users_id produced error

0.11.4 [2017-08-30]

  • Added info display to master template
  • Added basic profile mvc for further developement
  • Added User Activation
  • Changed $(this->)iamtheuser to $(this->)logged
  • Added new ACL config to installer
  • Added caching to js and css unify
  • Very small fix for current url session variable
  • Added new ACL config
  • Made global system config modular
  • Signup email for user, unrestricted
  • Basic signup works!
  • Created signup form
  • Changed some urls to named routes
  • Prepared login for signup
  • Prepared installer for signup
  • Added new signup config values
  • Changed loading order of css and js (remember to always load css first)
  • Added some general text variables and url exceptions to base controller
  • Added required class for bootstrap forms and different designs for login on different screen width
  • Nav: Users only see admin link if they \Auth::has_access('admin.*')

0.11.3 [2017-07-14]

  • Finally! Contacts should work!
  • Added Typeahead-Bootstrap CSS
  • Small changes to the API (routes and we don't need a token, yet)
  • Added basic countries and tags for further developement
  • Added extension table for further developement of the extension system
  • Some small design changes in login
  • Added basic API class for further developement
  • Changed the ACL Users database layout for further developement
  • Only Super Admins should have access when the site is offline
  • Adding some more text variables
  • Added Twitter Typeahead 0.11.1
  • Added Bootstrap Tags Input 0.8.0
  • Fixed rights check?
  • Fixed rights calculation?
  • Added [BUG] tag to changelog so that changes concerning bugs are easier to recognize
  • Added JQuery UI 1.12.1
  • Added pmj-table class to pmj.css
  • [BUG] Fixed #35, Edit Roles or Groups doesn't work
  • [BUG] Fixed #34, Permissions Submenu is not rendered correctly
  • Changed Installer to use first admin id as creator for default groups, users, etc...
  • Added default and active language
  • Added some more text variables
  • [BUG] Link in update notice was wrong
  • Template
  • [BUG] Fixed #33 CacheNotFoundException
  • Added some text variables
  • [BUG] Fixed a CacheNotFound exception
  • Changed class Assets to Unify while looking to fix a bug and to avoid future conflicts, Fixes #32
  • Updated jQuery to 2.2.4
  • [BUG] Fixed url to changelog in template
  • Added support for multiple languages
    • english and german are installed by default
  • Replaced flag sprites with flag icon css
  • [BUG] Installer: Acl needs to be installed first!
  • Moved Uninstall and Update into new System Tools
  • Switched order of admin area nav items
  • Design: bold commit message in system dashboard developement tab if it contains version number

0.11.2 [2017-03-29]

  • Complete menu overhaul (renamed everything to nav)
    • unlimited subnavs (the screen is the limit)
    • based on the directory structure in {extension}/classes/controller
    • better comments
  • Slightly changed the display of bugs (critical = danger, other = warning)
  • Added cooldown time of 1 minute to Pmj::cache_refresh() to prevent flooding

0.11.1 [2017-03-26]

  • Some little adjustements
  • Switched update from proxy script to curl
  • Changed cache from system.remote to pmj.repo
  • [BUG] Removed ajax call for version check (check now server side), Fixed #31
  • Added fuel environment to the PMJ package bootstrap.php
  • [BUG] Performance improvement on remote api calls, Fixes #29, Fixes #30

0.11.0 [2017-03-16]

  • Add and remove cache upon install and uninstall respectively
  • Moved cache refresh to pmj library
  • Use cache for Update
  • Added global remote_version variable and use it to check if an update is available
  • Added refresh cache button and current and remote version of the PMJ Bootstrap CMS to the system dashboard and corrected system manifest persmissions
  • Refresh system cache when someone with access to the admin section logs in
  • Added system cache for GitLab api calls to speed things up
  • Removed old changelog and changed link in footer
  • Basic Contacts MVC, just display, no functions

0.10 (beta state)

0.10.6 [2017-03-14]

  • [BUG] Fixed #27 - Error on update page when no release description is set
  • Added link to tab function to System Dashboard from here
  • [BUG] Fixed #28 - Open issues don't show up on system dashboard

0.10.5 [2017-03-13]

  • Added bug list to System Dashboard
  • Rearanged System Dashboard and added changelog and developement (a list of commits to be shipped with the next release)
  • Adding button to update note to directly go to the update page

0.10.4 [2017-03-10]

  • Added reset function in Update
    • This provides the possibility to clean the complete PMJ Bootstrap CMS package directory from files which are not part of the PMJ Bootstrap CMS
  • Ordering tags correctly still could have provided a future problem with version numbers
    • Such as 0.10.10 or 1.0.10 or 10.1.0 which would have all resulted in the same index
    • Now it would be 10010, 1000010 and 10001000
  • [BUG] Another directory problem and missing redirect after update

0.10.3 [2017-03-09]

  • Tag this version to test update, once again
  • [BUG] Fixes #26 - the directory which holds the update in the tmp folder was named after the commit (from the get_download() function) but the update script looked for a directory named /update

0.10.2 [2017-03-09]

  • Tag this version to test update, again
  • [BUG] Added gitlab_tags() to pmj library to sort tag names for their nummeric value instead of their alphabetical value, Fixes #25

0.10.1 [2017-03-09]

  • Tag this version to test update
  • Display all release notes between the current version and the available version
  • Adding release notes to update page

0.10.0 [2017-03-09]

  • Finished Updater (hopefully)
  • Added homepage button to Extension Manager
  • Added test routine to Update to copy files and delete temporary files
  • [BUG] Fixed a small bug in uninstaller (current_user -> iamtheuser)
  • Added Update (doesn't update yet but gets all changed files and downloads the latest version from the repository)
  • Added new global text variable text_update
  • Changed global variable PMJ_REMOTE to PMJ_GITLAB in bootstrap.php
  • Updated admin dashboard to use the new Pmj::version()
  • Added version() and gitlab() to pmj library
    • version() compares the local version with the remote version
    • gitlab() can be used to access a privat gitlab repository through a proxy script
  • Changed installer to add default temp path upon install
  • Added temp_path to config
  • Create default temp path
  • Added validation rule valid_path

0.9 (beta state)

0.9.1 [2017-03-04]

  • Login page still loaded scripts from CDNs
  • Included Extension ChangeLog and ReadMe in Extension Manager
  • Added global text variable text_close and text_open
  • Include Charts.js 2.5.0 for whoever may use it
  • Wrong error text variable for validation rule required_without
  • [BUG] Fixed a stupid bug: users with access granted for admin.acl.roles[filter] were not able to change filter

0.9.0 [2017-03-03]

  • Skipped Version 0.8.5 because of too many changes and updates
  • Updated ACL manifest
  • [BUG] Some fixes in ACL Users
  • [BUG] Added new validation rule required_without, which is basically the opposite of required_with, and fixed validation rule unique
  • [BUG] Forgot to delete old access_check from ACL library
  • Secure ACL: Groups
    • The group Super Admins only show up to Super Admins
    • Only Super Admins can add the role superadmin and banned to groups
    • Only groups without users can be deleted
    • Added validation unique for group names to model \Acl\Model\Groups
  • Secure ACL: Roles
    • Roles superadmin and banned only show up to Super Admins
    • Filters A and D can only be applied by Super Admins
    • Added validation unique for role names to model \Acl\Model\Roles
  • [BUG] Users should not be able to edit own username, group, roles and permissions and some other small fixes
  • Added groups and roles to access_check($condition,$id,$driver) in ACL library
  • Secure ACL: Users
    • Users in group Super Admins only show up to users in group Super Admins
    • Only Super Admins can add users to the group Super Admins or the role superadmin
    • Only Users with access to the Permissions Extension can edit user permissions directly
  • Small design change in extension manager
  • [BUG] Small bug in login controller
  • User cannot delete self
  • If user doesn't have permission for permissions, he cannot change permissions
  • Check if iamtheuser is a superuser
  • ACL: single set actions overwrite permissions where all actions are set (empty array)
  • Add a task to clear all cache
  • Created $(this->)iamtheuser variable as the global user object
  • Clear auth cache when installing extensions

0.8 (beta state)

0.8.4 [2017-02-17]

  • [BUG] Access rights are not properly calculated on action level, Fixes #23
  • [BUG] Permission actions are not set correctly in methode Pmj::addRolePermissions(), Fixes #24

0.8.3 [2017-02-09]

  • [BUG] When saving roles, groups or users, single permissions get saved now, Fixes #22 (hopefully and finally)
  • [BUG] Acl manifest: access set for undeclared permission, Fixes #21

0.8.2 [2017-02-05]

  • Cleanup
  • Rewrite the core installation and uninstall process
  • Added helper functions to the pmj library to automatically add extensions to the acl system based on declarations in the manifest.php
  • Rewrite the extension manager to include core modules and use manifest.php for details

0.8.1 [2017-01-12]

  • Updated installer to use the new assets structure and moved it into the package class
  • Added field "realname" to user table and data
  • Combine and minify mandatory CSS and JS files and load them directly from the package folder
  • Small design fix for the login widget
  • Adapted ACL & System Extension to new menu
  • Moved Extension Manager out of the system extension into its own extension
  • [BUG] Menu recognizes action_index function in module admin controllers and lists it as dashboard and other small fixes, closes #18
  • Changed overall design to fluid full width
  • Menu redesign

0.8.0 [2016-11-26]

  • Removed files with sensitive data
  • [BUG] Added file config to fix file permissions and did some fixes on unistall/install
  • Added Uninstaller

0.7 (beta state)

0.7.1 [2016-11-25]

  • Changed message for successful login to reflect the beta state
  • [BUG] Fixed #17 - Extension Installer: settings url is the same for all extensions
  • [BUG] Fixed #16 - Menu adds extension for each installed extension

0.7.0 [2016-11-24]

  • Keep working on the README.md
  • Added Site Modes: Offline, Closed (Intranet Style), Open (CMS Style)
  • [BUG] Fixed bug in access check; area.* still returned true even if it was not set
  • Added database to system config
  • Changed to beta state since the most important features seem to work as they should

0.6 (alpha state)

0.6.1 [2016-11-21]

  • [BUG] Always check Roles first!
  • Added Groups View
  • Added Roles View
  • [BUG] Some small fixes in the User View and User Permission check
  • Added User View
  • Add access check for any user
  • [BUG] Fixed #15 - Revoked Rights are not checked properly
  • Removed old and commented code in auth::has_access
  • Added Sitename to login
  • Moved extensions into dropdown menu in admin section
  • Added some global text variables
  • Added settings hook to extension manager

0.6.0 [2016-11-13]

  • [BUG] Fixed the error message in main admin controller
  • Use the ormauth table variable/prefix
  • Changed Installer to automatically get correct number of migrations based on files in migration directory and added table name to ormauth config
  • Added global language variable text_view
  • Added table classes to vertically align all cells in a table to top or middle
  • Added appropriate permissions check to module system
  • Added appropriate permissions check in module acl
  • Added appropriate permissions check in module menu
  • Complete overhaul of the ACL concept
    • Added module between area and permission
      The new check is now area.module.permission[action]
    • Added wildcard * (any) check of modules and permissions
      It's now possible to check for area.* or area.module.*
    • Grouping is still possible
      area.[module1,modul2].[permission1[right1,right2,right4],permission2[right1,right3,right5]]

0.5 (alpha state)

0.5.4 [2016-11-10]

  • [BUG] Fixed #14 - Can't create new user

0.5.3 [2016-11-09]

  • [BUG] Fixed #13 - Pagination missing from acl permissions list

0.5.2 [2016-11-09]

  • Basic install/uninstall of Extensions
  • Implemented version check
  • Moved the Extension Manager into the System Module
  • Added a note upon login that this system is still in alpha state
  • Added Repo define variable
  • [BUG] Fixes #12, Installer Error when file already exists
  • Basic Extension Manager MVC, just display, no functions

0.5.1 [2016-10-05]

  • Code cleanup
  • Fixed typo in README.md
  • [BUG] Fixed #11 - Empty sidebar space even when there is no submenu
  • [BUG] Fixed #10 - Menu entry doesn't show without admin or home directory
  • [BUG] Fixed #8 - Bug when saving config

0.5.0 [2016-10-03]

  • Edited README.md
  • Removed support for non-pdo connections
  • Create and save physical config files
  • Created separate module for installers
  • Switched to dev branche for developement
  • Started versioning with git and self hosted GitLab CE

0.4 (alpha state)

0.4.4 [2016-09-12]

  • Switched to completely independent developement in PMJ Bootstrap CMS repository
  • Removed last remains from the initial Grüezi Database developement (modules/gs)
  • Role permissions rework to set section-base permissions if one of the permissions in that section is set
  • Code cleanup in ACL Module

0.4.3 [2016-08-03]

  • [BUG] Fixed sidemenu display of active menu
  • Created the ACL library and put role/group/user permission save/edit function there to be used by all of them
  • Reworked the permission save/edit function
  • Reworked the ACL permission form (checkboxe instead of select)
  • Moved Auth, Ormauth and DB config files to pmj package config folder
  • Removed Module Installer
  • Moved Installer to System Module

0.4.2 [2016-07-31]

  • Cleaned up code, deleting obsolete files
  • Added Database connection validation
  • Created some basic libraries for reusable functions
  • Created Module Installer to install the Core and additional Modules

0.4.1 [2016-07-26]

  • [BUG] Fixed highlight of dashboard in topnav in Menu Module
  • Added Basic Server Info to Module System based upon Joomla Code
  • Added PhpInfo to Module System based upon Joomla Code
  • Added configurable Sitename to Module System

0.4.0 [2016-07-23]

  • Moved ChangeLog to Module System
  • Created Module System
  • Added some Comments in the Menu Module Files
  • Reworked Menu Module to automatically add all Menu item to TopNav and SideNav according to directory and file structure

0.3 (alpha state)

0.3.3 [2016-07-19]

  • Split PMJ Bootstrap CMS from the Grüezi Database codebase and move it in its own repository
  • Added appropriate loader for all necessary modules, packages and language files through the package configuration file into the bootstrap loader
  • Moved all mandatory modules (ACL & Menu) into the PMJ Bootstrap CMS package

0.3.2 [2016-07-19]

  • Deleted unused Code
  • Started Date tracking in Changelog
  • Add Roles to Users
  • Tweaked the Menu Module Design
  • Changed some global variable names

0.3.1 [2016-07-17]

  • Moved Base, Admin & Home Section into PMJ Package
  • ACL Module: Groups & Groups Permissions [List, Create, Edit, Delete]
  • ACL Module: Permissions [List, Create, Edit, Delete]
  • ACL Module: Users & Users Permissions [List, Create, Edit, Delete]
  • ACL Module: Roles & Roles Permissions [List, Create, Edit, Delete]
  • Created Login Log (time and ip) for failed and successful logins (based on REMOTE_ADDR) in ACL module controller login
  • Created my own package (pmj) and migrations to deal with Auth and conceptual database conflicts
  • [BUG] Fixed module routing because of url rewrite (module/section/controller -> section/module/controller)

0.3.0 [2016-06-02]

  • Put ACL into a module and use the auth package without overwrite
  • Put access to the GrueziShop into a module
  • Restructured the code based on my experiences with version 0.2.x
  • Named the basic Code Foundation PMJ Bootstrap CMS
  • Started Changelog

Note: all logs prior to version 0.3.x (alpha) are incomplete since i didn't start logging until version 0.3 (alpha)

0.2 (alpha state)

0.2.3 [2016-05-03]

  • Created a basic sales report for GrueziShop with csv export
  • Created access to the GrueziShop (testing multi db access)

0.2.2

  • Created Forms and custom validation for Users, Groups, Roles, Permissions
  • Created a Menu based on the files in the controller directory
  • Basic Design for Front- and Backend
  • Developed a concept for Front- and Backend

0.2.1

  • Created Login/Logout
  • Overwrite the auth class to adjust to my database layout
  • Understand the Auth Package

0.2.0

  • Restructured the code based on my experiences with version 0.1.x
  • Multi Language

0.1 (alpha state)

0.1.1

  • Created some basic layout and structure to understand the mechanism of the framework

0.1.0 [2015-10-15]