/** * Loads a specified flow controller * * @since 1.1 * * @param string|ShoppFlowController $controller The name of the controller class or a controller instance * @return bool True if a controller is set and initialized, false otherwise **/ public function handler($controller = null) { if (defined('WP_ADMIN') && is_null($controller) && isset($_GET['page'])) { $controller = $this->Admin->controller($_GET['page']); } if (!$controller) { return false; } if (is_a($this->Controller, $controller)) { return true; } // Already initialized if (!class_exists($controller)) { return false; } if (ShoppFlow::welcome()) { $controller = 'ShoppAdminWelcome'; } $this->Controller = new $controller(); do_action('shopp_' . sanitize_key($controller) . '_init'); return true; }