Exemple #1
0
	/**
	 * Returns KunenaForumTopic object.
	 *
	 * @param int  $identifier	The topic to load - Can be only an integer.
	 * @param bool $reload
	 *
	 * @return KunenaForumTopic
	 */
	static public function get($identifier = null, $reload = false)
	{
		if ($identifier instanceof KunenaForumTopic)
		{
			return $identifier;
		}

		$id = (int) $identifier;

		if ($id < 1)
		{
			return new KunenaForumTopic;
		}

		if (empty(self::$_instances[$id]))
		{
			$instance = new KunenaForumTopic;
			// Only load topics which haven't been preloaded before (including missing ones).
			$instance->load(!array_key_exists($id, self::$_instances) ? $id : null);
			$instance->id = $id;
			self::$_instances[$id] = $instance;
		}
		elseif ($reload)
		{
			self::$_instances[$id]->load();
		}

		return self::$_instances[$id];
	}