Exemple #1
0
 /**
  * @param array  $fields
  * @param mixed  $user
  * @param array  $safefields
  *
  * @return array
  */
 public function newTopic(array $fields = null, $user = null, array $safefields = null)
 {
     $catid = isset($safefields['category_id']) ? $safefields['category_id'] : $this->getNewTopicCategory($user)->id;
     $user = KunenaUserHelper::get($user);
     $message = new KunenaForumMessage();
     $message->catid = $catid;
     $message->name = $user->getName('');
     $message->userid = $user->userid;
     $message->ip = !empty($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : '';
     $message->hold = $this->review ? (int) (!$this->authorise('moderate', $user, true)) : 0;
     if ($safefields) {
         $message->bind($safefields);
     }
     if ($fields) {
         $message->bind($fields, array('name', 'email', 'subject', 'message'), true);
     }
     $topic = new KunenaForumTopic();
     $topic->category_id = $catid;
     $topic->hold = KunenaForum::TOPIC_CREATION;
     if ($safefields) {
         $topic->bind($safefields);
     }
     if ($fields) {
         $topic->bind($fields, array('subject', 'icon_id'), true);
     }
     $message->setTopic($topic);
     return array($topic, $message);
 }
Exemple #2
0
	public function newTopic($fields=array(), $user=null) {
		kimport ('kunena.forum.topic');
		kimport ('kunena.forum.message');

		$catid = $this->getNewTopicCategory()->id;
		$user = KunenaUserHelper::get($user);
		$message = new KunenaForumMessage();
		$message->catid = $catid;
		$message->name = $user->getName('');
		$message->userid = $user->userid;
		$message->ip = $_SERVER ["REMOTE_ADDR"];
		$message->hold = $this->review ? (int)!$this->authorise ('moderate', $user, true) : 0;
		$message->bind($fields, array ('name', 'email', 'subject', 'message'));

		$topic = new KunenaForumTopic();
		$topic->category_id = $catid;
		$topic->hold = $message->hold;
		$topic->bind($fields, array ('subject','icon_id'));

		$message->setTopic($topic);
		return array($topic, $message);
	}
Exemple #3
0
	static protected function loadTopics($ids) {
		foreach ($ids as $i=>$id) {
			if (isset(self::$_instances [$id]) || !is_numeric($id))
				unset($ids[$i]);
		}
		if (empty($ids))
			return;

		$idlist = implode(',', $ids);
		$db = JFactory::getDBO ();
		$query = "SELECT * FROM #__kunena_topics WHERE id IN ({$idlist})";
		$db->setQuery ( $query );
		$results = (array) $db->loadAssocList ('id');
		KunenaError::checkDatabaseError ();

		foreach ( $ids as $id ) {
			if (isset($results[$id])) {
				$instance = new KunenaForumTopic ();
				$instance->bind ( $results[$id] );
				$instance->exists(true);
				self::$_instances [$id] = $instance;
			} else {
				self::$_instances [$id] = null;
			}
		}
		unset ($results);
	}