<?php
/**
 * @link      http://github.com/Laminasframework/LaminasSkeletonApplication for the canonical source repository
 * @copyright Copyright (c) 2005-2016 Laminas Technologies USA Inc. (http://www.Laminas.com)
 * @license   http://framework.Laminas.com/license/new-bsd New BSD License
 */


namespace Khansia;
use Laminas\Mvc\MvcEvent;

class Module
{
    const VERSION = '3.0.3-dev';
    
	/**
     * 
     * @param \Laminas\Mvc\MvcEvent $e
    */

    public function getConfigs()
    {   
        $con =  './config/modules.config.php';
        return include $con;
    }
    
	public function getConfig(){        
        $con = $this->getConfigs();
        // echo '<pre>';
        // print_r($con);die;
        $dir =  './module/'.$con[20].'/config/module.config.php';
        // print_r($dir);die;
        return include $dir;
    }

    public function onBootstrap(MvcEvent $e)
    {
      
         // Allow from any origin
         if (isset($_SERVER['HTTP_ORIGIN'])) {
          header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
          header('Access-Control-Allow-Credentials: true');
          header('Access-Control-Max-Age: 86400');    // cache for 1 day
          // header('Set-Cookie: cross-site-cookie=name; SameSite=None; Secure');
          // header('Set-Cookie: cross-site-cookie=name; SameSite=Lax;');     

      }

      

          // Set a same-site cookie for first-party contexts
          setcookie('cookie1', 'value1', ['samesite' => 'Lax']);
          // Set a cross-site cookie for third-party contexts
          setcookie('cookie2', 'value2', ['samesite' => 'None', 'secure' => true]);


          // Set a same-site cookie for first-party contexts
          header('Set-Cookie: cookie1=value1; promo_shown=1; SameSite=Lax', false);
          // Set a cross-site cookie for third-party contexts
          header('Set-Cookie: cookie2=value2; promo_shown=1; SameSite=None; Secure', false);

        // Access-Control headers are received during OPTIONS requests
        if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {

            if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD'])) {
                header("Access-Control-Allow-Methods: GET, POST, OPTIONS");
            }

            if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS'])) {
                header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");
            }
            exit(0);
        }
    }

    public function getAutoloaderConfig() {

        $namespaces = array();
        $list = scandir(__DIR__);
        foreach ($list as $item) {
          if (is_dir(__DIR__ . '/' . $item)) {
            if (($item != '.') && ($item != '..')) {
              $namespaces[__NAMESPACE__ . '\\' . $item] = __DIR__ . '/' . $item;
            }
          }
        }
    
        return array(
          'Laminas\Loader\StandardAutoloader' => array(
            'namespaces' => $namespaces,
          ),
        );
    }
      
}