<?php
/*******************************************************************************

    Copyright 2014 Whole Foods Co-op

    This file is part of IT CORE.

    IT CORE is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    IT CORE is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    in the file license.txt along with IT CORE; if not, write to the Free Software
    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

*********************************************************************************/

class ObfLib
{
    protected static $db_setting = 'ObfDatabase';
    protected static $category_model = 'ObfCategoriesModel';
    protected static $category_map_model = 'ObfCategorySuperDeptMapModel';
    protected static $labor_model = 'ObfLaborModel';
    protected static $quarter_model = 'ObfQuartersModel';
    protected static $week_model = 'ObfWeeksModel';
    protected static $cache_model = 'ObfSalesCacheModel';

    public static function getDB()
    {
        $settings = FannieConfig::config('PLUGIN_SETTINGS');
        return FannieDB::get($settings[static::$db_setting]);
    }

    public static function getCategory($dbc)
    {
        $class = static::$category_model;
        return new $class($dbc);
    }

    public static function getCategoryMap($dbc)
    {
        $class = static::$category_map_model;
        return new $class($dbc);
    }

    public static function getLabor($dbc)
    {
        $class = static::$labor_model;
        return new $class($dbc);
    }

    public static function getQuarter($dbc)
    {
        $class = static::$quarter_model;
        return new $class($dbc);
    }

    public static function getWeek($dbc)
    {
        $class = static::$week_model;
        return new $class($dbc);
    }

    public static function getCache($dbc)
    {
        $class = static::$cache_model;
        return new $class($dbc);
    }
}

