------------------------------------------------------------------------
ezContents CMS Version 2.0.3 is available under the terms of
    the ezContents License 1.0.

For the latest version of the ezContents CMS, go to:
Visual Shapers http://www.ezcontents.org/
------------------------------------------------------------------------


BEFORE YOU START
------------------------------------------------------------------------
Make sure you have PHP 4.0.4 or above with MySQL 3.23 or above installed


WHAT'S NEW:
------------------------------------------------------------------------

New features that are available in version 2.0.3 of ezContents:
- Fix to Remote Code Execution Patch vulnerability in module.php
- Fix to other reported Remote Code Execution Patch vulnerabilities
  (CAN-2004-0070)
- Fix to error trapping in module configuration form.
- Increase to size of login pop-up box.
- Fix to security bypass on login giving access to any restricted function.
- A number of HTMLArea fields functionalised on admin and submission forms.
- A number of Date fields functionalised on admin and submission forms.
- Scrollbar style definition in generated stylesheet file.
- Error trapping enabled in module configuration form.
- Admin initial screen only shows modules that user can access.
- Fix to German language top-menu language file.
- Clearer message if modules don't find any entries.
- Language change retains current menu location on change (non-frames mode
    only).


New features that are available in version 2.0.2 of ezContents:

- Fix to cookie directory when using admin functions for maintain modules.
- Fix to sorts on admin list screens
- Fix to ColorPicker.
- Fixes to SQL query in Search module.
- Fix to Event Diary display.
- Fix to adding new entries in modules where nested categories are more
  than two levels deep.
- MouseOver colour change on Event Diary display.
- Admin-style image buttons for ColorPicker, ImagePicker, TagPicker,
  DatePicker etc.
- Search module SQL modified to ignore unreleased content
- Search module now works with quoted phrases as well as words
- What's New module SQL modified to ignore unreleased content
- Site selection dropdown on admin login screen when multi-site is enabled.
- Cleaner Session Timeout


New features that are available in version 2.0.1 of ezContents:

- Site-Level changes
  - Changed all hard-coded directory references to use the global directory
    name variables defined in config.php.
  - Session ID maintained in cookies where available, rather than in URL.
  - Favourite Icon for the site (defined by the setting 'favicon' on the
    database, though it can't be configured through the admin screens.

- Administration changes
  - Admin list screens now allow jump to any page in the list via a
    'drop-down' page number.
  - Admin Pop-up helper windows now close down automatically on exiting a
    form.
  - Fix to sort on admin 'maintain content' list.
  - Sub-sites now include custom modulesettings (for use in 2.1.0).
  - All module tables now created correctly for sub-sites.
  - Creating a new site now creates an index.html file in the
    /sites/<sitecode> subdirectory which redirects to the sub-site.
  - Fix to help field focus on WYSIWYG fields.

- Front-End changes
  - Fixes for default 'homepage' so that it can reference modules.
  - Bernd's modifications to printer-friendly page.
  - Click on the front-end site logo in the top frame to refresh the site.
  - Fix to site size for sub-sites when using [sitelink] and [sitelist] tag
    to switch between sites.
  - Better spacing for userdata frame dropdown lists.

-  Module changes
  - Search no longer retrieves expired or unpublished content.

- Language changes
  - Partial set of Danish language files.


New features that are available in version 2.0.0 of ezContents:

- Site-Level changes
    - Security holes all plugged
    - Granular security based on admin-configurable user roles
    - Admin-defined names rather than numbers for menus and content
      articles
    - Full multilanguage capability
    - Multiple sites on a single copy of ezContents
    - Multiple styles/themes for each site
    - [html] tag is now redundant

- Administration changes
    - Choice of WYSIWYG Editor
        HTMLArea 2 for IE 5.5 and above only
        HTMLArea 3 Beta for IE 5.5 and above, and Gecko-based browsers
        HTMLArea 3 Modified for IE 5.5 and above, and Gecko-based browsers
            (HTMLArea 3 Beta, but includes modifications for image selection and editing)
    - New sorting and filtering of lists in the admin pages
    - Admin-configurable userdata frame
    - Site visitor statistics
    - Database backup/restore
    - DatePicker for dates
    - TagPicker for text fields where tags are permitted
    - A lot of new layout options
    - User accounts can be disabled rather than simply deleted

- Front-End changes
    - Article comments and Ratings
    - Printer-friendly page
    - Multi-line top menus

- New Tags
    - ilink - link to an external page within the main ezContents
      content page
    - download - link to a downloadable file
    - flash - embed a flash object within a page
    - sitelist - list of sites managed through ezContents multi-site
    - sitelink - link to a specific site maintained within ezContents
      multi-site
    - menulink - change sidebar menu
    - contentlist - replaces the old subgrouplist tag, and creates a
      list of articles within a content page
    - year - displays the current year
    - hovernote - creates text note that appears when the cursor hovers
      over the link text (Internet Explorer)
    - teaserinclude - version of include that will display the teaser
      text for an article

- Modules
    - More configuration options for user-submission modules
    - Admin-configurable categories/sub-categories for modules such as
      news, image gallery, etc.
    - New Modules
        - Image Gallery
        - Poll
        - Top-rated Articles



New features that are available in version 1.4.x of ezContents:

- Site-Level changes
    - Multiple sites on a single MySQL database
    - Change from cookies to sessions to comply with new EU regulations
      on storage of data on client PCs
    - Optional Top-level menu in header bar
    - Optional User status information (login, logout, preferences,
      membership list) in header bar
    - Optional Footer frame
    - Optionally, Content can be split into two columns in content
      display
    - Admin-defined HTML can be included in both header and footer
    - Alternate colour schemes for content teasers and main content
    - Option of gzip compression for page transfers to a browser
    - Optional display of page generation time (primarily a developers
      tool to ensure efficient code)
    - Multilanguage admin and basic user texts, with a default site
      language
    - Server timezone display
    - Height and Width are pre-calculated for all image displays
    - Hover text display for menu options when cursor is held over the
      menu item (IE and Opera support hover text)
    - Non-frames-compliant browsers can now view your site even if it's
      configured for frames (as long as the browser can still handle
      cookies, javascript and nested tables)
    - Add-in modules for "Search", "What's New", etc. will now appear in
      the content window for non-frames users

- General admin changes
    - Retention of username on login screen for subsequent logins (using
      a cookie)
    - Field-level help on forms
    - Image subdirectories
    - Image Picker pop-up

- Authors
    - 4 levels of security groups for authors - Administrator;
      Contributor, Translator and Reader, with only appropriate admin
      menu options available to members of each group
    - National flags for authors country (cosmetic change)
    - User selection of language to suit preferences

- Menus
    - Filter on sub-menus

- Templates and Tags
    - admin-level definition of [tags]; most standard html tags are
      pre-defined for bold, italic, underline, header levels, lists
      and tables, etc.
    - content sidebar templates (border, alignment, width,
      background)
    - image format templates (border, alignment, background) for
      in-content images

- Content
    - Can be displayed on the left or right side of the Content Frame
      if the site settings permit; or the full Content Frame as at
      present
    - New tags:
        - [ilink] - similar to [link], but links within the content
          frame rather than in a new browser window.
        - [image] - allows images within the content body, with optional
          captions and formatting based on an image template
        - [sidebar] - sidebars within the content body, formatted
          according to a sidebar template
        - [grouplist] - list of submenu groups with the content
        - [subgrouplist] - list of content pages for a subgroup within
          a content page
        - [file] - include an external php script within the body of
          your content
        - [include] - include the content of one page within another
    - Restricted sections for registered members of a site

- User-submitted special content
    - User-submitted "News" and "Guestbook" modules - these can be
      configured at admin-level so that any user can submit special
      content, or only users with an author id; and user-submitted
      content can be released to view automatically, or held pending
      an administrator's release
    - User-submitted events diary

- Other plug-in modules
    - Calendar
    - Site map

- Additional bugs fixed
    - /contentimage problem with trailing / on directory name being
      lost.



New features that are available in version 1.33 of ezContents:

- What's new
- Search function
- Improved admin section
- HTML code is allowed for banners
- Image on the homepage and details page can be different
- Background images can be repeated of not (style-sheet)
- Style of the links are be customizable (underline etc.)
- Menu frame width and top frame height are be adjustable
- Banners on the bottom of the page are allowed
- Menus are expandable
- Small bug fixes



Changes in version 1.2 of ezContents:

- banner management. With impression and click through counting.
- background images for menu, top, content
- showing author, header make an option
- header can be an image.
- mouse over images for menu's
- showing menu or submenu is an option
- add templates (frames/no frames)
- read more.. (make this text adjustable)
- order by (option) orderid, date publish, date modified.
- adjustable fonts and sizes
- add page IDs to pages to make cross links possible. (with [pagelink]
  tag)
- site title, meta description and keywords tags are maintainable



Changes in version 1.1 of ezContents:

- image management
- extra tags as [html] to write html and [code] to output code
- custom colors and homepage logo
- validation checks for input fields in maintenance module
- help texts in the admin sections
- a menu is added to content management
- fixed Netscape bugs
- Improved security for admin section



NEW INSTALLATION
-----------------

1.  unzip and untar the downloaded file with something like:
        $> tar -zxfv ezContents203.tar.gz
    or
        $> gunzip ezContents203.tar.gz
        $> tar -xfv ezContents203.tar

2.  Copy the ezContents files to your home (or ezContents) directory.

3.  Use your browser to run the installation script at url
    http://yoursite/install.php and follow the instructions.

    3.a  Read the results on the test screen to see if your server
         fulfils all of the requirements to run ezContents.
         This is indicated by coloured dots against each of the
         necessary criteria:
             *  A green dot indicates that this is acceptable.
             *  An orange dot indicates that some functionality may be
                restricted, or that you may encounter some errors
                during the installation or while running ezContents.
             *  A red dot indicates that ezContents should not be run
                without changes to your PHP/Server configuration.

         Don't continue with the installation if you see a red dot.
         Make any necessary changes to your webserver, PHP and/or
         MySQL first, then try re-running the install script.

    3.b  Select the language(s) that you want to install, from the
         displayed list and indicate the language that you want as your
         default site language.

    3.c  Select those 'plug-in' modules that you wish to install from
         the displayed list.

    3.d  Fill in the database details in the database form.
         Type of Install should be 'New Installation'.
         If you have an existing MySQL database that you wish to use,
         Create Database should be 'No': if you select 'Yes', the
         installation script will attempt to create a new database for
         you.
         Fill in the database details as requested:
             'Database Driver' would normally be MySQL, only change
             this if you need to for your database. (Check with your
             MySQL administrator).
             'IP Address of the database server' must point to the
             machine where your MySQL server is installed.
             'Database name' is the name for your database... if you
             are installing to an existing database, put that name in
             here; if you want the installation script to create a new
             database for you, put a new name in here.
             Enter the username and password needed to connect to
             MySQL.
             If you wish to (or must) use a prefix for the tables on
             your database, then enter the prefix in the appropriate
             field.
             Don't change the 'persistant connections' field unless you
             know that it is appropriate for your database. (Check with
             your MySQL administrator).
             Setting 'persistant connections' to 'Yes' can improve the
             performance of ezContents, but can also limit the number of
             concurrent users that can visit your site.
             If you chooseto log database updates, the script will write
             a log file to your ezContents home directory as it runs.
             It is only worth logging if you encounter problems with the
             installation, and you have sufficient free disk space (a
             minimum of 275k) for the log file.

4.  Before you can put contents you will need to create groups and
    subgroups for your menu.

    To manage the menus and contents on you site login to the
    ezContents maintenance by pointing your browser to:
    http://yoursite/admin/

    Don't forget to make a homepage group in maintenance groups.

    You may also decide to add authors that can maintain the contents.
    Default author "admin" is created with password "ezcontents".
    It would be in your best interest to change the password of admin
    user.


MANUAL INSTALLATION
--------------------

If you encounter problems during the installation, you can also install
ezContents manually.

1.  unzip and untar the downloaded file with something like:
        $> tar -zxfv ezContents203.tar.gz
    or
        $> gunzip ezContents203.tar.gz
        $> tar -xfv ezContents203.tar

2.  Copy the ezContents files to your home (or ezContents) directory.
    You would probably already have done performed these first two steps
    as part of running the installation script.

3.  Edit the ./include/config.php file and set the database globals so
    that the ezContents script can access your new database.
    The defaults are:
        $GLOBALS["ezContentsDBServer"]   = "localhost";
        $GLOBALS["ezContentsDBName"]     = "ezc200";
        $GLOBALS["ezContentsDBLogin"]    = "root";
        $GLOBALS["ezContentsDBPassword"] = "";

4.  Use mysqladmin to create a new database.
    call it whatever you set in $GLOBALS["ezContentsDBName"]
    to in include/config.php
    for example:
        $> mysqladmin -u root -p create ezc200

5.  Load the database schema.
    There is a file containing all the table definitions in the /sql
    subdirectory. It is called:
        MySQL_ezcontents203_manual_new_install.sql

    5.a  If you need to use a prefix for your database tables, you must
         edit the MySQL_ezcontents203_manual_new_install.sql file to
         include that prefix in the table names.
             eg. Any line like
                 CREATE TABLE authors (
             should be changed to read
                 CREATE TABLE <yourprefix>authors (
             likewise, any line like
                 INSERT INTO authors (
             should be changed to read
                 INSERT INTO <yourprefix>authors (

    5.b  To load it, you should be able to do something like this:
             $> cat MySQL_ezcontents203_manual_new_install.sql | mysql ezc200

         NOTE: if you need to give mysql a username and password
               to run the script, you may be able to use:
                   $> cat MySQL_ezcontents203_manual_new_install.sql | mysql -u root --password=<db root password> ezc200

    5.c  If you need to use a prefix for your database tables, you must
         also run the MySQL_ezcontents203_manual_install_with_prefix.sql
         script.
         Edit this file and change the line
             UPDATE specialcontents
         to read
             UPDATE <yourprefix>specialcontents
         then load it as described in 4.b above

6.  Execute:
        chown -R nobody.nobody contentimage
    (where nobody is the user under which your apache server is
    running).
    If you don't have admin access to your account do:
        chmod -R 666 contentimage
    You can also change the access properties with most ftp clients.
    All users need to access this directory and the files within it,
    because of the upload functionality.
    If you don't do this step you will not be able to upload images!

    You should also change the ownership of certain other
    subdirectories, and any files in those subdirectories;
    specifically:
        admin/styles/icache
        backup
        downloads
        scripts
        sites
        themes

7.  Before you can put contents you will need to create groups and
    subgroups for your menu.

    To manage the menus and contents on you site login to the
    ezContents maintenance by pointing your browser to:
    http://yoursite/admin/

    Don't forget to make a homepage group in maintenance groups.

    You may also decide to add authors that can maintain the contents.
    Default author "admin" is created with password "ezcontents".
    It would be in your best interest to change the password of admin
    user.



UPGRADING FROM PREVIOUS VERSIONS
---------------------------------

We recommend that you always take a backup of your existing site and
database before upgrading.


Upgrading from version 2.0.0
-----------------------------

1.  Take copies of your existing ./include/config.php, /themes and /sites
    /contentimage /scripts and /downloads subdirectories, and any language
    files that you may have changed.

2.  unzip and untar the downloaded file with something like:
        $> tar -zxfv ezContents203.tar.gz
    or
        $> gunzip ezContents203.tar.gz
        $> tar -xfv ezContents203.tar

3.  Delete your existing installation and replace with these new files.

4.  Update the sql database.
    There is a file containing in the /sql subdirectory called
    MySQL_ezcontents200_to_ezcontents203_update.sql that contains all
    the updates for table definitions

    If you are running multi-site mode:
        Perform the following SQL functions for each site that you have
        created.
            CREATE TABLE <sitecode>modulesettings (
                modulename varchar(32) NOT NULL default '',
                settingname varchar(50) NOT NULL default '',
                settingvalue text,
                PRIMARY KEY ( modulename, settingname )
            ) TYPE = MyISAM;

            INSERT INTO <sitecode>modulesettings SELECT * FROM <mainsite_prefix>ModuleSettings;

        Add the following line to the settings.php file for each site:
            $GLOBALS["eztbModuleSettings"]	= $GLOBALS["eztbPrefix"]."modulesettings";

        Create an index.html file in each site subdirectory
        (/sites/<sitecode>) containing the following lines:
            <html>
            <head>
                <title>HTML REDIRECT</title>
                <meta HTTP-EQUIV="REFRESH" CONTENT="0; URL=../../index.php?Site=<sitecode>>
            </head>
            
            <body bgcolor="#000000" text="#FFFFFF" link="#FF9900">
            <p>&nbsp;</p>
               <table width="100%" border="0" align="center">
                   <tr><td align="center">
                   &nbsp;<br>
                   You will be automatically redirected to the correct page in a few seconds.... if your browser supports it,<br>
                   Otherwise, click on the link below.<br>&nbsp;
                   </td></tr>
                   <tr><td align="center">
                   <a href="../../index.php?Site=<sitecode>">Click here if you are not automatically redirected to the correct page.</a>
                   </td></tr>
               </table>
            </body>
            </html>

    If you are running the poll module in multi-site mode:
        Using phpmyadmin (or similar), check for the existence of every table
        listed in the install.sql script in /modules/poll, prefixed with the
        site code. If a table doesn't exist, create it.

5.  Execute:
        chown -R nobody.nobody contentimage
    (where nobody is the user under which your apache server is
    running).
    If you don't have admin access to your account do:
        chmod -R 666 contentimage
    You can also change the access properties with most ftp clients.
    All users need to access this directory and the files within it,
    because of the upload functionality.
    If you don't do this step you will not be able to upload images!

    You should also change the ownership of certain other
    subdirectories, and any files in those subdirectories;
    specifically:
        admin/styles/icache
        backup
        downloads
        scripts
        sites
        themes

6.  Restore ./include/config.php, /themes and /sites
    /contentimage /scripts and /downloads subdirectories, and any language
    files that you backed up as part of step 1.


Upgrading from version 1.4.x
-----------------------------

1.  unzip and untar the downloaded file with something like:
        $> tar -zxfv ezContents203.tar.gz
    or
        $> gunzip ezContents203.tar.gz
        $> tar -xfv ezContents203.tar

2.  Overwrite your existing installation with these new files.

3.  Use your browser to run the installation script at url
    http://yoursite/install.php and follow the instructions.

    3.a  Read the results on the test screen to see if your server
         fulfils all of the requirements to run ezContents.
         This is indicated by coloured dots against each of the
         necessary criteria:
             *  A green dot indicates that this is acceptable.
             *  An orange dot indicates that some functionality may be
                restricted, or that you may encounter some errors
                during the installation or while running ezContents.
             *  A red dot indicates that ezContents should not be run
                without changes to your PHP/Server configuration.

         Don't continue with the installation if you see a red dot.
         Make any necessary changes to your webserver, PHP and/or
         MySQL first, then try re-running the install script.

    3.b  Select the language(s) that you want to install, from the
         displayed list and indicate the language that you want as your
         default site language.

    3.c  Select those 'plug-in' modules that you wish to install from
         the displayed list.

    3.d  Fill in the database details in the database form.
         Type of Install should be 'Upgrade'.
         Create Database should be 'No'.
         Fill in the database details as requested:
             'Database Driver' would normally be MySQL, only change
             this if you need to for your database. (Check with your
             MySQL administrator).
             'IP Address of the database server' must point to the
             machine where your MySQL server is installed.
             'Database name' is the name of your current database.
             Enter the username and password needed to connect to
             MySQL.
             If you used a prefix for your old database tables, then
             enter that prefix in the appropriate field.
             Don't change the 'persistant connections' field unless you
             know that it is appropriate for your database. (Check with
             your MySQL administrator).
             Setting 'persistant connections' to 'Yes' can improve the
             performance of ezContents, but can also limit the number of
             concurrent users that can visit your site.
             If you chooseto log database updates, the script will write
             a log file to your ezContents home directory as it runs.
             It is only worth logging if you encounter problems with the
             installation, and you have sufficient free disk space (a
             minimum of 275k) for the log file.


Upgrading from earlier versions
--------------------------------

You cannot upgrade to version 2.0.3 directly from earlier versions of
ezContents. You will need to upgrade to version 1.4.x first; then follow
the instructions above to upgrade from version 1.4.x.


Manual Upgrade
---------------

It is not possible to upgrade an existing 1.4.x site to version 2.0.3
manually.
