Commit Graph

332 Commits

Author SHA1 Message Date
ed93cc3442 Implemented temporal directories.
Cache should now be written to pre-defined directories.
2016-07-09 11:39:36 +02:00
7fc7d63179 Implemented renewed unit tests.
These now work in the new construction
2016-07-07 18:29:26 +02:00
b0f73d5537 Changed all directory pointers in FuzeWorks to use the directories defined in FuzeWorks\Core.
The index file has been removed as well. This file has been replaced with the FuzeWorks\Configurator class. The configurator prepares FuzeWorks and loads it when requested. This allows for more flexible startups.
2016-07-07 17:48:09 +02:00
5d19a1c4dc Removed support for PHP5.4 and 5.5.
This is no longer necessary as FuzeWorks simply doesn't support it anymore.
2016-07-07 13:54:52 +02:00
9b054276c1 Made JSON valid.
Sorry for the inconvencience
2016-07-07 13:50:42 +02:00
6304c84fb7 Added Application folder to gitattributes.
This should soon be removed, but is necessary in this development phase.
2016-07-07 13:49:22 +02:00
c51fc93fb2 Implemented the renewed composer.json and gitattributes for a composer release.
This should allow us to create the project soon in packagist.
2016-07-07 13:47:53 +02:00
2cfb926965 Merge branch 'master' into 'master'
Implemented Nette/Latte engine.

This Engine allows for really neat ways to handle templates. It is an optional dependency which will be installed if composer is used.

See merge request !48
2016-07-07 13:20:36 +02:00
955715c79b Implemented Nette/Latte engine.
This Engine allows for really neat ways to handle templates. It is an optional dependency which will be installed if composer is used.
2016-07-07 13:07:06 +02:00
625e7ffa2b Merge branch '98-implement-hybrid-router' into 'master'
Implemented renewed Routing and Output system.

Everything is in accordance with issue #89 and #90.

> Closes #89 

> Closes #90

> Closes #98 

See merge request !47
2016-06-26 16:41:10 +02:00
c0d9781f6f Fixed issue #98.
Apparantly a failing libraryPaths array can cause things to go really weird.

> Closes #98
2016-06-08 15:19:58 +02:00
440ead5784 Implemented Tracy/Debugger from the Nette framework.
This debugger allows for advanced debugging for both development and production environments.
This did however require the implementation of an ENVIRONMENT constant. This has been put in the index file. If no constant is set it will be set by the core class and the default is PRODUCTION.
Chances are that the location for this constant will move in the future.

There is also a proper way now that fatal errors will lead to a 500 error on the screen. This is either done by Tracy or FuzeWorks, depending on if Tracy is available.
2016-06-08 14:57:41 +02:00
525e77203d Implemented DB Caching 2016-06-07 17:47:35 +02:00
a2bd137386 Added documentation to the Router class. 2016-06-07 16:23:44 +02:00
7aff99c701 Implemented a few unit tests for the new classes. 2016-06-07 15:52:02 +02:00
8298975c98 Implemented renewed Routing and Output system.
Everything is in accordance with issue #89 and #90.
2016-06-07 15:12:35 +02:00
121a6d4735 Merge branch '96-code-coverage-in-gitlab-ci' into 'master'
Resolve "Code Coverage in Gitlab CI"

### Code Coverage is fully functional

Closes #96

See merge request !46
2016-06-04 16:27:41 +02:00
5cb64e95c2 Merge branch '96-code-coverage-in-gitlab-ci' into '96-code-coverage-in-gitlab-ci'
Implemented xdebug in Gitlab CI and added code coverage systems

###### Code Coverage should now work properly.

> Closes #96 


See merge request !45
2016-06-04 16:22:38 +02:00
01491b7f65 Implemented xdebug in Gitlab CI and added code coverage systems
Code Coverage should now work properly.
2016-06-04 16:17:21 +02:00
0ed6d8dd30 Merge branch '77-unit-tests-for-the-core' into 'master'
Core Unit Tests

The first tests have been added: 
- Layout
- Core
- Events
- Helpers
- Factory
- Config
- Libraries

Please wait until more of the list is handled. 

Some of the events mentioned in #77 are fixed. However not all of them are done yet.

> Closes #84

> Closes #88

> Closes #93

See merge request !44
2016-06-04 14:10:01 +02:00
5df6b733d0 Implemented many unit tests.
The following tests for classes have been implemented:
- Security
- Input
- Encryption Library
- Utf8

A mocking autoloader has been added (but is not yet configured correctly)
2016-06-02 23:57:23 +02:00
96ca890656 Finished the Library system
All unit tests have also been implemented.
Many bugs have been smashed with the mighty hammer.
2016-06-02 20:13:08 +02:00
ae94dca984 Removed deprecated methods from Factory.
All classes that use this have been changed.
2016-06-02 20:12:22 +02:00
da1752dd5f Zip class now only uses the Factory class.
The logger is loaded through the Factory class.
2016-06-02 19:15:46 +02:00
c97c7f8aab Config documentation now has @throws statements 2016-06-02 19:15:18 +02:00
ef82ea3463 Added new test for Config.
The test checks if instances from Config->getConfig() are the same.
2016-06-02 15:44:32 +02:00
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
c0bba7915f Updated PHPUnit to a newer version. 2016-06-02 14:08:48 +02:00
544a84434c Allowed the Factory class to be extended.
A class can now extend the Factory class and use all of its properties.
Properties like the layout system can be called like $this->layout, when extended. Just like the old days with the Bus abstract class.
Advantage of this system is that you don't require the use of extending the Factory class. Calling the factory for just one use is also possible.

Closes #93.
2016-06-02 13:57:32 +02:00
57c54b0126 Implemented simplified config class.
Now it only features one (simpler) ORM, which is the ConfigFileORM.
If a new type of config should be added, it should be done through models.

Unit tests for the basic config class have been implemented.
2016-06-01 16:03:53 +02:00
bc6136525b Implemented the Factory and the FactoryTest.
The Factory class is the central point for class communication in FuzeWorks. When someone needs to load, for instance, the layout class, one has to do the following:

$factory = Factory::getInstance();
$layout = $factory->layout;

The Factory class allows the user to replace dependencies on the fly. It is possible for a class to replace a dependency, like Logger, on the fly by calling the $factory->newInstance('Logger'); or the $factory->setInstance('Logger', $object); This allows for creative ways to do dependency injection, or keep classes
separated.

It is also possible to load a cloned instance of the Factory class, so that all properties are independant as well,
all to suit your very needs.
2016-05-27 16:33:12 +02:00
bb0f8aee65 Update README.md to show build information 2016-05-27 15:08:36 +02:00
5aa165d4a4 Implemented Helper Tests
As more helpers get added, more tests will get added
2016-05-27 14:38:28 +02:00
84432bf9a1 And commit 2, so the capitals are correct 2016-05-27 14:05:11 +02:00
358f064794 One commit to move the file, so we can lower the capitals 2016-05-27 14:03:33 +02:00
68afa1ef1b Implemented a (failed) config and a renewed Helpers class.
Helpers class is now fully supported by continuous integration.
2016-05-27 13:55:31 +02:00
0adcdb7449 Implemented new and renewed core tests.
The layout tests have been updated, and Core and events tests have been added.
2016-05-25 17:01:59 +02:00
99573c0fb8 Merge branch '85-implement-gitlab-ci' into 'master'
Resolve "Implement Gitlab CI"

##### GitLab CI has now been successfully implemented into FuzeWorks. 

Some tests have been **removed** or **altered** in order for them to work. 


*PHP 5.4 and 5.5 do not work right now. These builds are allowed to fail right now. This should be a priority for the future.*


> Closes #85

See merge request !43
2016-05-25 14:37:58 +02:00
4af73f3b58 Fixed existing tests.
Query and model tests are removed since they are no longer supported.
New tests will follow.
2016-05-25 14:28:57 +02:00
dbf6d87c95 First implementation of Gitlab CI 2016-05-25 13:46:13 +02:00
93a6addfaf Merge branch '83-implement-codeigniter-core' into 'master'
83 implement codeigniter core

##### Most features from the CodeIgniter core has been implemented.
This means a big step in the development of FuzeWorks. A lot of external code from CodeIgniter libraries can now function inside FuzeWorks.


###### It has also come to the attention of the development team that the static core has it's problems.

We will change this by building a Factory class, which serves as the hub for all object distribution in FuzeWorks.

The factory will feature the serving of core classes, which share the same instance. However, it will be possible to change an instance for only one class or more. This will make it possible to properly replace classes when required to do so.

Code will change like follows:
```python
Layout::view('welcome');
```
To:
```python
$factory = Factory::getInstance();
$factory->getLayout()->view('welcome');
```

---

> This MR closes the following issues:

> Closes #83 

> Closes #75 

> Closes #69 

> Closes #15 


See merge request !42
2016-05-22 10:11:02 +02:00
7d3323bfe7 Started implementing the Factory.
This will have huge consequences for FuzeWorks.
2016-05-24 12:42:14 +02:00
3343c08594 Implemented many CodeIgniter classes.
Preparing for Factory Build
2016-05-24 12:05:29 +02:00
02206f4bda Implemented a new mailer library.
The old PHPMailer wrapper module has been replaced with a more lightweight library from CodeIgniter.

Supports the following feautures:
- Multiple Protocols: Mail, Sendmail, and SMTP
- TLS and SSL Encryption for SMTP
- Multiple recipients
- CC and BCCs
- HTML or Plaintext email
- Attachments
- Word wrapping
- Priorities
- BCC Batch Mode, enabling large email lists to be broken into small BCC batches.
- Email Debugging tools
2016-05-22 20:20:50 +02:00
dc5f830a0a Implemented the Database language and error handler. 2016-05-22 19:39:58 +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
3284246fcf Added documentation to Database class. 2016-05-21 22:11:21 +02:00
d3391ddaa0 Changed classnames to FuzeWorks prefix. 2016-05-20 21:59:28 +02:00
aa35631719 Removed the old database manager. 2016-05-20 17:33:43 +02:00
6956a3a0d9 Implemented the new database engine. Advanced instructions will follow in Merge Request 2016-05-20 17:29:33 +02:00