    public function __construct()
    {
        if (self::checkDB()) {
            // global $gneex;
            self::$opt = self::parseDB();
        // print_r($gneex);
            if (isset(self::$opt['adsense']) && self::$opt['adsense'] != '') {
                Hooks::attach('footer_load_lib', array('Gneex', 'loadAdsenseJs'));
            }
            if (isset(self::$opt['analytics']) && self::$opt['analytics'] != '') {
                Hooks::attach('footer_load_lib', array('Gneex', 'loadAnalytics'));
            }

            Hooks::attach('header_load_meta', array('Gneex', 'loadCSS'));
            Hooks::attach('admin_footer_action', array('Gneex', 'loadAdminAsset'));

            Hooks::attach('post_param_form', array('Gneex', 'postParam'));
        }
    }
The software constructs all or part of an SQL command using externally-influenced input from an upstream component, but it does not neutralize or incorrectly neutralizes special elements that could modify the intended SQL command when it is sent to a downstream component.