Skip to content

Commit

Permalink
Email templates reviewed and improved, other UI improvements (#21)
Browse files Browse the repository at this point in the history
* Email templates reviewed and improved, other UI improvements

* Improved translations

* Improved users module dialogs

* Fixed typos in CHANGELOG
  • Loading branch information
piotrpolak authored Jun 3, 2024
1 parent 3686540 commit 67943a7
Show file tree
Hide file tree
Showing 25 changed files with 299 additions and 160 deletions.
73 changes: 41 additions & 32 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,12 @@
## New in version 1.0.5-dev (xx.xx.2024)

* Improved email templates, email contents are now HTML escaped
* Added `fake-smtp` to the development setup
* Added information about the default icon set source and license
* Fixed logs module not displaying session messages
* New email helper functions `email_code`, `email_code_open`, `email_code_close`
* `Logger::getDebugTrace()` is now static - does not cause warnings under newer versions of PHP

## New in version 1.0.4 (26.04.2023)

* SQL Admin - fix for uppercase internal MySQL names
Expand All @@ -10,7 +19,7 @@
### Bugfixes and version updates

* PHP 7.4 and PHP 8.0 compatibility improvements
* Removed DMESG module
* Removed `DMESG` module
* Improved MariaDB compatibility of the SQL scripts
* `ip_info` helper switched to use http://www.geoplugin.net/
* Fixed sorting in the `groups` module grid
Expand Down Expand Up @@ -135,7 +144,7 @@
### New features

* Improved translator module that now invalidates optcache of edited translation files under PHP 5.6
* FormBuilder refactored usage of get_instance(), fixed an issue introduced in the previous release
* FormBuilder refactored usage of `get_instance()`, fixed an issue introduced in the previous release
* SimpleSessionMessage and its related code refactored

## 0.2.4.1 (02.07.2015)
Expand Down Expand Up @@ -164,7 +173,7 @@ A mature version of 0.2.3 with minimal backward incompatibility, CodeIgniter upg
* Introduced unit test for selected components
* Brand new SQL Console module
* Application theme improved (menu dropdown, buttons realign, titles/bubbles fixed and removed when not needed)
* Rewriten and compacted JavaScript UI
* Rewritten and compacted JavaScript UI
* Application translation improved, removed outdated Romanian translation for administration panel
* Extended configuration tests
* New dashboard containing grouped links and configuration tests
Expand Down Expand Up @@ -204,7 +213,7 @@ A mature version of 0.2.3 with minimal backward incompatibility, CodeIgniter upg
* `$this->lang->getEnabledLanguages()` renamed to `$this->lang->getEnabledAdminLanguages()`;
* File `array_model.php` becomes `Array_model.php`, check all the includes/requires
* Removed unused `MY_URI`
* Check your validation rules and remove xss_clean and trim - this will cause issues when the field is not required and empty
* Check your validation rules and remove `xss_clean` and trim - this will cause issues when the field is not required and empty
* `$this->lang->load()` for module languages changed into `$this->lang->loadForModule()`
* Method `MY_Upload:do_multiple_upload()` removed
* Removed deprecated library `ReportBuilder`
Expand All @@ -215,10 +224,10 @@ A mature version of 0.2.3 with minimal backward incompatibility, CodeIgniter upg
* New methods `ModuleRunner::isModuleDisplayedInMenu($name)` and `ModuleRunner::isModuleDisplayedInUtilities($name)`
* `MY_Email::set_header()` removed as it has been implemented in the original CI_Email library
* Changed icon paths (!) some icons will not work
* CSS identifiers convention changed to lowercase_underscore
* Changed file path pepiscms/theme/back_12.png -> pepiscms/theme/img/dialog/actions/back_16.png
* Changed file path pepiscms/theme/star.png -> pepiscms/theme/img/dialog/actions/action_16.png
* Changed file path pepiscms/theme/add.png -> pepiscms/theme/img/dialog/actions/add_16.png
* CSS identifiers convention changed to `lowercase_underscore`
* Changed file path `pepiscms/theme/back_12.png` -> `pepiscms/theme/img/dialog/actions/back_16.png`
* Changed file path `pepiscms/theme/star.png` -> `pepiscms/theme/img/dialog/actions/action_16.png`
* Changed file path `pepiscms/theme/add.png` -> `pepiscms/theme/img/dialog/actions/add_16.png`
* CSS selectors `.fileTree` -> `.file_tree`
* Removed legacy CSS `a.add` and `a.action`
* Removed deprecated FormBuilder code
Expand Down Expand Up @@ -292,13 +301,13 @@ A mature version of 0.2.3 with minimal backward incompatibility, CodeIgniter upg
* More restrictive CAS Auth driver
* Improved Generic_model
* Reviewed and improved users module, added possibility to check CAS user status directly from admin panel
* Added html_customization module that allows injecting code into HTML template of the administration panel
* Added email_html helper
* Added `html_customization` module that allows injecting code into HTML template of the administration panel
* Added `email_htm`l helper
* Modified DisplayPage public controller, added possibility to define `mainpage_module` and `mainpage_module_method` for handeling mainpage request by the specified module
* Module generator now generates improved filters for date fields
* CMS modules groups and users now renamed to cms_groups and cms_users
* Improved Google chart generator
* DataGrid got new method getAdvancedFeed() that acts as a proxy to feed object.
* DataGrid got new method `getAdvancedFeed()` that acts as a proxy to feed object.
* Upgraded SQL console module, fixed UTF-8 encoding in data view
* Improved import procedure in `AdminCRUDController`
* Fixed upload for CSV files
Expand Down Expand Up @@ -384,15 +393,15 @@ A mature version of 0.2.3 with minimal backward incompatibility, CodeIgniter upg
* Spreadsheet library method parseCSV now uses native mechanism for reading CSV files
* Improvements to CLI
* Improved widget compatibility
* Fixed an error that was introduced during query builder usage refractoring some minor versions ago, in User_model and Menu_model
* Fixed an error that was introduced during query builder usage refactoring some minor versions ago, in User_model and Menu_model
* Added Array_model that allows building abstract models for CRUD from any source (XML, CSV, web services)
* Added BasicDataFeedableInterface and Moveable interfaces

## 0.2.2.6 (01.12.2013)

### New features

* IMPORTANT: CBACL will now throw an error and block access when project ID is set but no API KEY is present
* IMPORTANT: `CBACL` will now throw an error and block access when project ID is set but no API KEY is present
* Localized CAS driver error messages
* Code inspection and reformat
* Added Composer package description
Expand All @@ -415,7 +424,7 @@ A mature version of 0.2.3 with minimal backward incompatibility, CodeIgniter upg
* Improved translator interface
* Fixed CAS logout
* EmailSender is got the possibility to overwrite the default config
* Addedd possibility to define FormBuilder field's options
* Added possibility to define FormBuilder field's options
* Updated CKE to the latest version 3.6.6.1

## 0.2.2.4 (15.08.2013)
Expand All @@ -427,8 +436,8 @@ A mature version of 0.2.3 with minimal backward incompatibility, CodeIgniter upg
* Added logs performance tests
* System backup now sends correct headers for SQL file
* Improved string_helper `niceuri()`
* Added dmesg module
* Interface JavaScript refractored
* Added `dmesg` module
* Interface JavaScript refactored
* Remote models retested and improved
* Changed order of instructions in `Generic_model::getAdvancedFeed()`
* CAS upgraded to 1.3.2+
Expand Down Expand Up @@ -525,7 +534,7 @@ ALTER TABLE `modules` DROP COLUMN `is_displayed_in_sitemap`;
* Improved datagrid pagination
* Improved Spreadsheet library

## 0.2.1.0 (18.06.2012
## 0.2.1.0 (18.06.2012)

### New features

Expand All @@ -543,12 +552,12 @@ ALTER TABLE `modules` DROP COLUMN `is_displayed_in_sitemap`;
### API Changes in 0.2.1.x branch

* Database changes, module names can have longer values, user can now have a separate login
```sql
```sql
ALTER TABLE `logs` CHANGE COLUMN `module` `module` VARCHAR(64) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NULL DEFAULT NULL ;
ALTER TABLE `modules` CHANGE COLUMN `name` `name` VARCHAR(64) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL , CHANGE COLUMN `label` `label` VARCHAR(64) CHARACTER SET 'utf8' COLLATE 'utf8_unicode_ci' NOT NULL;
ALTER TABLE `users` ADD COLUMN `user_login` VARCHAR(128) NULL DEFAULT NULL AFTER `user_email`;
DELETE FROM group2entity WHERE entity=0 AND access=0;
```
```

## 0.2.0.0 (11.01.2012)

Expand Down Expand Up @@ -593,7 +602,7 @@ DELETE FROM group2entity WHERE entity=0 AND access=0;
* Added SQL dump utility
* Improved user interface, icons and layout facelift
* SQL console and Translator now as builtin modules
* New siteconfig utility
* New `siteconfig` utility
* Rewritten page management
* Dynamic base_url
* Added URL helper functions
Expand Down Expand Up @@ -631,7 +640,7 @@ DELETE FROM group2entity WHERE entity=0 AND access=0;
### New features

* Fixed load language procedure to detect user language
* FormRenderable gets a new method for overloading the default error formatting delimiters
* `FormRenderable` gets a new method for overloading the default error formatting delimiters
* Added new validation methods to form_validation: min, max, even, odd
* Added translation service for PHPTAL that takes translations from PepisCMS config files
* Lang::load now detects language both for front-end and backend
Expand All @@ -646,18 +655,18 @@ DELETE FROM group2entity WHERE entity=0 AND access=0;
### New features

* Added upload allowed types wildcard
* Added Dispatcher::getUriPrefix() and Dispatcher::getSiteLanguage() methods
* Added `Dispatcher::getUriPrefix()` and `Dispatcher::getSiteLanguage()` methods

## 0.1.4.8 (15.02.2011)

### New features

* Added support for PHPTAL via Template class
* EnhancedController::getParam is now alias to URI::getParam
* URI::shift is implemented
* Added support for `PHPTAL` via Template class
* `EnhancedController::getParam` is now alias to `URI::getParam`
* `URI::shift` is implemented
* Updated jQuery UI Datepicker and it's style
* DataGrid and FormBuilder support now definitions and foreign keys
* Added "apply" button to FormBuilder. Note, if you use SimpleSessionMessage, the message must be read/assigned after the form is generated!
* Added "apply" button to `FormBuilder`. Note, if you use `SimpleSessionMessage`, the message must be read/assigned after the form is generated!
* Improved ModuleRunner debug
* Added complete Russian translation
* `AdminModuleController::display()` now supports absolute file paths
Expand All @@ -668,7 +677,7 @@ DELETE FROM group2entity WHERE entity=0 AND access=0;

### New features

* EnhancedController methods getControllerName() and getMethodName() implemented
* `EnhancedController` methods `getControllerName()` and `getMethodName()` implemented
* Extended and fixed system info
* Better support for Cyrillic alphabet, automatic generation of latin URLs using niceuri
* Backup restore has been fixed
Expand All @@ -693,7 +702,7 @@ It took 7 months and 26 betas to release this version :)
* Module registration introduced. Every single module must be enabled by system administrator in order to be run. Module configuration files are now storied in application/config/modules/ folder (however, old method might work as well).
* System logs along with notifications for critical errors implemented
* DataGrid component now got the possibility od displaying user configurable filers and default data feed model for simple tables
* DataGrid default feed fix (posibility to apply = instead of LIKE)
* DataGrid default feed fix (possibility to apply = instead of LIKE)
* Database changes: all the database tables' engine is changed to MYISAM, from now on all the timestamps are storied using UTC timestamp
* Simplified database structure, removed view menu_view
* Dropped support for MySQL 4
Expand All @@ -703,12 +712,12 @@ It took 7 months and 26 betas to release this version :)
* CKE Editor upgraded to version 3.5
* Fixed admin menu highlights
* Add possibility to add branding to the top of CMS page
* Modified Loader::config behavior. Now it is simpler to extend configuration as default config values are read from the library path
* Modified `Loader::config` behavior. Now it is simpler to extend configuration as default config values are read from the library path
* Rewritten system Loader

### API Changes in 0.1.4.x branch

* NOTE: All PHP timestamps are now in UTC (time() now returns UTC value), please use UTC_TIMESTAMP() for MySQL
* NOTE: All PHP timestamps are now in UTC (`time()` now returns UTC value), please use `UTC_TIMESTAMP()` for MySQL
* NOTE: Please change `$config['uri_protocol'] = "AUTO";` to `$config['uri_protocol'] = "QUERY_STRING";` in your config file
* NOTE: `$config['permitted_uri_chars'] must be changed to 'a-z 0-9~%.:_&=-',` otherwise you can get "The URI you submitted has disallowed characters" error.
* NOTE: `ModuleController getSitemapLinks()` is now called in static manner
Expand All @@ -725,7 +734,7 @@ It took 7 months and 26 betas to release this version :)

### New features

* Updated niceuri plugin
* Updated `niceuri` plugin

## 0.1.3.11 (01.04.2010)

Expand All @@ -749,7 +758,7 @@ A Maintenance update.

### New features

* New ajax based file manager
* New AJAX based file manager
* Improved user interface, added search box and simple view for pages, new page edit view
* Basic configuration tests implemented (displayed in utilities and settings)
* Module runner improvements
Expand Down
36 changes: 23 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -402,20 +402,27 @@ The following BASH variables can be used to control the installation parameters:

```bash
# The variable values are empty by default. The below values are taken from docker-compose.yml file
PEPIS_CMS_DATABASE_CONFIG_TYPE=native
PEPIS_CMS_DATABASE_HOSTNAME=db
PEPIS_CMS_DATABASE_USERNAME=pepiscms
PEPIS_CMS_DATABASE_PASSWORD=pepiscms
PEPIS_CMS_DATABASE_DATABASE=pepiscms
PEPIS_CMS_AUTH_DRIVER=native
[email protected]
PEPIS_CMS_AUTH_PASSWORD=demodemo
[email protected]
PEPIS_CMS_SITE_NAME=Demonstration
PEPIS_CMS_OBJECT_CACHE_OBJECT_IS_ENABLED=true # Set false for cloud deployment
PEPIS_CMS_IS_UNATTENDED_INSTALL=true # Set false for manual installer
PEPIS_CMS_DATABASE_CONFIG_TYPE: native
PEPIS_CMS_DATABASE_HOSTNAME: db
PEPIS_CMS_DATABASE_USERNAME: pepiscms
PEPIS_CMS_DATABASE_PASSWORD: pepiscms
PEPIS_CMS_DATABASE_DATABASE: pepiscms
PEPIS_CMS_AUTH_DRIVER: native
PEPIS_CMS_AUTH_EMAIL: [email protected]
PEPIS_CMS_AUTH_PASSWORD: demodemo
PEPIS_CMS_SITE_EMAIL: [email protected]
PEPIS_CMS_SITE_NAME: Demonstration
PEPIS_CMS_OBJECT_CACHE_OBJECT_IS_ENABLED: true # Set false for cloud deployment
PEPIS_CMS_IS_UNATTENDED_INSTALL: true # Set false for manual installer
PEPIS_CMS_EMAIL_USE_SMTP: true
PEPIS_CMS_EMAIL_SMTP_HOST: fake-smtp
PEPIS_CMS_EMAIL_SMTP_USER: fake-smtp
PEPIS_CMS_EMAIL_SMTP_PASS: fake-smtp
PEPIS_CMS_EMAIL_SMTP_PORT: 25
```

Email console is available under [http://localhost:60500](http://localhost:60500)

The command line for unattended installation:

```bash
Expand Down Expand Up @@ -1619,4 +1626,7 @@ composer require piotrpolak/codeigniter-symfony2-bridge --update-no-dev
```bash
composer require twig/twig 1.* --update-no-dev
```
```
## Icon set
Farm Fresh Icons Pack https://fatcow.com/free-icons licensed under [Creative Commons Attribution 4.0 License](https://creativecommons.org/licenses/by/4.0/).
25 changes: 24 additions & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,11 @@ services:
PEPIS_CMS_SITE_NAME: Demonstration
PEPIS_CMS_OBJECT_CACHE_OBJECT_IS_ENABLED: 'true'
PEPIS_CMS_IS_UNATTENDED_INSTALL: 'true' # Set it to false to test manual installation
PEPIS_CMS_EMAIL_USE_SMTP: 'true'
PEPIS_CMS_EMAIL_SMTP_HOST: fake-smtp
PEPIS_CMS_EMAIL_SMTP_USER: fake-smtp
PEPIS_CMS_EMAIL_SMTP_PASS: fake-smtp
PEPIS_CMS_EMAIL_SMTP_PORT: 25
ports:
- "80:80"
links:
Expand Down Expand Up @@ -58,4 +63,22 @@ services:
# - ./mysql:/var/lib/mysql
# Uncomment this to connect to MySQL from the host machine
# ports:
# - "3306:3306"
# - "3306:3306"
fake-smtp:
image: munkyboy/fakesmtp
container_name: fake-smtp
ports:
- "2525:25"
volumes:
- ./tmp/fake-smtp-emails:/var/mail
fake-smtp-web:
image: mjstewart/fakesmtp-web:1.3
container_name: fake-smtp-web
ports:
- "60500:8080"
volumes:
- ./tmp/fake-smtp-emails:/var/mail
environment:
- EMAIL_INPUT_DIR_POLL_RATE_SECONDS=10
depends_on:
- fake-smtp
Loading

0 comments on commit 67943a7

Please sign in to comment.