Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
374 lines (276 sloc) 13.3 KB


Configuration files are located in :file:`config/autoload`. Config files are returning an associative array. All arrays are merged, so the order how the configuration files are processed is relevant.

Files with names ending in *.global.php are process first. As a second files ending in *.{env}.php. {env} can have at least the values production, and development. If the environment variable APPLICATION_ENV is set, and if files named *. development.php exist, then these configurations are processed. If no environment variable ist set, production is assumed.

At the end *.local.php files are processed.

Modules are coming with there own config directory. Configuration files of modules can be named *.config.php. This allows you to split configurations into sections. E.g. a router.config.php file should contain an associative array defining routing specific things.

If the enviroment is set to production, all configurations are cached in :file:`cache/module-classmap-cache.module_map.php` and :file:`cache/module-config-cache.production.php`. There is currently no way to invalidate the cache. You have to remove these files, if you modify files in file:config/autoload.


to enable login via Facebook, Xing, LinkedIn or any other hybridauth adapter simply copy the module.auth.local.php.dist file to :file:`config/autoload/module.auth.local.php` and adjust your keys and secrets.

The configuration structure was simply taken from the hybridauth library. So the "enabled" field means enabled for the hybridauth library. It does not mean "enabled" for login. To enable a social network for login you have to ad the lowercased key to enableLogins array. You have to copy the to :file:`config/autoload/` and adjust your values.


To configure an SMTP Server, copy MailServiceOptions.config.local.php to your config/autoload directory and adjust the values.

Setting the senders address

copy the into your config/autoload and set the fromEmail value.

Setting Mail Texts

The mail texts are defined by the following templats. You can overwrite the mails by mapping the following keys

The mail texts can be translated by adding the languages to the mapping keys. The Logic is coded in:


Setting channels

Currently prices and channels are hard coded. The operator of YAWIK is responsible for publishing a jobposting to n ordered channel.



point the DocumentRoot of your Webserver to the public directory.

<VirtualHost *:80>
      ServerName YOUR.HOSTNAME
      DocumentRoot /YOUR/DIRECTORY/YAWIK/public

      <Directory /YOUR/DIRECTORY/YAWIK/public>
              DirectoryIndex index.php
              AllowOverride All
              Order allow,deny
              Allow from all


you should SetEnv APPLICATION_ENV development in your VirtualHost section, if you plan do develop.



You can enable the debugging mode by setting the following configuration:

'tracy' => [
    'mode' => false

This will enable displaying of error messages on the screen and disables sending of email error notifications to the recipients specified in the following configuration:

'tracy' => [
    'email' => 'first.recipient@domain.tld, second.recipient@domain.tld'

The complete debugging configuration with default values consists of:

'tracy' => [
    'mode' => true, // toggles the production/development mode (true = production, false = development, null = autodetect, IP address(es) csv/array)
    'bar' => false, // toggles the diagnostics bar (a small bar placed in the bottom right corner of a browser displaying system info such a memory usage, elapsed time, ...)
    'strict' => true, // sets the error level strictness (bool = cause immediate death, int = matched against error severity)
    'log' => __DIR__ . '/../../../log/tracy', // sets the path to a log directory (this directory keeps error.log, snoozing mailsent file & html exception trace files)
    'email' => null, // sets the recipient(s) of email error notifications in the production mode (multiple recipients are separated with a comma or presented as an array)
    'email_snooze' => 900 // sets the interval for sending email error notifications in seconds

Debugging Mails

To send all mails to one or more specific mail addresses, regardless of the original recipients in To:, Cc: and Bcc: headers, you can set the configuration:

'mails' => array(
    'develop' => array(
             * Every mail send from the system will be send ONLY to this address(es),
             * regardless of the original set recipient(s) (including CC and BCC).
             * Use comma to separate addresses.
             * Use an empty string (or comment out) to disable.
            'override_recipient' => '',


If you put this configuration in an autoloaded config file which name ends in .development.php, it will be loaded only, when the environment variable APPLICATION_ENV is set to "development". This allows for quick enabling and disabling without the need to modify configuration files.