Update V3.2 ยป V3.3

CKEditor

Update the CKEditor to version 4.6.2.

The Google Map Plugin or Google Map only works with the API Key. The key must be entered in the globalvars.php under $webutler_config['googlemaps_key'].

You can now select any number of CSS classes in the style selection list, if they have been defined accordingly in the CSS.

The "insert javascript" plugin has been removed. All javascripts must now be entered in the compress.php.

CSRF token

All admin pages have been supplemented by a CSRF token.

URL variable $_GET['page']

The URL variable "page" was renamed to "wbpagefile". All links that call the WEButler pages must be changed:
index.php?page=__FILENAME__ becomes index.php?wbpagefile=__FILENAME__

The variable "page" is also available in the admin.php of ModMaker modules. There, the variable was renamed to "area":
admin.php?page=__AREA__ becomes index.php?area=__AREA__

Compression of CSS & JS files

I was not happy with the extension for compression of CSS and JS files from last version, not practical! In the new version, a more comfortable way is gone.

The new way is NOT A CAN! CSS and JS files only work with the new compression and MUST be entered in the compress.php!

First the step from the last version must be undone. Move the uncompressed files from the following /source directories back to a directory level higher and delete the /source directory:

The automatic loading of individual stylesheets has been removed from the following files:

Required CSS files must be entered manually in the file /settings/compress.php.

From self-created ModMaker modules, the loading of the stylesheet file must also be removed from the view.php and entered in the compress.php.

The new file /settings/compress.php

All CSS and JS files to be compressed are entered in the file /compress.php. The entire file path must be specified without a leading slash.
Stylesheet files are under the array key 'css',
Javascript files are stored under the array key 'js'.

Merge and compress files

CSS files entered in /compress.php are merged, compressed and stored as file 'style_TIMESTAMP.css' in the directory /content/compress.
Registered JS files are merged, compressed and stored as file 'script_TIMESTAMP.js' in the directory /content/compress.

This process is triggered automatically when a file is opened and saved in the online editor. If you do not edit your files online, you can trigger them manually in the 'Advanced Administrator Functions' window. Or, for more time-consuming developments, set the variables 'compressor_onload_css' and / or 'compressor_onload_js' in /globalvars.php to 1.

The files style_TIMESTAMP.css and script_TIMESTAMP.js are automatically loaded into each page. All CSS and JS files in the pages must be removed!

Editing stylesheets

Files in /content/style can now be sorted into subdirectories. Files in subdirectories are found and can be opened in the editor. If you want to make your CSS files editable from modules or from the /includes directories, you can simply move them to /content/style. Do not forget to adjust / enter the path in the compress.php.

Editing javascripts

Javascripts are now editable online as well as stylesheets. For this, the entire directory /javascript has been moved from /includes to /content. In the script /lightbox/lightbox_plus.js there are small changes, best just upload the new file. Files in /content/javascript can also be sorted into subdirectories.

Categories becomes directories

There are two categories of WEButler. Once in the normal admin menu to create virtual URL directories and once in ModMaker modules. To make this point clearer, the categories of URLs have been renamed to directories. If this point is used, the file categories.php as well as the variables $webutler_categories and $webutler_config['categories'] must be renamed.

Page and directory names

In page and directory names, all letters are now possible, not just A to Z. If you name files manually and not via the WEButler administration, you must encode the names.

Relations between pages in different languages

The languages window now allows you to set relations between pages with the same content in different languages. If you click on a flag in the language block, the corresponding language page will be called instead of the start page of the language.

Sitemap

The sitemap has been extended by the <lastmod> tag with the last modified page date. In addition, <link> tags with hreflang information appear on multilingual pages when appropriate page relations have been set. For ModMaker modules, the <link> tags only appear if the module is set to "identical pages for all languages" was created.

Additional administrators

In the "Advanced Administrator Features" window additional administrators can be created, changed and deleted.

Template for error messages in ModMaker modules

Error messages in ModMaker modules were previously simply output as plain text. With the new template, the text can now be formatted.

Directory protection

Some folders have directory protection. As of Apache 2.4, the directive has changed
Order allow,deny
Deny from all
becomes
Require all denied
If you are using Apache 2.4 or higher, you must update the .htaccess files.

Update from version 3.2 - What to do?

  1. Delete the complete /admin directory from the server and upload the new directory
  2. Replace the files /index.php and .htaccess in the root with the new files
  3. Replace the files /loader.php, /wbclass.php and /mmclass.php in the /includes directory with the new files
  4. In the directories /content/blocks, /content/menus and /content/pages search all files for index.php?page= and rename them in index.php?wbpagefile=. The files in /content/layouts and /content/pattern should also be checked.
  5. ModMaker modules to extend admin token, change GET variable page in area, modified (ModMaker) login.php
    1. The easy way
      • Open ModMaker, open your module(s) for editing, re-download and unpack
      • Replace the old files /admin.php and /admin/login.php (if present) of the module with the new files from the download
    2. The slightly more complicated way
      • Open the file /modules/__MODULENAME__/admin.php
        search for $webutlermodadmin->checkadmin() and after the query insert
        if(!$webutlermodadmin->checktoken()) exit('no access');
        Also, search for links using "admin.php?..."
        Extend the links with: &admintoken=<? PHP echo $_SESSION['admintoken']; ?>
      • Also in the file /modules/__MODULENAME__/admin.php
        search for $_GET['page'] and change to $_GET['area']
        search for "admin.php?page=..." and change to "admin.php?area=..."
      • There are many changes in the file /admin/login.php (if available). It is best to download the file /makemod/draft/admin/login.php, open it in an editor and find / replace ###MODULENAME### with the folder name of the module (in lower case). Also, replace _MODMAKERLANGADMIN_ with _[folder name of module]LANGADMIN_ (all in capital letters).
  6. In ModMaker modules, the URL parameter "pager" now is configurable. Open the file /modules/__MODULENAME__/data/config.php and set the key-value pair 'pager' => 'pager' to the array 'urlparams'. Value is freely selectable.
  7. For new ModMaker modules, the URL parameters 'caturl', 'topicurl' and 'dataurl' have been added. Therefore, the existing parameter keys in the 'urlparams' array, if present, must be changed as well:
    • change order to catorder
    • change cat to catid
    • change topic to topicid
    • change data to dataid
  8. In the ModMaker admin directory, copy the file /admin/makemod/draft/view/tpls/notice.tpl and paste it into the template directory of your custom ModMaker modules: /modules/__MODULENAME__/view/tpls.
  9. change "categories" to "directories"
    • Rename file /access/categories.php to /access/directories.php (if available)
    • Open the file and rename $webutler_categories to $webutler_directories
    • Also, rename the array key $webutler_categories['cats'] to $webutler_directories['dirs']
  10. Loading stylesheets
    • Move CSS files from the /source directories one directory level higher and delete the /source directory
    • Create the new directory /content/compress
    • Upload the new file /settings/compress.php
    • Enter all stylesheets required for the homepage into the compress.php
    • Remove loading of module stylesheets in ModMaker modules from the view.php, instead enter them in the compress.php
  11. Move directory /javascript from /includes to /content and set chmod if needed
    • Upload the new file /lightbox/lightbox_plus.js (paths in the file have changed)
    • If you use the Flash video player or the Flash MP3 player, you must adjust the path to the player in your HTML files
      • change includes/javascript/player/flvplayer.swf?flv=...
        to content/javascript/player/flvplayer.swf?flv=...
      • change includes/javascript/player/mp3player.swf?mp3=...
        to content/javascript/player/mp3player.swf?mp3=...
      so replace each includes with content
    • Remove the loading of lightbox_plus.js in ModMaker modules from the view.php (if available), instead enter the script in the compress.php
  12. Upload the following updated files:
    • /includes/sitemap/index.php
    • /includes/language/langblock.php
    • /includes/search/search.php
    • /includes/search/tpls/searchbox.tpl (index.php?page= was changed to index.php?wbpagefile=)
    • /includes/users/loginblock.php and
    • /includes/users/userpage.php
  13. New variables in the globalvars.php
    • $webutler_config['enabled_adminlangs'] - Enabled administrator languages
    • $webutler_config['edit_css_js'] - Activate / deactivate menu item 'Editing CSS and JS files'
    • $webutler_config['adminsubadmins'] - Activate / deactivate editing functions for additional administrators
    • $webutler_config['subadminslen'] - Maximum number of administrators that can be created
    • $webutler_config['compressor_onload_css'] and $webutler_config['compressor_onload_js'] - compress CSS / JS files on every page load
    • $webutler_config['googlemaps_key'] - The Google Map only works with an API key
    • $webutler_config['cssnotineditor'] - has been removed, only the style_TIMESTAMP.css is loaded from the /compress directory
    • $webutler_config['ckecssclasses'] - has been removed, for clarity the classes have been moved to the new file editor_classes.css
    • For clarity, the CSS classes used in the editor have been moved to the new file editor_classes.css, also upload this file.
  14. Changed variables in the globalvars.php, the following array keys need to be changed:
    • change admin_name to master_name
    • change admin_pass to master_pass
    • change admin_lang to master_lang
    • change urlendung to urlext
    • change offline_links to offlinelinks
    • change schritte_zurueck to stepsback
    • change admin_erweitert to admin_advanced
    • change categories to directories
  15. New variable in the baseconfig.php
    • $webutler_config['sub_admins'] = array(); - Access data for additional administrators
  16. Changed variables in the baseconfig.php, the following array keys have to be changed:
    • change user_name to admin_name
    • change user_pass to admin_pass
    • change user_lang to admin_lang
    • change startseite to startpage
    • change ownerrorpage to errorpage
  17. If you are using Apache 2.4 or later, you must update the .htaccess files for directory protection. Copy the .htaccess from /content/access and paste into the following directories (overwrite the existing file):
    • /admin/makemod/draft
    • /admin/makemod/draft/data
    • /admin/makemod/draft/media/files
    • /admin/makemod/draft/view/tpls
    • /content/access
    • /content/blocks
    • /content/columns/source
    • /content/layouts
    • /content/menus
    • /content/pages
    • /content/pattern/files
    • /includes/forms/tpls
    • /includes/language/tpls
    • /includes/search/tpls
    • /includes/users/tpls
    • In all ModMaker modules, each in
      • /modules/__MODULENAME__/data
      • /modules/__MODULENAME__/media/files
      • /modules/__MODULENAME__/view/tpls
    • /settings