/** * Instantiates the plugin and setup all modules. * * @since 1.0.0 */ function visualizer_launch() { // setup environment define('VISUALIZER_BASEFILE', __FILE__); define('VISUALIZER_ABSURL', plugins_url('/', __FILE__)); define('VISUALIZER_ABSPATH', dirname(__FILE__)); if (!defined('VISUALIZER_CSV_DELIMITER')) { define('VISUALIZER_CSV_DELIMITER', ','); } if (!defined('VISUALIZER_CSV_ENCLOSURE')) { define('VISUALIZER_CSV_ENCLOSURE', '"'); } // don't load the plugin if cron job is running or doing autosave $doing_autosave = defined('DOING_AUTOSAVE') && DOING_AUTOSAVE; $doing_cron = defined('DOING_CRON') && DOING_CRON; $doing_ajax = defined('DOING_AJAX') && DOING_AJAX; if ($doing_autosave || $doing_cron) { return; } // instantiate the plugin $plugin = Visualizer_Plugin::instance(); // set general modules $plugin->setModule(Visualizer_Module_Setup::NAME); $plugin->setModule(Visualizer_Module_Sources::NAME); if ($doing_ajax) { // set ajax modules $plugin->setModule(Visualizer_Module_Chart::NAME); } else { if (is_admin()) { // set admin modules $plugin->setModule(Visualizer_Module_Admin::NAME); } else { // set frontend modules $plugin->setModule(Visualizer_Module_Frontend::NAME); } } }