Releases: Creatiwity/wityCMS
Version 0.6.2
General
- Security update (fixes xss issue with HTML purifier library)
- Updates phpMailer
- Adds hreflang meta tag in the default Grafx theme
- WTemplate: improves the "or" feature on variable usage
- Adds Content-Type JSON header when doing a
/m
request
Version 0.6.1
Changelog
Settings
- Translator: adds actions in translation
Libraries
- Updates Bootstrap Datepicker to v1.6.4
- Updates CKEditor to v4.6.0
- Updates Fileman to v1.4.5
- Updates jQuery to v3.1.1 (removes v1 & v2)
- Updates requireJS to v2.3.2
- Updates witySlider to v1.2.10
Kernel
- WDatabase: adds an escape mechanism to escape fields with the same name of a prefix:
Prefix articled declared in WDatabase
SELECT \article FROM article
Version 0.6.0
Changelog
This is a major release for wityCMS!
Settings
- NEW translator feature! Allows you to easily translate all your apps
- Adds a debug switch
- Adds an anti-flood switch if you are fed up with anti flood warnings while developping...
- Adds a version field
- Adds coordinates fields
- Adds SEO fields
- Adds GoogleAnalytics field
- Adds OpenGraph settings
WTemplate
- Add a new "wdate" function to render dates easily {$wdate|wdate:'d/m/Y H:i:s'}
- A new variable is now available: {$wity_now}
- A new variable is now available: {$wity_userid}
User
- Fixes a bug when deleting a user whereas config said to keep the user disabled in database
- Fixes access rights management to prevent from privilege elevation
- Enables permission config for non admin apps
- Always store emails in lowercase
Libraries
- Updates Upload class
- Updates Bootstrap v3.3.7
- Updates jQuery v3
- Updates FPDF v1.81
- Updates Bootstrap-datepicker v1.6.1
- Updates RequireJS v2.2.0
Kernel
- Kernel ready for PHP7
- WController: $params now contains the "action" if it was not found in manifest
- Improves WController::getApps() function
- WSession: camel case format
- WRequest: handles PUT and DELETE requests
- WRetriver: getModel & getView now uses the URL to instiate the controller. Contextualization of controller was improved.
- Fixes a bug when locale_get_display_region is not defined
- WRequest: new function WRequest::hasDataForURL() to contextualize forms data sending
- WRequest: deletes auto adding of signature into form
- Sends a 404 HTTP header if page is not found
- WLang: new function to get translated country name: WLang::getDisplayRegion()
- Many bug fixes...
- Lang system improved, more stable and getting ready for URL based language loading
- WDate: is now JsonSerializable and exports date in ISO format
General
- All translations English/French improved. If you want to add a new translation, just send an email to witycms@creatiwity.net !
- Country list was updated (some new countries appeared since the previous list was not complete)
- Session now lasts 1 month by default
Version 0.6.0 BETA 1
Changelog
TODO
Upgrade from v0.5.0 instructions
In config.php, you should add those fields:
'theme_admin' => 'admin-bootstrap',
'lang' => 'en_EN',
'anti_flood' => false,
'version' => '1.0.0',
'ga' => '',
'coord_address' => '',
'coord_zip' => '',
'coord_city' => 'Paris',
'coord_state' => '',
'coord_country' => 'France',
'coord_phone' => '',
'og_title' => 'OpenGraph',
'og_description' => 'Desc OpenGraph',
'og_image' => '',
'favicon' => ''
Version 0.5.0
- Completely redesigned Language management (i18n)
- Installer totally redesigned
- New logo for wityCMS implemented
- New app Slideshow
- New app Team
- App News V2
- New app Settings
- New app Mail
- New app Search
- App User simplified
- Adds WTools class
- Adds WExport class
- New syntax for WTemplate (default value : {$var or ‘Default’}, htmlentities : {!$var!})
- Compatibility issues fixed for PHP5.5/5.6 et 7.0
- Bootstrap/jquery/CKEditor updated
- Adds fileman plugin to CKEditor
- A lot of bug fixes
This version is compatible with apps developped for previous version 0.4.
Version 0.4.0
This release can be used in production but very carefully because the core is still under development and some parts will be added in the next release.
New features:
- WRetriever allows to render multiple applications on the same page by returning the generated view of each application. If you want, you can only retrive the model (php array, json).
In templates:
<div>{retrive_view app_name/action}</div>
{set $model = {retrieve_model app_name/action/param1/param2?var1=value1&var2=value2}}
<ul>
{for $m in $model}
<li>...</li>
{/for}
</ul>
In Ajax:
$.ajax({
url: '/m/app_name/action', // /m/ for model, /v/ for html view, /mv/ for both in a json object
success: function(response) {
response.results; // object returned by the called action (php array => javascript object)
response.notes; // array of notes
}
});
In php code:
$model = WRetriver::getModel('app_name', array('action', 'param1', ...));
$view = WRetriver::getView('app_name', array('action', 'param1', ...));
Every action called use the internal permission system to resolve user rights.
- Installer has been totally rewritten to be really stable. Its code will be partly reused to build a form generator in the next version.
contact
app added.mail
app added. It works as an internal service, for now used by the newcontact
app. It allows applications to send email to a lot of people, customizing email for each one using WTemplate to compile the mail subject and body. It has a links manager system for the apps using it to be able to add expirable links in the mail body.
WRetriever::getModel('mail', array(
'origin' => array(
'app' => 'app_name',
'action' => 'action',
'parameters' => array(...)
),
'response_policy' => 'all'|'from' (default)|'none',
'action_expiration' => 'one-time-action'|'one-time-mail'|DateInterval initializer ('P30D' default)|array('one-time-action'|'one-time-mail', DateInterval initializer),
'response_callback' => '/app_name[/action][/param1[/...]]?getparam1=value1[&...]',
'defaults' => array(
'from' => email|array(email[, name]),
'to' => array(email[, name])|array(array(email[, name])),
'cc' => array(email[, name])|array(array(email[, name])),
'bcc' => array(email[, name])|array(array(email[, name])),
'attachments' => array(url[, name])|array(array(url[, name])),
'subject' => string,
'body' => string|template_file,
'params' => array(key => value)
),
'specifics' => array(/*[each line is similar to the 'defaults' array]*/)
);
- Overriding an application template (frontend only) is now possible from your custom theme. You just have to create a folder in the templates directory of your theme and named as the application you want to override and create an html file inside it. It will be automagically used as replacement of the original html file of the application.
- Require.js added for managing javascript libraries and dependencies. The library you want to use can be in
libraries
, inthemes
, or inapps
. The default is inlibraries
which contains alibraries.json
file to describe original dependencies and names. If you need a library which is inside an app, prefix it withapps!
and addapp_name
to load themain.js
file which is insideapps/app_name/js
, finallyapps!app_name
. If you need a file which is not the main.js file,fileA.js
for instance, then useapps!app_name/fileA
. The same pattern applies for themes but withthemes!
instead ofapps!
. The global variable used for assigning it is'require'
This part could change in the next version to be easier to use, and, mainly, more intuitive. - Updating jQuery to 1.11.0 and Bootstrap to 3.1.0
- wysihtml5 replaced by CKEditor
- New global variables available in templates:
{$wity_base_url}
: site's URL{$wity_site_name}
: site's name{$wity_site_subtitle}
: site's subtitle (for now equal to site's name){$wity_page_title}
: page's title (can be modified by app){$wity_page_keywords}
: page's keywords (can be modified by app){$wity_page_description}
: page's description (can be modified by app){$wity_user}
: boolean to know whether the current user is connected or not. If yes, following variables are also assigned :{$wity_user_nickname}
,{$wity_user_email}
,{$wity_user_groupe}
,{$wity_user_lang}
,{$wity_user_firstname}
,{$wity_user_lastname}
,{$wity_user_access}
{$wity_home}
: true on home page, false otherwise{$wity_app}
: current app being executed
- WDate manages dates to take account of the user timezone
- A lot of bug fixes and translations added
Version 0.3.0
After several years of silence, a dead project and several key users in despair, WityCMS is back to the scene, to give you the ability to create and develop a full website with your hands.
Version 0.3 is closer to a framework, so you should probably feel like programming to use this version, except for its deployment: our all new Installer script will enable you to install the software easily.
What's new in 0.3?
- New Installer
- New Admin Theme based on Bootstrap (Twitter CSS library)
- Enhanced notes management
- Cleaned application User and News
- More stability
This release can be used in production but very carefully because the core is still under development and some big parts will be added in the next release.