/** * @static * @param stdClass $forum * @param context_module $context * @return hsuforum_lib_discussion_sort */ public static function get_from_session($forum, context_module $context) { global $SESSION; require_once __DIR__ . '/subscribe.php'; if (!empty($SESSION->hsuforum_lib_discussion_sort)) { /** @var $instance hsuforum_lib_discussion_sort */ $instance = unserialize($SESSION->hsuforum_lib_discussion_sort); } else { $instance = new self(); } $dsub = new hsuforum_lib_discussion_subscribe($forum, $context); if (!$dsub->can_subscribe()) { $instance->disable('subscribe'); } return $instance; }
/** * @return BotServiceProvider */ static function createFor($url) { $bots = array('gtalk' => array('prefix' => sfConfig::get('app_rayku_url') . ':' . sfConfig::get('app_g_chat_port'), 'serviceUrl' => sfConfig::get('app_bots_url') . ':' . sfConfig::get('app_g_chat_port'), 'enabled' => true), 'facebook' => array('prefix' => sfConfig::get('app_facebook_url'), 'serviceUrl' => sfConfig::get('app_bots_url') . ':' . sfConfig::get('app_fb_chat_port'), 'enabled' => false), 'mac-server' => array('prefix' => sfConfig::get('app_notification_bot_url'), 'serviceUrl' => sfConfig::get('app_bots_url') . ':' . sfConfig::get('app_mac_server_port'), 'enabled' => true)); foreach ($bots as $botId => $botParams) { if (is_numeric(strpos($url, $botParams['prefix']))) { $botService = new self(str_replace($botParams['prefix'], '', $url), $botId); if (!$botParams['enabled']) { $botService->disable(); } return $botService; } } return new self($url); }