本文整理汇总了PHP中Topic::hasSubtopics方法的典型用法代码示例。如果您正苦于以下问题:PHP Topic::hasSubtopics方法的具体用法?PHP Topic::hasSubtopics怎么用?PHP Topic::hasSubtopics使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Topic
的用法示例。
在下文中一共展示了Topic::hasSubtopics方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: 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))
//.........这里部分代码省略.........
示例2: array
require_once $GLOBALS['g_campsiteDir'] . "/classes/ArticleTopic.php";
if (!SecurityToken::isValid()) {
camp_html_display_error(getGS('Invalid security token!'));
exit;
}
if (!$g_user->hasPermission('ManageTopics')) {
camp_html_display_error(getGS("You do not have the right to delete topics."));
exit;
}
$f_confirmed = Input::Get('f_confirmed', 'int', 0);
$f_topic_language_id = Input::Get('f_topic_language_id', 'int', 0);
$f_topic_delete_id = Input::Get('f_topic_delete_id', 'int', 0);
$errorMsgs = array();
$doDelete = true;
$deleteTopic = new Topic($f_topic_delete_id);
if ($deleteTopic->hasSubtopics()) {
$doDelete = false;
$errorMsgs[] = getGS('This topic has subtopics, therefore it cannot be deleted.');
}
$numArticles = count(ArticleTopic::GetArticlesWithTopic($f_topic_delete_id));
if ($numArticles > 0) {
$doDelete = false;
$errorMsgs[] = getGS('There are $1 articles using the topic.', $numArticles);
}
if ($f_confirmed == 1) {
// get a list of subtopics
$deleteTopics = $deleteTopic->getSubtopics();
// detach all subtopics from all articles
foreach ($deleteTopics as $topic) {
ArticleTopic::RemoveTopicFromArticles($topic->getTopicId());
}
示例3: array
if (!SecurityToken::isValid()) {
camp_html_display_error(getGS('Invalid security token!'));
exit;
}
if (!$g_user->hasPermission('ManageTopics')) {
camp_html_display_error(getGS("You do not have the right to delete topics."));
exit;
}
$f_topic_language_id = Input::Get('f_topic_language_id', 'int', 0);
$f_topic_delete_id = Input::Get('f_topic_delete_id', 'int', 0);
$errorMsgs = array();
$doDelete = true;
$deleteTopic = new Topic($f_topic_delete_id);
if (($deleteTopic->getNumTranslations() == 1) && $deleteTopic->hasSubtopics()) {
$doDelete = false;
$errorMsgs[] = getGS('This topic has subtopics, therefore it cannot be deleted.');
}
$numArticles = count(ArticleTopic::GetArticlesWithTopic($f_topic_delete_id));
if ($numArticles > 0) {
$doDelete = false;
$errorMsgs[] = getGS('There are $1 articles using the topic.', $numArticles);
}
if ($doDelete) {
$deleted = $deleteTopic->delete($f_topic_language_id);
if ($deleted) {
camp_html_add_msg(getGS("Topic was deleted."), "ok");
camp_html_goto_page("/$ADMIN/topics/index.php");
}