当前位置: 首页>>代码示例>>PHP>>正文


PHP Topic::GetTopics方法代码示例

本文整理汇总了PHP中Topic::GetTopics方法的典型用法代码示例。如果您正苦于以下问题:PHP Topic::GetTopics方法的具体用法?PHP Topic::GetTopics怎么用?PHP Topic::GetTopics使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在Topic的用法示例。


在下文中一共展示了Topic::GetTopics方法的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: CreateList

	/**
	 * Creates the list of objects. Sets the parameter $p_hasNextElements to
	 * true if this list is limited and elements still exist in the original
	 * list (from which this was truncated) after the last element of this
	 * list.
	 *
	 * @param int $p_start
	 * @param int $p_limit
	 * @param array $p_parameters
	 * @param int &$p_count
	 * @return array
	 */
	protected function CreateList($p_start = 0, $p_limit = 0, array $p_parameters, &$p_count)
	{
	    $rootTopicId = $p_parameters['topic_identifier'];

	    if ($p_start > 0 || $p_limit > 0) {
	        $sqlOptions = array('LIMIT'=>array('START'=>$p_start,
											   'MAX_ROWS'=>($p_limit == 0 ? 0 : $p_limit + 1)
                                         )
                          );
	    } else {
	        $sqlOptions = null;
	    }

	    if (count($this->m_order) == 0) {
	    	$this->m_order[] = array('field'=>'default', 'dir'=>'asc');
	    }

	    $topicsList = Topic::GetTopics(null, $p_parameters['language_id'], null,
	                                   $rootTopicId, 1, $sqlOptions, $this->m_order);
	    $p_count = Topic::GetTopics(null, $p_parameters['language_id'], null,
	                                $rootTopicId, 1, null, null, true);
	    $metaTopicsList = array();
	    $index = 0;
	    foreach ($topicsList as $topic) {
	        $index++;
	        if ($p_limit == 0 || ($p_limit > 0 && $index <= $p_limit)) {
    	        $metaTopicsList[] = new MetaTopic($topic->getTopicId());
	        }
	    }
	    return $metaTopicsList;
	}
开发者ID:nistormihai,项目名称:Newscoop,代码行数:43,代码来源:SubtopicsList.php

示例2: testCreate

	public function testCreate()
	{
		// test create(), fetch(), getLeft(), getRight(), getName()
		$this->createAndTest(1, array('names'=>array(1=>'Sports', 2=>'Sport')), 1, 2);
		$this->createAndTest(3, array('names'=>array(1=>'Electronics', 2=>'Electronice')), 1, 2);
		$this->createAndTest(2, array('names'=>array(1=>'Education', 2=>'Educație')), 1, 2);
		$this->createAndTest(27, array('names'=>array(1=>'Health', 2=>'Sănătate')), 1, 2);

		$this->createAndTest(4, array('parent_id'=>3, 'names'=>array(1=>'Televisions', 2=>'Televizoare')), 6, 7);
		$this->createAndTest(9, array('parent_id'=>3, 'names'=>array(1=>'Portable Electronics', 2=>'Electronice portabile')), 6, 7);

		$this->createAndTest(14, array('parent_id'=>2, 'names'=>array(1=>'Culture', 2=>'Cultură')), 4, 5);
		$this->createAndTest(15, array('parent_id'=>2, 'names'=>array(1=>'Science', 2=>'Știință')), 4, 5);
		$this->createAndTest(26, array('parent_id'=>2, 'names'=>array(1=>'Religion', 2=>'Religie')), 4, 5);

		$this->createAndTest(16, array('parent_id'=>14, 'names'=>array(1=>'Music', 2=>'Muzică')), 9, 10);
		$this->createAndTest(19, array('parent_id'=>14, 'names'=>array(1=>'Film', 2=>'Film')), 9, 10);
		$this->createAndTest(22, array('parent_id'=>14, 'names'=>array(1=>'Books', 2=>'Cărți')), 9, 10);

		$this->createAndTest(17, array('parent_id'=>16, 'names'=>array(1=>'Classical', 2=>'Clasică')), 14, 15);
		$this->createAndTest(18, array('parent_id'=>16, 'names'=>array(1=>'Jazz', 2=>'Jazz')), 14, 15);

		$this->createAndTest(24, array('parent_id'=>15, 'names'=>array(1=>'Physics', 2=>'Fizică')), 7, 8);
		$this->createAndTest(25, array('parent_id'=>15, 'names'=>array(1=>'Mathematics', 2=>'Matematică')), 7, 8);

		// test constructor and GetByFullName()
		$topic = new Topic('Physics:en');

		// test other get methods
		$this->assertEquals(24, $topic->getTopicId());

		$this->assertEquals(15, $topic->getParentId());

		$this->assertEquals(2, $topic->getNumTranslations());

		$translations = array(1=>new TopicName(24, 1), 2=>new TopicName(24, 2));
		$this->assertEquals($translations, $topic->getTranslations());

		$path = array(2=>new Topic(2), 15=>new Topic(15), 24=>new Topic(24));
		$pathIds = array(2=>2, 15=>15, 24=>24);
		$this->assertEquals($path, $topic->getPath());
		$this->assertEquals($pathIds, $topic->getPath(true));

		$this->assertFalse($topic->hasSubtopics());

		$this->assertFalse($topic->isRoot());

		$this->assertEquals(1, $topic->getWidth());

		$this->assertEquals(array(), $topic->getSubtopics());

		$topic = new Topic('Educație:ro');

		$this->assertTrue($topic->isRoot());

		$this->assertTrue($topic->hasSubtopics());

		$this->assertEquals(21, $topic->getWidth());

		$this->assertEquals(null, $topic->getParentId());

		$this->assertEquals(array(2=>new Topic(2)), $topic->getPath());

		$subtopicsDepth1 = array(new Topic(26), new Topic(15), new Topic(14));
		$subtopicsDepth1Ids = array(26, 15, 14);
		$this->assertEquals($subtopicsDepth1, $topic->getSubtopics());
		$this->assertEquals($subtopicsDepth1Ids, $topic->getSubtopics(true));
		$subtopicsDepth2 = array(new Topic(26), new Topic(15), new Topic(25), new Topic(24),
		new Topic(14), new Topic(22), new Topic(19), new Topic(16));
		$this->assertEquals($subtopicsDepth2, $topic->getSubtopics(false, 2));
		$subtopicsAll = array(new Topic(26), new Topic(15), new Topic(25), new Topic(24),
		new Topic(14), new Topic(22), new Topic(19), new Topic(16), new Topic(18), new Topic(17));
		$this->assertEquals($subtopicsAll, $topic->getSubtopics(false, 0));

		$topics = array(new Topic(2));
		$this->assertEquals($topics, Topic::GetTopics(2));
		$this->assertEquals($topics, Topic::GetTopics(null, 1, 'Education'));
		$this->assertEquals($subtopicsDepth1, Topic::GetTopics(null, null, null, 2));
		$this->assertEquals($subtopicsAll, Topic::GetTopics(null, null, null, 2, 0));
		$subtopicsDepth1Name = array(new Topic(14), new Topic(26), new Topic(15));
		$this->assertEquals($subtopicsDepth1Name, Topic::GetTopics(null, 1, null, 2, 1,
		null, array(array('field'=>'byname', 'dir'=>'asc'))));

		$tree = array(
		array(27=>new Topic(27)),
		array(2=>new Topic(2)),
		array(2=>new Topic(2), 26=>new Topic(26)),
		array(2=>new Topic(2), 15=>new Topic(15)),
		array(2=>new Topic(2), 15=>new Topic(15), 25=>new Topic(25)),
		array(2=>new Topic(2), 15=>new Topic(15), 24=>new Topic(24)),
		array(2=>new Topic(2), 14=>new Topic(14)),
		array(2=>new Topic(2), 14=>new Topic(14), 22=>new Topic(22)),
		array(2=>new Topic(2), 14=>new Topic(14), 19=>new Topic(19)),
		array(2=>new Topic(2), 14=>new Topic(14), 16=>new Topic(16)),
		array(2=>new Topic(2), 14=>new Topic(14), 16=>new Topic(16), 18=>new Topic(18)),
		array(2=>new Topic(2), 14=>new Topic(14), 16=>new Topic(16), 17=>new Topic(17)),
		array(3=>new Topic(3)),
		array(3=>new Topic(3), 9=>new Topic(9)),
		array(3=>new Topic(3), 4=>new Topic(4)),
		array(1=>new Topic(1))
//.........这里部分代码省略.........
开发者ID:nistormihai,项目名称:Newscoop,代码行数:101,代码来源:TopicTest.php

示例3: GetByFullName

 /**
  * Returns a topic object identified by the full name in the
  * format topic_name:language_code
  *
  * @param string $p_fullName
  * @return Topic object
  */
 public static function GetByFullName($p_fullName)
 {
     $p_fullName = trim($p_fullName);
     $last_colon_pos = strrpos($p_fullName, ':');
     if (!$last_colon_pos) {
         // both none colon and a single colon as a string start are wrong
         return null;
     }
     $name = substr($p_fullName, 0, $last_colon_pos);
     $languageCode = substr($p_fullName, $last_colon_pos + 1);
     $languages = Language::GetLanguages(null, $languageCode, null, array(), array(), false);
     if (count($languages) < 1) {
         return null;
     }
     $languageObject = $languages[0];
     $topics = Topic::GetTopics(null, $languageObject->getLanguageId(), $name);
     if (count($topics) < 1) {
         return null;
     }
     return $topics[0];
 }
开发者ID:nidzix,项目名称:Newscoop,代码行数:28,代码来源:Topic.php

示例4: GetByFullName

	/**
	 * Returns a topic object identified by the full name in the
	 * format topic_name:language_code
	 *
	 * @param string $p_fullName
	 * @return Topic object
	 */
	public static function GetByFullName($p_fullName)
	{
	    $components = preg_split('/:/', trim($p_fullName));
	    if (count($components) < 2) {
	        return null;
	    }
	    $name = $components[0];
	    $languageCode = $components[1];

	    $languages = Language::GetLanguages(null, $languageCode, null, array(), array(), false);
	    if (count($languages) < 1) {
	        return null;
	    }
        $languageObject = $languages[0];

        $topics = Topic::GetTopics(null, $languageObject->getLanguageId(), $name);
	    if (count($topics) < 1) {
	        return null;
	    }

	    return $topics[0];
	} // fn GetByFullName
开发者ID:nistormihai,项目名称:Newscoop,代码行数:29,代码来源:Topic.php

示例5: getTopics

 public function getTopics()
 {
     $topics = \Topic::GetTopics(null, null, null, null, 5, null, null, true, false);
     return $topics['count'];
 }
开发者ID:nidzix,项目名称:Newscoop,代码行数:5,代码来源:StatService.php


注:本文中的Topic::GetTopics方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。