Core is the systems address and contains basic methods allowing for the creation of applications. Everything consists of the following elements (we have listed basic and most important classes from plugin creation standpoint, we've skipped classes responsible for work inside the system, because those shouldn't be changed).


Class allows saving data to cache and later use of it. Both caching in static files and databases tables is managed here.

To manage cache from static files we have:
  • fileRead($bucket,$key) - reads data
  • fileWrite($bucket,$key,$data) - saves data
  • fileIsCached($bucket,$key) - chcecks if data was saved in cache
  • fileClearByBucket($bucket) - clears cache from given bucket 
To manage database cache we have:
  • read($name) - reads data
  • write($name,$data,$bucket = 0) - saves data
  • isCached($name,$expire = null) - checks if data was saved in cache
  • clearBucket($bucket) - clears whole bucket
  • clearByName($name) - clears given variable
  • clearAll() - clears all variables

Variables which take functions are accordingly
  • $bucket - groups of cached variables, thanks to it we can clear chosen parts of cache.
  • $key oraz $name - key is a name of variable after which we will read cache
  • $data - data can be in form of a table and string, system will make data into propper form
  • $expire - time after variable expires in seconds

Examples of use
if (!cache::isCached('keyName')) {
	cache::write('keyName','our data','bucket');
echo cache::read('keyName');


Class is used to compress files into ZIP format, also allows their decompression.

Main methods which can be used are:
  • zip($source, $destination) - packs files
  • unzip($source, $destination, $entries = '') - unpacks files
  • getZipFile($fileName,$source) - returns packed files in form that begins download of the file
Variables that take function:
  • $source - source file or folder
  • $destination - target file to which data has to be packed
  • $fileName - file name

Example of use:


This class is used for reading and adding variables to the Windu config

Main methods which we can use:
  • get($name,$force = false) - loads variable from config
  • set($name,$value,$bucket=null,$type=null) - saves variable
Variables which take functions: 
  • $name - name of variable in config
  • $value - value of variable
  • $bucket - bucket for group of variables
  • $type - type of variable (numeric,bool,string)
Example of use:
echo config::get('variableName');


Main methotds that we can use:
  • get($name) - loades cookie
  • setCookie($name, $value = null, $expire = 3600,$subdirForce = null) - Cookies settings
  • removeCookie($name) - deletes cookie
Variables which take functions
  • $name - Variables name
  • $value - Variables value
  • $expire - time after which variable expires, displayed in seconds

Example of use
echo cookie::get('variablesName');


Main methods which we can use
  • rowsToCsv(array &$fields,$delimiter = ';', $enclosure = '"', $encloseAll = false, $nullToMysqlNull = false ) - returns string in form of csv file code
  • getCsvFile($fileName,array &$fields, $delimiter = ';', $enclosure = '"', $encloseAll = false, $nullToMysqlNull = false ) - returns file in csv format from table
Variables which take functions
  • $fileName - file name
  • $fields - table with data

Example of use


Main methods which we can use
  • sqlDatetime($timestemp = null) - returns datetime in sql format
  • sqlDate($timestemp = null) - returns date in sql format
  • showDatatime($datatime, $addDecorators = true, $onlyStringShow = false) - returns datatime with decorators
  • showDate($datatime) - returns date with decorators
  • ip() - returns callers IP
  • randomCode($length=8,$level=3) - returns random code with set parameters
  • ekey($table,$colum = 'ekey',$length=12,$level=2) - returns unique random code for given table
  • urlKey($baseString,$table,$colum = 'urlKey',$length=50) - returns unique link element consistent with standarts
  • replaceChars($data) - switching polish signs
  • clean($data) - clears string from forbiden signs
  • cleanFileName($data) - prepares name of the file
  • clearHtml($data) - cleans html
  • clearHtmlNl2Br($data) - cleans html and changes new lines for br markers
Variables which take functions
  • $timestemp - so called timestemp in the form of a number
  • $datatime - date in the form of datatime mysql
  • $data - data in form of a string


Main validators which we can use
  • email($value, $params = null, &$data)
  • url($value, $params = null, &$data)
  • stringLength($value,$params, &$data)
  • numericLength($value,$params,&$data)
  • numeric($value,$params,&$data)
  • bool($value,$params,&$data)
  • string($value,$params,&$data)
  • unique($value,$params,&$data,$fieldName)
  • exist($value,$params,&$data,$fieldName)
  • same($value,$params,&$data)
  • fileSize($value,$params,&$data,$fieldName)
  • datatime($value,$params,&$data)
  • fileType($value,$params,&$data,$fieldName)
Variables which take functions
  • $value - value
  • $params - validators parameters in form of a table
  • $data - optional data
  • $fieldName - name of a cell in table

We are continually working to improve Windu CMS!

By visitng the Windu website you will be kept up to date on new developments concerning the CMS.

2014-05-19 Battle Report

Since the release of Windu 3.0 we have we have done a lot of stuff to our CMS. The most important event in the near future will be the upgrade to version 3.1, which means a...

2014-03-25 Windu 3.0 - list of changes

After many months of challenges, new version of our CMS is finally out! We've decided to drop the idea Windu 2.4 and go for 3.0 straight away due to amount of changes...

2013-06-17 Update - Windu CMS rev 1432

New Windu CMS update is available for download at update server! Update includes several changes in our system: Pinning of tabs - allows fast navigation between open...

Buy a PRO license!

Activate loads of add-ons in your windu!

Buy a PRO license