Huggle  build:^490^dce1e5c
 All Classes Namespaces Functions Variables Enumerations Enumerator Pages
wikipage.cpp
1 //This program is free software: you can redistribute it and/or modify
2 //it under the terms of the GNU General Public License as published by
3 //the Free Software Foundation, either version 3 of the License, or
4 //(at your option) any later version.
5 
6 //This program is distributed in the hope that it will be useful,
7 //but WITHOUT ANY WARRANTY; without even the implied warranty of
8 //MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9 //GNU General Public License for more details.
10 
11 #include "wikipage.hpp"
12 using namespace Huggle;
13 
15 {
16  this->Site = NULL;
17  this->PageName = "Unknown page";
18  this->Contents = "";
19 }
20 
21 WikiPage::WikiPage(QString name)
22 {
23  PageName = name;
24  Site = NULL;
25  this->Contents = "";
26 }
27 
29 {
30  this->PageName = page->PageName;
31  this->Site = page->Site;
32  this->Contents = page->Contents;
33 }
34 
35 WikiPage::WikiPage(const WikiPage &page)
36 {
37  this->PageName = page.PageName;
38  this->Site = page.Site;
39  this->Contents = page.Contents;
40 }
41 
43 {
44  if (PageName.startsWith(Configuration::LocalConfig_NSTalk) ||
45  PageName.startsWith(MEDIAWIKI_DEFAULT_NS_TALK))
46  {
47  return MediaWikiNS_Talk;
48  }
49  if (PageName.startsWith(Configuration::LocalConfig_NSProject) || PageName.startsWith(MEDIAWIKI_DEFAULT_NS_PROJECT))
50  {
51  return MediaWikiNS_Project;
52  }
53  if (PageName.startsWith(Configuration::LocalConfig_NSUser) || PageName.startsWith(MEDIAWIKI_DEFAULT_NS_USER))
54  {
55  return MediaWikiNS_User;
56  }
57  if (PageName.startsWith(Configuration::LocalConfig_NSUserTalk) || PageName.startsWith(MEDIAWIKI_DEFAULT_NS_USERTALK))
58  {
59  return MediaWikiNS_UserTalk;
60  }
61  if (PageName.startsWith(Configuration::LocalConfig_NSCategory) || PageName.startsWith(MEDIAWIKI_DEFAULT_NS_CATEGORY))
62  {
63  return MediaWikiNS_Category;
64  }
65  if (PageName.startsWith(Configuration::LocalConfig_NSCategoryTalk) || PageName.startsWith(MEDIAWIKI_DEFAULT_NS_CATEGORYTALK))
66  {
67  return MediaWikiNS_CategoryTalk;
68  }
69  if (PageName.startsWith(Configuration::LocalConfig_NSFile) || PageName.startsWith(MEDIAWIKI_DEFAULT_NS_FILE))
70  {
71  return MediaWikiNS_File;
72  }
73  if (PageName.startsWith(Configuration::LocalConfig_NSFileTalk) || PageName.startsWith(MEDIAWIKI_DEFAULT_NS_FILETALK))
74  {
75  return MediaWikiNS_FileTalk;
76  }
77  if (PageName.startsWith(Configuration::LocalConfig_NSMediaWikiTalk) || PageName.startsWith(MEDIAWIKI_DEFAULT_NS_MEDIAWIKITALK))
78  {
79  return MediaWikiNS_MediawikiTalk;
80  }
81  if (PageName.startsWith(Configuration::LocalConfig_NSMediaWiki) || PageName.startsWith(MEDIAWIKI_DEFAULT_NS_MEDIAWIKI))
82  {
83  return MediaWikiNS_Mediawiki;
84  }
85  if (PageName.startsWith(Configuration::LocalConfig_NSPortal) || PageName.startsWith(MEDIAWIKI_DEFAULT_NS_PORTAL))
86  {
87  return MediaWikiNS_Portal;
88  }
89  if (PageName.startsWith(Configuration::LocalConfig_NSPortalTalk) || PageName.startsWith(MEDIAWIKI_DEFAULT_NS_PORTALTALK))
90  {
91  return MediaWikiNS_PortalTalk;
92  }
93  return MediaWikiNS_Main;
94 }
95 
97 {
98  MediaWikiNS NS = this->GetNS();
99  if (NS == MediaWikiNS_Talk || NS == MediaWikiNS_HelpTalk || NS == MediaWikiNS_UserTalk)
100  {
101  return true;
102  }
103  return false;
104 }
105 
106 bool WikiPage::IsUserpage()
107 {
108  if (this->GetNS() == MediaWikiNS_User)
109  {
110  return true;
111  }
112  return false;
113 }
MediaWikiNS
Namespaces.
Definition: wikipage.hpp:21
bool IsTalk()
Return true in case this is a talk page.
Definition: wikipage.cpp:96
WikiPage()
Create new empty instance of wiki page.
Definition: wikipage.cpp:14
Mediawiki page.
Definition: wikipage.hpp:43
WikiSite * Site
Site this page is on.
Definition: wikipage.hpp:50
QString PageName
Name of page.
Definition: wikipage.hpp:48
MediaWikiNS GetNS()
Retrieve a namespace ID for current page.
Definition: wikipage.cpp:42