<?php

// uncomment the following to define a path alias
// Yii::setPathOfAlias('local','path/to/local-folder');

// This is the main Web application configuration. Any writable
// CWebApplication properties can be configured here.
return array(
    'timeZone' => 'Asia/Calcutta',
    'basePath' => dirname(__FILE__).DIRECTORY_SEPARATOR.'..',
    'name' => 'SiteBuilder',
    // preloading 'log' component
    'preload' => array('log'),

    // autoloading model and component classes
    'import' => array(
        'application.classes.*',
        'application.classes.components.*',
        'application.models.*',
        'application.widgets.*',
        'application.widgets.*',
        'application.validators.*',
        'application.classes.payments.*',
        'application.classes.payments.paypal-merchant-sdk.lib.PayPalAPIInterfaceService.*',
        'application.classes.payments.paypal-merchant-sdk.lib.services.PayPalAPIInterfaceService.*',
        'application.classes.payments.paypal-sdk-core.lib.*',
        'application.models.*',
        'application.models.mainsite_models.*',
        'application.models.mainsite_models.forms.*',
        'application.models.subsite_models.*',
        'application.models.subsite_models.forms.*',
        'application.api.*',
        'application.classes.swiftMailer.SwiftMailer',
        'application.classes.php-jwt.Authentication.*',
        'application.classes.php-jwt.Exceptions.*',
		'application.classes.commerce.*',
		'application.classes.commerce.modules.*',
		'application.classes.commerce.libary.*',
    ),
    'defaultController' => 'builder',

    // application components
    'components' => array(
        'context' => array(
            'class' => 'contextComponent',
        ),
        'site' => array(
            'class' => 'siteComponent',
        ),
        'url' => array(
            'class' => 'urlComponent',
        ),
		
        'cms' => array(
            'class' => 'cmsComponent',
        ),
        'authorization' => array(
            'class' => 'authorizationComponent',

        ),
        'lang' => array(
            'class' => 'languageComponent',
        ),
        'color' => array(
            'class' => 'colorComponent',
        ),
        'hosting' => require(dirname(__FILE__).'/../../hosting_config.php'),
		'twigRenderer' => array(
			  'class' => 'application.classes.ETwigViewRenderer',
					'twigPathAlias' => 'application.classes.twig.lib.Twig',
				
			  // All parameters below are optional, change them to your needs
			  'fileExtension' => '.twig',
			  'more_paths'=> array(
					'application.widgets.views.modules'
				),
			  'options' => array(
				  'autoescape' => true,
			  ),
			  'extensions' => array(
				 // 'My_Twig_Extension',
			  ),
			  'globals' => array(
				  'html' => 'CHtml'
			  ),
			  'functions' => array(
				  'rot13' => 'str_rot13',
			  ),
			  'filters' => array(
				  'jencode' => 'CJSON::encode',
			  ),
			  // Change template syntax to Smarty-like (not recommended)
			  'lexerOptions' => array(
				//  'tag_comment'  => array('{*', '*}'),
				//  'tag_block'    => array('{', '}'),
				//  'tag_variable' => array('{$', '}')
			  ),
		  ),
        
        'user' => array(
            'class' => 'BWebUser',
            'allowAutoLogin' => true,
            'loginUrl' => array('user/login'),
        ),
        'authManager' => array(
            'class' => 'application.classes.components.authManager',
            'defaultRoles' => array('Owner','Authenticated','Super Administrator'),
            'showErrors' => true,
            'itemTable' => 'tbl_authitem',
            'itemChildTable' => 'tbl_authitemchild',
            'assignmentTable' => 'tbla_authassignment',
        ),
        'payment' => require(dirname(__FILE__).'/../../payment_config.php'),
        'mailer' => require(dirname(__FILE__).'/../../mail_config.php'),
		'session' => require(dirname(__FILE__).'/../../session_config.php'),	
        'db' => require(dirname(__FILE__).'/../../db_config.php'),
        'request' => array(
            'enableCsrfValidation' => true,
            'enableCookieValidation' => true,
			//'noCsrfValidationRoutes'=>array(
				//'user/postlogin',
			//),
        ),

        'dba' => require(dirname(__FILE__).'/../../dba_config.php'),
        'errorHandler' => array(
            'errorAction' => 'builder/error',
        ),
        'urlManager' => array(
            'urlFormat' => 'path',
            'rules' => array(
                '<action:\w+>' => 'builder/<action>',
            ),
        ),
        'log' => require(dirname(__FILE__).'/../../log_config.php'),
    ),

    // application-level parameters that can be accessed
    // using Yii::app()->params['paramName']
    'params' => require(dirname(__FILE__).'/../../mainsite_config.php'),
);
