Osclass 8.3.1 2026-01-13
------------------------
- IMPORTANT: Osclass now fully supports PHP 8.5 version.
  This includes update of all major libraries used by Osclass - incl. PHP mailer.
- Fixed backoffice bug with search items (by item id).
- Enhanced curl with headers and descriptive information.
- Enhancements in Debug/Error log section in backoffice:
  It is now possible to select any file ending with .log located in oc-content folder (also osclass pay logs).
  UI improvements.
- Major rework on Session and Cookie classes and way how these are defined and stored in browser. 
  Update may cause users & admins to be logged out from Osclass.
  All cookies are now stored with "httponly" set to True, means they cannot be read by Javascript.
  In order to be able to read Cookie in Javascript, it's key must contain one of following: "_unsercure", "_unsec", "_js" or start with "ocjs_" and cannot start with "oc_", example: my_id_unsercure, secret_key_unsecure.
  Besides that, all cookies, when SSL is used, has "secure" set to True, so they can only be transmitted over HTTPS.
  These changes will significantly increase Osclass security and protects the cookie from being exposed to man-in-the-middle attacks on unencrypted connections, as well as cross-site scripting.
  New standardized functions created to manage cookies: _get, _set, _drop.
  This fix specific issues when non-friendly urls are stored into cookies causing problems to persist stable cookies like Saved Items Plugin.
  Cookies are now by default encoded, to avoid issues with mod_security and WAF (Access denied with code 403, ... Cookie outside range: 1-255, ...Invalid character in request).
  Cookies key (name) is sanitized and unsupported characters are removed from key.
- Emoji update: Osclass will try to convert whole database into utf8mb4 for better compatiblity.
  This includes change in connection, database and table charset & collate (utf8mb4 / utf8mb4_unicode_ci). All these are changed by Osclass upgrade, but this process may be extensive!
  By default Osclass convert everything in upgrade process. If you getting errors for any reason, set constant UPGRADE_UTF8MB4_SOFT to do just soft charset/collate upgrade.
  In that case only some tables are converted and others may require manual upgrage in PhpMyAdmin.
  Use function osc_utf8mb4_sqls() to see list of remaining SQLs or just execute these directly on database (may take a while).
- New helper functions osc_{get/set/drop}_{view/cookie/session/param}.
- Improved management and work with sorting types on search page.
- Search controller now use "iPerPage" param instead of "iPagesize", besides that allows logged admin to set also higher values (beyond general setting).
- Added new functions osc_get_prev_url() and osc_get_next_url() to be able to generate prev/next meta tags (head).
- Correction of osc_search_url() to no include iPage into URL in case it's <= 1.
- Fixed possible incorrect redirects after user login, caused by invalid URLs being saved into user navigation history.
- Comment settings link is now visible in Settings menu.
- Fixed bug with cache and search page, where cache cause pagination not to work. 
  Improved cache key generation on search page, added fix to mask dynamic time & timestamp values.
  Added more conditions, filters and hooks included in key generation (does not apply to alerts).
- New feature in backoffice - Email templates, that checks and removes duplicated email templates created as mistake (usually failed plugin uninstall/reinstall).
- It is now possible to create theme routes, where file points to theme directory, or to file in "custom" or "plugins" folder in theme directory.
- Fixed bug with user stats calculation (item counts) those now only include active listings and active comments.
- Fixed bug that incorrectly shown if email is visible on item page or not (in item form).
- New dedicated function osc_static_page_url_from_page($page, $locale = '') for static page URL generation created, that works in similar way as function for item URLs
- New layout for locations management in backoffice to improve user experience.
- Fixed bug on Sigma theme, when posting of comments for unregistered was disabled, whole comment section was hidden. Now only form to post comment is hidden.
- Fixed bug when it was possible to post comment using different email then email of logged user.
- When subdomain type is enabled/disabled, frontend cookies are dropped to avoid problems with duplicated cookies (different cookie domains). Users may also need to clean browser cookies.
- Fixed bug when user items url was returning 404 page after upgrade to Osclass 8.3.0.
- New warnings and checks added into Osclass core those will notify admin on home page e.g. about hourly cron not running properly or having built-in cron enabled.
- Added 2 new functions to help quickly add/drop email templates: osc_email_template_create($internal_name, $title, $text), osc_email_template_delete($internal_name).
- Fixed & improved feature that enable users to resend validation (activation) link. Link can be sent just once a 5 minutes.
- Comment reply email notification will now be sent to author of comment that user is replying to - if it's not identical email.
- Added support for routes super parameter "sParams", where value of 1 merged sParams are exploded into separate params.
  sParams=param1,value1/param2,value2/param3,value3/... ==> param1=value1, param2=value2, param3,value3...
  This helps to easily create and support versatile URLs like custom plugin search, where there are multiple optional parameters and creating many routes does not make sense.
- Added support for routes query parameters, those are correctly stored as param values.
  If there are params at the end of url in form: ?param1=value1&param2=value2&... these are stored as param1=value1, param2=value2, etc.
  Before, this query string would likely be attached to last specified route param, if exists.
- Improved cleaning of static files cache (css, js) when optimization is enabled.
- Improved API key validation and other features related to external URL response.
- Added extra action buttons to user profile edit in backoffice.
- When searching plugin in backoffice, search term is persistent (stored in session) and not automatically cleaned. This helps to search & manage plugins, so after plugin action same selection of plugins is shown.
- Added option to block site indexing by search engines in Backoffice > Settings > Block indexing.
- Implemented order by "relevance" on search page, when search pattern is not empty.
- Fixed pagination problem with custom search rules.
- Added option to manually sync languages added into Osclass with file system (po files).
- Upgrade process (automated from osclass-classifieds.com) will now handle if oc-admin or oc-content folder is renamed. For manual upgrades (by uploading & extracting zip), manual folder name change is required.
- Improved TinyMCE editor on mobile devices.
- Temp folder (oc-content/uploads/temp) is now regularly cleaned using daily cron.
- Action logs improvements.
- Alerts are not send to banned email address anymore.
- Fixed issue with sending alert emails to non-registered users.


Osclass 8.3.0 2025-06-04
------------------------
- IMPORTANT: Osclass now fully supports PHP 8.3 & PHP 8.4 version.
- IMPORTANT: Many core osclass functions has been rewritten and optimized in order to reduce loops and unnecessary database queries.
  Osclass preload categories, cities, regions and countries to session and search directly here instead of doing extra DB calls (only if amount of data is acceptable).
  Massive optimization of functions and queries to preserve results in session & cache and reduce amount of database queries.
- IMPORTANT: Added brand new feature that allows users to filter items on their user items page & user public profile page.
  Majority of standard search parameters are supported.
  Comes with friendly canonical URL features.
  Set of new functions has been added into models, helpers and controllers to support this feature.
- IMPORTANT: Optimization of search URL and osc_search_url() function:
  Order column dt_pub_date will not be included in url anymore as it's default order column.
  Order type DESC will not be included in url anymore as it's default sort.
- IMPORTANT: Major feature "Custom search rules" has been added into Settings > Permalinks.
  It is now possible to create 26 custom search rules based on params those are active in search. 
  These rules can be strict or fuzzy - accepting also params not specified in rule settings.
  There is full support for plugin/theme custom parameters and custom field parameters (meta) as well.
  Custom search rules are fully compatible with subdomains.
  Custom rules has top priority above canonical rules. Rules are prioritized (Z - top priority, A - lowest priority)
  Examples:
    > {sCity}/{sCategory} -> /a/bremen/for-sale
    > {sRegion}/{sCity}/{sCategory} -> /b/alabama/bremen/for-sale
    > cat:{sCategory}/city:{sCity}/min-{sPriceMin}-eur -> /c/category:for-sale/city:bremen/min-55-eur
  Examples with fuzzy logic, where extra params are enabled:
    > {sCity}/{sCategory} with {sRegion} -> /a/bremen/for-sale/region,alabama
    > {sRegion}/{sCity} with {sCategory} and {sShowAs} -> /b/alabama/bremen/category,for-sale/view,grid
  This feature is for advanced users and improper setup can cause unexpected behaviour!
- IMPORTANT: Osclass now supports EMOJI! 
  This includes change in connection, database and table charset. All these are changed by Osclass upgrade, but read carefuly!
  Some tables those has foreign key to table t_locale cannot be automatically converted and must be done manually by user that is looking for Emoji support.
  These are for example pages, category and user description tables and keywords table (Item description is converted by Osclass).
  For new installations, everything is created in charset utf8mb4, collate utf8mb4_unicode_ci.
  In case your DB would not support this charset/collate, you must migrate to one that supports it!
- Canonical search URL as combination of category_city and category_region, that has been using underscore as delimiter, is now configurable via SEARCH_URL_CANONICAL_DELIMITER constant.
  Default value of SEARCH_URL_CANONICAL_DELIMITER has been changed to ":".
- Added option on search page to apply pattern in search without locale restriction.
  Means search works on all item title & descriptions no matter what is user locale.
- IMPORTANT: New interface to browse, search and manage logs has been added into Backoffice > Tools > Action logs.
  Note that Osclass was always collecting logs and if logs are collected or not and if logs are automatically cleaned or not, was never available in Osclass.
  Admin is now able to enable/disable logging in Settings > General, setup automatic cleanup by daily cron and define retention policy (ie remove logs after 24 months).
  It is possible to remove single log, cleanup all old logs (in Tools > Data Cleanup) and search in action logs.
  Logs were also enriched with comment and detail fields those will be populated in future, when needed.
  We strongly recommend to every admin, check your logs, update settings and drop old logs those are not required at all - it may lot of database space and optimize performance.
- IMPORTANT: Alerts - subscriptions major improvements.
  Users can now change alerts frequency in user account area. 
  Added extra fields like params, sql and trigger count, in general more options and details in backoffice. 
  Improved trigerring of alerts, statistics capturing, search page url for alert, search title and more.
- Improvements to cron commands and it's parameters. You can now define following params:
  force - to run cron even it's not right time yet - for easier debugging. In this case type of cron must be specified! It will accept &type=all as well. Only available for logged-in admin.
  print - to print summary of cron to see if everything was OK. Only available for logged-in admin.
  type - or cron-type - both params are OK to specify which type of cron to run. New type "all" is supported if force=1.
  Sample URL: https://yourpage.com/index.php?page=cron&type=daily&force=1&print=1
- Enhanced search features in Backoffice > Users.
  Added search by phone and ZIP, by default search is now wildcard and supports exact match by using double quotes.
- Enhancements with TinyMCE in backoffice + design updates especially for fullscreen mode.
  Refactor of image uploader script.
  Images from clipboard can now be added for items as well now (same as for static pages & widgets) - only from backoffice!
- New features for Ban Rules:
  Hits - show number of hits for each ban rule. Each time ban rule is triggered, +1 hit is counted.
  Expire date - it is now possible to set expiration date for bans. Once expired, it is not applied anymore.
- Widget will now be wrapped into div with class widget and additional html attributes.
  To support widget customizations, new filter widget_content and widget_content_wrap has been added as well.
  Widgets now support paste image from clipboard.
- Enhanced category record management on listing & search page - reusing one from model instead of quering category table multiple times.
- Enhancements to osc_item_category_price_enabled function, besides that new functions created: osc_item_category_row, osc_premium_category_row, osc_premium_category_price_enabled.
- Added new filters for canonical URLs for easier support and customizations.
- New option to Enhance canonical tags, by using default language code in canonical URLs, removing pagination parameter, sorting parameters etc.
  With enhance canonical url disabled: https://website.com/de-DE/search/sOrder,i_price/iOrderType,asc/category,1
  With enhance canonical url enabled: https://website.com/en-US/category-one-slug
- Sigma theme: Sort option dt_pub_date desc (default) will now not be included in search filters.
  This change means that for default sort type, search URL get nicer without redundant parameters.
  Numerous design improvements and fixed.
  When price is disabled in category, price will be hidden everywhere in theme.
  Enhanced design for header - my account & logout, added user profile image as well.
- Function osc_user_public_profile_url() got 2 updates:
  Added 2nd parameter $user where is possible to pass user array and avoid extra database call.
  Added 3rd parameter $mode that supports "username" and "id" values. "username" is default, means that username will be used in public profile URL.
- Item views (stats) can now be set to count 1 view per page load or 1 view per session.
  Added item views into Sigma item page (below description).
- Expiration date of listing in backoffice has been moved below category and is now much easier to manage.
  Besides that, it is now possible to update item publish date as well.
- New function osc_get_theme_hook_compatibility() to get hooks compatibility from theme.
- New set of functions for Search model to easily remove location from search conditions. Added new function addZip to search by ZIP code.
- New hooks for structured data.
  Default structured data rating value (in case no comments exists) is now set to 3 instead of 0.
- User public profile page - it is now possible to enable public profile just for company users or all registered users.
  Added new configuration parameter to user settings to set minimum number of items, that users must have published to have public profile enabled.
  If user does not meet requirements on public profile page, it shows 404 page instead.
- New features in Appearance > Customization:
  Added new customization field "Custom Javascript", where customized javascript functions and codes can be placed. Content is placed between script tags.
  It is now possible to select hook to be used to show content in front office.
- Added new options to manage and clean latest searches. Besides hourly, daily and weekly, it's possible to purge latest searches also monthly and yearly.
- Created new function osc_get_user_row($id), osc_get_item_row($id), osc_get_category_row($id), osc_get_country_row($code), osc_get_region_row($id), osc_get_city_row($id), osc_get_locale_row($code), osc_get_currency_row($id) that retrieve object from database and save it into session to reduce number of DB queries.
- Improvements in Tools > Import Data:
  Now error message with code is shown in case import to database fail.
  Added support for variables /*TABLE_PREFIX*/ and /*LOCALE_CODE*/.
- TinyMCE editors has now much more features & options in backoffice that can be especially useful on static pages (no change in front-office).
- It is possible now to change user registration date from backoffice.
- It is now possible to stop mail sending via pre_send_mail_filter filter (if returns array('stop' => true)). Besides that function osc_sendMail now has 2nd optional parameter $type.
- Improvements to various functions & design across Osclass.
- Permalinks configuration page in backoffice has been redesign and is now much more intuitive.
- Major enhancements to installation process especially in case something is not supported or installation is failing.
  Improved installation error messages - from database - to provide more details.
- Default jQuery version is now 3.x (does not impact existing installations - only new).
- Fixed alerts bulk actions functionality.
- Fixed bulk action translations in backoffice.
- Function osc_query_items() now supports much more custom parameters and conditions.
- Added hooks user_recover_form and user_forgot_password_form.
- Added "Lookup IP" link into backoffice. It's possible to configure lookup IP service in config.php as constant IP_LOOKUP_SERVICE.
  By default IP_LOOKUP_SERVICE = https://whatismyipaddress.com/ip/{IP_ADDRESS}, where {IP_ADDRESS} is variable replaced by Osclass.
- Fixes and improvements to latest search functions.
- Fixed bug on search page, pagination, RLT (Arabic) languages, category search page - page 2 and higher was returning 404. This is now resolved.
- Fixed bug with category cascading drop downs, when there was more than 4 levels, it might result in incorrect behaviour when chaning categories.
- Fixed bug when native location names were not applied on regions/cities loaded via ajax.
- Fixed bug with latest searches purge by number of queries.
- Created new helper file for currency functions.
- AjaxUploader was updated to be able to work with it from plugins/themes side not just to upload item images.
- Cache features (memcache, memcached, redis, ...) are now completely disabled in backoffice.
- Improvements to backoffice top toolbar design.
- Added more options to work and control flash messages. New filters enables full control over adding and showing flash messages. Now messages has also keys and raw text.
- Improvements of market section in backoffice. It is now possible to filter products with expired support. These also get red background. Besides that expired products show price for extension, not full price.
- Instant alerts (subscriptions) are now executed with minutely cron (before not executed at all).
- Improvements to Uppy.io image uploader and it's compressor plugin. It is now possible to enable "optimize uploaded images" in media settings to compress original uploaded images (temp folder) and reduce it's dimension.
- Search page no longer use noindex,nofollow tags as canonical URL should always be provided.
- Refactor of breadcrumbs code, fixing bug with possibly wrong region and added country to search page breadcrumbs.
- Improved checks (for view counts and "mark item as") if visitor is real user or bot. Introduced new function osc_visitor_is_real_user() that unify checks.
- Change in Search class for subdomains - by default, if not explicitely disabled in constructor, every Search class object will get subdomain conditions & filters auto-applied.
  Means, if you are on country-based subdomain, Search class by default filter listings for this country only. Same for Region, City, User and Category.
- Redesigned function osc_subdomains_filter_conditions($item_table = '') to simplify it's usage in order to apply subdomain conditions and filters.
  New functions create to support this:
  > osc_subdomains_filter_to_search($mSearch, $item_table = '') - use on Search object to instantly apply correct conditions.
  > osc_subdomains_filter_to_dao($object, $item_table = '') - use on DAO object to instantly apply correct conditions.
  It is possible to apply subdomain filters on listing search just by running 'custom_item_query' hook on specific DAO query.
- Premium views (stats) are now not counted only if user is not admin, is real visitor and is not owner of premium listing.
- Added support for attachments in web contact form of Sigma theme.
- Enhanced attachment check when uploading files to contact form. Added file validation to item contact form attachments (mime type).
- Item expiration notification has been enhanced. It is now possible to set notification 0 days before expiration (-1 to disable). Query getting expiring items has been optimized and redesigned.
- Sigma theme function osc_uploads_url defined in functions.php must be removed or renamed! It is clashing with core Osclass function and might cause logo not to be correctly displayed. Rename it or update Sigma manually.
- Remember me checkboxes in front & back office login are now checked by default.
- Added plugins integrity check that identify plugins those are in incorrect state.
- Improvements to item url generation when subdomains are enabled.
- Child themes are no longer considered for update (based on parent theme).
- ImportSQL function now tries to convert engine to InnoDB, charset to utf8mb4 and collate to utf8mb4_unicode_ci on any imported sql (theme/plugin installation).
  If this is not wanted behaviour, you can control this via constants IMPORTSQL_FORCE_ENGINE, IMPORTSQL_FORCE_CHARSET, IMPORTSQL_FORCE_COLLATE (disable by setting to empty string).
  

Osclass 8.2.1 2023-12-01
------------------------
- Fixed bug, where users could only upload 1/2 or allowed number of photos on listings.
- Fixed several error notices and warnings.


Osclass 8.2.0 2023-11-24
------------------------
- IMPORTANT: New image uploader library implemented - UPPY.IO image uploader.
  Uppy.io will be selected as default image uploader on all new Osclass installations (does not impact existing installations).
  No theme modifications are required.
- IMPORTANT: Images on item publish/edit page can now be reordered.
  Reordering no more use "naming of files" as way to sort images inside listing.
  Works for existing & newly uploaded images all together.
  Only works with Uppy.io image uploader.
  No theme modifications are rquired.
- IMPORTANT: Profile picture uploader got new library - UPPY.IO.
  Admin can define in backoffice what library to use (cropper or uppy).
  Integration guide created on docs: https://docs.osclasspoint.com/integrate-user-image-uploader-to-user-profile
  Existing integrations may not need any update, as script are now automatically loaded and previous construction is kept.
  Uppy.io will be selected as default profile picture uploader on all new Osclass installations (does not impact existing installations).
- Important: Major improvements in RSS feeds (yoursite.com/feed). Many new item fields added.
  RSS feed can now be disabled as well. When disabled, page returns 404.
  New hooks and filters created to support flexibility of data in RSS feed.
- Important: Logic for collecting listing statistics has changed. Now, only 1 stat counts towards 1 user session.
  This change applies to all "stats", including item views, premium views and reported stats (spam, misclassified, duplicated, expired, offensive).
  Why? 2 reasons: a) item & premium views were very unaccurate, b) this helps to significantly decrease database load caused by spam bots hitting all possible links, including "mark as...".
- Important: Big update with item_form and item_edit hooks, those now support different variants (ie. item_form_top), that allows to customize publish/edit page.
  Plugin now can use custom variants of hooks and show data based on category selection on numerous places (ie. below category, blow description etc.).
- Send to friend form can now be disabled in listing settings.
  Disabling send to friend form will not disable whole send to friend page, as it's used by many themes to manage custom forms.
- New hook user_locale_changed, when user locale has been changed.
- Numerous updates to core Osclass emails those will try to identify correct user locale. 
  Admin emails are not sent anymore in user locale, instead they are always sent in site default locale.
- It is now possible to define default currency for each language.
  Language settings were also split into several sections.
- New setting available: max category levels (nesting) - it is possible to set how many subcategories your Osclass will support.
  There is hard limit for levels value, minimum is 1, maximum is 12. Previous Osclass versions supported only max 4 levels.
- Sigma theme design improvements. Theme now use new font family for both text & headers.
- Improvements in ReCaptcha configuration. It is now possible to disable ReCaptcha using checkbox and keep API keys defined.
  Warning: if you use built-in recaptcha, it will get disabled automatically after update. Make sure to enable it in Spam and Bots settings.
- Fixed bug with search url that added language code twice - when "language code in url" option enabled.
- Fixed bug with specific categories (contains number in slug) on search page, those on PHP8 would not result in 404 page if they does not exists (i.e. category a1a2)
- Fixed problem to unzip language, theme or plugin because ZipArchive could not read parent directory in ZIP archive.
- Small fixes and improvements in search.
- When downloading/sharing language zip, empty folder is first created for compatibility purpose.
- Following keywords are now supported in structure of item url: {CATEGORY}
- New option to run/get data from Osclass via ajax using "custom_hook" action that execute "ajax_custom" hook.
- Added limit 50000 records into Tools > Cleanup to avoid getting PHP memory errors in case there are millions of records to be removed.
  This brings need to repeat process several times, but makes feature functional for every situation.
- CURL PHP extension added into requirement list to install Osclass.
- Fixed small security vulnerable in backoffice with widgets (KVE-2023-5009).
- Fixed bug with category_multiple_selects (category multiselect on publish page) that did not selected last level of category, when category ID was provided.


Osclass 8.1.2 2023-04-25
------------------------
- Backoffice translation "Share" function will only send translation to Osclass team if it contains all required files.
  It will also not include irrelevant files to this translation.
- Osclass will now throw warning message on translation page, if "max_input_vars" variable is high enough to complete full translation.
- Translation share button was re-positioned and renamed.
- When core translation is saved, related index.php file of this translation is updated with correct Osclass version and new fields added into array.
- When using language code in URL, changing language will now not redirect user to home page, but will remain on same page in selected locale.
- Premium listings (osc_get_premiums) are now cached for specific user/session separatelly.
- Added folders permission check when saving or updating translations from source code.
- Updated conversion of Greek alphabet to Latin in URLs.
- Updated conversion of Turkish alphabet to Latin in URLs.
- Improvements in auto-upgrade process to avoid extra clicks after upgrade has finished.
- Required custom fields now contains star (*) in label name on publish page.
- Added descriptive details on publish page related to custom field ID, type etc.
- Log file in Tools > Debug/Error log section can now be removed (remove button added).
- Theme functions has been added into CRON and can be executed by CRON as well (they were not included until now).
- jQuery UI library used in backoffice reverted to 1.12 because of compatibility issues. Front-end still use latest 1.13 version of jQuery UI.
- Updated sigma_default_direction function to first check RTL setup on language field.
- Added hooks user_pre_login_form & user_pre_register_form into Sigma theme.
- Added PHPMAILER_DEBUG_LEVEL contstant (value 1 - 4) that allows to debug PHP mailer.
- Excluded pages for CSS & JS optimization now consider page Location & Section (ie: item-item_add, item, home, register-register, login-recover, user-profile, ...).
  Default exclusion list will now continue item-item_add, item-item_edit. If you want to minify/optimize on these pages as well, update these settings after Osclass update.
- Improved error reporting when image could not be loaded on publish page.
- Added latitude & longitude fields into backoffice - edit listing form. Created also standardized inputs for latitude and longitude.
- Added "Refresh images" option besides "Regenerate images", that will do the same except images building (will skip images generation and just call hooks).
- Added {LOCALE_CODE} and {LOCALE_SHORT_CODE} as variable to all email templates.
- Added new setting: Always Generate Canonical URL tag. It is generated on every page (not just search).
- Added new setting: Generate hreflang tags and add them to header to define alternative site locales.
- Added database tables engine check into backoffice.
- Upgrade code for Osclass 2.x was removed. It's not possible to upgrade from older Osclass version than 3.0.
- Fixed major bug when using language code in URL, plugin routes were corrupted.
- Fixed recaptcha verifcation on login page. Now recaptcha is verified against google services on background.
- Fixed PHP deprecated notices (PHP 8+).
- Fixed and improved minor design issues on Sigma theme.
- Fixes and improvements in hUser helper functions.
- Fixed missing resource_thumbnail_url filter across multiple files in Osclass core and backoffice.
- Fixed osc_user_public_profile_url() function to include language code in URL when enabled.


Osclass 8.1.1 2023-02-02
------------------------
- Fixed bug with unwanted cache of user and item objects.
- Improvements in upgrade process.


Osclass 8.1.0 2023-01-31
------------------------
- IMPORTANT: Minimum PHP version to run Osclass has changed from 5.6 to 7.2 (based on library dependencies).
- IMPORTANT: Osclass now fully supports PHP 8.1 version.
- IMPORTANT: Osclass now fully supports PHP 8.2 version.
- IMPORTANT: Osclass now supports Memcached & Redis (beta) as caching option (besides Memcache, APC and APCU).
  Fixed cache statistics and reporting stats when constant OSC_CACHE_DEBUG is set to true & admin is logged-in, in same way as database queries.
  Added numerous queries to cache features in order to reduce load time of queries.
  Fixed bugs with using wrong key to set & retrieve cache.
- IMPORTANT: Multisites feature removed from Osclass. It was not functional, incorrectly designed and present just confusion what this feature should do.
- New feature: Subdomain improvements and new functionality.
  New subdomain type: Language based subdomains.
  Subdomain landing page - it is now possible to turn "top-domain" into landing page for subdomains.
  Subdomain automatic redirect - it is now possible to automatically redirect visitors to country based subdomains, using their IP info and geoplugin.com service.
  Subdomain restrictions - it is now possible to restrict country based subdomain to be accessible just from same country (i.e. Poland subdomain from Poland).
  Added function osc_get_subdomains() that generates array with detail information about subdomains.
  Added function osc_subdomain_links() that generates list of links those leads to subdomain pages.
  Added function osc_subdomain_select() that generates select box to choose subdomain. When subdomain selected, user is automatically redirected to this subdomain page.
  Added more supporting functions like osc_is_subdomain(), osc_subdomain_id(), osc_subdomain_top_url() and much more.
  Updates and improvements of Subdomain features, item URLs fixed not to contain duplicated information.
  Completed documentation page for subdomain functions and subdomain setup (docs.osclasspoint.com).
- New feature: It is now possible to add language code into URL. This feature is still in "beta" and require proper testing.
  Admin can define to use short format (xx: en/de/fr/ar/...) or long format (xx-yy: en-us/de-de/ar-sy/...).
  Only works when friendly URLs are enabled.
- New feature: Built-in translations management system with following features:
  Translate PO (MO) files directly from backoffice.
  Create new PO (MO) files.
  Update or create PO (MO) files from source code.
  Copy (merge) translations between different translation catalogs.
  Open PO file in browser, search for translations on market.
  Download translations catalog as ZIP archive.
  Send (share) translations catalog with Osclass team & community. Only complete translations can be shared.
  Remove translations catalog.
  Translations catalog statistics, comments, code references, flags (fuzzy/need work) and completeness.
- New feature: Comment reply has been implemented.
  Admin can enable comment replies for everyone, logged-in users, listing owners or only admins.
  Rating can be disabled on comment replies.
  In backoffice, comments section has been sligtly redesigned, into table has been added comment title, listing link has been separated from user, added columns "Is reply to comment" and "Has replies".
  In backoffice, admin can filter listing comments based on their parent comment, new actions has also been added to quick action menu.
  Comment reply is brand-new feature, theme modifications are required in order to make it work (check blog/docs for implementation).
- New feature: It is possible now to limit number of ratings that can one user make on one listing.
  If limit is reached, user cannot rate listing anymore. You can set limit to 1, but also to higher number, i.e. 3 ratings per each item & user.
- New feature: Static page visibility options.
  Admin can now define to whom is each static page visible. There are several options:
  Visible to anyone, only to logged in users, only to personal users, only to company users, only to admins or page is not visible to anyone.
- New feature: Admin menu elements has been shuffled based on frequency of usage by administrator, but also by similar "topic".
  New menu element has been created with name "International", grouping functionalities related to localization & international setup (languages, locations, translations, currencies).
  New menu element has been created with name "Admins", grouping functionality related to administrators (list, your profile).
  Comments settings has been removed from Settings menu.
  Languages & currencies has been moved from "Settings" menu to "International" menu, having their own classes and spaces.
- New feature: Latest search ban words has been added. It is possible to define banned words or white listed words.
  Admin can now easily purge all latest searches as well.
- New feature: Added country flag images into oc-includes/images/flag/country/h48/.
  All images has same height 48px, there is also "default.png" as a placeholder flag. 
- New feature: Admin can now disable "Mark listing as" feature completely in (Listings > Settings).
- Update: Item URL now support much more keywords.
  New keywords: {ITEM_COUNTRY},{ITEM_COUNTRY_CODE},{ITEM_REGION},{ITEM_CITY_AREA},{ITEM_CITY_ZIP},{ITEM_CONTACT_NAME},{ITEM_CONTACT_EMAIL},{ITEM_CURRENCY_CODE},{ITEM_PUB_DATE}
- Update: All JavaScript (jQuery) assets has been updated to latest available versions.
- Update: Sigma theme does not show ratings anymore, until comment contains rating (is not null or 0). If user has not selected rating in comment, this comment will not have zero rating shown (5 gray stars).
- Function osc_total_users has been redesigned, now supports 2 optional parameters $type (active, enabled, online, custom) and $condition, that is used just in case $type is custom.
- Admin menu layout and features has been improved and menus at bottom are opened "from bottom" instead of "from top".
- Important: Fixed long-term issue with login time and that even after pressing "remember me", login least just several hours or days. Now login can persist up to 3 years.
- User statistics (i_items, i_comments) will now be refreshed on daily base.
- Pages table has been redesigned and much more information is now available in table.
- Email templates table has been redesigned and create date is now available in table.
- Width of static page form has been reduced to max 840px in order to provide more realistic preview.
- When static page is modified or created, admin is redirected back to this page instead to pages list.
- Child themes now support custom functions file: functions_child.php
  This file extends functions.php (not rewrite) and allows to define customized functions for child theme.
- Updated design in Tools > Debug/Error log section.
- Flash messages in backoffice has been slightly redesigned in order to provide easier way to identify type of message (error/warning/success/info).
- New "tip" has been added to categories section when selecting of parent categories is disabled.
- New "tip" has been added to languages section informing admin about default language.
- New "tip" has been added to add plugin section informing admin about possibility to quickly upload more plugins directly into oc-content/plugins folder.
- When site is in maintenance mode, this information is visible in backoffice dashboard now.
- In backoffice, when comment is successfully edited, redirect URL has changed and admin is redirected back to comment edit page.
- Cookies core has been redesigned, old issues with storing cookies fixed.
- Added new filters item_post_data, item_edit_data to control item data right before they are inserted into database.
- Added new filters user_insert_data, user_edit_data, user_update_description to control user data right before they are inserted into database.
- Created new function osc_logged_user() to instantly return logged user record without need to query database.
- Fixed problem with populating of regions and cities on dynamically generated boxes.
- When updating Osclass, database integrity check (comparing to struct.sql) is disabled by default as it is not needed at all. Behaviour can be controlled via UPGRADE_SKIP_DB constant - set to false to enable integrity check.
- More improvements with upgrade process and auto upgrade.
- In backoffice, currency description has been renamed to currency symbol.
- Added support to change price input box to "number" instead of "text" as 2nd parameter of function ItemForm::price_input_text().
- Formatting now removes Vietnamese accent (when constructing URL or sanitizing string).
- Support for constant OSC_FORCE_DISABLE_URL_ENCODING. When defined to true, Osclass URLs will not be encoded even contains non-latin characters.
- Fixed usage of COOKIE_DOMAIN constant, if defined. 
  Update: always define COOKIE_DOMAIN without leading dot (.).
- Fixed bug with THEME_CATEGORY_TABLE feature (Epsilon theme).
- Fixed rich edit (tinymce) selector in backoffice - items, to select only description textareas.
- Fixed filtering comments by item ID.
- Fixed incorrect listing price (multiplied by 1000000) in structured data.
- Fixed SSL error when Osclass tries to get SSL certificate for IP address (PHP Warning:  fsockopen(): Unable to connect to ssl).
- Fixed osc_premium_url() function and now is identical to osc_item_url().
- Fixed multiple white spaces in some meta tags (title/description/keywords).
- Fixed admin side menu scrolling.
- Cleanup: Removed languages folder from omega theme (as core already contains it), removed "less" folder as it was not used.


Osclass 8.0.2 2022-05-06
------------------------
- IMPORTANT: "upsert" function has been added into DAO that makes working with database much simpler, especially for plugin developers.
  Function is combination of insert and update and does INSERT INTO *** ON DUPLICATED KEY UPDATE ***
- New feature: Image canvas background can now be changed from white to black.
  Extremely useful feature in case theme design would prefer black image canvas instead of white.
- New option in user settings: Username generator.
  It is possible now let osclass generate usernames based on name of user and not based on ID. This may have positive impact on SEO, as username is used to generate public profile URL of user.
- Media section in backoffice slightly redesigned.
- Renew button has been added into listings list in backoffice. Only item that is eligible for renewal can be renewed, otherwise this button is hidden.
- Osclass generator meta tag can now be hidden in Settings > General.
  New filter has been created: meta_generator, that allows to customize generator content if needed.
- Function osc_register_script now support attributes parameter (last - 4th) that allows to add attributes to <script> tag
  As example, "async" attribute can be added to script as follow: osc_register_script('uid', 'link', null, 'async');
- Language/locale switch (if language is present in url) has been moved and redesigned. 
  Now it supports also 2-letter language code and switch user locale before page is rendered. List of supported language formats: xx-YY, xx_YY, xx.
  Static pages also support 2 letters country code in URL and has improved language switch mechanism that does not require page reload (Permalinks settings must be re-saved).
  Updated language controller to update language slug in URL when changing language on that already containts language slug in URL.
- Added native support to theme item & category tables to be included in Osclass queries directly.
  It is necessary to implement this support into theme as define('THEME_ITEM_TABLE', 't_item_theme'), define('THEME_CATEGORY_TABLE', 't_category_theme').
- Meta tags construction for plugin pages has been improved and now force to use title defined in routes, even not using "custom" as location.
- PHP Mailer updated to latest version.
- Added create/update timestamp to list of ban rules, so it is clear when rule was created or lately updated.
- Added new filters: search_list_orders, search_list_columns, search_list_types, limit_alert_items, public_items_per_page.
- Identification of current active menu/submenu item has been redesigned and work much better now.
- Function osc_get_parent_domain has been redesigned and now provides much more relevant results.
- Updated phone labels in user profile in backoffice (Cell phone -> Mobile phone, Phone -> Land phone).
- Design adjustmenst and updates in backoffice. Database logs removed from homepage widgets.
- Support URI added to loadThemeInfo function to allow theme authors easily define link to support channel.
- Database logger table has been slightly redesigned in order to be properly shown on mobile devices.
- Added set of filters to items helper: item_contact_name, item_contact_phone, item_contact_other, item_contact_email.
- Added hooks pre_send_email, before_send_email, after_send_email to enable better control over email sending function.
- Improved languages RTL recognition, for "old" languages without RTL defined, created list of known RTL languages and based indentification on this.
  Added function osc_current_user_locale_dir() that returns "ltr" or "rtl", osc_current_admin_locale_code() and osc_current_user_locale_code().
  Added function osc_rtl_lang_codes() that returns list of known RTL languages, can return long (5-letter) or short (2-letter) language codes.
- Fixed bug where listings marked as SPAM were visible on user public profile.
- Fixed incorrect image size calculation for "best crop" option (for smaller images and images close to square aspect).
- Fixed possible incorrect plugin counts on backoffice landing page (widget - at a glance).
- Fixed orientation of images uploaded from mobile with landscape orientation.
- Fixed PHP 8.1 issues with mysqli connector.
- Fixed SQL bug for counting images (oc_t_user.pk_i_id column unknown).
- Fixed design and position of buttons in modals in backoffice (now primary action button is always blue).
- Fixed bug in Backoffice > Market section for themes & plugins, where these sections could be empty.
- Fixed not functional "Update expiration?" checkbox in listing edit page.
- Position of "Save changes" button in media settings in backoffice has been moved above "Regenerate images" section.
- Fixed numerous bugs and notices, as well as code improvements inside core and oc-admin folders.
- Fixed minor bugs with widgets in main page in backoffice.
- Fixed issues with repeating items in alerts section (one item repeated multiple times).
- Fixed design of radio & checkbox custom fields in backoffice.
- Numerous fixes and improvements with alert listings and their counting.
- Added support for alpha & beta testing.


Osclass 8.0.1 2022-01-03
------------------------
- Preparation for PHP 8.1.
- Installation is now mobile ready and responsive, so Osclass can be easily installed from any device.
- Added option to completely disable Web contact form (incl. post requests).
- Added option to completely disable Item contact form (incl. post requests).
- RTL support added into Languages.
  Languages settings & form has been redesigned.
- Redesigned ban rules processing and ban rules evaluation.
  2 queries are now used to get Emails & IPs separately in order to enable thousands of ban rules being evaluated in real time without memory issues.
- Redesigned alerts table in backoffice, added status, status column color bar and unsubscribe date.
- Added new option to Tools > Cleanup to remove disabled alerts those were unsubsribed more than 7 days ago.
- Improved generic_input_text function where type of input can be also entered. Function also allows only max length greater than 0.
- Numerous improvements to upgrade process has been made.
- Admin can now select in Settings > General, if oc-content folder should be updated as well during update (update Sigma theme and English language files).
- Improved backoffice layout when user gets to plugin page that does not exist.
- After manual upgrade, message "Osclass XY is available" in header will not show anymore.
- Optimization files are now cleaned after upgrade.
- Added MINUTELY, MONTHLY and YEARLY crons. This will get much more flexibility to developers in order to schedule their functions.
- Backoffice theme is now automatically changed to Omega after each update in order to avoid issues with upgrade.
- Improved item title in case no title is available in user language.
- Added default select box option on publish/edit page for custom fields of type Select.
- Updated database connection class for better functionality, error reporting and smoother installation process.
- Length of IP address fields in Osclass (user, ban rules, item, log tables) has been changed from 16/50 to 64 in order to properly store IP v6.
- Fixed issues with auto-upgrade.
- Fixed bug with market products sorting in backoffice.
- Fixed issue with region autocomplete max-length: "Please enter non more than 0 characters".
- Fixed incorrect backoffice market links.
- Fixed problems when searching & counting items with picture only. Optimization of SQL performed.
- Fixed notices in installation process.
- Fixed city & region URLs in case slug is empty.
- Fixed installation issues on PHP 8.
- Fixed possible errors in Market section caused by searching for products with empty name.
- Little bit of code cleanup.


Osclass 8.0.0 2021-11-05
------------------------
- Versioning of script changed and skipped to not occupied 8.x.x range.
  Originally osclass 4.5, is released as 8.0.0 to avoid misunderstandings and complications caused with other branches.
  Change in major versions frequency, where major version will be changed once per year and smaller updates will be delivered more frequently as minor versions.
- Locations v3.0 introduced:
  Base dataset has size ~2GB and is stored on our servers.
  Much better accuracy: 3x more cities comparing to locations v2.0 (15k vs 45k).
  4 more countries added.
  Improved generator of locations slug.
- IMPORTANT: oc-admin folder can now be easily changed/renamed.
  Once folder is renamed in file system, use OC_ADMIN_FOLDER in config.php to define name of new folder.
  Example: define('OC_ADMIN_FOLDER', 'admi224');
- Child themes feature has been redesigned:
  osc_current_web_theme_path, osc_current_web_theme_url - functions will now "hard" check child theme folders to identify child files.
  osc_current_web_theme_path_value - new function created - function work in same way as osc_current_web_theme_url and return expected path.
  Much better functionality at all, now it is not required to create all theme files for proper functionality of child theme.
  No changes has been made in way how child theme is created and setup.
- Ban rules improvements:
  Ban rules page in oc-admin now contains pagination & search options. Keyword will be searched against name, email and IP of ban rule.
  New examples when creating/editing ban rules, size of inputs has been changed. Show more button removed in ban rules list.
  You can now enter multiple emails into 1 ban rule (separated by comma).
  Ban rules summary has been added into oc-admin home page dashboard.
- Added new custom fields types: PHONE, EMAIL, COLOR, NUMBER.
  IMPORTANT: input types for custom fields has changed and will use now correct HTML5 type (except date field): URL > url, EMAIL > email, PHONE > tel, COLOR > color, NUMBER > number, TEXT > text.
  Design of custom fields page in backoffice has been slightly adjusted and inputs has been resized.
- Updated translit from Cyrilic into Latin for URLs.
- New widget added: Latest product updates on OsclassPoint.com, where you can see last 5 updated products, date, current version, supported osclass version and what has changed.
- Configuration information in oc-admin does not calculate folder sizes and permissions by default to avoid resource wasting and speed-up page loading.
  Admin can run configuration information with details ("Run with details" button) in case these data are needed.
- New function created: osc_theme_get_info($theme):
  Returns information about front-office theme (from index.php of theme). Enter only theme name (name of theme folder). Example: bender, sigma, delta
- Default number of listings matching alert in User > Alerts changed from 3 to 12.
- Added category object into extendData and extendDataSingle functions, so it easy to identify if category has price enabled or not.
- Added "Changelog" menu item under "Tools", so you can now easily see what has changed in last versions.
- Admin can now easily show all plugins available for update in Plugins section.
- Admin hook admin_content_footer has been removed.
- Updated composer dependencies to latest available versions.
- Engine of all database tables has been consolidated.
- Category ID is now visible in oc-admin when editing categories as tooltip on category name and as header in category edit form/iframe.
- Updated notice text in all files, based on Apache version, if this file is present in original file, it must be present on all branches with copyright mention.
- Function osc_user_phone will now return primary mobile phone number, and if not exists, then return land phone number (if exists).
- Native location names are now available in premiums section as well. No modifications in themes are required.
- Optimized minified CSS & JavaScript files will now be cleaned and refreshed on following actions: activate theme, install plugin, uninstall plugin, activate plugin, deactivate plugin.
- Fixed minor issue those could generate error with cookies.
- Fixed incorrect information in backoffice how to enable debug logs.
- Fixed possible problems with API key validation.
- Fixed problem with "Phone visible on ad" checkbox on publish page, is by default properly checked when adding new listing.
- Fixed design of flash messages in some plugins.
- Fixed bug, when theme appeared as eligible for update (need update) after performing its update.
- Fixed bug, when plugin appeared as eligible for update (need update) after performing its update.
- Fixed bug with sanitizing user/item URL and phone data (XSS vulnerability in URL custom fields).
- Fixed bug in Sigma theme regarding image uploader in user profile.
- Fixed typo in oc-admin > Settings > Categories, corrected "Expiration dates" to "Expiration days".
- Fixed changelog design in backoffice.
- Fixed incorrect alignments in Sigma theme for RTL languages.


Osclass 4.4.0 2021-04-01
------------------------
- IMPORTANT: jQuery updated from 1.8 into 3.6
  This includes update of all related javascript libraries, market themes and several plugins
  jQuery version can be changed in oc-admin > settings, by default old 1.8 library will be selected for retro-compatibility
- Plugin section in backoffice updated:
  Bulk action has been added into plugin section
  Search option added, you can search plugins by string in name, description, author or version fields
  Plugin list design has been slightly updated (support link instead of icon, changed wording, adjusted font size)
- Breadcrumbs feature updated:
  Created new section in Settings > Breadcrumbs
  Added option to disable/hide breadcrumbs on specific pages, including custom (plugin) pages
  Added option to show all levels of categories on listing page
  Added option to add country, region and city into breadcrumbs on listing page
  New filter created: breadcrumbs_page_title_filter
- Category tree box has been redesigned, new icons used and now allows to choose category up to 4 levels.
  This allows i.e. custom fields or different plugins to be defined in lowest level (nested) category.
- Admin can now choose backoffice color scheme, besides default one there is additional 8 color schemes those can be applied in backoffice.
- Completely redesigned functionality of structured data, created new functions, new hooks and new filters.
  New functions: osc_structured_data_title, osc_structured_data_description, osc_structured_data_image, osc_structured_data_footer, osc_structured_data_header.
  New hooks: structured_data_footer, structured_data_header.
  New filters: structured_data_title_filter, structured_data_description_filter, structured_data_image_filter.
- Checking for plugins & themes update has been redesigned and osclass now cache version data from OsclassPoint.
  Also all product versions are provided in one call, instead of using 1 call per product, that significantly speed-up updates checking.
- New constants are supported in config.php: DEMO_THEMES, DEMO_PLUGINS. 
  If defined to true, admin those username contains "demo" will have significantly restricted access in backoffice only to themes/plugins, where this admin is not able to perform changes. Only one of these constants can be used at same time.
  In case DEMO, DEMO_THEMES or DEMO_PLUGINS constant is set to true, and admin user with username "demo" exists, this is auto-filled into login form and login with demo admin will work with any password.
  In case DEMO, DEMO_THEMES or DEMO_PLUGINS constant is set to true, and user with username "demo" exists, this is auto-filled into login form. Login with username starting with "demo" will work with any password.
- Added tabbing functionality into backoffice, especially useful on plugin configuration pages (i.e. Realestate).
- Widget in backoffice home page now cache and reuse results for 3 days, that speedup loading of data inside widgets related on external services.
- Custom HTML code section/field has been added into Appearance > Cusotmization has been created. You cann add there custom HTML or JavaScript code that will be added into footer.
  This code will not be changed or modified during theme or osclass updates.
- Added cyrilic to latin conversion for URLs. Previously called cyrilic has been changed to greek.
- Fixed and improved performence of location functions & queries.
- Update of city, region or country native name, in case it is empty string, will be put into database as null.
- Redesigned how price field is validated when publishing new listing, new functions has been added to properly extract number from user entered price value.
- Set of fixes and updates to avoid getting undefined notices.
- Fixed installation bug (undefined constant WEB_PATH) and possible issues with database connection while installing osclass on PHP 8.0
- Fixed bug when trying bulk removal of listings.
- Fixed bug that could occur when switching backoffice themes.
- Fixed numerous bugs and design issues in Settings > Locations.
- Fixed Sigma theme missing configuration link in Appearance section.
- Fixed Sigma theme issue with text "Are you sure you want to delete your account?" being visible until page loaded in user account.
- Improved Sigma publish page - increased size of wrapping box from 640px to 760px, fixed responsive view of TinyMCE box.
- Added tabber functionality into Sigma theme.
- In backoffice, when user is successfully updated, you will not be redirected to user list anymore, instead you stay on user profile page.
- Variable $_SERVER['SCRIPT_FILENAME'] used to define base ABS_PATH is now refined and double forward slashes are removed, this caused on incorrect hosting configuration problems with osclass plugins and links. 
- Updated osc_search_url() function to correctly search regions & cities by slug (not just by name & id).
- Fixed bug for moderator admin user, that could not use backoffice homepage at all and got stuck there.
- TinyMCE upgraded from 5.4 to 5.7 version.
- get_ip() function has been sunset.
- osc_get_ip() function has been created, that is more reliable than get_ip() and get more realistic IP of user. Function get_ip() still can be used and will return content osc_get_ip().
- Following keywords can now be used in any email template: {WEB_URL}, {WEB_TITLE}, {WEB_LINK}, {CURRENT_DATE}, {HOUR}, {IP_ADDRESS}; no matter if is pre-defined for template or no.
- Fixed responsive layout for sigma theme on publish page.
- OsclassPoint API fixed to properly identify products that has been already purchased by user.
- Item ID and User ID has been added to edit pages in backoffice.
- Listing table in backoffice now also shows premium views - how many time was listing shown in "Premium block". Premium views are visible only for listings those are set as premium.
- When editing listing, link to edit user profile & profile picture is added into User Information block in case listing belongs to registered user
- Admin can now block/unblock all users listing by one click from User list in backoffice.
- Admin type (Moderator/Administrator) has been added to admins table in backoffice.
- Admin navigation/side menu is now scrollable and all menu items can be visible no matter what is screen height.


Osclass 4.3.2 2021-01-29
------------------------
- Fixed problem with some plugins missing in backoffice left navigation menu


Osclass 4.3.1 2021-01-27
------------------------
- Fixed problem with unfunctional friendly URLs for plugin pages
- Fixed overlay issue in backoffice (menu vs flash message) 


Osclass 4.3.0 2021-01-26
------------------------
- Osclass and all themes & plugins are now compatible with PHP 8.0
- Incorrect mail server configuration will not block actions where mails are sent (like user register or listing publish).
- New section under Apearance has been created - customization, where you can enter any CSS code to modify appearance of your theme.
  This code will not be changed or modified during theme or osclass updates, so it provides ultimate way to do design changes unrelated to updates.
- User table in backoffice now contains also phone number of user (mobile if not empty, otherwise land phone)
- Fixed usage of POP3 before SMTP in mail function
- Fixed different issues with form functions
- Removed child themes from update sequence - child themes cannot be updated at all
- Enabled options for current theme to be updated
- Themes are now sorted in ascending order by their name
- Fixed error message when installing problematic plugin, where message was sometimes not visible
- Design for filter pop-up window in backoffice on mobile devices has been fixed


Osclass 4.2.2 2020-12-21
------------------------
- Fixed problem when editing listing, updating contact phone or contact other would take no effect.
- Fixed problem with pagination links in user public profile, when friendly urls are disabled.
- Updated function osc_get_current_user_locations_native to avoid undefined notice log.
- Fixed installation problems when email was impossible to send using PHP mailer.
- Fixed notices in item form class
- Security update to avoid using action parameter on home page for code injection
- Function get_magic_quotes_gpc completely removed from osclass as it is deprecated


Osclass 4.2.1 2020-12-09
------------------------
- Improvements and fixes on script installation process.
- listAll function added to Region class in order to sort data by name ascending.
- listAll function in Country class updated to proper DAO form.
- ItemForm::region_select() function now accept 3rd parameter that if set to true, will generate list of all regions (in case site not use countries).
- ItemForm::region_select() will generate regions by default in case website contains only 1 country.
- Optimized & merged js & css are now cleaned on theme change.
- Sigma theme public profile now show proper user image.
- osc_sanitize_url() and osc_validate_url() has been updated.
- user save URL in profile has been updated & improved.
- in backoffice item edit/add form, location selector has been changed to dropdowns (it was dropdown / autocomplete / autocomplete).
- fixed possible error notices and problems in hSearch helper file.
- item url structure has changed for new installation from {CATEGORIES}/{ITEM_TITLE}_i{ITEM_ID} into {CATEGORIES}/{ITEM_TITLE}-i{ITEM_ID}, this change has no impact on existing installations.
- fixed possible problems with pagination generation caused by group by statement in item counter function.
- fixed installation error that could be thrown from localhost due to sending mail from osclass@localhost, that is not valid mail.
- you can now upgrade from Osclass Evo script, where OsclassPoint script will detect other branch and provide all required updates to convert files and tables.


Osclass 4.2.0 2020-12-05
------------------------
- Breadcrumbs micro-data updated to latest definition of http://schema.org/BreadcrumbList
- Static page has new option - add to index / exclude from index that allows you to manage which pages can be indexed by google (search engines) and which pages should not be indexed
- Search engine - counting has been redesign and counting is now done on database side instead of PHP side, that speed up whole process and removes limit on total number of items.
  In prior versions limit was set to 100*items_per_page
- Oc-admin login page is now fully responsive
- Osclass dialog boxes (ui) can now be closed also by clicking outside box 
- Currency error query fixed in case no currency has been inserted into filter
- Custom fields are now sortable and can be reordered in prefered way
- Rating (stars) can now be enabled at comments, so comment can now be simply transformed into item review
- Fixed bug with native name of locations those shown null for locations where native name was not defined (in location dropdowns on publish page)
- New security feature in front & back office: when visitor login with incorrect password, it will be suspended for several minutes before next login attempt.
  After 5 incorrect attempts - 5 minutes suspendation time, after 10 attempts - 30 minutes, after 15 attempts - 60 minutes, after 20, 25, 30, ... attempts - 360minutes suspendation time. 
  This helps to protect customer's data significantly.
- Added option to choose where is user redirected after listing publish (priorities): Dashboard > Listing > Category; Listing > Category; Category
- Admin can now enable TinyMCE (rich edit) in user profile - user info in front & backoffice. This can be very useful together with plugins like Business Profile. 
- Market pages has been created for themes, plugins, languages (core, plugins, themes) and locations. You can now simply purchase, install, update, activate and configure any of these directly in backoffice.
  User experience was key aspect of whole new market pages and exploring plugins, themes and importing data into osclass was never simpler.
- New section "Data clean up" has been created in backoffice under Tools, you can now remove unwanted listings data (expired, not activated, blocked, spam), 
  unwanted users data (blocked, not activated) and unwanted comments (blocked, not activated)
- Language files (zip) has been renamed completely (to simplify naming convention), all files has been updated to correctly reference it's real version
- Fixed item price, where 0 price was processed as "Check with seller" instead of "Free"
- Added user profile picture functionality, including enable/disable this feature, setting up desired image size in pixels
  Profile picture uploader allows to rotate, zoom and crop image
- Redesigned CSRF security tokens to not be so much anoying. As example was taken wordpress using simple token functionality
  To disable security check on form (input with token), new keywords are available to be added to form class: nocsrf (current), notoken, nooctoken
- Backoffice (oc-admin) home page has been completely redesigned and works now based on "widgets" those show different kind of information about your website and it's status
  Widgets can be collapsed right on the fly on dashboard and those you do not like at all can be completely hidden in widget settings page
- Statistics page in backoffice got new chart design that does not look such "oldish", still using reliable Google Charts library
- Fixed bug when it was not possible to change status of comment directly on comment page (Probable invalid request)
- "Remember me" option on front & oc-admin login has been fixed, now you may stay online for 1 year
- Code cleaning and formatting has been done in all osclass files, removing more than 200 000 unnecessary white spaces
- Bender theme has been removed and is not delivered with osclass installation anymore (still can be used or downloaded from other places)
- Oc-admin Modern theme has been removed and is not delivered with osclass installation anymore (it still work properly, but will not contain any new options and fields)
- Pagination function has been fixed and will accept also itemType in user account > user listings section (incl. friendly & non-friendly urls)
- Backoffice meta title tags has been redesigned, not using right double arrow anymore and using "-" instead. For login, forgot, recover pages in oc-admin, page title has been switched with action to match format of all other backoffice pages.
- Moderator now can get extra access into plugin pages, new field "Moderator extra access" has been created. 
  Access exeption is identified by "file" or "route" used by plugins. Examples: business_profile/admin/configure.php (file); google_maps_settings (route)
- Renewal feature has been integrated. Admin can enable renewals, enable to update publish date on renewal, limit maximum number of renewals per item
  Supporting functions like renewal URL, checking if renewal is eligible and similar has been created as well
- Structured data / micro data / rich tags has been integrated directly into core and are generated on every single page of osclass.
  Includes facebook OG tags, google rich tags, twitter tags. This will also fix issue related to aggregated rating.
- Contact form bug fix - in case visitor did not uploaded any attachment, osclass will no more throw error: Incorrect attachment extension
- Following libraries has been updated to latest versions (PHP Mailer - 6.1.x, Gettext - 4.8.x, Recaptcha - 1.2.x, HTML Purifier - 4.13.x, PHP Sec lib - 2.0.x)
  Before updating, it is recommended to remove (move somewhere else) content of folder oc-includes/vendor/phpmailer as v6.x use different file structure than old v5.x
- Osclass now contains CSS & JS optimization features those allows to merge CSS & JS files into one master, as well as to minify master file.
  Admin can setup "banned words" so script/style with specific word in name is not included. Admin can also exclude CSS / JS optimization on particular pages.
- New feature - admin toolbar in front - has been added. You can enable menu (visible to admin only) that allows to manage your osclass content much easier
- New feature - admin can now login as user - this option has been added to user list in backoffice
- Robots.txt has been updated and does not allow bots to crawl multiple osclass folders those should not be indexed
- Filters item_title & item_description has been added to search items as well, so title and description can be modified in same way on all the places (i.e. bad words functionality)
- Improvements when processing non-latin characters into URL, like cyrilic, chinese, alphabet etc. Search page will not throw error anymore when using such characters with friendly URLs.
- Listing views count has been added to oc-admin > Listings section as last column.
- User can now deactivate (disable) it's listing in same way as it is activated, supporting functions osc_can_deactivate_items and osc_item_deactivate_url were created.
- Auto-upgrade no more send emails to admin if nothing has been upgraded. Now will also contain information if core, plugins, themes or languages has been updated.
- limit set on generic_select function that generates select fields, default value is 1000. This is to protect website from loading unnecessary too much options into select box.
- location dropdown functions (country_select, region_select, city_select) from item form class has been redesigned and now does not load any data if not necessary.
  In previous versions it loaded all countries, regions and cities into select boxes that made website to load for long time and made it slow and unresponsive to user interactions.
- Fixed bug/problem with translations of CHILD themes those could not be properly used on prior osclass versions. Osclass now consider both language files as well as both translation domains.
- version_compare2 function to compare versions of products has been redesigned and improved to accept string as well as integer version numbers.
- added missing email variables to class to avoid undefined notices error. Updated class to avoid errors in case some variable description is missing.
- new functions has been created to support theme authors: osc_lib_url(), osc_content_url(), osc_themes_url(), osc_plugins_url(), osc_translations_url().
- update removes old phpmailer folder located in oc-includes folder to avoid issues when using different plugins those may be checking if this folder exists.


Osclass 4.1.1 2020-09-16
------------------------
- TinyMCE (rich text editor) on publish page is now responsive
- TinyMCE (rich text editor) now updates base textarea object instantly after typing, so validation functions and character counts works properly
- Recaptcha settings updated in oc-admin (changed wording, removed options)
- Recaptcha fail message changed to "Recaptcha validation has failed" from "The reCAPTCHA code is wrong", as there is no code anymore that is put into this field
- Email templates > Test email now has default value of your contact email
- Settings > Mail server now contains "Send test mail" button that will send testing email using your configuration to osclass contact email
- Test email functionality has been improved, now differentiate also between demo site, validate email address, check if mail address is not blank
- Admin themes gallery in backoffice buttons redesigned for easier navigation
- Fixed location counts functions to not count all locations, but only those that are not empty


Osclass 4.1.0 2020-09-16
------------------------
- Cron execution history is now available on settings page in "Cron Settings" section
- When country, region or city is updated, now new name/native name is updated also on user location data (not just item location data)
- When country phone code & currency is filled, it will now auto-update currency selection based on country and add country phone code prefix into phone field
- User list table in oc-admin has been updated, now shows last modification/registration date and last access date of user
- User last access date logging has been changed from once per hour to once per minute, this allows to check wheter is user still online or not
- New function created: osc_user_is_online($user_id = '') that returns true if user has been active in last 5 minutes (is online), otherwise it returns false
- All translations updated, now in en_US version also .pot files are delivered for easy updates of existing translations
- Listing settings - admin can setup if item contact phone number will be visible to all users or just to logged-in users
- Field "show phone on the listing page" on publish page is now by default checked
- Alerts has been upgraded and optimized. Alert notification email now contains table with list of alert items and their pictures instead of list of urls only
- In backoffice, default value 10 entries per page has been changed to 25 entries per page in all sections of oc-admin
- New locations source used, currently supporting 254 countries with much more detail data
- Country now contains new fields: native country name, default phone code and default currency (editable from oc-admin)
- Region now contains new field: native region name (editable from oc-admin)
- City now contains new fields: native city name, latitude & longitude coordinates (editable from oc-admin)
- Languages now has new field: Locations in native language those enable to use native language fields for locations
- Admin login page now contains option/button to show/hide password
- Osclass core has been updated to work with native version of location names, including search, ajax, stats and all other required models
- Added functionality of image rotation on item publish page, compatibility with all the themes should be granted
- Added upgrade & auto-upgrade functionality for osclass core
- Added auto-update functionality for themes (free/paid) those are on OsclassPoint
- Added auto-update functionality for plugins (free/paid) those are on OsclassPoint
- Added auto-update functionality for languages those are maintained by OsclassPoint
- API key connection functionality for automatic updates has been created, including api key validation button.
  API key setting is present in general settings, section "Software Updates". You may find your API key at osclasspoint.com in Profile settings (key is autogenerated)
- Search pattern settings: boolean / NLP / contains modes
- Replaced TinyMCE v4.x with TinyMCE v5.4 in osclass core (assets)
- Added option to enable TinyMCE rich editor on listings description in oc-admin & front theme
- Added option to upload images in static pages & email templates just by placing it into content from clip board
- Regenerate images process improved, script is now checking max execution time and once reaching, process is paused without error.
  Admin can then resume process and continue from last processed images. This will have huge benefit on large websites with thousands of images
- Fixed multiple error notices in osclass core
- Osclass by OsclassPoint is now available at sourceforge.net (https://sourceforge.net/projects/osclass-by-osclasspoint/)
- Updated Sigma frontoffice theme to latest, including lot of improvements in theme
- Updated Omega backoffice theme to latest, including lot of improvements in theme
- Fixed vulnerability CVE-2018-14481

Osclass 4.0.1 2020-09-28
------------------------
- Fixed bug with static pages, those were repeating in footer (wrong titles)
  Bug since osclass 3.9 release
- Fixed bug when admin theme with no name could be selected as existing theme

Osclass 4.0.0 2020-09-16
------------------------
- First release maintained by OsclassPoint.com
- PHP 7.4 compatibility
- Added color to category settings
- Added icon to category settings
- Added phone, show phone and other contact fields to item
- New image upload feature - "Best crop" has been added
- New default oc-admin theme (Omega) added
- New default front-office theme (Sigma) added

Osclass 3.9.0 2019-11-14
------------------------
- First release after official Osclass Shutdown.
- Moved and updated almost all external PHP library to latest working one in separate vendor directory.
- Fixed Multiple bugs
- Removed old Osclass Market related code
- Fixed PHP 7.3 Compatibility

Osclass 3.8.0 2018-07-25
------------------------
- Fixed several vulnerabilities found by Zekvan Arslan ( https://www.netsparker.com )
- Support for MariaDB (mysql community) for Categories
- Hooks at category insert & edit ('edited_category', 'add_category')
- Filter at search page ('search_pattern')
- mb_strlen missing at installation has been fixed
- meta_title() fixed missing page (recover & forgot)
- fixed issue with filter 'pre_item_add_error' 
- Updated HTML Purifier to 4.10.0
- Updated PHPMailer to 5.2-stable
- Fixed DateInterval custom field issues
- Invalid email address verification on resend password request has been fixed
- Multiple minor fixes and improvements

Osclass 3.7.4 2017-07-24
------------------------
- Improved admin security
- Minor fixes and improvements

Osclass 3.7.3 2017-04-26
------------------------
- Improved compatibility with MariaDB
- Using openssl functions instead of mcrypt (if available)
- Improved Imagick usage, falling back to GD when not available. Can now be disabled on admin panel too.
- Fixed duplication of indexes on upgrade
- Search alerts correctly being sent to unregistered users
- Fixed issue with session's id being invalid
- Multiple minor fixes and improvements

Osclass 3.7.2 2017-01-03
------------------------
- Fixed PHPMailer's CVE-2016-10033

Osclass 3.7.1 2016-12-27
------------------------
- Fixed URL params error
- Blocked upgrade on demo sites
- Fixed some minor details

Osclass 3.7.0 2016-12-12
------------------------
- Multisite fixes and improvements
- Fixed an issue with custom fields on edit item
- Mysql 5.7 compatibility
- Comment email notification only if comment moderation is disabled
- Use https in order to prevent warnings
- Remove temporal unremoved files (auto_qqfile_*)
- Cron skipping issues has been fixed
- New hooks, pre_item_add_error and pre_item_edit_error. Plugins can add FlashMessages.
- Prevent subscribe to searches twice (Alerts)
- Increase PHP minimum version to 5.6.0
- Robots.txt overwrite has been fixed
- Improved helper function osc_validate_email()
- Added new noCaptcha ReCaptcha
- Added listings link at item add / item edit (oc-admin)
- Fixed Authenticated cross-site scripting issues.
  Found by Robin Peraglie with the help of the RIPS code analyser <https://www.ripstech.com>
- Osclass core fixed and improvements
- Bender theme minor fixes

Osclass 3.6.1 2016-02-04
------------------------
- Fixed an issue with image rotation
- Fixed the upgrade available message not being displayed
- Fixed some minor details

Osclass 3.6.0 2016-01-21
------------------------
- Fixed SQL injection vulnerability thanks to High-Tech Bridge Security Research Lab ( https://www.htbridge.com/ )
- Fixed some minor details
- Improvements in the market area

Osclass 3.5.9 2015-10-16
------------------------
- Fixed typo
- Fixed some URLs

Osclass 3.5.8 2015-10-14
------------------------
- Fixed several vulnerabilities thanks to HP Fortify Open Review ( https://hpfod.com/open-source-review-project )
- Minor bug fixes and improvements

Osclass 3.5.6 2015-03-26
------------------------
- Fix typo

Osclass 3.5.5 2015-03-23
------------------------
- Fix typo on SQL query

Osclass 3.5.4 2015-03-23
------------------------
- Fixed two critical vulnerabilities thanks to Pedro Worcel ( http://www.security-assessment.com/ )

Osclass 3.5.3 2014-12-15
------------------------
- Checking for updates is now down in background
- Typo fix

Osclass 3.5.2 2014-11-23
------------------------
- Fixed wrong market endpoint in upgrade-funcs

Osclass 3.5.1 2014-11-18
------------------------
- Manage Users , added reset filter
- Fixed issue at search page with gallery format and premium ads
- Bender theme - Parent category link are clickable
- Bender theme is now upgradable via market

Osclass 3.5.0 2014-11-13
------------------------
- Higher limit for custom fields values.
- Bug fixed, Manage locations, slugs not being generated
- Added filter theme_url, change theme urls as you want
- Add customizable class for pagination.
- Added styles to Expired ads at Manage listings page.
- Date format improvements at Manage users/listings page.
- Fixed issues with Premium.php helper.
- Ad management as a settings of Bender theme.
- Connect / Disconnect from market.osclass
- Market section, now show paid plugins and themes
- My purchases (market page) download your paid plugins or themes
- Market section, added search filters.
- Several minor bugs fixed.
- Several issues with Bender theme fixed.

Osclass 3.4.3 2014-09-30
------------------------
- Fixed four critical vulnerabilities thanks to Egidio Romano ( http://karmainsecurity.com/ )
- Fixed some issues with the thousand separator in prices
- Fixed some issues with search urls creating a redirection loop
- Minor bug fixes and improvements

Osclass 3.4.2 2014-09-10
------------------------
- Fixed two vulnerabilities thanks to Robert & Onur from http://www.netsparker.com
- Fixed some issues with the cache
- Minor bug fixes and improvements

Osclass 3.4.1 2014-08-04
------------------------
- Fixed some compatibility issues with PHP 5.2
- Minor bug fixes and improvements

Osclass 3.4.0 2014-08-04
------------------------
- Extensible cache support (memcache, APC,...)
- User based subdomains
- Emails filters with more variables added
- Some sql optimizations (categories, users, premium)
- UI fixes and improvements in admin
- Imagemagick issues fixed
- Child theme support
- Minor bug fixes and improvements

Osclass 3.3.2 2014-04-08
------------------------
- Changed license of Osclass to Apache License, Version 2.0, you could get a copy here http://www.apache.org/licenses/LICENSE-2.0

Osclass 3.3.2 2013-12-17
------------------------
- Fixed issue #1239
- Improved a little upgrade process and warning

Osclass 3.3.1 2013-12-16
------------------------
- Fixed blurred watermark text
- Fixed black background on images
- Fixed error that makes impossible to install languages via market

Osclass 3.3 2013-12-10
------------------------
- Subdomains improved
- Ajax upload of photos, with preview
- Improved image handling, no more mess with background color
- Passwords more secure (use of Bcrypt + individual salt isntead of SHA1)
- Updated HTML Purifier to 4.5.0
- Release notes added when upgrading from previous version
- Minor bug fixes and improvements

Osclass 3.2 2013-XX-XX
------------------------
- Expiration date for a listing (till now you can do that only for the whole category)
- Advertising by regions (region1.osclass/region2.osclass)
- Custom searchable fields (you will be able to personalize more searches)
- Bender responsive theme as default theme
- Akismet for listings (added akismet filter to new listings)
- Expiration notice (emails to the users reminding them about the expiration date of each listing)
- Added search filter to manage users
- Sending email to new admins created from oc-admin
- Manage users minor improvements (row colorsStatus , Link to public user profile)
- Added ability to display a custom maintenance page (per theme. Create a maintenance.php file in the theme folder)
- Updated JQuery to 1.8
- New routes for plugins
- Override email from and email name from
- Minor bug fixes and improvements

Osclass 3.1.2 2012-05-07
------------------------
- CSRF errors now show a flash message instead of a blank page
- Csrf error ajax, return json with error message
- Memory peak usage in osc_update_location_stats fixed
- Issues using Imagick instead of GD when uploading images fixedsi si
- XSS vulnerability in search page fixed
- Minor bug fixes and improvements

Osclass 3.1.1 2012-03-20
------------------------
- Fixed breadcrumd in public profile
- Showing correct description in public profile
- SEO fixes: meta description, correct HTTP headers in search results and listing detail page
- Don't override from email address when using SMTP
- Problem with custom field url
- Bug with reCAPTCHA in mobile browsers
- Bug fixes related to upgrade
- Bug fixes related to CSRF
- Minor bug fixes

Osclass 3.1 2012-02-26
------------------------
- Better market: you can now download languages from the admin
- User ban system
- Templates for static pages + better customization of pages
- Manage email alerts
- Security improvements: CSRF in the forms
- Easier installation process
- Preview of the email templates + legend in the sidebar
- Enqueue styles and javascripts urls
- Remove several cities/regions at the same time
- Upgrade Osclass via CLI
- Minor bug fixes

Osclass 3.0.2 2012-10-22
------------------------
- Use email from SMTP Settings if it's defined
- Implode categories in search url parameter
- If the submenu is too big in oc-admin now it can be scrollable
- Javascript validation when changing the user email
- Search a listing by email even if the listing is from a non-registered user
- Search users by email in manage users
- Javascript error in countrID selector
- Enhancement: Show total views from osc_item_views helper
- Bug: _whereIn method in DBCommandClass
- Bug: javascript error in manage custom fields
- Bug: Do not select by default the country in the filters of manage listings
- Bug: Show "Showing X to X of X results" if there is only one page in oc-admin pagination

Osclass 3.0.1 2012-08-13
------------------------
- Bug: changed from ENT_COMPACT to ENT_COMPAT
- Bug: Edit comment in oc-admin
- Bug: Use image magic uploading images
- Bug: Showing correctly the urls in RSS
- Bug: Correct subject in alert emails
- Bug: Typo mistake in manage media
- Bug: category slugs only accept alphanumeric
- Bug: emails sent from email contact instead of osclass@domain.tld
- Bug: http_chunked_decode was being redeclared
- [ Modern theme ] Removed a duplicated id

Osclass 3.0 2012-07-12
------------------------
- Added a toolbar at the header of the oc-admin
- New sidebar menu in the admin. Now it’s easier to add menus and submenus with helpers
- Listing and user statistics in the dashboard
- New oc-admin design
- Manage reported listings
- Manage comments added ‘hidden comments’ filter
- Two types of administrator users: super admin and moderator (only access to manage items and statistics)
- More hooks and filters added in the oc-admin: help message, title, manage listings, etc.
- Help boxes in the oc-admin
- Browse/Download/Update plugins and themes from the market
- Manually check plugin & theme updates in General settings
- Added pagination on manage plugins
- Canonical urls (when is needed) in the search pages
- Improved meta titles and meta descriptions
- Meta keywords
- Footer urls in the search listing
- Redirect 301 from the old listing url when the listing title has been changed
- Nofollow attribute in the pagination
- Breadcrumbs using rich snippets
- Changed HTML structure of the Pagination Class
- Exclude bot requests in the statistics
- Improved filters, now can accept more than one argument, but only the first argument will be returned
- Improved HTTP requests, implemented fsockopen instead of libcurl when curls is not installed
- Minor bug fixes from previous versiones
- Fixed some typo mistakes
- [ Modern theme ] Disable Osclass footer
- [ Modern theme ] Improved H1s and titles
- [ Modern theme ] Default logo

Osclass 2.4.1 2012-05-22
------------------------
- Fixed creation of search pagination url
- Watermark image should be a PNG
- Fixed bug in item > settings
- Show the correct values in the footer of datatables
- Upgrade is fixed when you came from versions with the country in multiple languages
- Use osc_esc_js in javascript localization
- Add currency button is clickable now
- Fixed javascript error in custom fields
- Corrected multiple typos in strings

Osclass 2.4.0 2012-05-02
------------------------
- Admin layout redesign
- Better performance in search queries
- Install Osclass in your language
- Customize permalinks
- Recalculate category and location stats
- New alert system. Now the alerts are saved in a JSON format
- Two more options in custom fields: url and checkbox
- AJAX in plugins
- Internationalization of date and time strings
- Throw Exceptions while installing a plugin and show the error message
- Bug fixed: generate images from original and not normal
- Fixed some minor bugs
- [ Modern theme ] Some enhancements in search filters: nicer checkbox and show the region of the city in the city filter
- [ Modern theme ] New flash messages design

Osclass 2.3.7 2012-04-11
------------------------
- Changed blog feed url
- Fixed a js bug with quote marks in manage comments
- Pagination bug in manage media
- Added osc_resource_preview_url helper
- Don't show duplicated items when "pics only" filter is selected in search

Osclass 2.3.6 2012-03-05
------------------------
- PHP Warning in user profile when the description was empty
- Added missing helper: osc_reset_resources
- Contact publisher is working OK now
- Database errors during the installation are caught correctly. Now if you don't set well the database configuration, it warns you
- Fixed redirect after wrong reCAPTCHA code after posting an item
- We've removed PHP warnings from HTMLPurifier library
- Default currency is selected in item forms
- We've added more checks in image deletion

Osclass 2.3.5 2012-01-16
------------------------
- Escape quotes in attr values of input tags using a new helper: osc_esc_html
- PHP Warning if the user doesn't have a description in his profile
- PHP Warning in Search model
- Modified behavior in add/edit form of custom fields
- Style of radio buttons in custom fields
- JS error in add/edit page in oc-admin
- XSS vulnerabilities in search page
- SQL injections in search page and AJAX request in oc-admin (need to be logged as an admin)

Osclass 2.3.4 2012-01-03
------------------------
- Deleting all admins bug fixed
- Multiple installs bug fixed
- Feeds url using permalinks
- SQL error using picture only items bug fixed
- Some hooks were added on admin
- SQL optimized a little more

Osclass 2.3.3 2011-12-17
------------------------
- Removed upgrade and upgrade-plugins files
- Minor fix when editing the comments in oc-admin
- Minor fix in the installation process if the config.php file exists

Osclass 2.3.2 2011-12-13
------------------------
- Delete images when editing an item from oc-admin
- Change type of the column s_what in t_item_description
- Modified in the upgrade the type of s_what column in t_item_description

Osclass 2.3.1 2011-12-02
------------------------
- Redirect to last page after logging in works with permalinks too
- Reconnect to database when getting serialize object for Alerts
- Don't load public user profile if it doesn't exist
- Decrease category stats works fine now
- Don't send admin notification when admin create a user
- Clear "Mark as" option in oc-admin

Osclass 2.3 2011-11-24
------------------------
- New DAO (Database Access Object)
- Debug options to show or log queries and errors
- Added an option to enable/disable plugins. So, you won't lose the information of this plugin
- User is redirected to last visited page when he/she logs in
- New notifications: e-mail to the admin when a new user is registered, e-mail to the publisher when a new comment is added
- Profile page for users in the front-end
- Full text search engine for searches
- Static pages can be ordered now
- New type of custom fields: select and radio button
- Improved price format, now you can set: number of decimals, decimals separator and thousands separator
- [Modern theme] Profile page for users
- [Modern theme] Explanatory messages when contact form is not showed

Osclass 2.2.3 2011-09-26
------------------------
- Bug fix: with plugins in Windows environments
- Fixed an error when installing a new plugin if some plugin has been removed from the plugin directory
- Bug fix: when user modifies the location in edit item
- Bug fix: we're not using filter_var function any more
- Bug fix: manage item doesn't crack if category name is not set
- Bug fix: notify admin of new items works in all the cases now
- Bug fix: check blank parameters in forgot-password-post, user-change-password and contact form
- Bug fix: mailserver setting in oc-admin works fine in different environments
- Pagination Class: now can be inherited
- Fixed some minor Notice errors

Osclass 2.2.2 2011-08-25
------------------------
- Now attr [type|src|charset|defer] of script html tag are not removed in widgets
- Fixed some AJAX issues related to locations
- If some file theme don't exists, we take the file from gui folder
- Minor fix in sanitize item url
- Created a define for DEMO purposes
- Modified how admin password is set during the installation
- Multi-byte characters in watermarks
- Removed mysql NOW() parameter from everywhere, now the insert/update dates should be the system dates
- Fixed some minor issues with locations when add/edit new items
- osc_static_page_mod_date function take the correct value now
- Custom pages shouldn't allow as internal name the file names
- Fixed alert subscription
- Fixed some minor bugs
- Fixed some PHP Warnings
- [Modern theme] Logo image is not converted now
- [Modern theme] Some minor style changes

Osclass 2.2.1 2011-08-04
------------------------
- Fixed: show recaptcha in edit item if it's configured
- Fixed: if you have another table_prefix, it show the latest items + items in the search list

Osclass 2.2 2011-08-01
------------------------
- New layout and more filters in manage items
- Added custom fields (for items)
- Watermark on pictures
- Helpers for Rewrite::get_location and Rewrite::get_section
- Premium ads (see paypal plugin)
- Plurals in translations
- Improved inputs related to locations
- Improved error page in the front theme
- Worlwide option is disabled in the installation
- Permalinks with Chinese an Arabic characters works
- All known bugs have been fixed fixed

Osclass 2.1.1 2011-06-22
------------------------
- Filter of title and description is not too restrictive now
- Fixed a warning message when there aren't categories
- Fixed error checkdnsrr in windows
- We don't show price filters or any field related with prices when it is disabled

Osclass 2.1 2011-06-14
------------------------
- Help messages if you don't pass the requirements in the installer
- Ping search engines in the installation
- Change password at the end of the installation
- Limit amount of items per user in a set time
- Limit the number of photos that the user can add in an item
- Statistics module: new users, new items...
- Skip admin validation if the user has more than a defined number of items/comments
- Improved category management: you can reorder, edit, delete, disable in the same page
- Upload a logo to the header
- Disable adding new items in root categories
- Fill automatically the fields in case that something goes wrong
- Delete photos of items via ajax
- Improved pagination in search page
- Added maintenance mode (in case you want to disable the website to the users)
- Email verification on alerts
- Disable contact item for non-registered users
- Fancybox in modern theme
- Improved expiration features
- Some bugs fixed

Osclass 2.0.3 2011-05-05
------------------------
- Price is showed fine when there're more than one language enabled
- Locale Class renamed
- STRICT Standars error in Category Class fixed
- STRICT Standars error in Search Class fixed
- Configure in Manage plugins appears even if the folder is a soft-link
- [Modern theme] Input select in user dashboard has jquery.uniform style
- Create mb_substr function if not exists
- NOTICE error when users send an item to a friend
- Upload images in IIS Servers
- [Modern theme] Sidebar in main page shows now only regions fo the active items
- [Modern theme] CSS category drop down improvements so the hierarchy of subcategories are visible.

Osclass 2.0.2 2011-04-20
------------------------
- RSS fixed, now works fine if you write sFeed=rss or sFedD= in the search url.
- In the item detail page, now the num views is the sum of all the days.
- file_get_contents replaced for curl. Added a library that emulates curl if it's not installed.
- Fixed NOTICE error when a user updates the profile.
- Update process improved for future versions.

Osclass 2.0.1 2011-04-12
------------------------
- Country displays correctly even if there are multiple languages installed.
- City autocomplete works in search sidebar
- Fixed forgot password in oc-admin
- Recaptcha works fine in recover password
- Fixed helper of format_price. Now it takes from s_currency_format in languages
- Specify more the errors in installation process
- If a user change the e-mail, it also changes now in the alert system
- Prefill categories select with a default string instead of the first category

Osclass 2.0 2011-04-06
------------------------
- Added several helpers to
- Remember me is working in admin and user login.
- Fixed RSS.
- Fixed a lot of flash messages.
- If ZipArchive is not compiled, now we use an external lib: pclzip.
- Pre-fill comment form.
- Improved photos validation through mime.
- Auto-login after a user has validated an account.
- Improved comment moderation.
- Plugins/themes can be translated.
- Permalinks: most links are user-friendly now.
- New user dashboard.
- Registered users can delete here own comments.
- Recaptcha added to: comments, recover password, item contact.
- Several small bugs fixed.

Osclass 2.0 RC 2011-02-23
------------------------
- New structure based on Classes
- Helpers: now there are a lot of functions that help the developer to modify the themes easily
- Added a test that add fake content
- New class to get external params (get, post, cookies, request)
- New e-mails added in the installer
- Translation uses a singleton
- There are three files in languages: core.po, messages.po (for flash_messages), theme.po

Osclass 1.2 delta 2011-01-12
------------------------
- New whole system of permalinks
- Improved user profiles
- ImageResize Class improved
- Minor bugs fixed

Osclass 1.2 beta 2010-12-14
------------------------
- Users can register without confirmation
- Small changes in installer

Osclass 1.2 alpha 2010-12-07
------------------------
- Add alerts system (users could subscribe to search results, and we'll be notified in case there're new ads)
- Several small bugs fixed

Osclass 1.1 2010-11-29
------------------------
- Add item from backoffice
- User can not be contacted if the item is expired
- Feed plugin
- Banner management plugin
- JSON works even if is not loaded with php (using a JSON class)
- Indelible pages are not shown
- Sort categories by position (this position is set in oc-admin)
- Search and pagination bugs fixed
- Mail bugs fixed
- Small bugs fixed

Osclass 1.1 RC 2010-11-22
------------------------
- Fixed installation and locations (in oc-admin) problems. Now, even though allow_url_fopen is disabled, it works well.
- Now if you activate a new language and you haven't translated categories yet, it shows in other language that is available.
- SMTP is working well now.
- Added default currency feature
- Small bugs fixed