Commit Graph

27 Commits

Author SHA1 Message Date
53f597f947 Implemented a new system for Logging templates.
This allows the user to install new Logging templates that run in specific circumstances. By default the FuzeWorks default (as you already know it) template is installed, and a CLI one.

Closes #88
2016-06-02 15:19:31 +02:00
3343c08594 Implemented many CodeIgniter classes.
Preparing for Factory Build
2016-05-24 12:05:29 +02:00
6522fe2429 Implemented the language class.
The Language Class provides functions to retrieve language files and lines of text for purposes of internationalization.

In your FuzeWorks Core folder, you will find a Language sub-directory containing a set of language files for the english idiom. The files in this directory (Core/Language/english/) define the regular messages, error messages, and other generally output terms or expressions, for the different parts of the FuzeWorks.

You can create or incorporate your own language files, as needed, in order to provide application-specific error and other messages, or to provide translations of the core messages into other languages. These translations or additional messages would go inside your Application/Language/ directory, with separate sub-directories for each idiom (for instance, ‘french’ or ‘german’).

FuzeWorks comes with a set of language files for the “english” idiom. Additional approved translations for different idioms may be found in the FuzeWorks Archives. Each archive deals with a single idiom.

When  FuzeWorks loads language files, it will load the one in Core/Language/ first and will then look for an override in your Application/Language/ directory.
2016-05-22 19:29:55 +02:00
6956a3a0d9 Implemented the new database engine. Advanced instructions will follow in Merge Request 2016-05-20 17:29:33 +02:00
be3c6c87ff Implemented new config.core.php variables.
It is now possible to disable the modules and the events system using the config file. This will completely turn the system off.
The event system will still load the event classes but it will not send them around.
2016-05-15 15:37:26 +02:00
7e3e707d9f Implemented Registry caching.
By changing the config.core.php file you can select how registries should be cached. Remember that this is not recommended during development.
The available options are file, apc, redis, memcached, wincache and dummy. Cache TTL can also be set. Some caching drivers require you to change the config.cache.php file.
2016-05-14 17:06:42 +02:00
ae861b8b6e Implemented a caching library.
The library comes with 6 drivers: APC, file, memcached, redis, wincache and a dummy driver. Which driver you can use is dependant on your situation.
In order to build this a Driver library has been implemented. A driver can be called using (FuzeWorks\)Libraries::getDriver($libraryName); This will load the driver library and the requested library. Regular library rules apply.

Every driver comes with the same methods (found in documentation) but the 2 most important are $driver->save($objectName, $object, $time); whereby $time is an integer in minutes; and $driver->get($objectName); which will receive the cached value;

To load a cache driver you need to run something like the following:
$cache = FuzeWorks\Libraries::getDriver('cache', array('adapter' => 'apc', 'backup' => 'file'));
This will try and load the APC cache driver. If this fails it will try and load the file driver. If all fails it will load the dummy driver. The dummy driver does not actually save anything, it's just a placeholder until you fix your environment.

More information can be found in the documentation.
2016-05-14 16:18:59 +02:00
2aef5abdd3 Implemented Helpers into FuzeWorks.
Helpers are small utilities that can be loaded to assist a performing certain functions. Helpers are simply global functions that get loaded when requesting them.

Helpers can be loaded using (\FuzeWorks\)Helpers::load('helperName'); Helpers can be put in the 'Core/Helpers' or the 'Application/Helpers' directory. The 'Applications/Helpers' directory is scanned first, so this one has priority over Core helpers.

It is possible to sort of 'extend' helpers. By putting a helper in the 'Application/Helpers' directory with the application prefix (found in config.main.php) you can load that helper first and then the helper in the core directory. This allows you to add or override functions without the need of copying the entire helper from the core. For example: there is a helper in the core directory named 'example_helper.php'. This one has a function named 'doSomething();' inside it. If you now create a helper in the application directory named 'MY_example_helper.php', then that one will be loaded first and can override the core class because the application helper is loaded first.

More detailed instructions will be provided in the documentation.
2016-05-14 14:06:04 +02:00
2cbc431283 Implemented the first extension: the Encryption extension.
The Encryption Library provides two-way data encryption. To do so in a cryptographically secure way, it utilizes one of multple PHP extensions.
2016-05-13 22:52:14 +02:00
5bc326b5e1 Misc. changes to configuration files related to formatting 2016-05-12 12:18:08 +02:00
9f4742b063 Updated entire project to PSR2 code standard. Some classes still need to be moved around. 2016-05-07 19:22:09 +02:00
9d665e2ae1 Many Misc jobs:
- Modules can now be loaded using routes by adding a routes[] array to the moduleInfo.php. When it matches, the module gets loaded, and a route() function in the main class gets called. (Fixes #79)
- Composer can now load from a different file
- License headers have been added to all core files (Fixes #66)
- Table model has been renamed to sqltable. Interpret model has been removed
- layoutLoadViewEvent added
- Controllers now extend the \FuzeWorks\ControllerAbstract class
- Controllers are now in the \Application\Controller namespace
- Models are now in the \Application\Model namespace
- Events are now in the \FuzeWorks\Event namespace
- Moved some classes in a different namespace for a better overview
- Events can now properly load function listeners (fixes #81)
- Documentation added to more classes. (Partially fixes #58)
- Added replace() command to DatabaseUtils Abstract Model
- Added more unit tests for router, query and events
2015-10-11 19:14:49 +01:00
68b3b402e7 Made the core of FuzeWorks static.
Resolves #74

More tests are needed in order to prove functioning of renewed core
2015-09-05 21:47:35 +02:00
30f700a727 Implemented the fully renewed Layout Manager.
Now based on a new database schema, working with events and many more abilities.
An expansion with a built in login page might be possible.
2015-08-29 20:30:52 +02:00
bb66e6eb92 Added the ability to enable and disable composer loading 2015-08-29 17:26:47 +02:00
338d0d2a43 Implemented the ability to disable core modules.
Using the config.core.php, you can choose what modules should run in FuzeWorks
2015-07-28 13:09:47 +02:00
aab34844ee Implemented renewed querybuilder and a better databasemodel. Database utilities can from now on be added to this module.
Fixes #46
2015-05-06 21:25:57 +02:00
dd93772704 Router and Logger merge with GF, and many more CI Tests 2015-05-03 22:50:36 +02:00
b4a574dadf Removed files that are not important to the core 2015-05-03 20:42:50 +02:00
8c1a7afda5 Fix for #28 and #23. This patch removes the mod and event registers so that modules can now be loaded dynamicly instead of using a global configuration file. 2015-04-22 11:31:29 +02:00
68c68cf91c Added a mod register which allows the system to load advanced modules. This allows for the future build of module versions, prevention of module name conflicts and much more. 2015-03-14 15:46:05 +01:00
f894727e40 Changed the way sections work. From now on it is a separate module called by events. The router has been made far more efficient 2015-02-24 14:19:57 +01:00
3c54281092 Implemented Controller sections. This way modules can be loaded as controllers allowing for seperation of code. 2015-02-24 12:51:53 +01:00
15610d13ff Fixed the default eventregister config 2015-02-23 20:51:04 +01:00
4343e773af Added EventRegister. This allows the framework to determine what modules should be loaded at an event. This way classes only get loaded at the right time 2015-02-23 20:27:26 +01:00
9edf81085a Updated the config class. JSON support has been removed and a PHP config file writer has been implemented. 2015-02-23 19:30:13 +01:00
22d835257e Initial Commit, merge of MicroCore and FuzeWorks3 2015-02-08 17:29:39 +01:00