System requirements ----------------------------------- PHP: Any PHP version >= 4.3 (PHP 4.2.x may work but is not officially supported, PHP 5.0+ is strongly recommended)
Please note: XOOPS 2.4.0 is the LAST version of XOOPS tested on and supporting PHP4. Our next releases will be tested and certified exclusively on PHP5: Read more
here MySQL: MySQL server 3.23+ (MySQL 5.0+ is strongly recommended)
Please note: XOOPS 2.4.0 is the LAST version of XOOPS tested on and supporting MySQL version lower than 5.0. Our next releases will be tested and certified exclusively on MySQL 5.0+: Web server: Any server supporting the required PHP version (Apache highly recommended)
Downloading XOOPS ----------------------------------- Your can get this release package from the
Sourceforge file repository Both .zip and .gz archives are provided:
xoops-2.4.0.zip: Md5: cfad8035f0093c82684a7bf4780ae7c6 Sha1: 3a7d1bd527e7d9d8790bcd0fb42d688447161eeb
xoops-2.4.0.tar.gz: Md5: edfe5b380626f61320702c4962df3251 Sha1: c8ffd83b355582897b92b6f074fc0f99e2d3c83a
Installing XOOPS ----------------------------------- 1. Copy the content of the htdocs/ folder where it can be accessed by your server 2. Ensure mainfile.php and uploads/ are writable by the web server 3. For security considerations, you are encouraged to move directories "/xoops_lib" (for XOOPS libraries) and "/xoops_data" (for XOOPS data) out of
Document Root, and change the folder names. 4. Make the directory xoops_data/ writable; Create (if not already present) and make the directories xoops_data/caches/, xoops_data/caches/xoops_cache/, xoops_data/caches/smarty_cache/ and xoops_data/caches/smarty_compile/ writable. 5. Access the folder where you installed the htdocs/ files using your web browser to launch the installation wizard
Upgrading from a previous version -----------------------------------
Upgrading from XOOPS 2.3.x (easy way) 1. Get the right update package from the sourceforge file repository 2. Overwrite your existing files with the new ones * make sure that you copy the content of /xoops_lib to whatever directory you keep it on the server now (e.g. if you moved it outside of the Document Root). There can NOT be two directories with content of /xoops_lib 3. Move the "upgrade" folder inside the "htdocs" folder (it's been kept out as it's not needed for full installs) on your local computer 4. Access
/upgrade/ with a browser, and follow the instructions 5. Follow the instructions to update your database 6. Delete the upgrade folder from your server 7. Update the "system" module from the modules administration interface, other modules, especially "profile" are recommended to update as well Upgrading from XOOPS 2.0.* above 2.0.14 and 2.2.* (using the full package) 0. Unpack the archive to your LOCAL computer (e.g. PC) in a temporary directory. 1. Move the "upgrade" folder inside the "htdocs" folder (it's been kept out as it's not needed for full installs) on your local computer 2. Delete htdocs/mainfile.php, htdocs/install/, htdocs/cache/, htdocs/extras/, htdocs/template_c/, htdocs/themes/ and htdocs/uploads/ from the "htdocs" folder on your LOCAL computer * if you have created XOOPS_TRUST_PATH folder on your server, copy the content of /xoops_lib to that directory, and delete /xoops_lib from the "htdocs" folder on your LOCAL computer 3. Upload the content of the htdocs folder on your LOCAL computer over your existing files on your server 4. For security considerations, you are encouraged to move directories xoops_lib (for XOOPS libraries) and xoops_data (for XOOPS data) out of Document Root, and change the folder names. 5. Make the directory of xoops_data/ writable; Create and make the directories of xoops_data/caches/, xoops_data/caches/xoops_cache/, xoops_data/caches/smarty_cache/ and xoops_data/caches/smarty_compile/ writable. 6. Ensure the server can write to mainfile.php 7. Access /upgrade/ with a browser, and follow the instructions 8. Follow the instructions to update your database 9. Write-protect mainfile.php again 10. Delete the upgrade folder from your server 11. Update the "system" module from the modules administration interface, other modules are recommended to update as well Upgrading from any XOOPS ranging from 2.0.7 to 2.0.13.2 (using the full package): 0. Unpack the archive to your LOCAL computer (e.g. PC) in a temporary directory. 1. Move the "upgrade" folder inside the "htdocs" folder (it's been kept out as it's not needed for full installs) on your LOCAL computer 2. Delete htdocs/mainfile.php, htdocs/install/, htdocs/cache/, htdocs/extras/, htdocs/template_c/, htdocs/themes/ and htdocs/uploads/ from the "htdocs" folder on your LOCAL computer * if you have created XOOPS_TRUST_PATH folder on your server, copy the content of /xoops_lib to that directory, and delete /xoops_lib from the "htdocs" folder on your LOCAL computer 3. Upload the content of the htdocs folder on your LOCAL computer over your existing files on your server 4. Delete the following folders and files from your server (they belong to an old version): * class/smarty/core * class/smarty/plugins/resource.db.php 5. Ensure the server can write to mainfile.php 6. For security considerations, you are encouraged to move directories xoops_lib (for XOOPS libraries) and xoops_data (for XOOPS data) out of document root, or even change the folder names. 7. Make the directory of xoops_data/ writable; Create and make the directories of xoops_data/caches/, xoops_data/caches/xoops_cache/, xoops_data/caches/smarty_cache/ and xoops_data/caches/smarty_compile/ writable. 8. Access /upgrade/ with a browser, and follow the instructions 9. Write-protect mainfile.php again 10. Delete the upgrade folder from your server 11. Update the "system" module from the modules administration interface, other modules are recommended to update as well Upgrading a non UTF-8 site: UTF-8 encoding has been introduced into XOOPS 2.3 as default charset. However, there might be some problems with converting existing websites from non UTF-8 charset to UTF-8. Before there is a good enough solution for this conversion, following settings are recommended when you upgrade an existing website (if you are not an experienced user): - Select "Do not change" option in "Database character set and collation" step during upgrade process - Modify /languages/yourlanguage/global.php to use your previous _CHARSET value, if it has been changed to UTF-8 in your new global.php file as define('_CHARSET', 'UTF-8');
Upgrading XOOPS Editors: In the XOOPS package, there are four Editors included: dhtmltextarea and textarea for plain text, CKeditor and TinyMCE for WYSIWYG HTML. There are six additional WYSIWYG Editors available: FCKeditor, Koivi, NiceEdit, Wymeditor, Xinha, and Spaw2 that you can download from XOOPS SourceForge (https://sourceforge.net/projects/xoops/files/XOOPS%20Editors/) Since there are some directory structure changes in both fckeditor and tinymce editors, you are recommended to remove existent editors before uploading the new additors. And if you are using FCKeditor for modules, please modify module specific configs following the files in /fckeditor/modules/, especially if you use "Article" module. Debug information display level ----------------------------------- Since XOOPS 2.3.1 debug information display level is enabled as a temporary solution for 2.3* to show debug information to different level of users: to all users, to members or to admins only. The configuration can be set in /xoops_data/configs/xoopsconfig.php A new debug information tools will be available for 2.4 using FireBug (see http://tinyurl.com/nmnjdp) Files integrity check ----------------------------------- The full XOOPS package is released with a script able to check if all the system files have been correctly uploaded to the server. To use it, follow these instructions: 1. Upload the checksum.php and checksum.md5 files located in the XOOPS package root to your XOOPS server folder (putting them next to mainfile.php). 2. Execute checksum.php with your browser 3. If necessary, re-upload the missing or corrupted system files 4. Remove checksum.php and checksum.md5 from your server Modules ----------------------------------- This release contains only the "system-related modules". You are invited to browse the XOOPS modules repository to if you need additional functionality. Note: as a new repository is being built, the current repository is not up-to-date, PLEASE VISIT INDIVIDUAL DEVELOPERS' WEBSITES TO MAKE SURE YOU ARE USING LATEST VERSION OF MODULES. How to contribute ----------------------------------- Bug report: http://sourceforge.net/tracker/?group_id=41586&atid=430840 Patch and enhancement: http://sourceforge.net/tracker/?group_id=41586&atid=430842 Feature design: http://sourceforge.net/tracker/?group_id=41586&atid=430843 Release announcement: https://lists.sourceforge.net/lists/listinfo/xoops-announcement XOOPS Development Team October 25th, 2009 ================================ Change Log: 2009/10/23: Version 2.4.0 =============================== Updates from Sourceforge trackers: - Fixed bug #2872644 : Find users bug - MAX_JOIN_SIZE (trabis/ghia/mowaffak) - Fixed bug #2877987 : setExtra of XoopsFormElement is unusable (trabis/instantzero) - Fixed bug #2720792 : Hardcoded "Re:" in pmlite.php (trabis/arabxoops) Removed language defines: /language/english/comment.php _CM_RE Added Language defines: /language/english/global.php _RE Updates upon community: + Added System key (wishcraft, trabis) - Changed: Oxygen updates (Voltan, Kris_fr) - Fixed a bug in xoopslist.php/language define fallback (trabis) - Fixed $_SESSION bug on some servers(xoops token not working) - Fixed Security Vulnerabilities (wishcraft) + Added missing local style for imagemanager and pmlite (mowaffaq) - Fixed Slash Double Quote Bug Fix - All Fields incur \" in database (wishcraft) - Fixed Removed Duplicate Cookie (wishcraft) - Added Protector 3.40 (Voltan, Trabis) =============================== 2009/09/10: Version 2.4.0 RC =============================== Updates upon community: - Removed soap authentication and classes(trabis) - Removed extra databases support (trabis) Removed language defines: /modules/system/language/english/admin/preferences.php _MD_AM_AUTH_CONFOPTION_SOAP /modules/system/language/english/admin/preferences.php _MD_AM_SOAP_* =============================== 2009/09/6: Version 2.4.0 Beta 2 =============================== Updates from Sourceforge trackers: - Fixed bug #2586854: date format is hardcoded in form elements (dugris/marco) - Fixed bug #2835056: ldap / soap syntax error (frankblack/julionc) - Fixed bug #2723428: Search Results - SEO (arabxoops/julionc) - Fixed bug #2838534: Error in oxygen orange css file (tititou/julionc) - Fixed bug #2839949: Wrong display of mandatory fields in oxygen GUI theme (tititou) - Added patch #2838667 : HTML syntax error + various formating in oxygen GUI, and clean up! (tititou/julionc) - Added feature request #2816381: Images Manager Sorting(trabis/Slyss) Updates upon community: - Fixed : some php4 related bugs in installer and xoopslogger (trabis) - Removed : System key (trabis) - Changed : Admin GUI's are now using a theme factory, modules can make use of $xoTheme and $xoopsTpl (trabis) + Added : Preload system, modules can now respond to system events(trabis) + Added : Support to php5.3 (trabis) + Added : jquery support. If you need to use jquery.js, please use $xoTheme->addScript('browse.php?Frameworks/jquery/jquery.js'); (trabis/phppp) Modified Language files: /modules/system/class/gui/oxygen/language/english/admin.php _AD_XOOPSMODULES, _AD_LOCALSUPPORT Removed language defines: /modules/system/language/english/admin/preferences.php _MD_AM_SYSTEMKEY /modules/system/language/english/admin/preferences.php _MD_AM_SYSTEMKEYDSC upgrade/upd-2.0.18-to-2-3-0/language/english.php LEGEND_XOOPS_MAINFILE_FORPROTECTOR upgrade/upd-2.0.18-to-2-3-0/language/english.php XOOPS_MAINFILE_LABEL_FORPROTECTOR Added Language File: /language/english/localsupport.php /class/calendar/JSCal2/JSCal2/src/js/lang/en.js /class/calendar/JSCal2/language/english.php Third-party updates: ============================ 2009/08/12: Version 2.4.0 Beta 1 ============================ Updates from Sourceforge trackers: - Fixed bug #2761876: Indexes issues/improvements (trabis/Instant-Zero) - Fixed bug #2788739: missing language definition _XOOPS_FORM_ALTYOUTUBE (trabis/voltan) - Added feature req #2414148 : removing harcoded 'administration' from cpanels (trabis/mowaffaq) - Fixed bug #2782360: Profile Module - Registration steps and user creation (trabis/instantzero) - Fixed bug #2730373: Removing content from homepage template (trabis/instantzero) - Fixed bug #2704179: CaritaFoto and Link to image with a space in the dir name (trabis) - Fixed bug #2624953: Can't save value of DATE and LONGDATE in profile module (trabis) - Fixed bug #2691957: Images not given in the image manager (trabis) - Fixed bug #2661850: Bug on [mp3] tags and update player.swf (trabis) Updates upon community: - Fixed bug: Updating countries list and moving harcoded names to language folder (trabis) - Fixed bug: Parsing issues with Oxigen(class mapper) (trabis/mamba) - Fixed bug: Blocksadmin - Cookies for remembering display list settings (trabis) - Fixed bug: Undefined 'OS' in logger/render.php (trabis) - Fixed bug: Inclusion of custom config file for text sanitizer (trabis) - Fixed bug: XoopsList.php (Timezone return is not true must be array) (wishcraft) - Fixed bug: Xoops Captcha Class This class would call third party Framewok Files. If the file was not found, this would either report no error or cause a WSOD. (Catzwolf) - Fixed bug: class/captcha/xoopscaptcha: Fixed many suppression errors that would lead to either WSOD or report no error. (Catzwolf) - Fixed bug: Can not delete notifications. Cache was being used and Token validation was failing. (trabis) - Fixed bug: Cookie Domain Dope now has constant set in common.php - XOOPS_COOKIE_DOMAIN (wishcraft) - Fixed bug: XoopsCache - XOOPS URL Include with Cache Filename (Cause issue with multiple domains) (wishcraft) - Fixed bug: XoopsTpl - XOOPS URL Include with Cache Filename (Cause issue with multiple domains) (wishcraft) - Fixed bug: XoopsObject - $this->vars[$key]['changed'] not set to true if value is the same and unchanged. (wishcraft) - Fixed bug: XoopsAuth - Some installs of xoops } would physically be missing from auth_ldap.php, xoops_ads.php [rep: brandonheyer] (wishcraft) - Changed: Xoops Captcha Config: Cleaned and Formatted code for consistency. (Catzwolf) - Changed: Xoops Captcha Image: Cleaned and Formatted code for consistency. (Catzwolf) - Changed: Xoops Captcha Text: Cleaned and Formatted code for consistency. (Catzwolf) - Chanded: XoopsDatabase: Cleaned and Formatted code for consistency. (Catzwolf) - Changed: XoopsDatabaseFactory: Cleaned and Formatted code for consistency. Added error checking on file inclusion with error reporting. (Catzwolf) - Changed: XoopsFormCheckBox: Added check to see if class has already been loaded and changed include to use xoops_load function. (Catzwolf) - Changed: XoopsFormDhtmlTextArea: Added check to see if class has already been loaded and changed include to use xoops_load function. (Catzwolf) - Changed: XoopsGroupPermForm: Added Check to see if form have been loaded ppreviously nad changed includes to use xoops_load function (Catzwolf) - Changed: XoopsLists: Cleaned and Formatted Code. (Catzwolf) - Changed: Xoops ThemeForm and TableForm: Fixed the tables td to a fixed width 40%. (catzwolf) - Changed: XoopsForm: ThemeForm and TableForm: Replaced htmlspecialchar to a preg_replace to remove any malious code rather than just changing it to a readable form. (Catzwolf) - Changed: Auth Classes: Cleaned and Formatted code for consistency. (Catzwolf) - Changed: Xoops Model Classes: Cleaned and Formatted code for consistency. (Catzwolf) - Changed: Xoops Cache Classes: Cleaned and Formatted code for consistency. (Catzwolf) - Changed: Xoops File Classes: Cleaned and Formatted code for consistency. (Catzwolf) - Changed: Xoops Logger: Cleaned and Formatted code for consistency. (Catzwolf) - Changed: Xoops MultiMailer: Cleaned and Formatted code for consistency. (Catzwolf) - Changed: Functions,php: Cleaned and Formatted code for consistency. (Catzwolf) - Changed: Moved xos_kernel_Xoops2 Class from common.php to its own class file in /class (Catzwolf) - Changed: Common.php: Moved Many items into xos_kernel_Xoops2. (Catzwolf) - Changed: Moved Defines into own file called defines.php in include directory. (Catzwolf) - Chanded: refactored xoops_loadLanguage in function.php This was due to the way that this classed used error suppression and now also checks for $xoopsOption and sanitizes it. (Catzwolf) - Changed: Removed extra globals from module.errorhandler.php (do we really need this class now). (Catzwolf) - Changed: Change class Xoopstree function. Added 'extra' to the selection to allow for onchange etc (Catzwolf) - Changed: Formatted code and headers to conform to the Xoops coding standards. (Catzwolf) - Changed: Changed global calls to the database ($GLOBALS['xoopsDB'] To &XoopsDatabaseFactory::getDatabaseConnection(); which is the correct method of calling the database. - Changed: Changed initVar calls to the XoopsObject class to support enumeration array for XOBJ_DTYPE_ENUM (wishcraft) - Changed: Default Control Panel Theme set to oxygen by voltan (tnx Iran) [wishcraft] - Changed: Profile Module (Support for new Object Types and Refactorised Authentication Library) + Added: Query timers to logger (trabis) + Added: Blocksadmin - groups selection to block forms (trabis) + Added: Deprecated methods on kernel/module.php (trabis) + Added: XOBJ_DTYPE_FLOAT - Object Type for Floating Points (php4) - see /class/object.php (wishcraft) + Added: XOBJ_DTYPE_DECIMAL - Object Type for Decimals/Doubles (php4) - see /class/object.php (wishcraft) + Added: XOBJ_DTYPE_ENUM - Object Type for Enumerators (Database Support) - see /class/object.php (wishcraft) + Added: XOBJ_DTYPE_UNICODE_TXTBOX - Object Type for Unicode and Escaped Characters - see /class/object.php (wishcraft) + Added: XOBJ_DTYPE_UNICODE_TXTAREA - Object Type for Unicode and Escaped Characters - see /class/object.php (wishcraft) + Added: XOBJ_DTYPE_UNICODE_URL - Object Type for Unicode and Escaped Characters - see /class/object.php (wishcraft) + Added: XOBJ_DTYPE_UNICODE_EMAIL - Object Type for Unicode and Escaped Characters - see /class/object.php (wishcraft) + Added: XOBJ_DTYPE_UNICODE_ARRAY - Object Type for Unicode and Escaped Characters - see /class/object.php (wishcraft) + Added: XOBJ_DTYPE_UNICODE_OTHER - Object Type for Unicode and Escaped Characters - see /class/object.php (wishcraft) + Added: xoops_base_domain - Function for retrieving TLD of domain of any URL - see /include/functions.php (wishcraft) + Added: xoops_convert_encode - Function for Converting Bit Strings Storage in any format database in a string - see /include/functions.php (wishcraft) + Added: xoops_convert_decode - Function for Converting Bit Strings Storage in any format database in a string - see /include/functions.php (wishcraft) + Added: xoops_hex2bin - Function for Unicode Storage in any format database with hex - see /include/functions.php (wishcraft) + Added: xoops_hex2bin - Function for Unicode Storage in any format database with hex - see /include/functions.php (wishcraft) + Added: xoops_ishexstr - Function for Checking for a hex string with length limiting - see /include/functions.php (wishcraft) + Added: xoops_aw_decode - Array Walking Function for Unicode Storage see func: xoops_bin2hex - see /include/functions.php (wishcraft) + Added: xoops_aw_encode - Array Walking Function for Unicode Storage see func: xoops_hex2bin - see /include/functions.php (wishcraft) + Added: WCAG 2.0 - Sight Impaired Assisted Forms (Disability Access - Form Objects) - see /class/xoopsforms/ (wishcraft) + Added: getTitle - WCAG 2.0 - Object HTML Title Tag (Text to Speach 4 Prompted Forms) - see /class/xoopsforms/formelement.php (wishcraft) + Added: WCAG 2.0 - Label Associations with WCAG1/2 - see form objects render (wishcraft) + Added: New Class to XoopsForms: XoopsFormTree Class. The ability to add XoopsTree directly into any form. (Catzwolf) + Added: New Class to XoopsForms: XoopsFormSelectCheckGroup. This class will allow developers to add Xoops Groups into forms for permissions. (Catwolf) + Added: Class XoopsMySQLDatabase: Added the ability to take items from the database as an object and cleaned and formatted code. (Catzwolf) + Added: New Admin Theme "Oxygen" (Voltan) Updates upon community: + Added: Added functionality where items in the Xoops Form Element can span over two columns rather than into one. This was done for items such as tinymce to prevent cramping into one little box (Catzwolf) + Added: XoopsLists: Added correct method to connect to database. Changed from using the $GLOBAL and added file check when including language file. Editors like tiny mce were not cramped into one little box. (Catzwolf) + Added: New XoopsForm Class: XoopsFormButtonTray: This will allow developers to quicker add Cancel, Reset and Submit (Delete is used with a Switch) buttons in form with just one line. (Catzwolf) + Added: Two new defines in common.php NWLINE to insert newlines and DS as a shortcut of DIRECTORY_SEPARATOR. We should be using this method with XOOPS_ROOT_PATH when dealing with paths correctly. (Catzwolf) + Added: Auth Class: Added some class and file checks with error_triggers to prevent white pages (Catwolf) + Added: Xoops File Classes: Added file and class inclusion checks and added error reporting. (Catzwolf) + Added: Xoops Logger: Added check to see if error number was 2048 and return true as this error is not required to be checked and helps speeds up the logger class (Catzwolf) + Added: Xoops MultiMailer: Added file check . (Catzwolf) + Added: Module Helper Function: In Functions called xoops_getModuleOption. This will allow module developers to quickly Access $xoopsModuleConfig across all modules. Based on News Module Version (Catzwolf, Herve) + Added: New Core function in functions.php xoops_getConfigOption. Allow to get $xoopsConfig() in a safer and static version. (Catzwolf) + Added: New Core function in functions.php xoops_setConfigOption. Allow to set $xoopsConfig() in a safer. (Catzwolf) + Added: New function to xos_kernel_Xoops2 called pathExists. When using $xoops->path($file), this call will check that the file exists or throw friendly error (Catzwolf) + Added: New Function: triggerError. To allow Core and modules to add errors with custom messages. (Catzwolf) Modified language files: /modules/profile/language/english/modinfo.php : Fixed typo in "PROFILE_MI_NEVER_LOGED_IN" - it should be "LOGGED_IN" (mamba) /upgrade/language/english/upgrade.php : "_NO_NEED_UPGRADE" (trabis) Added Language defines: /modules/system/language/english/cpanel.php : Added _MD_CPANEL_SITE_ADMINISTRATION (trabis/mowaffaq) /language/english/formdhtmltextarea.php : Added _XOOPS_FORM_ALTYOUTUBE (trabis/voltan) /language/english/banners.php : Added _BANNERS_CHANGE to defines (trabis) /language/english/global.php : Added _RESET /language/english/global.php : Added _XO_AD_USERBENNED_HEADER /language/english/global.php : Added _XO_AD_USERBENNED_TEXT /upgrade/language/english/upgrade.php : Added '_UPDATE_SYSTEM_MODULE' (trabis) Removed language defines: /language/english/admin.php : _AD_PRESSGEN Added Language File: /language/english/countries.php (trabis) /language/english/logger.php (trabis) /language/english/errors.php (Catzwolf) Third-party updates: - Added nuSoap - sourceforge (wishcraft) - Upgraded Smarty to 2.6.26 (trabis)