$Id: NEW_FEATURES,v 1.1.2.14 2006/06/18 19:15:55 ignatius0815 Exp $
###############################################################################
                        New features in phpCMS 1.2.2
###############################################################################

************************
  MENU & SITEMAP:
************************

    * IFNOTEMPTY
          o added new parameter "IFNOTEMPTY" to the {MENU} command in template
            files to increase flexibility of menu display:
          o {MENU NAME="SUB1" IFNOTEMPTY} displays the menu with the
            name SUB1 only if the menu with the name SUB1 really
            contains menu-entries
          o otherwise the menu will display the .PRE and .PAST part of the
          menutemplate also, if there are no entries in the menu
    * PREACTIVE / POSTACTIVE
          o You can use now the optional menu subtemplates ".PREACTIVE"
            and ".POSTACTIVE".
            The subtemplate PREACTIVE is used to render the menu item
            directly before the active one, and POSTACTIVE is used to
            render the menu item after the active one.
            This can be used for example to create a menu where the active
            menu item casts a shadow on the succeeding menu item
    * Using same template file for content files, sitemap & search pages
          o Sitemaps and search-pages can now be generated by using the same
            template as for the normal content. It is not neccessay anymore, to
            use seperate templates for them.
            Example:
            Add the fields
            {SEARCH SEARCHTEMP="SEARCH"}
            {TOC CLASS="00.01"}
            to your normal template file (the one also used for the content).
            Then you have to add the additional content fields
            {CONTENT_TOC} to your sitemap content file and
            {CONTENT_SEARCH} to your search content file (both content fields
            can be empty as they only have to be present and their content
            is ignored anyway).
            Attention: for backward compatibility reasons this feature is
            switched off by default. You have to switch it on by changing
            the variables CONTENT_SEARCH and CONTENT_TOC from 'off' to 'on'
            in your default.php configuration file.
            The names of the two fields can be modified in the configuration
            file as well (by default they are CONTENT_SEARCH and CONTENT_TOC

************************
  ONLINE-EDITOR:
************************

    * Backupinterface
          o added an interface for creating backups with the online-editor
          o if a file class.edit_backup_phpcms.php exists in the include-folder
            it will be included before saving the new content in the existing
            contentfile
          o you can access the filename of the currently edited file with
            $DEFAULTS->DOCUMENT_ROOT.$CHECK_PAGE->path.'/'.$CHECK_PAGE->name
    * Check of write-permissions before a file could be edited
          o the edit-buttons are now disabled if the file is not writeable and
            the changes could not be saved secure
    * New edittype "SELECT"
          o A new edittype "SELECT" to be used in templates was introduced.
            With this edittype you can create a drop down selection box
            in edit mode.
            Example:
            {MYFIELD EDITTYPE="SELECT" OPTIONS="option 1;option 2;option 3"}
            Creates an selection box with the given options. The result will be
            saved in a content field named "MYFIELD"

###############################################################################
                        New features in phpCMS 1.2.1
###############################################################################

************************
  MENU & SITEMAP:
************************

    * BETWEEN
          o You can use now the optional menu subtemplate ".BETWEEN".
            If this subtemplate is defined it's content is printed
            between each menu item. This can be used for example to insert
            delimeters in horizontal menus.
            Example:
            If you want to get a menu like

            item 1 | item 2 | item 3 |item 4

            You can add a menu subtemplate like

            {MAIN.NORMAL}
                <span class="delimeter"> | </span>

            to your menutemplate file. This works also for sitemap
            subtemplates.

    * Menu delimeter can be changed
          o Added new configuration variable MENU_DELIMITER to the
            configuration-file defaults.php
            In addition a new keyword DELIMITER: to be used in menu-files
            was added. With this keyword you can change the menu delimeter
            on the fly within the menu file.
            Example:

            MENU: SUB1
            CLASS;    MNAME;        LINK
            00.02.01; Sub page 1/1; $home/spage_1_1.en.htm
            00.02.02; Sub page 1/2; $home/spage_1_2.en.htm

            # change delimeter from ';' to '|':
            DELIMETER:|

            MENU: SUB1
            CLASS|    MNAME|        LINK
            00.03.01| Sub page 2/1| $home/spage_2_1.en.htm
            00.03.02| Sub page 2/2| $home/spage_2_2.en.htm

************************
  PARSER:
************************

    * Delimeter for tag-files can be changed
          o Added new configuration variable TAG_DELIMITER to the
            configuration-file defaults.php

###############################################################################
                        New features in phpCMS 1.2.0
###############################################################################


************************
  PARSER:
************************

    * XHTML
          o all hard coded output of phpCMS is now valid XHTML.

    * URI parameter handling.
          o Parameters, when running in Stealth Mode, may now be appended to the
            URI simply with an "?":
          o http://www.yoursite.com/index.htm?parameter=value instead of the old
            syntax: http://www.yoursite.com/index.htm?&parameter=value in
            previous phpCMS versions.
          o Also, URIs parameters no longer need to start with a "dummy
            parameter" as was formerly required e.g. when sending form data via
            action="get".

    * new "Secure Stealth Mode"
          o When running in Stealth Mode this blocks attempts to access files
            via direct calls to the Parser (i.e. 'parser.php?file='). This
            addresses possible security issues owed to the fact that in the past
            files located in directories protected with a .htaccess file could
            nonetheless be accessed directly via the parser.

    * separate 404 error-page
          o added support for configuring a separate 404 error-page to be
            displayed if a content file cannot be found while not running in
            DebugMode. In contrast to the normal error page, the 404 error-page
             is not sent out via HTTP-redirect, so that the address line in the
             browser continues to show the URI that was entered by the user,
             offering them a chance to correct it.

    * white spaces and blank lines
          o the parser no longer removes leading white spaces and blank lines
            from templates and content files.

    * Ignore Tag:
          o <phpcms:ignore>.....</phpcms:ignore> may be used to "comment out"
            parts of content files, templates etc. Any text/HTML thus marked
            will be skipped, and consequently not be parsed/displayed.

    * P3P
          o phpCMS now offers support for "Platform for Privacy Preferences
            Project" (P3P) HTTP headers (http://w3c.org/P3P/) which can be
            configured via the GUI.

    * "Mail2Crypt" SPAM protection (formerly known as PAX MailCrypt)
          o Mail2Crypt was re-implemented to no longer depend on PAX.
            Mail2Crypt can be activated, and paths to relevant files can be
            configured via GUI. Mail2Crypt's tag syntax is changing to
             <!-- MAIL2CRYPT mail@domain -->
             (The old syntax <!-- MAILCRYPT mail@domain --> will be dropped
             in v1.3.0) The inclusion of the JS file is now done automatically,
             when a Mail2Crypt tag is used in a page, the include/embed tags
             are obsolete.

    * Dyna-Tags
          o extended PAX Dyna-Tag logic to handle parameters present in custom
            tags.


************************
  MENU & SITEMAP:
************************

    * PARENTCLASS
          o added new parameter "PARENTCLASS" to the {MENU} command in template
            files to increase flexibility of menu display:
          o {MENU NAME="SUB1" PARENTCLASS="00.01"} displays the menu with the
            name SUB1 which belongs to the MENU-Tree 00.01

    * SELF
          o Added new layout-type "SELF" to menu-templates both for MENU and
            TOC. If set, this will be used to display the menu-entry of the
            current file. If not set, the "ACTIVE"-layout will be used.

    * parameters in URLs
          o Added menu handling for parameters in URLs, parameters are now
            considered when determining the active menu entry

    * TOC
      Added some new parameters to the {TOC} command in template file:
          o {TOC CLASS="class" TOCTEMP="template"}
                + The (sitemap-)template, defined with 'TOCTEMP' will be used
                  with all menu-levels. So, e.g. for three menu-levels not
                  three identical templates are needed.

          o {TOC CLASS="class" TOCSUFFIX="suffix"}
                + With 'TOCSUFFIX' you can easily swith to an alternative
                  template-group. Then the 'suffix' would be added to each
                  menu-levels keyname. So e.g. instead of 'MAIN' the TOC will
                  be parsed with 'MAINsuffix', 'SUB1' will be 'SUBsuffix', and
                  so on.

          o Combining {TOC CLASS="class" TOCTEMP="template" TOCSUFFIX="suffix"}
            them would be the same as using
            {TOC CLASS="class" TOCTEMP="templatesuffix"}.

          o {TOC CLASS="class" SHOWACTIVES}
                + The keyword 'SHOWACTIVES' will force parsing of 'ACTIVE' und
                  'SELF'. Without this they won't be interpreted, because the
                  sitemap itself would always be the active link. So this
                  keyword is only needed, if you use the TOC as a menu on
                  different pages.

************************
  FULL TEXT SEARCH:
************************

    * both search form and search results can now be displayed on a single page.

    * additional error messages can be configured to be shown to the user when
      he made a full text search for a word that is in the stop word-list.

    * full text search now automatically recognizes gzip compression setting for
      search data files. The hidden input tag
       <input type="hidden" name="gzip" value="on">
      in search forms thus becomes obsolete.

    * included <SEARCH_MIDDLE> in home.tag to separate prev- and next-links.
      If nof defined, it is set to " ".


************************
  CACHE:
************************

    * improved handling of server side cache files.
      Several virtual domains can now share a single cache directory. In order
      to avoid file name conflicts, cache files are given MD5 encode names based
      on the domain name and complete path of the file being cached.


************************
  STATISTICS:
************************

    * added support to log "top referrer" and "last referrer".
      Referrer logging can be configured and used independently of the statistics
      module. Included is a cofigurable plug-in/script to display the referrer
      data on your pages.


************************
  GUI:
************************

    * completely new File-Manager and Cache-View in the phpCMS GUI.
          o created registry for filetypes with many icons and a registry for
            some template-files used for creating a new file, see
            /include/filemanager.
          o made the filelist sortable ascending and descending by each
            property.
          o improved handling of checked files on cancel from copy or delete.
          o now you can switch between highlighter and editor without loosing
            changes.
          o browsing a file will now open in a new window.
          o now with multi-copy/rename:
                + optional use of a prefix and/or suffix for each selected
                  filename or directory.
                + already existing targets will re-prompt for overwrite of each
                  or all.
          o added GUI-configurable display-shortening of long filenames both in
            File-Manager and Cache-View with the full name in a title.

    * improved usability of the phpCMS configuration screen. Sub settings are
      hidden when their main switch is off.


************************
  DEBUG TOOL:
************************

    * completely rewritten Debug-Tool with many new functions.
      It can be accessed by adding "?debug" as a parameter to a page's URI.
      (e.g. http://www.yoursite.com/anypage.htm?debug)


************************
  ONLINE-EDITOR:
************************

    * security enhancements:
          o online-editor can be switched off in the GUI if not needed (by
            default set to off)
          o some all-too-common words are no longer accepted as editor
            passwords.

    * multiple editor passwords can be set within project files, separated by
      commas:
         EDITPASSWORD := password1, password2, password3, ...
      Thus it becomes for example possible to define different passwords for
      separate areas of a site, and a master password which works on all pages.

    * several minor enhancements to the online editor and improved usability.


************************
  HTTP- AND FILE-INDEXER
************************

    * file indexer now supports local stop word files.

    * file indexer now lets you specify which fields to index.

    * stop word files can be optimized by the file indexer. Optimization deletes
      duplicate entries, arranges stop words in alphabetical order, and converts
      them to the proper (lowercase) format.

    * introduced indexer exclusion tag.
      <phpcms:noindex> .... </phpcms:noindex> may be used to mark up parts of
      content pages or templates (such as menus etc.) that are not supposed to be
      included in the search index.

    * introduced spider exclusion tag (HTTP-Indexer)
       <phpcms:nofollow> ... </phpcms:nofollow> may be used to mark up links
       within content pages or templates that should be ignored when the indexer
       spiders your site.

    * enhanced HTTP-Indexer profile wizard
      (path settings for spidering/inclusion/exclusion can be edited).

    * HTTP-Indexer now supports manipulation/replacing of parts of URIs after
      indexing.

    * Added support for indexing numerals.

************************
  BUG FIXES:
************************

    * many bug fixes and enhancements.
      See the file CHANGELOG and the phpCMS bug tracker at SourceForge
      (http://www.sourceforge.net/projects/phpcms) for more information and a
      detailed log of all changes and bug fixes since version 1.1.9.
