00001 <?php
00002
00010 require_once( 'SMW_GlobalFunctions.php' );
00011
00027 function enableSemantics( $namespace = null, $complete = false ) {
00028 global $smwgIP, $wgFooterIcons, $wgExtensionFunctions,
00029 $wgExtensionMessagesFiles,
00030 $smwgNamespace, $wgAPIModules;
00031
00032 $wgExtensionFunctions[] = 'smwfSetupExtension';
00033 $wgExtensionMessagesFiles['SemanticMediaWiki'] = $smwgIP . 'languages/SMW_Messages.php';
00034 $wgExtensionMessagesFiles['SemanticMediaWikiAlias'] = $smwgIP . 'languages/SMW_Aliases.php';
00035 $wgExtensionMessagesFiles['SemanticMediaWikiMagic'] = $smwgIP . 'languages/SMW_Magic.php';
00036
00037 smwfRegisterHooks();
00038 smwfRegisterResourceLoaderModules();
00039 smwfRegisterClasses();
00040 smwfRegisterSpecialPages();
00041
00042 $wgAPIModules['smwinfo'] = 'ApiSMWInfo';
00043 $wgAPIModules['ask'] = 'ApiAsk';
00044 $wgAPIModules['askargs'] = 'ApiAskArgs';
00045
00046 $wgFooterIcons['poweredby']['semanticmediawiki'] = array(
00047 'src' => null,
00048 'url' => 'http://www.semantic-mediawiki.org/wiki/Semantic_MediaWiki',
00049 'alt' => 'Powered by Semantic MediaWiki',
00050 );
00051
00052
00053 if ( is_null( $namespace ) ) {
00054 die ( 'You should be providing the domain name to enableSemantics()' );
00055
00056
00057
00058 }
00059 if ( !$complete && ( $smwgNamespace !== '' ) ) {
00060
00061
00062
00063 $smwgNamespace = '.' . $namespace;
00064 } else {
00065 $smwgNamespace = $namespace;
00066 }
00067
00068 return true;
00069 }
00070
00074 function smwfRegisterHooks() {
00075 global $wgHooks, $wgVersion;
00076
00077 $wgHooks['LoadExtensionSchemaUpdates'][] = 'SMWHooks::onSchemaUpdate';
00078
00079 $wgHooks['ParserTestTables'][] = 'SMWHooks::onParserTestTables';
00080 $wgHooks['AdminLinks'][] = 'SMWHooks::addToAdminLinks';
00081 $wgHooks['PageSchemasRegisterHandlers'][] = 'SMWHooks::onPageSchemasRegistration';
00082
00083 $wgHooks['ParserFirstCallInit'][] = 'SMWSMWDoc::staticInit';
00084 $wgHooks['ParserFirstCallInit'][] = 'SMWInfo::staticInit';
00085
00086 $wgHooks['InternalParseBeforeLinks'][] = 'SMWParserExtensions::onInternalParseBeforeLinks';
00087 $wgHooks['ArticleDelete'][] = 'SMWParseData::onArticleDelete';
00088 $wgHooks['TitleMoveComplete'][] = 'SMWParseData::onTitleMoveComplete';
00089 $wgHooks['LinksUpdateConstructed'][] = 'SMWParseData::onLinksUpdateConstructed';
00090 $wgHooks['ParserAfterTidy'][] = 'SMWParseData::onParserAfterTidy';
00091 $wgHooks['NewRevisionFromEditComplete'][] = 'SMWParseData::onNewRevisionFromEditComplete';
00092 $wgHooks['OutputPageParserOutput'][] = 'SMWFactbox::onOutputPageParserOutput';
00093 $wgHooks['ArticleFromTitle'][] = 'SMWHooks::onArticleFromTitle';
00094 $wgHooks['ParserFirstCallInit'][] = 'SMWHooks::onParserFirstCallInit';
00095
00096 if ( $GLOBALS['smwgToolboxBrowseLink'] ) {
00097 $wgHooks['SkinTemplateToolboxEnd'][] = 'SMWHooks::showBrowseLink';
00098 }
00099
00100 $wgHooks['SkinAfterContent'][] = 'SMWFactbox::onSkinAfterContent';
00101 $wgHooks['SkinGetPoweredBy'][] = 'SMWHooks::addPoweredBySMW';
00102
00103 if ( version_compare( $wgVersion, '1.17alpha', '>=' ) ) {
00104
00105 $wgHooks['ExtensionTypes'][] = 'SMWHooks::addSemanticExtensionType';
00106 } else {
00107
00108 $wgHooks['SpecialVersionExtensionTypes'][] = 'SMWHooks::oldAddSemanticExtensionType';
00109 }
00110 }
00111
00115 function smwfRegisterResourceLoaderModules() {
00116 global $wgResourceModules, $smwgIP, $smwgScriptPath, $wgVersion, $wgStylePath, $wgStyleVersion;
00117
00118 $moduleTemplate = array(
00119 'localBasePath' => $smwgIP,
00120 'remoteBasePath' => $smwgScriptPath,
00121 'group' => 'ext.smw'
00122 );
00123
00124 $wgResourceModules['ext.smw'] = $moduleTemplate + array(
00125 'scripts' => array(
00126 'resources/ext.smw.js',
00127 'resources/ext.smw.compat.js',
00128 ),
00129 );
00130
00131 $wgResourceModules['ext.smw.style'] = $moduleTemplate + array(
00132 'styles' => 'skins/SMW_custom.css'
00133 );
00134
00135 $wgResourceModules['ext.smw.tooltips'] = $moduleTemplate + array(
00136 'scripts' => 'skins/SMW_tooltip.js',
00137 'dependencies' => array(
00138 'mediawiki.legacy.wikibits',
00139 'ext.smw.style'
00140 )
00141 );
00142
00143
00144
00145
00146 if ( version_compare( $wgVersion, '1.17alpha', '<' ) ) {
00147
00148
00149 $wgResourceModules['jquery'] = array(
00150 'scripts' => "common/jquery.min.js?$wgStyleVersion",
00151 'localBasePath' => null,
00152 'remoteBasePath' => $wgStylePath,
00153 'group' => 'ext.smw'
00154 );
00155 $wgResourceModules['jquery.ui.core'] = $moduleTemplate + array(
00156 'scripts' => 'libs/jquery-ui/jquery.ui.core.min.js',
00157 'styles' => 'skins/jquery-ui/base/jquery.ui.all.css',
00158 'dependencies' => 'jquery'
00159 );
00160 $wgResourceModules['jquery.ui.widget'] = $moduleTemplate + array(
00161 'scripts' => 'libs/jquery-ui/jquery.ui.widget.min.js'
00162 );
00163 $wgResourceModules['jquery.ui.position'] = $moduleTemplate + array(
00164 'scripts' => 'libs/jquery-ui/jquery.ui.position.min.js'
00165 );
00166 $wgResourceModules['jquery.ui.button'] = $moduleTemplate + array(
00167 'scripts' => 'libs/jquery-ui/jquery.ui.button.min.js',
00168 'dependencies' => array( 'jquery.ui.core', 'jquery.ui.widget' )
00169 );
00170 $wgResourceModules['jquery.ui.autocomplete'] = $moduleTemplate + array(
00171 'scripts' => 'libs/jquery-ui/jquery.ui.autocomplete.min.js',
00172 'dependencies' => array( 'jquery.ui.core', 'jquery.ui.widget', 'jquery.ui.position' )
00173 );
00174 $wgResourceModules['jquery.ui.dialog'] = $moduleTemplate + array(
00175 'scripts' => 'libs/jquery-ui/jquery.ui.dialog.min.js',
00176 'dependencies' => array( 'jquery.ui.core', 'jquery.ui.widget', 'jquery.ui.position',
00177 'jquery.ui.button' )
00178 );
00179 }
00180 }
00181
00185 function smwfRegisterClasses() {
00186 global $smwgIP, $wgAutoloadClasses, $wgJobClasses;
00187
00188 $wgAutoloadClasses['SMWHooks'] = $smwgIP . 'SemanticMediaWiki.hooks.php';
00189
00190 $incDir = $smwgIP . 'includes/';
00191 $wgAutoloadClasses['SMWCompatibilityHelpers'] = $incDir . 'SMW_CompatibilityHelpers.php';
00192 $wgAutoloadClasses['SMWDataValueFactory'] = $incDir . 'SMW_DataValueFactory.php';
00193 $wgAutoloadClasses['SMWDISerializer'] = $incDir . 'SMW_DISerializer.php';
00194 $wgAutoloadClasses['SMWFactbox'] = $incDir . 'SMW_Factbox.php';
00195 $wgAutoloadClasses['SMWInfolink'] = $incDir . 'SMW_Infolink.php';
00196 $wgAutoloadClasses['SMWOutputs'] = $incDir . 'SMW_Outputs.php';
00197 $wgAutoloadClasses['SMWParseData'] = $incDir . 'SMW_ParseData.php';
00198 $wgAutoloadClasses['SMWParserExtensions'] = $incDir . 'SMW_ParserExtensions.php';
00199 $wgAutoloadClasses['SMWQueryLanguage'] = $incDir . 'SMW_QueryLanguage.php';
00200 $wgAutoloadClasses['SMWSemanticData'] = $incDir . 'SMW_SemanticData.php';
00201 $wgAutoloadClasses['SMWPageLister'] = $incDir . 'SMW_PageLister.php';
00202
00203
00204 $apDir = $smwgIP . 'includes/articlepages/';
00205 $wgAutoloadClasses['SMWOrderedListPage'] = $apDir . 'SMW_OrderedListPage.php';
00206 $wgAutoloadClasses['SMWPropertyPage'] = $apDir . 'SMW_PropertyPage.php';
00207 $wgAutoloadClasses['SMWConceptPage'] = $apDir . 'SMW_ConceptPage.php';
00208
00209
00210 $qpDir = $smwgIP . 'includes/queryprinters/';
00211 $wgAutoloadClasses['SMWResultPrinter'] = $qpDir . 'SMW_QueryPrinter.php';
00212 $wgAutoloadClasses['SMWAggregatablePrinter'] = $qpDir . 'SMW_QP_Aggregatable.php';
00213 $wgAutoloadClasses['SMWTableResultPrinter'] = $qpDir . 'SMW_QP_Table.php';
00214 $wgAutoloadClasses['SMWListResultPrinter'] = $qpDir . 'SMW_QP_List.php';
00215 $wgAutoloadClasses['SMWCategoryResultPrinter'] = $qpDir . 'SMW_QP_Category.php';
00216 $wgAutoloadClasses['SMWEmbeddedResultPrinter'] = $qpDir . 'SMW_QP_Embedded.php';
00217 $wgAutoloadClasses['SMWRSSResultPrinter'] = $qpDir . 'SMW_QP_RSSlink.php';
00218 $wgAutoloadClasses['SMWCsvResultPrinter'] = $qpDir . 'SMW_QP_CSV.php';
00219 $wgAutoloadClasses['SMWDSVResultPrinter'] = $qpDir . 'SMW_QP_DSV.php';
00220 $wgAutoloadClasses['SMWJSONResultPrinter'] = $qpDir . 'SMW_QP_JSONlink.php';
00221 $wgAutoloadClasses['SMWRDFResultPrinter'] = $qpDir . 'SMW_QP_RDF.php';
00222
00223
00224 $diDir = $smwgIP . 'includes/dataitems/';
00225 $wgAutoloadClasses['SMWDataItem'] = $diDir . 'SMW_DataItem.php';
00226 $wgAutoloadClasses['SMWDataItemException'] = $diDir . 'SMW_DataItem.php';
00227 $wgAutoloadClasses['SMWDIProperty'] = $diDir . 'SMW_DI_Property.php';
00228 $wgAutoloadClasses['SMWDIBoolean'] = $diDir . 'SMW_DI_Bool.php';
00229 $wgAutoloadClasses['SMWDINumber'] = $diDir . 'SMW_DI_Number.php';
00230 $wgAutoloadClasses['SMWDIBlob'] = $diDir . 'SMW_DI_Blob.php';
00231 $wgAutoloadClasses['SMWDIString'] = $diDir . 'SMW_DI_String.php';
00232 $wgAutoloadClasses['SMWStringLengthException'] = $diDir . 'SMW_DI_String.php';
00233 $wgAutoloadClasses['SMWDIUri'] = $diDir . 'SMW_DI_URI.php';
00234 $wgAutoloadClasses['SMWDIWikiPage'] = $diDir . 'SMW_DI_WikiPage.php';
00235 $wgAutoloadClasses['SMWDITime'] = $diDir . 'SMW_DI_Time.php';
00236 $wgAutoloadClasses['SMWDIConcept'] = $diDir . 'SMW_DI_Concept.php';
00237 $wgAutoloadClasses['SMWDIError'] = $diDir . 'SMW_DI_Error.php';
00238 $wgAutoloadClasses['SMWDIGeoCoord'] = $diDir . 'SMW_DI_GeoCoord.php';
00239 $wgAutoloadClasses['SMWContainerSemanticData'] = $diDir . 'SMW_DI_Container.php';
00240 $wgAutoloadClasses['SMWDIContainer'] = $diDir . 'SMW_DI_Container.php';
00241
00242
00243 $dvDir = $smwgIP . 'includes/datavalues/';
00244 $wgAutoloadClasses['SMWDataValue'] = $dvDir . 'SMW_DataValue.php';
00245 $wgAutoloadClasses['SMWRecordValue'] = $dvDir . 'SMW_DV_Record.php';
00246 $wgAutoloadClasses['SMWErrorValue'] = $dvDir . 'SMW_DV_Error.php';
00247 $wgAutoloadClasses['SMWStringValue'] = $dvDir . 'SMW_DV_String.php';
00248 $wgAutoloadClasses['SMWWikiPageValue'] = $dvDir . 'SMW_DV_WikiPage.php';
00249 $wgAutoloadClasses['SMWPropertyValue'] = $dvDir . 'SMW_DV_Property.php';
00250 $wgAutoloadClasses['SMWURIValue'] = $dvDir . 'SMW_DV_URI.php';
00251 $wgAutoloadClasses['SMWTypesValue'] = $dvDir . 'SMW_DV_Types.php';
00252 $wgAutoloadClasses['SMWPropertyListValue'] = $dvDir . 'SMW_DV_PropertyList.php';
00253 $wgAutoloadClasses['SMWNumberValue'] = $dvDir . 'SMW_DV_Number.php';
00254 $wgAutoloadClasses['SMWTemperatureValue'] = $dvDir . 'SMW_DV_Temperature.php';
00255 $wgAutoloadClasses['SMWQuantityValue'] = $dvDir . 'SMW_DV_Quantity.php';
00256 $wgAutoloadClasses['SMWTimeValue'] = $dvDir . 'SMW_DV_Time.php';
00257 $wgAutoloadClasses['SMWBoolValue'] = $dvDir . 'SMW_DV_Bool.php';
00258 $wgAutoloadClasses['SMWConceptValue'] = $dvDir . 'SMW_DV_Concept.php';
00259 $wgAutoloadClasses['SMWImportValue'] = $dvDir . 'SMW_DV_Import.php';
00260
00261
00262 $expDir = $smwgIP . 'includes/export/';
00263 $wgAutoloadClasses['SMWExporter'] = $expDir . 'SMW_Exporter.php';
00264 $wgAutoloadClasses['SMWExpData'] = $expDir . 'SMW_Exp_Data.php';
00265 $wgAutoloadClasses['SMWExpElement'] = $expDir . 'SMW_Exp_Element.php';
00266 $wgAutoloadClasses['SMWExpLiteral'] = $expDir . 'SMW_Exp_Element.php';
00267 $wgAutoloadClasses['SMWExpResource'] = $expDir . 'SMW_Exp_Element.php';
00268 $wgAutoloadClasses['SMWExpNsResource'] = $expDir . 'SMW_Exp_Element.php';
00269 $wgAutoloadClasses['SMWExportController'] = $expDir . 'SMW_ExportController.php';
00270 $wgAutoloadClasses['SMWSerializer'] = $expDir . 'SMW_Serializer.php';
00271 $wgAutoloadClasses['SMWRDFXMLSerializer'] = $expDir . 'SMW_Serializer_RDFXML.php';
00272 $wgAutoloadClasses['SMWTurtleSerializer'] = $expDir . 'SMW_Serializer_Turtle.php';
00273
00274
00275 $parDir = $smwgIP . 'includes/params/';
00276 $wgAutoloadClasses['SMWParamFormat'] = $parDir . 'SMW_ParamFormat.php';
00277
00278
00279 $phDir = $smwgIP . 'includes/parserhooks/';
00280 $wgAutoloadClasses['SMWAsk'] = $phDir . 'SMW_Ask.php';
00281 $wgAutoloadClasses['SMWShow'] = $phDir . 'SMW_Show.php';
00282 $wgAutoloadClasses['SMWInfo'] = $phDir . 'SMW_Info.php';
00283 $wgAutoloadClasses['SMWSubobject'] = $phDir . 'SMW_Subobject.php';
00284 $wgAutoloadClasses['SMWConcept'] = $phDir . 'SMW_Concept.php';
00285 $wgAutoloadClasses['SMWSet'] = $phDir . 'SMW_Set.php';
00286 $wgAutoloadClasses['SMWSetRecurringEvent'] = $phDir . 'SMW_SetRecurringEvent.php';
00287 $wgAutoloadClasses['SMWDeclare'] = $phDir . 'SMW_Declare.php';
00288 $wgAutoloadClasses['SMWSMWDoc'] = $phDir . 'SMW_SMWDoc.php';
00289
00290
00291 $wgAutoloadClasses['SMWQueryProcessor'] = $smwgIP . 'includes/SMW_QueryProcessor.php';
00292 $wgAutoloadClasses['SMWQueryParser'] = $smwgIP . 'includes/SMW_QueryParser.php';
00293
00294 $wgAutoloadClasses['SMWSparqlDatabase'] = $smwgIP . 'includes/sparql/SMW_SparqlDatabase.php';
00295 $wgAutoloadClasses['SMWSparqlDatabase4Store'] = $smwgIP . 'includes/sparql/SMW_SparqlDatabase4Store.php';
00296 $wgAutoloadClasses['SMWSparqlDatabaseVirtuoso'] = $smwgIP . 'includes/sparql/SMW_SparqlDatabaseVirtuoso.php';
00297 $wgAutoloadClasses['SMWSparqlDatabaseError'] = $smwgIP . 'includes/sparql/SMW_SparqlDatabase.php';
00298 $wgAutoloadClasses['SMWSparqlResultWrapper'] = $smwgIP . 'includes/sparql/SMW_SparqlResultWrapper.php';
00299 $wgAutoloadClasses['SMWSparqlResultParser'] = $smwgIP . 'includes/sparql/SMW_SparqlResultParser.php';
00300
00301 $stoDir = $smwgIP . 'includes/storage/';
00302 $wgAutoloadClasses['SMWQuery'] = $stoDir . 'SMW_Query.php';
00303 $wgAutoloadClasses['SMWQueryResult'] = $stoDir . 'SMW_QueryResult.php';
00304 $wgAutoloadClasses['SMWResultArray'] = $stoDir . 'SMW_ResultArray.php';
00305 $wgAutoloadClasses['SMWStore'] = $stoDir . 'SMW_Store.php';
00306 $wgAutoloadClasses['SMWStringCondition'] = $stoDir . 'SMW_Store.php';
00307 $wgAutoloadClasses['SMWRequestOptions'] = $stoDir . 'SMW_Store.php';
00308 $wgAutoloadClasses['SMWPrintRequest'] = $stoDir . 'SMW_PrintRequest.php';
00309 $wgAutoloadClasses['SMWThingDescription'] = $stoDir . 'SMW_Description.php';
00310 $wgAutoloadClasses['SMWClassDescription'] = $stoDir . 'SMW_Description.php';
00311 $wgAutoloadClasses['SMWConceptDescription'] = $stoDir . 'SMW_Description.php';
00312 $wgAutoloadClasses['SMWNamespaceDescription'] = $stoDir . 'SMW_Description.php';
00313 $wgAutoloadClasses['SMWValueDescription'] = $stoDir . 'SMW_Description.php';
00314 $wgAutoloadClasses['SMWConjunction'] = $stoDir . 'SMW_Description.php';
00315 $wgAutoloadClasses['SMWDisjunction'] = $stoDir . 'SMW_Description.php';
00316 $wgAutoloadClasses['SMWSomeProperty'] = $stoDir . 'SMW_Description.php';
00317 $wgAutoloadClasses['SMWSQLStore2'] = $stoDir . 'SMW_SQLStore2.php';
00318 $wgAutoloadClasses['SMWSqlStubSemanticData'] = $stoDir . 'SMW_SqlStubSemanticData.php';
00319 $wgAutoloadClasses['SMWSqlStore2IdCache'] = $stoDir . 'SMW_SqlStore2IdCache.php';
00320 $wgAutoloadClasses['SMWSQLStore2Table'] = $stoDir . 'SMW_SQLStore2Table.php';
00321 $wgAutoloadClasses['SMWSQLHelpers'] = $stoDir . 'SMW_SQLHelpers.php';
00322 $wgAutoloadClasses['SMWSparqlStore'] = $stoDir . 'SMW_SparqlStore.php';
00323 $wgAutoloadClasses['SMWSparqlStoreQueryEngine'] = $stoDir . 'SMW_SparqlStoreQueryEngine.php';
00324
00325
00326 $specDir = $smwgIP . 'specials/';
00327 $wgAutoloadClasses['SMWQueryPage'] = $specDir . 'QueryPages/SMW_QueryPage.php';
00328 $wgAutoloadClasses['SMWAskPage'] = $specDir . 'AskSpecial/SMW_SpecialAsk.php';
00329 $wgAutoloadClasses['SMWQueryUIHelper'] = $specDir . 'AskSpecial/SMW_QueryUIHelper.php';
00330 $wgAutoloadClasses['SMWQueryUI'] = $specDir . 'AskSpecial/SMW_QueryUI.php';
00331 $wgAutoloadClasses['SMWQueryCreatorPage'] = $specDir . 'AskSpecial/SMW_SpecialQueryCreator.php';
00332 $wgAutoloadClasses['SMWSpecialBrowse'] = $specDir . 'SearchTriple/SMW_SpecialBrowse.php';
00333 $wgAutoloadClasses['SMWPageProperty'] = $specDir . 'SearchTriple/SMW_SpecialPageProperty.php';
00334 $wgAutoloadClasses['SMWSearchByProperty'] = $specDir . 'SearchTriple/SMW_SpecialSearchByProperty.php';
00335 $wgAutoloadClasses['SMWURIResolver'] = $specDir . 'URIResolver/SMW_SpecialURIResolver.php';
00336 $wgAutoloadClasses['SMWAdmin'] = $specDir . 'SMWAdmin/SMW_SpecialSMWAdmin.php';
00337 $wgAutoloadClasses['SMWSpecialSemanticStatistics'] = $specDir . 'Statistics/SMW_SpecialStatistics.php';
00338 $wgAutoloadClasses['SMWSpecialOWLExport'] = $specDir . 'Export/SMW_SpecialOWLExport.php';
00339 $wgAutoloadClasses['SMWSpecialProperties'] = $specDir . 'QueryPages/SMW_SpecialProperties.php';
00340 $wgAutoloadClasses['SMWSpecialTypes'] = $specDir . 'QueryPages/SMW_SpecialTypes.php';
00341 $wgAutoloadClasses['SMWSpecialUnusedProperties'] = $specDir . 'QueryPages/SMW_SpecialUnusedProperties.php';
00342 $wgAutoloadClasses['SMWSpecialWantedProperties'] = $specDir . 'QueryPages/SMW_SpecialWantedProperties.php';
00343
00344
00345 $wgJobClasses['SMWUpdateJob'] = 'SMWUpdateJob';
00346 $wgAutoloadClasses['SMWUpdateJob'] = $smwgIP . 'includes/jobs/SMW_UpdateJob.php';
00347 $wgJobClasses['SMWRefreshJob'] = 'SMWRefreshJob';
00348 $wgAutoloadClasses['SMWRefreshJob'] = $smwgIP . 'includes/jobs/SMW_RefreshJob.php';
00349
00350
00351 $wgAutoloadClasses['ApiSMWQuery'] = $smwgIP . 'includes/api/ApiSMWQuery.php';
00352 $wgAutoloadClasses['ApiAsk'] = $smwgIP . 'includes/api/ApiAsk.php';
00353 $wgAutoloadClasses['ApiAskArgs'] = $smwgIP . 'includes/api/ApiAskArgs.php';
00354 $wgAutoloadClasses['ApiSMWInfo'] = $smwgIP . 'includes/api/ApiSMWInfo.php';
00355
00356
00357 $wgAutoloadClasses['SMWSetupScript'] = $smwgIP . 'maintenance/SMW_setup.php';
00358
00359
00360 $wgAutoloadClasses['SMWPageSchemas'] = $smwgIP . 'includes/SMW_PageSchemas.php';
00361 }
00362
00366 function smwfRegisterSpecialPages() {
00367 global $wgSpecialPages, $wgSpecialPageGroups;
00368
00369 $wgSpecialPages['Ask'] = 'SMWAskPage';
00370 $wgSpecialPageGroups['Ask'] = 'smw_group';
00371
00372 $wgSpecialPages['QueryCreator'] = 'SMWQueryCreatorPage';
00373 $wgSpecialPageGroups['QueryCreator'] = 'smw_group';
00374
00375 $wgSpecialPages['Browse'] = 'SMWSpecialBrowse';
00376 $wgSpecialPageGroups['Browse'] = 'smw_group';
00377
00378 $wgSpecialPages['PageProperty'] = 'SMWPageProperty';
00379 $wgSpecialPageGroups['PageProperty'] = 'smw_group';
00380
00381 $wgSpecialPages['SearchByProperty'] = 'SMWSearchByProperty';
00382 $wgSpecialPageGroups['SearchByProperty'] = 'smw_group';
00383
00384 $wgSpecialPages['URIResolver'] = 'SMWURIResolver';
00385
00386 $wgSpecialPages['SMWAdmin'] = 'SMWAdmin';
00387 $wgSpecialPageGroups['SMWAdmin'] = 'smw_group';
00388
00389 $wgSpecialPages['SemanticStatistics'] = 'SMWSpecialSemanticStatistics';
00390 $wgSpecialPageGroups['SemanticStatistics'] = 'wiki';
00391
00392 $wgSpecialPages['ExportRDF'] = 'SMWSpecialOWLExport';
00393 $wgSpecialPageGroups['ExportRDF'] = 'smw_group';
00394
00395 $wgSpecialPages['Properties'] = 'SMWSpecialProperties';
00396 $wgSpecialPageGroups['Properties'] = 'pages';
00397
00398 $wgSpecialPages['Types'] = 'SMWSpecialTypes';
00399 $wgSpecialPageGroups['Types'] = 'pages';
00400
00401 $wgSpecialPages['UnusedProperties'] = 'SMWSpecialUnusedProperties';
00402 $wgSpecialPageGroups['UnusedProperties'] = 'maintenance';
00403
00404 $wgSpecialPages['WantedProperties'] = 'SMWSpecialWantedProperties';
00405 $wgSpecialPageGroups['WantedProperties'] = 'maintenance';
00406 }
00407
00415 function smwfSetupExtension() {
00416 wfProfileIn( 'smwfSetupExtension (SMW)' );
00417 global $smwgIP, $smwgScriptPath, $wgFooterIcons, $smwgMasterStore, $smwgIQRunningNumber;
00418
00419 $smwgMasterStore = null;
00420 $smwgIQRunningNumber = 0;
00421
00423 require_once( $smwgIP . 'includes/SMW_RefreshTab.php' );
00424
00425 if ( isset($wgFooterIcons["poweredby"])
00426 && isset($wgFooterIcons["poweredby"]["semanticmediawiki"])
00427 && is_null( $wgFooterIcons["poweredby"]["semanticmediawiki"]["src"] ) ) {
00428 $wgFooterIcons["poweredby"]["semanticmediawiki"]["src"] = "$smwgScriptPath/skins/images/smw_button.png";
00429 }
00430
00431 wfProfileOut( 'smwfSetupExtension (SMW)' );
00432 return true;
00433 }
00434
00435
00436
00437
00438
00442 function smwfInitNamespaces() {
00443 global $smwgNamespaceIndex, $wgExtraNamespaces, $wgNamespaceAliases, $wgNamespacesWithSubpages, $wgLanguageCode, $smwgContLang;
00444
00445 if ( !isset( $smwgNamespaceIndex ) ) {
00446 $smwgNamespaceIndex = 100;
00447 }
00448
00449 define( 'SMW_NS_PROPERTY', $smwgNamespaceIndex + 2 );
00450 define( 'SMW_NS_PROPERTY_TALK', $smwgNamespaceIndex + 3 );
00451 define( 'SMW_NS_TYPE', $smwgNamespaceIndex + 4 );
00452 define( 'SMW_NS_TYPE_TALK', $smwgNamespaceIndex + 5 );
00453
00454 define( 'SF_NS_FORM', $smwgNamespaceIndex + 6 );
00455 define( 'SF_NS_FORM_TALK', $smwgNamespaceIndex + 7 );
00456 define( 'SMW_NS_CONCEPT', $smwgNamespaceIndex + 8 );
00457 define( 'SMW_NS_CONCEPT_TALK', $smwgNamespaceIndex + 9 );
00458
00459 smwfInitContentLanguage( $wgLanguageCode );
00460
00461
00462 if ( !is_array( $wgExtraNamespaces ) ) {
00463 $wgExtraNamespaces = array();
00464 }
00465 $wgExtraNamespaces = $wgExtraNamespaces + $smwgContLang->getNamespaces();
00466 $wgNamespaceAliases = $wgNamespaceAliases + $smwgContLang->getNamespaceAliases();
00467
00468
00469 $wgNamespacesWithSubpages = $wgNamespacesWithSubpages + array(
00470 SMW_NS_PROPERTY_TALK => true,
00471 SMW_NS_TYPE_TALK => true
00472 );
00473
00474
00475
00476
00477
00478
00479 }
00480
00481
00482
00483
00484
00491 function smwfInitContentLanguage( $langcode ) {
00492 global $smwgIP, $smwgContLang;
00493
00494 if ( !empty( $smwgContLang ) ) {
00495 return;
00496 }
00497 wfProfileIn( 'smwfInitContentLanguage (SMW)' );
00498
00499 $smwContLangFile = 'SMW_Language' . str_replace( '-', '_', ucfirst( $langcode ) );
00500 $smwContLangClass = 'SMWLanguage' . str_replace( '-', '_', ucfirst( $langcode ) );
00501
00502 if ( file_exists( $smwgIP . 'languages/' . $smwContLangFile . '.php' ) ) {
00503 include_once( $smwgIP . 'languages/' . $smwContLangFile . '.php' );
00504 }
00505
00506
00507 if ( !class_exists( $smwContLangClass ) ) {
00508 include_once( $smwgIP . 'languages/SMW_LanguageEn.php' );
00509 $smwContLangClass = 'SMWLanguageEn';
00510 }
00511
00512 $smwgContLang = new $smwContLangClass();
00513
00514 wfProfileOut( 'smwfInitContentLanguage (SMW)' );
00515 }