Showing preview only (4,611K chars total). Download the full file or copy to clipboard to get everything.
Repository: AKSW/OntoWiki
Branch: develop
Commit: 817dbdd1f144
Files: 557
Total size: 4.3 MB
Directory structure:
gitextract_421r03jp/
├── .gitignore
├── .htaccess
├── .travis.yml
├── CHANGELOG.md
├── Makefile
├── README.md
├── application/
│ ├── Bootstrap.php
│ ├── LICENSE.txt
│ ├── classes/
│ │ ├── OntoWiki/
│ │ │ ├── Component/
│ │ │ │ ├── Exception.php
│ │ │ │ └── Helper.php
│ │ │ ├── Controller/
│ │ │ │ ├── ActionHelper/
│ │ │ │ │ └── List.php
│ │ │ │ ├── Base.php
│ │ │ │ ├── Component.php
│ │ │ │ ├── Exception.php
│ │ │ │ └── Plugin/
│ │ │ │ ├── HttpAuth.php
│ │ │ │ ├── ListSetupHelper.php
│ │ │ │ └── SetupHelper.php
│ │ │ ├── Dispatcher.php
│ │ │ ├── Exception.php
│ │ │ ├── Extension/
│ │ │ │ └── Manager.php
│ │ │ ├── Http/
│ │ │ │ └── Exception.php
│ │ │ ├── Jobs/
│ │ │ │ └── Cron.php
│ │ │ ├── Menu/
│ │ │ │ └── Registry.php
│ │ │ ├── Menu.php
│ │ │ ├── Message.php
│ │ │ ├── Model/
│ │ │ │ ├── Exception.php
│ │ │ │ ├── Hierarchy.php
│ │ │ │ ├── Instances.php
│ │ │ │ ├── Resource.php
│ │ │ │ └── TitleHelper.php
│ │ │ ├── Model.php
│ │ │ ├── Module/
│ │ │ │ ├── Exception.php
│ │ │ │ └── Registry.php
│ │ │ ├── Module.php
│ │ │ ├── Navigation.php
│ │ │ ├── Pager.php
│ │ │ ├── Plugin.php
│ │ │ ├── Request.php
│ │ │ ├── Resource.php
│ │ │ ├── Test/
│ │ │ │ ├── ControllerTestCase.php
│ │ │ │ ├── ExtensionIntegrationTestBootstrap.php
│ │ │ │ ├── ExtensionUnitTestBootstrap.php
│ │ │ │ ├── IntegrationTestBootstrap.php
│ │ │ │ └── UnitTestBootstrap.php
│ │ │ ├── Toolbar.php
│ │ │ ├── Url.php
│ │ │ ├── Utils/
│ │ │ │ └── Exception.php
│ │ │ ├── Utils.php
│ │ │ ├── View/
│ │ │ │ └── Helper/
│ │ │ │ └── Curie.php
│ │ │ └── View.php
│ │ └── OntoWiki.php
│ ├── config/
│ │ ├── SysBase/
│ │ │ ├── dc
│ │ │ ├── dcterms
│ │ │ ├── foaf
│ │ │ ├── geo
│ │ │ ├── owl
│ │ │ ├── rdf
│ │ │ ├── rdfs
│ │ │ ├── rel
│ │ │ ├── sioc
│ │ │ ├── sioct
│ │ │ ├── skos
│ │ │ └── tags
│ │ ├── SysBase.rdf
│ │ ├── application.ini
│ │ ├── default.ini
│ │ └── default.n3
│ ├── controllers/
│ │ ├── ApplicationController.php
│ │ ├── DebugController.php
│ │ ├── ErrorController.php
│ │ ├── IndexController.php
│ │ ├── ModelController.php
│ │ ├── ModuleController.php
│ │ ├── ResourceController.php
│ │ └── ServiceController.php
│ ├── scripts/
│ │ ├── README-Vagrant.md
│ │ ├── clearCache.php
│ │ ├── extensions-ini2n3.php
│ │ ├── makeBackup.sh
│ │ ├── makeRelease.sh
│ │ ├── mod-auth-external/
│ │ │ └── ontowiki.php
│ │ ├── odbctest.php
│ │ ├── owadmin.php
│ │ ├── runExtensionTests.sh
│ │ ├── travis/
│ │ │ ├── README.md
│ │ │ ├── install-extensions.sh
│ │ │ ├── install-services.sh
│ │ │ └── virtuoso-sparql-permission.sql
│ │ └── vad/
│ │ ├── README.txt
│ │ ├── ow_vad_sticker_template.xml
│ │ ├── ow_vad_sticker_template.xml_not_working
│ │ ├── prepare.sh
│ │ └── vad.ini
│ ├── shell.worker.client.php
│ ├── shell.worker.php
│ ├── tests/
│ │ ├── Bootstrap.php
│ │ ├── BootstrapExtensions.php
│ │ ├── CodeSniffer/
│ │ │ └── Standards/
│ │ │ └── Ontowiki/
│ │ │ ├── Sniffs/
│ │ │ │ ├── Classes/
│ │ │ │ │ └── ClassFilePathSniff.php
│ │ │ │ ├── Commenting/
│ │ │ │ │ └── FileCommentSniff.php
│ │ │ │ ├── Functions/
│ │ │ │ │ ├── ForbiddenFunctionsSniff.php
│ │ │ │ │ └── FunctionCallArgumentSpacingSniff.php
│ │ │ │ └── PHP/
│ │ │ │ └── GetRequestDataSniff.php
│ │ │ └── ruleset.xml
│ │ ├── config.ini.dist
│ │ ├── config.ini.dist.travis
│ │ ├── integration/
│ │ │ ├── OntoWiki/
│ │ │ │ ├── Extension/
│ │ │ │ │ ├── ManagerIntegrationTest.php
│ │ │ │ │ └── _files/
│ │ │ │ │ ├── test1/
│ │ │ │ │ │ ├── MoreModule.php
│ │ │ │ │ │ ├── Test1Controller.php
│ │ │ │ │ │ ├── TestModule.php
│ │ │ │ │ │ └── doap.n3
│ │ │ │ │ ├── test2/
│ │ │ │ │ │ ├── Test2Plugin.php
│ │ │ │ │ │ ├── Test2Wrapper.php
│ │ │ │ │ │ └── doap.n3
│ │ │ │ │ └── test2.ini
│ │ │ │ └── Model/
│ │ │ │ ├── InstancesIntegrationTest.php
│ │ │ │ └── TitleHelperIntegrationTest.php
│ │ │ ├── controller/
│ │ │ │ ├── ModelControllerTest.php
│ │ │ │ └── ServiceControllerTest.php
│ │ │ └── phpunit.xml.dist
│ │ └── unit/
│ │ ├── OntoWiki/
│ │ │ ├── Extension/
│ │ │ │ ├── ManagerTest.php
│ │ │ │ └── _files/
│ │ │ │ └── test-doap.n3
│ │ │ ├── MenuTest.php
│ │ │ ├── MessageTest.php
│ │ │ ├── Model/
│ │ │ │ └── InstancesTest.php
│ │ │ ├── Module/
│ │ │ │ └── RegistryTest.php
│ │ │ ├── NavigationTest.php
│ │ │ └── UtilsTest.php
│ │ ├── OntoWikiTest.php
│ │ ├── controller/
│ │ │ ├── IndexControllerTest.php
│ │ │ ├── ResourceControllerTest.php
│ │ │ └── _files/
│ │ │ └── aksw.rss
│ │ └── phpunit.xml.dist
│ └── views/
│ └── templates/
│ ├── application/
│ │ ├── about.phtml
│ │ ├── openid.phtml
│ │ ├── register.phtml
│ │ ├── search.phtml
│ │ ├── userdetails.phtml
│ │ └── webid.phtml
│ ├── error/
│ │ ├── 404.phtml
│ │ ├── 500.phtml
│ │ └── error.phtml
│ ├── index/
│ │ ├── index.phtml
│ │ ├── news.phtml
│ │ └── newsshort.phtml
│ ├── layouts/
│ │ └── layout.phtml
│ ├── model/
│ │ ├── config.phtml
│ │ ├── create.phtml
│ │ └── info.phtml
│ ├── partials/
│ │ ├── contextmenu.phtml
│ │ ├── hierarchy_list.phtml
│ │ ├── list.phtml
│ │ ├── list_std_element.phtml
│ │ ├── list_std_main.phtml
│ │ ├── menu.phtml
│ │ ├── message.phtml
│ │ ├── meta.phtml
│ │ ├── module.phtml
│ │ ├── navigation.phtml
│ │ ├── resultset.phtml
│ │ ├── statusbar.phtml
│ │ ├── table.phtml
│ │ ├── toolbar.phtml
│ │ └── window.phtml
│ └── resource/
│ ├── instances.phtml
│ └── properties.phtml
├── build/
│ └── phpcs.xml
├── build.xml
├── composer.json
├── config.ini.dist
├── debian/
│ ├── Makefile/
│ │ └── Makefile
│ ├── changelog
│ ├── compat
│ ├── conf/
│ │ ├── apache2/
│ │ │ └── apache.conf
│ │ ├── gnome/
│ │ │ └── ontowiki.desktop
│ │ ├── mysql/
│ │ │ └── config.ini
│ │ └── virtuoso/
│ │ └── config.ini
│ ├── control
│ ├── copyright
│ ├── ontowiki-common.dirs
│ ├── ontowiki-common.install
│ ├── ontowiki-common.links
│ ├── ontowiki-common.postinst
│ ├── ontowiki-mysql.install
│ ├── ontowiki-mysql.links
│ ├── ontowiki-mysql.postinst
│ ├── ontowiki-mysql.prerm
│ ├── ontowiki-virtuoso.install
│ ├── ontowiki-virtuoso.links
│ ├── ontowiki-virtuoso.postinst
│ ├── rules
│ ├── source/
│ │ └── format
│ └── sql/
│ └── install/
│ ├── mysql
│ └── virtuoso
├── extensions/
│ ├── account/
│ │ ├── AccountController.php
│ │ ├── LoginModule.php
│ │ ├── default.ini
│ │ ├── doap.n3
│ │ ├── languages/
│ │ │ ├── account-de.csv
│ │ │ └── account-en.csv
│ │ └── templates/
│ │ ├── account/
│ │ │ └── recover.phtml
│ │ ├── local.phtml
│ │ ├── mail/
│ │ │ ├── html/
│ │ │ │ └── default.phtml
│ │ │ └── text/
│ │ │ └── default.txt
│ │ ├── openid.phtml
│ │ └── webid.phtml
│ ├── application/
│ │ ├── ApplicationModule.php
│ │ ├── application.phtml
│ │ ├── default.ini
│ │ └── doap.n3
│ ├── auth/
│ │ ├── AuthController.php
│ │ ├── default.ini
│ │ ├── doap.n3
│ │ ├── languages/
│ │ │ ├── auth-de.csv
│ │ │ └── auth-en.csv
│ │ └── templates/
│ │ └── auth/
│ │ ├── cert1.phtml
│ │ └── cert2.phtml
│ ├── autologin/
│ │ ├── AutologinPlugin.php
│ │ ├── default.ini
│ │ └── doap.n3
│ ├── basicimporter/
│ │ ├── BasicimporterController.php
│ │ ├── BasicimporterPlugin.php
│ │ ├── SelectorModule.js
│ │ ├── SelectorModule.php
│ │ ├── doap.n3
│ │ ├── languages/
│ │ │ ├── basicimporter-de.csv
│ │ │ └── basicimporter-en.csv
│ │ └── templates/
│ │ └── basicimporter/
│ │ ├── category.phtml
│ │ ├── prefix.phtml
│ │ ├── rdfpaster.phtml
│ │ ├── rdfupload.phtml
│ │ ├── rdfwebimport.phtml
│ │ └── search.phtml
│ ├── bookmarklet/
│ │ ├── BookmarkletModule.php
│ │ ├── bookmarklet.phtml
│ │ ├── default.ini
│ │ └── doap.n3
│ ├── ckan/
│ │ ├── CkanController.php
│ │ ├── CkanHelper.php
│ │ ├── default.ini
│ │ ├── doap.n3
│ │ └── templates/
│ │ └── ckan/
│ │ └── browser.phtml
│ ├── community/
│ │ ├── CommentModule.php
│ │ ├── CommunityController.php
│ │ ├── CommunityHelper.php
│ │ ├── LastchangesModule.php
│ │ ├── RatingModule.php
│ │ ├── default.ini
│ │ ├── default.n3
│ │ ├── doap.n3
│ │ ├── insert.sparql
│ │ ├── jquery.MetaData.js
│ │ ├── jquery.rating.css
│ │ ├── jquery.rating.js
│ │ ├── jquery.rating.pack.js
│ │ ├── languages/
│ │ │ ├── community-de.csv
│ │ │ └── community-en.csv
│ │ ├── rating.js
│ │ ├── styles/
│ │ │ └── community.css
│ │ └── templates/
│ │ ├── comment.phtml
│ │ ├── community/
│ │ │ └── list.phtml
│ │ ├── lastchanges.phtml
│ │ ├── lastcomments.phtml
│ │ ├── partials/
│ │ │ ├── list_community_item.phtml
│ │ │ └── list_community_main.phtml
│ │ └── rating.phtml
│ ├── cors/
│ │ ├── CorsPlugin.php
│ │ ├── default.ini
│ │ └── doap.n3
│ ├── datagathering/
│ │ ├── DatagatheringController.php
│ │ ├── DatagatheringHelper.php
│ │ ├── DatagatheringPlugin.php
│ │ ├── SyncSchema.rdf
│ │ ├── css/
│ │ │ └── jquery.autocomplete.css
│ │ ├── datagathering.js
│ │ ├── default.ini
│ │ ├── doap.n3
│ │ ├── languages/
│ │ │ ├── datagathering-de.csv
│ │ │ └── datagathering-en.csv
│ │ ├── scripts/
│ │ │ └── jquery.autocomplete.js
│ │ ├── templates/
│ │ │ └── datagathering/
│ │ │ └── config.phtml
│ │ └── tests/
│ │ └── DatagatheringControllerTest.php
│ ├── defaultmodel/
│ │ ├── DefaultmodelPlugin.php
│ │ ├── default.ini
│ │ └── doap.n3
│ ├── exconf/
│ │ ├── Archive.php
│ │ ├── ExconfController.php
│ │ ├── ExconfHelper.php
│ │ ├── OutlineModule.php
│ │ ├── default.ini
│ │ ├── doap.n3
│ │ ├── pclzip.lib.php
│ │ ├── resources/
│ │ │ ├── Examples.rdf
│ │ │ ├── PluginRepository.rdf
│ │ │ ├── exconf.css
│ │ │ ├── exconf.js
│ │ │ ├── jquery.togglebutton.js
│ │ │ ├── outline.js
│ │ │ └── togglebutton.css
│ │ └── templates/
│ │ ├── exconf/
│ │ │ ├── archiveuploadform.phtml
│ │ │ ├── conf.phtml
│ │ │ ├── explorerepo.phtml
│ │ │ ├── installarchiveremote.phtml
│ │ │ ├── installarchiveupload.phtml
│ │ │ └── list.phtml
│ │ └── partials/
│ │ └── list_extensions_main.phtml
│ ├── filter/
│ │ ├── CustomfilterModule.php
│ │ ├── FilterController.php
│ │ ├── FilterModule.php
│ │ ├── default.ini
│ │ ├── doap.n3
│ │ ├── resources/
│ │ │ ├── FilterAPI.js
│ │ │ ├── filter.css
│ │ │ ├── filter.js
│ │ │ ├── jquery.dump.js
│ │ │ ├── jquery.treeview.css
│ │ │ └── jquery.treeview.js
│ │ └── templates/
│ │ └── filter/
│ │ ├── complexfilter.phtml
│ │ ├── filter.phtml
│ │ └── getpossiblevalues.phtml
│ ├── googletracking/
│ │ ├── GoogletrackingPlugin.php
│ │ ├── default.ini
│ │ └── doap.n3
│ ├── hideproperties/
│ │ ├── HidepropertiesPlugin.php
│ │ ├── default.ini
│ │ └── doap.n3
│ ├── history/
│ │ ├── HistoryController.php
│ │ ├── HistoryHelper.php
│ │ ├── default.ini
│ │ ├── doap.n3
│ │ ├── languages/
│ │ │ ├── history-de.csv
│ │ │ └── history-en.csv
│ │ └── templates/
│ │ └── history/
│ │ ├── details.phtml
│ │ ├── list.phtml
│ │ └── rollback.phtml
│ ├── imagelink/
│ │ ├── ImagelinkPlugin.php
│ │ ├── default.ini
│ │ └── doap.n3
│ ├── imprint/
│ │ ├── ImprintModule.php
│ │ ├── default.ini
│ │ ├── doap.n3
│ │ └── imprint.phtml
│ ├── jsonrpc/
│ │ ├── EvolutionJsonrpcAdapter.php
│ │ ├── JsonrpcController.php
│ │ ├── MetaJsonrpcAdapter.php
│ │ ├── ModelJsonrpcAdapter.php
│ │ ├── ResourceJsonrpcAdapter.php
│ │ ├── StoreJsonrpcAdapter.php
│ │ ├── default.ini
│ │ ├── doap.n3
│ │ └── languages/
│ │ └── community-en.csv
│ ├── linkeddataserver/
│ │ ├── LinkeddataPlugin.php
│ │ ├── default.ini
│ │ └── doap.n3
│ ├── listmodules/
│ │ ├── ShowpropertiesModule.php
│ │ ├── default.ini
│ │ ├── doap.n3
│ │ ├── showproperties.js
│ │ └── showproperties.phtml
│ ├── literaltypes/
│ │ ├── LiteraltypesPlugin.php
│ │ ├── default.ini
│ │ └── doap.n3
│ ├── mail/
│ │ ├── MailPlugin.php
│ │ ├── doap.n3
│ │ └── jobs/
│ │ └── Mail.php
│ ├── mailtolink/
│ │ ├── MailtolinkPlugin.php
│ │ ├── default.ini
│ │ └── doap.n3
│ ├── manchester/
│ │ ├── ManchesterController.php
│ │ ├── ManchesterModule.php
│ │ ├── default.ini
│ │ ├── doap.n3
│ │ └── templates/
│ │ └── modules/
│ │ └── manchester.phtml
│ ├── markdown/
│ │ ├── MarkdownPlugin.php
│ │ ├── default.ini
│ │ ├── doap.n3
│ │ └── parser/
│ │ ├── License.text
│ │ ├── PHP Markdown Readme.text
│ │ └── markdown.php
│ ├── modellist/
│ │ ├── ModellistModule.php
│ │ ├── default.ini
│ │ ├── doap.n3
│ │ ├── modellist.js
│ │ └── modellist.phtml
│ ├── navigation/
│ │ ├── NavigationController.php
│ │ ├── NavigationHelper.php
│ │ ├── NavigationModule.php
│ │ ├── doap.n3
│ │ ├── languages/
│ │ │ ├── navigation-de.csv
│ │ │ └── navigation-en.csv
│ │ ├── navigation.css
│ │ ├── navigation.js
│ │ ├── navigation.phtml
│ │ └── templates/
│ │ └── navigation/
│ │ ├── explore.phtml
│ │ └── loadstate.phtml
│ ├── pingback/
│ │ ├── PingbackController.php
│ │ ├── PingbackPlugin.php
│ │ ├── default.ini
│ │ ├── doap.n3
│ │ └── templates/
│ │ └── pingback/
│ │ └── ping.phtml
│ ├── queries/
│ │ ├── QueriesController.php
│ │ ├── QueriesHelper.php
│ │ ├── SavequeryModule.php
│ │ ├── default.ini
│ │ ├── doap.n3
│ │ ├── log/
│ │ │ ├── getAutocompletionQuery.log
│ │ │ ├── getSPARQLQuery.log
│ │ │ └── updateTable.log
│ │ ├── resources/
│ │ │ ├── codemirror/
│ │ │ │ ├── CONTRIBUTING.md
│ │ │ │ ├── LICENSE
│ │ │ │ ├── README.md
│ │ │ │ ├── addon/
│ │ │ │ │ ├── dialog/
│ │ │ │ │ │ ├── dialog.css
│ │ │ │ │ │ └── dialog.js
│ │ │ │ │ ├── edit/
│ │ │ │ │ │ ├── closetag.js
│ │ │ │ │ │ ├── continuecomment.js
│ │ │ │ │ │ ├── continuelist.js
│ │ │ │ │ │ └── matchbrackets.js
│ │ │ │ │ ├── fold/
│ │ │ │ │ │ ├── collapserange.js
│ │ │ │ │ │ └── foldcode.js
│ │ │ │ │ ├── format/
│ │ │ │ │ │ └── formatting.js
│ │ │ │ │ ├── hint/
│ │ │ │ │ │ ├── javascript-hint.js
│ │ │ │ │ │ ├── pig-hint.js
│ │ │ │ │ │ ├── python-hint.js
│ │ │ │ │ │ ├── simple-hint.css
│ │ │ │ │ │ ├── simple-hint.js
│ │ │ │ │ │ └── xml-hint.js
│ │ │ │ │ ├── mode/
│ │ │ │ │ │ ├── loadmode.js
│ │ │ │ │ │ ├── multiplex.js
│ │ │ │ │ │ └── overlay.js
│ │ │ │ │ ├── runmode/
│ │ │ │ │ │ ├── colorize.js
│ │ │ │ │ │ ├── runmode-standalone.js
│ │ │ │ │ │ ├── runmode.js
│ │ │ │ │ │ └── runmode.node.js
│ │ │ │ │ └── search/
│ │ │ │ │ ├── match-highlighter.js
│ │ │ │ │ ├── search.js
│ │ │ │ │ └── searchcursor.js
│ │ │ │ ├── keymap/
│ │ │ │ │ ├── emacs.js
│ │ │ │ │ └── vim.js
│ │ │ │ ├── lib/
│ │ │ │ │ ├── codemirror.css
│ │ │ │ │ └── codemirror.js
│ │ │ │ ├── mode/
│ │ │ │ │ ├── meta.js
│ │ │ │ │ ├── ntriples/
│ │ │ │ │ │ └── ntriples.js
│ │ │ │ │ ├── sparql/
│ │ │ │ │ │ └── sparql.js
│ │ │ │ │ └── xml/
│ │ │ │ │ └── xml.js
│ │ │ │ └── theme/
│ │ │ │ ├── ambiance-mobile.css
│ │ │ │ ├── ambiance.css
│ │ │ │ ├── blackboard.css
│ │ │ │ ├── cobalt.css
│ │ │ │ ├── eclipse.css
│ │ │ │ ├── elegant.css
│ │ │ │ ├── erlang-dark.css
│ │ │ │ ├── lesser-dark.css
│ │ │ │ ├── monokai.css
│ │ │ │ ├── neat.css
│ │ │ │ ├── night.css
│ │ │ │ ├── rubyblue.css
│ │ │ │ ├── solarized.css
│ │ │ │ ├── twilight.css
│ │ │ │ ├── vibrant-ink.css
│ │ │ │ └── xq-dark.css
│ │ │ ├── querieseditor.css
│ │ │ └── savepartial.js
│ │ └── templates/
│ │ ├── partials/
│ │ │ ├── list_queries_element.phtml
│ │ │ └── list_queries_main.phtml
│ │ ├── queries/
│ │ │ ├── editor.phtml
│ │ │ ├── listquery.phtml
│ │ │ ├── manage.phtml
│ │ │ └── savequery.phtml
│ │ ├── queryeditorfromsetter.phtml
│ │ ├── savequery.phtml
│ │ └── sparqloptions.phtml
│ ├── resourcecreationuri/
│ │ ├── ResourcecreationuriPlugin.php
│ │ ├── classes/
│ │ │ └── ResourceUriGenerator.php
│ │ ├── default.ini
│ │ └── doap.n3
│ ├── resourcemodules/
│ │ ├── LinkinghereModule.php
│ │ ├── SimilarinstancesModule.php
│ │ ├── UsageModule.php
│ │ ├── default.ini
│ │ ├── doap.n3
│ │ ├── linkinghere.phtml
│ │ ├── similarinstances.phtml
│ │ └── usage.phtml
│ ├── savedqueries/
│ │ ├── SavedqueriesController.php
│ │ ├── SavedqueriesModule.php
│ │ ├── default.ini
│ │ ├── doap.n3
│ │ ├── savedqueries.phtml
│ │ └── templates/
│ │ └── savedqueries/
│ │ └── init.phtml
│ ├── selectlanguage/
│ │ ├── SelectlanguagePlugin.php
│ │ ├── default.ini
│ │ ├── doap.n3
│ │ └── languages/
│ │ └── selectlanguage-de.csv
│ ├── semanticsitemap/
│ │ ├── SemanticsitemapController.php
│ │ ├── default.ini
│ │ ├── doap.n3
│ │ ├── semanticsitemap.php
│ │ └── templates/
│ │ └── semanticsitemap/
│ │ └── sitemap.phtml
│ ├── sendmail/
│ │ ├── SendmailPlugin.php
│ │ ├── default.ini
│ │ └── doap.n3
│ ├── sindice/
│ │ ├── SindicePlugin.php
│ │ ├── default.ini
│ │ └── doap.n3
│ ├── sortproperties/
│ │ ├── SortpropertiesPlugin.php
│ │ ├── default.ini
│ │ └── doap.n3
│ ├── source/
│ │ ├── SourceController.php
│ │ ├── SourceHelper.php
│ │ ├── default.ini
│ │ ├── doap.n3
│ │ ├── templates/
│ │ │ └── source/
│ │ │ └── edit.phtml
│ │ └── tests/
│ │ └── SourceControllerTest.php
│ ├── themes/
│ │ ├── .htaccess
│ │ ├── darkorange/
│ │ │ ├── install.txt
│ │ │ └── styles/
│ │ │ └── default.css
│ │ └── silverblue/
│ │ ├── sandbox/
│ │ │ ├── detailview.html
│ │ │ ├── filter.html
│ │ │ ├── forms.html
│ │ │ ├── listview.html
│ │ │ ├── tables.html
│ │ │ ├── uitest.html
│ │ │ └── uitestow.html
│ │ ├── scripts/
│ │ │ ├── jquery.ontowiki.js
│ │ │ ├── libraries/
│ │ │ │ ├── jquery-1.9.1.js
│ │ │ │ ├── jquery-migrate-1.3.0.js
│ │ │ │ ├── jquery-ui-1.8.22.js
│ │ │ │ ├── jquery.clickmenu.js
│ │ │ │ ├── jquery.dimensions.js
│ │ │ │ ├── jquery.interface.js
│ │ │ │ ├── jquery.json.js
│ │ │ │ ├── jquery.livequery.js
│ │ │ │ ├── jquery.rdfquery.rdfa-1.0.js
│ │ │ │ ├── jquery.simplemodal.js
│ │ │ │ └── jquery.tablesorter.js
│ │ │ ├── main.js
│ │ │ ├── serialize-php.js
│ │ │ └── support.js
│ │ └── styles/
│ │ ├── clickmenu.css
│ │ ├── default.css
│ │ ├── default.dev.css
│ │ ├── deprecated.dev.css
│ │ ├── jquery-ui.css
│ │ ├── old.css
│ │ └── patches/
│ │ ├── ie6.clickmenu.css
│ │ ├── ie6.css
│ │ └── ie7.css
│ ├── translations/
│ │ ├── de/
│ │ │ └── core.csv
│ │ ├── en/
│ │ │ └── core.csv
│ │ ├── fr/
│ │ │ └── core.csv
│ │ ├── ru/
│ │ │ └── core.csv
│ │ └── zh/
│ │ └── core.csv
│ └── weblink/
│ ├── WeblinkPlugin.php
│ └── doap.n3
├── index.php
├── phpcs.xml
├── phpunit.xml
└── web.config
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
# OntoWiki configs
/config.ini
/local.ini
# OntoWiki muck
*.log
application/tests/cache
/cache
/uploads
/libraries
/logs
# Extensions
/extensions/*.ini
/extensions/*
!/extensions/account
!/extensions/application
!/extensions/auth
!/extensions/autologin
!/extensions/basicimporter
!/extensions/bookmarklet
!/extensions/ckan
!/extensions/community
!/extensions/cors
!/extensions/datagathering
!/extensions/defaultmodel
!/extensions/exconf
!/extensions/filter
!/extensions/googletracking
!/extensions/hideproperties
!/extensions/history
!/extensions/imagelink
!/extensions/imprint
!/extensions/jsonrpc
!/extensions/linkeddataserver
!/extensions/listmodules
!/extensions/literaltypes
!/extensions/mail
!/extensions/mailtolink
!/extensions/manchester
!/extensions/markdown
!/extensions/modellist
!/extensions/navigation
!/extensions/pingback
!/extensions/queries
!/extensions/resourcecreationuri
!/extensions/resourcemodules
!/extensions/savedqueries
!/extensions/selectlanguage
!/extensions/semanticsitemap
!/extensions/sendmail
!/extensions/sindice
!/extensions/sortproperties
!/extensions/source
!/extensions/themes
!/extensions/translations
!/extensions/weblink
# aksw specific mud
/BlogPost
/extensions/dssn/libraries/lib-dssn-php
# ide and editor dirt
.settings
.project
.idea
.buildpath
.DS_Store
nbproject
*~
*.swp
cache.properties
# test stuff
application/tests/config.ini
# build stuff
build/
!build/phpcs.xml
!build/phpcmd.xml
# composer stuff
/vendor
composer.phar
# for now we ignore the composer.lock, but we should commit it some dome day, especially for releases
# devenv stuff
/devenv
================================================
FILE: .htaccess
================================================
# OntoWiki .htaccess file
# WARNING: If you do not use the htaccess at all or your htaccess is
# ignored, then your config.ini can be loaded over the web !!!
<Files "*.ini">
Deny from all
</Files>
# OntoWiki does not requires Apache's rewrite engine to work. However,
# if you would like to have nice (Linked Data) URIs you must enable URL
# rewriting by enabling mod_rewrite in your apache config.
<IfModule mod_rewrite.c>
RewriteEngine On
# This gives ontowiki an easy hint that rewrite is enabled
<IfModule mod_env.c>
SetEnv ONTOWIKI_APACHE_MOD_REWRITE_ENABLED 1
</IfModule>
# for deployment purposes, we want to redirect to a maintenance page iff it exists
# works only if document root is ontowiki folder
#RewriteCond %{DOCUMENT_ROOT}/maintenance.html -f
#RewriteCond %{REQUEST_FILENAME} !/maintenance.html
#RewriteRule ^.*$ /maintenance.html [R=503,L]
#ErrorDocument 503 /maintenance.html
# favicon files are located under /application
RewriteRule ^favicon\.(.*)$ application/favicon.$1
# do not rewrite requests on /robots.txt or /maintenance.html
RewriteCond %{REQUEST_URI} !/(robots.txt|maintenance.html)$
# do not rewrite requests on resource under public in extensions
RewriteCond %{REQUEST_URI} !/extensions/.*/public/.*$
# do not rewrite requests on /favicon.ico and /favicon.png
RewriteCond %{REQUEST_URI} !/favicon\.(ico|png)$
# do not rewrite requests on files with the whitelisted extensions under extensions (if file exists)
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_URI} !/extensions/.*/.*\.(js|css|gif|ico|png|jpg|svg)$
# do not rewrite requests on files with the whitelisted extensions under libraries/RDFauthor (if file exists)
RewriteCond %{REQUEST_FILENAME} !-f [OR]
RewriteCond %{REQUEST_URI} !/libraries/RDFauthor/.*/.*\.(js|css|gif|ico|png|jpg|svg)$
RewriteRule ^.*$ index.php
# Set RewriteBase if your OntoWiki virtual host is managed with VirtualDocumentRoot.
#RewriteBase /
# Set RewriteBase only if your OntoWiki folder is not located in your web server's root dir.
#RewriteBase /ontowiki
</IfModule>
# if you allow short open tags, xml templates will crash
# please refer https://github.com/AKSW/OntoWiki/wiki/php.ini-recommendations
# for recommended PHP settings
# maybe php_flag is not allowed in your environment,
# but if you allow short open tags, xml templates will crash
#php_flag short_open_tag 0
### Additional Auth with external OntoWiki auth-script
### (more infos at http://code.google.com/p/mod-auth-external/)
#AuthType Basic
#AuthName OntoWiki
#AuthBasicProvider external
#AuthExternal ontowiki
#Require valid-user
### NOTE: This is needed to be included in /etc/apache2/mods-enabled/authnz_external.load or .conf
#DefineExternalAuth ontowiki pipe /path/to/ontowiki/application/scripts/mod-auth-external/ontowiki.php
================================================
FILE: .travis.yml
================================================
language: php
php:
- 5.4
- 5.6.29
- 7.0
- 7.1
env:
- VIRTUOSO=6.1.7
- VIRTUOSO=7.0.0
- VIRTUOSO=7.2.0
matrix:
fast_finish: true
include:
- php: 5.4
env: VIRTUOSO=6.1.6
- php: 5.4
env: VIRTUOSO=7.2.4.2
allow_failures:
- php: 7.0
- php: 7.1
- env: VIRTUOSO=7.2.4.2
cache:
directories:
- $HOME/.composer/cache
- virtuoso-opensource
sudo: true
services:
- mysql
before_install:
- sudo apt-get -qq update
- bash ./application/scripts/travis/install-extensions.sh
- bash ./application/scripts/travis/install-services.sh
- sudo apt-get install -y raptor2-utils
- phpenv config-rm xdebug.ini
- mysql -e 'CREATE DATABASE ontowiki_TEST;'
install:
- travis_retry composer install --no-interaction
before_script:
- cp ./application/tests/config.ini.dist.travis ./application/tests/config.ini
- make directories
script:
- vendor/bin/phpunit --testsuite "OntoWiki Unit Tests"
- EF_STORE_ADAPTER=zenddb vendor/bin/phpunit --testsuite "OntoWiki ZendDB Integration Tests"
- EF_STORE_ADAPTER=virtuoso vendor/bin/phpunit --testsuite "OntoWiki Virtuoso Integration Tests"
- vendor/bin/phpunit --testsuite "OntoWiki Extensions Tests"
================================================
FILE: CHANGELOG.md
================================================
# Change Log
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](http://keepachangelog.com/)
and this project adheres to [Semantic Versioning](http://semver.org/) as of version 1.0.0.
## [1.0.0] - 2016-10-04
### Added
- Add a help text for the filter module
- Add option to (not) display default type column
- Add first draft (incomplete) to provide french
- SPARQL: add option to export result to CSV
- Add hide type when using add instance
- Add json-support for registrationAction
- Add prependTitleProperty again, remove unused methods and keep a single instance of erfurt
- Add showHiddenElements to naviagtion config
- Add hugarian to language selection
- Add initial ResourceJsonrpcAdapter
- Add getTitle method to ModelJsonrpcAdapter
- Add RDF/JSON (Alternate, Talis) content type
- Add support for attributes in toolbar buttons
- Add support for docker based devenv
- Add controller test for resource export action
- Add an onRegisterUser Event
- Add an onRegisterUserFailed Event
- Add test makefile for new composer download
### Changed
- Update RDFauthor
- Use onResolveDomainAliasInput on URL detection
- TitleHelper improvements: Chunk/Bulk Querying
- Changing the workflow of the TitleHelper using the ResourcePool
- Update getValues functionality using the ResourcePool - Scalability Improvement
- Changing getAllProperties functionality to work with the MemoryModel and ResourcePool
- Changing debug workflow with blanknodes on gettitles + cleanup
- Changing debug workflow on addResource
- Re-enabling inverse show properties in table view but on a scaleable way
- Change sameTerm Filter into Equals constraint in NavigationController
- Make new TitleHelper aware of languages
- Add getResources() call and unify testShownPropertiesAddTitles
- Set zend version to latest 1.x. Fix #306.
- Move responsibility for contentType and fileExtension to Erfurt
- Improve Exception output
- Update jQuery to 1.9.1 and add jQuery migrate
- Using composer for dependencies
- Update jquery-ui to 1.8.22. Fix #337
- Refactor usage of exit to using return
- Clean up default.ini/config.ini.dist, disable caches per default
- Remove trim() to give more meaningfull output
- Improve FileCommentSniff to also accept older years and to ignore sub repos
- Increse minimal PHP version to 5.4.0
- Change sort option to SORT_NUMERIC
- Modify help menu building process
- Deactivate ckan, mail and pingback extension
- Add data route to default config
- Update Linked Data plugin to use data route
- Enhance environment for controller unit tests
- Replace sameterm with equals in navbox
- Use IN where possible
- Optimize offset/limit usage & refactor js code a bit
- Make codesniffer now ignores the FileCommentSniff and make codesniffer_year includes the Sniff
- Disable front-end cache in config.ini.dist
- Change the Documentation link from Github to the new Documentation
### Fixed
- Fix type handling in rdfauthor popover controller
- Fix #278 Add Property not working properly
- Complete license and copyright information in doc blocks
- Additional fixes while firing onRegisterUser and onRegisterUserFailed event
- added workaround to handle statements with empty object URIs, which are sometimes provided by RDFauthor editor (seems to be related to line 467 in extensions/themes/silverblue/scripts/support.js)
- Only Uris should be used as links in a List. BugFix
- Prevent Bugs with wrong initalized class attributes
- Fix try to get property of non-object, when deleting model
- Fix pingback takes for ever
- Fix #286. Also consider colon in OntoWiki_Utils::compactUri method.
- Fix #258. Forward Erfurt.
- Fix community tab
- Fix selectlanguage config for russian
- Fix comments if creator not set.
- Fix getting branch name (wasn't language independent)
- Fix #145. Fix special chars in Linked Data request URIs.
- Fix testing for extensions
- Fix handling of protocols forwarded by proxy. Fix #313.
- Fix typo in Bootstrap comment
- Fix 319. Expose navigationAddElement in navigation.js
- Fix setting select clause instead of prologue part and forward Erfurt
- Fall back if no feed is specified
- Fix #347. Remove require_once because we are using autoloader now
- Fix skipped test
- Fix integration tests to fit new result format
- #332: Fix "Shift + Alt" key capture issue
- Fix content-type for resource exports
- Fix support for JSON content types in Linked Data plugin
- Fix indentation of mappings array
### Removed
- Removing subjects from inverse relations memory model
- Remove OntoWiki_Controller_Service. Fix #242.
- Remove useless add-method from ResourceJsonrpcAdapter
- Remove Vagrant development environment
- Remove test target in makefile
## [0.9.11] - 2014-01-31
- Improve model selection in linkeddataserver extension
- Extend cache clear script by support for query and translation cache
- Fix #60: Add script to clear cache via shell
- fix #201 - removed css classes for modal and set z-index of applicationbar to 999
- Fix 271. Fix Output Format of queries editor
- fix #201 - fixed z-index for modal-wrapper-propertyselector
- Merge pull request #268 from hknochi/feature/fix-extension-enabler
- Merge pull request #269 from hknochi/feature/fix-pagination
- fix issue #167 - invalidate extensionCache to distribute requested changes
- fix issue #261 - added limit-parameter to url
- improve cron job
- Add list-events target to Makefile
- remove log in about screen
- avoid broken feed URLs on version / names with spaces
- use configure name instead of hardcoded one
- fixed issue #201 - added css rules for modal-wrapper
- fixed issue #201 - added css rules for simplemodal-container and -overlay
- Fix build to ignore worker shell scripts
- Reorganize shell scripts to avoid build failure
- Cleanup mail extension job class by removing obsolete members
- Added console client and an example extension for testing Erfurts worker
- Add support for Erfurts background jobs
- add min-height to <span> in resource view
- Add hidden save and cancle buttons in listmode
- Reorganize some code in support.js
- Fix editProperty to work in extended mode (+)
- Allow configuration of session cookie parameters, such as session lifetime
- Fix #259. Write alle defined prefixes to RDFa output.
- Fix warning, when site redirect takes place. Fix #260.
- fix wrong server class includes (closes #256)
- initial version of SelectorModule
- Fix model creation if no title is specified
- move inner window modules outside of master form
- Add “View as Resource” entry to model menu. Fix #152
- fix wrong encoded query parameter
- add even/odd classes for row and noodds parameter
- use new querylink feature of table partial
- remake table partial, add query link enhancement
- Fix #152. Move menu creation to Menu_Registry.
- add xdebug link
- Remove unused action service/entities
## [0.9.10] - 2013-07-11
- new model creation / add data procedure
- fixes in query editor
- performance issues in title helper
- unify CommentModule and LastcommentsModule, increase limit and set ordering
- +100 other commits
- depends on Erfurt 1.6
- depends on RDFauthor 0.9.6
## [0.9.8] - 2013-02-01
- fix cors header
- add doap:wiki to the weblink list (2 weeks ago by Sebastian Tramp)
- add head action to return the request header for given uri
- fix extensions setting page (toggleswitch) #179
- Fixing Sort functionality of the Navigation Box extension re-enabling the Sort Menue
- prevent open paranthesis bug while using the limit buttons (100 / all)
- Fix #172 - rewrite rules in .htaccess
- use getReadableGraphsUsingResource method on Store
- cleanup togglebutton changes
- fix toggle button for new jquery version (#167)
- depends on Erfurt 1.5
- depends on RDFauthor 0.9.5
## [0.9.7] - 2012-11-27
- GUI niceups
- lots of fixes
- https://github.com/AKSW/OntoWiki/issues?milestone=1&page=1&state=closed
- RDFauthor is now a separate package
- Add support for additonal vhosts
- increment RDFauthor dependency
- allow usage of virtuosos bd.ini if present
- add gnome desktop file
## 0.9.6-21 - 2012-03-03
- fix RDFauthor integration
- forward RDFauthor to b780680
- forward OntoWiki to 04b33fd
[1.0.0]: https://github.com/AKSW/OntoWiki/compare/v0.9.11...v1.0.0
[0.9.11]: https://github.com/AKSW/OntoWiki/compare/v0.9.10...v0.9.11
[0.9.10]: https://github.com/AKSW/OntoWiki/compare/v0.9.8...v0.9.10
[0.9.8]: https://github.com/AKSW/OntoWiki/compare/v0.9.7...v0.9.8
[0.9.7]: https://github.com/AKSW/OntoWiki/compare/v0.9.6-21...v0.9.7
================================================
FILE: Makefile
================================================
PHPUNIT = ./vendor/bin/phpunit
PHPCS = ./vendor/bin/phpcs
PHPCBF = ./vendor/bin/phpcbf
# Get calid composer executable
COMPOSER = $(shell which composer)
ifeq ($(findstring composer, $(COMPOSER)), )
COMPOSER = $(shell which composer.phar)
ifeq ($(findstring composer.phar, $(COMPOSER)), )
ifneq ($(wildcard composer.phar), )
COMPOSER = php composer.phar
else
COMPOSER =
endif
endif
endif
default:
@echo "Typical targets your could want to reach:"
@echo ""
@echo "--> make deploy ............... Install OntoWiki <-- in doubt, use this"
@echo " make install .............. deploy and install are equivalent"
@echo ""
@echo " make help ................. Show more (developer related) make targets"
@echo ""
@echo " make help-cs .............. Show help for code sniffing targets"
@echo ""
@echo " make help-test ............ Show help for test related targets"
help:
@echo "Please use: (e.g. make deploy)"
@echo " deploy ..................... Runs everything which is needed for a deployment"
@echo " install .................... Equivalent to deploy"
@echo " help ....................... This help screen"
@echo " help-cs .................... Show help for code sniffing targets"
@echo " help-test .................. Show help for test related targets"
@echo " -------------------------------------------------------------------"
@echo " directories ................ Create cache/log dir and chmod environment"
@echo " clean ...................... Deletes all log and cache files"
@echo " odbctest ................... Executes some tests to check the Virtuoso connection"
help-cs:
@echo "Please use: (e.g. make codesniffer)"
@echo " codesniffer ............................ Run CodeSniffer except for the FileCommentSniff"
@echo " codesniffer_year ....................... Run CodeSniffer including the FileCommentSniff"
@echo " codebeautifier ......................... Run CodeBeautifier"
help-test:
@echo " test ......................... Execute unit, integration and extension tests"
@echo " test-unit .................... Run OntoWiki unit tests"
@echo " test-integration-virtuoso .... Run OntoWiki integration tests with virtuoso"
@echo " test-integration-mysql ....... Run OntoWiki integration tests with mysql"
@echo " test-extensions .............. Run tests for extensions"
getcomposer:
curl -o composer.phar "https://getcomposer.org/composer.phar"
php composer.phar self-update
install: deploy
ifdef COMPOSER
deploy: directories clean composer-install
else
deploy: getcomposer
make deploy
endif
clean:
rm -rf cache/* logs/* libraries/*
directories: clean
mkdir -p logs cache
chmod 777 logs cache extensions
ifdef COMPOSER
composer-install: #add difference for user and dev (with phpunit etc and without)
$(COMPOSER) install
else
composer-install:
@echo
@echo
@echo "!!! make $@ failed !!!"
@echo
@echo "Sorry, there doesn't seem to be a PHP composer (dependency manager for PHP) on your system!"
@echo "Please have a look at http://getcomposer.org/ for further information,"
@echo "or just run 'make getcomposer' to download the composer locally"
@echo "and run 'make $@' again"
endif
# test stuff
devenv:
git clone "https://github.com/pfrischmuth/ontowiki-devenv.git" devenv
cp -i devenv/config.ini.dist ./config.ini
cp -i devenv/config-test.ini.dist ./application/tests/config.ini
test-directories:
rm -rf application/tests/cache application/tests/unit/cache application/tests/integration/cache
mkdir -p application/tests/cache application/tests/unit/cache application/tests/integration/cache
test-unit: test-directories
$(PHPUNIT) --testsuite "OntoWiki Unit Tests"
test-integration-virtuoso: test-directories
EF_STORE_ADAPTER=virtuoso $(PHPUNIT) --testsuite "OntoWiki Virtuoso Integration Tests"
test-integration-mysql: test-directories
EF_STORE_ADAPTER=zenddb $(PHPUNIT) --testsuite "OntoWiki Virtuoso Integration Tests"
test-extensions: #directories
$(PHPUNIT) --testsuite "OntoWiki Extensions Tests"
test:
make test-unit
@echo ""
@echo "-----------------------------------"
@echo ""
make test-integration-virtuoso
@echo ""
@echo "-----------------------------------"
@echo ""
make test-integration-mysql
@echo ""
@echo "-----------------------------------"
@echo ""
make test-extensions
odbctest:
@application/scripts/odbctest.php
# packaging
debianize:
rm extensions/markdown/parser/License.text
rm extensions/markdown/parser/PHP_Markdown_Readme.txt
rm extensions/markdown/parser/markdown.php
rm extensions/queries/resources/codemirror/LICENSE
rm extensions/themes/silverblue/scripts/libraries/jquery-1.9.1.js
rm libraries/RDFauthor/libraries/jquery.js
rm Makefile
@echo "now do: cp -R application/scripts/debian debian"
# #### config ####
codesniffer:
$(PHPCS) -p
codebeautifier:
$(PHPCBF)
# other stuff
list-events:
@grep -R "new Erfurt_Event" * 2> /dev/null | sed "s/.*new Erfurt_Event('//;s/');.*//" | sort -u
================================================
FILE: README.md
================================================
# OntoWiki
Note: This project is not under active development anymore. See [this issue](https://github.com/AKSW/OntoWiki/issues/441) for more details.
[](https://travis-ci.org/AKSW/OntoWiki/) [](https://packagist.org/packages/aksw/ontowiki) [](https://packagist.org/packages/aksw/ontowiki) [](https://packagist.org/packages/aksw/ontowiki) [](https://packagist.org/packages/aksw/ontowiki)
[](https://docs.ontowiki.net) [](http://api.ontowiki.net/)

## Introduction
is a tool providing support for agile, distributed knowledge engineering scenarios.
OntoWiki facilitates the visual presentation of a knowledge base as an information map, with different views on instance data.
It enables intuitive authoring of semantic content.
It fosters social collaboration aspects by keeping track of changes, allowing to comment and discuss every single part of a knowledge base.
Other remarkable features are:
* OntoWiki is a Linked Data Server for you data as well as a Linked Data client to fetch additional data from the web
* OntoWiki is a Semantic Pingback Client in order to receive and send back-linking request as known from the blogosphere.
* OntoWiki is backend independent, which means you can save your data on a MySQL database as well as on a Virtuoso Triple Store.
* OntoWiki is easily extendible by you, since it features a sophisticated Extension System.
## Installation/Update
If you are updating OntoWiki, please don't forget to run `make install`.
If `make install` fails, you might also have to run `make getcomposer` once before run `make deploy` again.
For further installation instructions please have a look at our [wiki](https://docs.ontowiki.net/) (might be outdated in some parts).
## Screenshot / Webinar
Below is a screenshot showing OntoWiki in editing mode.
For a longer visual presentation you can watch our [webinar@youtube](http://www.youtube.com/watch?v=vP1UDKeZsQk)
(thanks to Phil and the Semantic Web company).

## Documentation
The Documentation is hosted at https://docs.ontowiki.net/ . If you find errors or think we should add something to it
you are free to fork https://github.com/AKSW/docs.ontowiki.net and send us a pull requst with your changes.
## License
OntoWiki is licensed under the [GNU General Public License Version 2, June 1991](http://www.gnu.org/licenses/gpl-2.0.txt) (license document is in the application subfolder).
================================================
FILE: application/Bootstrap.php
================================================
<?php
/**
* This file is part of the {@link http://ontowiki.net OntoWiki} project.
*
* @copyright Copyright (c) 2009-2016, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
*/
/**
* OntoWiki bootstrap class.
*
* Provides on-demand loading of application resources.
*
* @category OntoWiki
* @package OntoWiki_Bootstrap
* @author Norman Heino <norman.heino@gmail.com>
*/
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
/**
* Initializes the the extension manager which in turn scans
* for components, modules, plugins and wrapper and registers them.
*
* @since 0.9.5
*/
public function _initExtensionManager()
{
// require Front controller
$this->bootstrap('frontController');
$frontController = $this->getResource('frontController');
// require Config
$this->bootstrap('Config');
$config = $this->getResource('Config');
//NOTICE: i swtiched loading of erfurt and session
//because serialized erfurt objects in the session need constants defined in erfurt
//is this ok?
Erfurt_Wrapper_Registry::reset();
// require Erfurt
$this->bootstrap('Erfurt');
// apply session configuration settings
if (isset($config->session)) {
$this->applySessionConfig($config->session);
}
// require Session
$this->bootstrap('Session');
// require Dispatcher
$this->bootstrap('Dispatcher');
$dispatcher = $this->getResource('Dispatcher');
// require OntoWiki
$this->bootstrap('OntoWiki');
$ontoWiki = $this->getResource('OntoWiki');
// require Translate
$this->bootstrap('Translate');
$translate = $this->getResource('Translate');
// require View
$this->bootstrap('View');
$view = $this->getResource('View');
// make sure router is bootstrapped
$this->bootstrap('Router');
// set view
$ontoWiki->view = $view;
$extensionPath = ONTOWIKI_ROOT
. $config->extensions->base;
$extensionPathBase = $config->staticUrlBase
. $config->extensions->base;
$extensionManager = new OntoWiki_Extension_Manager($extensionPath);
$extensionManager->setTranslate($translate)
->setComponentUrlBase($extensionPathBase);
// register component controller directories
foreach ($extensionManager->getComponents() as $extensionName => $extensionConfig) {
$frontController->addControllerDirectory($extensionConfig->path, '_component_' . $extensionName);
}
// make extension manager available to dispatcher
$dispatcher = $frontController->getDispatcher();
$dispatcher->setExtensionManager($extensionManager);
// keep extension manager in OntoWiki
$ontoWiki->extensionManager = $extensionManager;
// actionhelper
Zend_Controller_Action_HelperBroker::addPrefix('OntoWiki_Controller_ActionHelper_');
Zend_Controller_Action_HelperBroker::addHelper(new OntoWiki_Controller_ActionHelper_List());
return $extensionManager;
}
/**
* Loads the application config file
*
* @since 0.9.5
*/
public function _initConfig()
{
// load default application configuration file
try {
$config = new Zend_Config_Ini(APPLICATION_PATH . 'config/default.ini', 'default', true);
} catch (Zend_Config_Exception $e) {
throw $e;
}
// load user application configuration files
$tryDistConfig = false;
try {
$privateConfig = new Zend_Config_Ini(ONTOWIKI_ROOT . 'config.ini', 'private', true);
$config->merge($privateConfig);
} catch (Zend_Config_Exception $e) {
$tryDistConfig = true;
}
if ($tryDistConfig === true) {
try {
$privateConfig = new Zend_Config_Ini(ONTOWIKI_ROOT . 'config.ini.dist', 'private', true);
$config->merge($privateConfig);
} catch (Zend_Config_Exception $e) {
$message = '<p>OntoWiki can not find a proper configuration.</p>' . PHP_EOL
. '<p>Maybe you have to copy and modify the distributed '
. '<code>config.ini.dist</code> file?</p>'. PHP_EOL
. '<details><summary>Error Details</summary>'
. $e->getMessage() . '</details>';
throw new OntoWiki_Exception($message);
}
}
// normalize path names
$config->themes->path = rtrim($config->themes->path, '/\\') . '/';
$config->themes->default = rtrim($config->themes->default, '/\\') . '/';
$config->extensions->base = rtrim($config->extensions->base, '/\\') . '/';
if (false === defined('EXTENSION_PATH')) {
define('EXTENSION_PATH', $config->extensions->base);
}
$config->extensions->legacy = EXTENSION_PATH . rtrim($config->extensions->legacy, '/\\') . '/';
$config->languages->path = EXTENSION_PATH . rtrim($config->languages->path, '/\\') . '/';
$config->libraries->path = rtrim($config->libraries->path, '/\\') . '/';
$config->cache->path = rtrim($config->cache->path, '/\\') . '/';
$config->log->path = rtrim($config->log->path, '/\\') . '/';
// support absolute path
$matches = array();
if (!(preg_match('/^(\w:[\/|\\\\]|\/)/', $config->cache->path, $matches) === 1)) {
$config->cache->path = ONTOWIKI_ROOT . $config->cache->path;
}
// set path variables
$rewriteBase = substr($_SERVER['PHP_SELF'], 0, strpos($_SERVER['PHP_SELF'], BOOTSTRAP_FILE));
// set protocol and read headers sent by proxies
$protocol = 'http';
if (isset($_SERVER['X-Forwarded-Protocol'])) {
$protocol = strtolower($_SERVER['X-Forwarded-Protocol']);
} else if (isset($_SERVER['HTTP_X_FORWARDED_PROTO'])) {
$protocol = strtolower($_SERVER['HTTP_X_FORWARDED_PROTO']);
} else if (isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on') {
$protocol = 'https';
}
if (isset($_SERVER['HTTP_HOST'])) {
$httpHost = $_SERVER['HTTP_HOST'];
} else {
$httpHost = 'localhost';
}
$urlBase = sprintf(
'%s://%s%s',
$protocol,
$httpHost,
$rewriteBase
);
// construct URL variables
$config->host = parse_url($urlBase, PHP_URL_HOST);
$config->urlBase = rtrim($urlBase . (ONTOWIKI_REWRITE ? '' : BOOTSTRAP_FILE), '/\\') . '/';
$config->staticUrlBase = rtrim($urlBase, '/\\') . '/';
$config->themeUrlBase = $config->staticUrlBase
. $config->themes->path
. $config->themes->default;
$config->libraryUrlBase = $config->staticUrlBase
. $config->libraries->path;
//check if log.level has a valid integer as value
if (!((int)$config->log->level >= 0 && (int)$config->log->level <= 7)) {
$config->log->level = 0;
}
// define constants for development/debugging
if (isset($config->debug) && (boolean)$config->debug) {
// display errors
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 'On');
// enable debugging options
if (false === defined('_OWDEBUG')) {
define('_OWDEBUG', 1);
}
// log everything
$config->log->enabled = true;
$config->log->level = 7;
}
return $config;
}
/**
* apply session config
*
* @param Zend_Config $sessionConfig Session configuration settings
*/
protected function applySessionConfig($sessionConfig)
{
$cookieParams = array(
'lifetime' => isset($sessionConfig->lifetime) ? $sessionConfig->lifetime : 0,
'path' => isset($sessionConfig->path) ? $sessionConfig->path : '/',
'domain' => isset($sessionConfig->domain) ? $sessionConfig->domain : '',
'secure' => isset($sessionConfig->secure) ? (bool)$sessionConfig->secure : false,
'httpOnly' => isset($sessionConfig->httpOnly) ? (bool)$sessionConfig->httpOnly : false
);
call_user_func_array('session_set_cookie_params', $cookieParams);
}
/**
* Initializes the modified Zend_Conroller_Dispatcher to allow for
* pluggable controllers
*
* @since 0.9.5
*/
public function _initDispatcher()
{
// require Front controller
$this->bootstrap('frontController');
$frontController = $this->getResource('frontController');
// require Config
$this->bootstrap('Config');
$config = $this->getResource('Config');
$dispatcher = new OntoWiki_Dispatcher(array('url_base' => $config->urlBase));
$dispatcher->setControllerDirectory(APPLICATION_PATH . 'controllers');
$frontController->setDispatcher($dispatcher);
return $dispatcher;
}
/**
* Initializes the Erfurt framework
*
* @since 0.9.5
*/
public function _initErfurt()
{
$erfurt = null;
// require Config
$this->bootstrap('Config');
$config = $this->getResource('Config');
// require OntoWiki
$this->bootstrap('OntoWiki');
$ontoWiki = $this->getResource('OntoWiki');
// require Logger, since Erfurt logger should write into OW logs dir
$this->bootstrap('Logger');
// Reset the Erfurt app for testability... needs to be refactored.
Erfurt_App::reset();
try {
$erfurt = Erfurt_App::getInstance(false)->start($config);
} catch (Erfurt_Exception $ee) {
throw new OntoWiki_Exception('Error loading Erfurt framework: ' . $ee->getMessage());
} catch (Exception $e) {
throw new OntoWiki_Exception('Unexpected error: ' . $e->getMessage());
}
// make available
$ontoWiki->erfurt = $erfurt;
return $erfurt;
}
/**
* Initializes the event dispatcher
*
* @since 0.9.5
*/
public function _initEventDispatcher()
{
// load event dispatcher for Erfurt and OntoWiki events
$eventDispatcher = Erfurt_Event_Dispatcher::getInstance();
return $eventDispatcher;
}
/**
* Loads logging capability
*
* @since 0.9.5
*/
public function _initLogger()
{
// require config
$this->bootstrap('Config');
$config = $this->getResource('Config');
// support absolute path
if (!(preg_match('/^(\w:[\/|\\\\]|\/)/', $config->log->path) === 1)) {
// prepend OntoWiki root for relative paths
$config->log->path = ONTOWIKI_ROOT . $config->log->path;
}
// initialize logger
$writer = null;
if (is_writable($config->log->path) && ((boolean)$config->log->enabled == true)) {
$levelFilter = new Zend_Log_Filter_Priority((int)$config->log->level, '<=');
$logName = $config->log->path . 'ontowiki';
// Check whether log can be created with $logName... otherwise append a number.
// This needs to be done, since logs may be created by other processes (e.g. with
// testing) and thus can't be opened anymore.
$writer = null;
for ($i = 0; $i < 10; ++$i) {
try {
$fullLogName = $logName;
if ($i > 0) {
$fullLogName .= '_' . $i;
}
$fullLogName .= '.log';
$writer = new Zend_Log_Writer_Stream($fullLogName);
if (null !== $writer) {
break;
}
} catch (Zend_Log_Exception $e) {
// Nothing to do... just continue
}
}
if (null !== $writer) {
$logger = new Zend_Log($writer);
$logger->addFilter($levelFilter);
return $logger;
}
}
// fallback to NULL logger
$writer = new Zend_Log_Writer_Null();
$logger = new Zend_Log($writer);
return $logger;
}
/**
* Initializes the navigation
*
* @since 0.9.5
*/
public function _initNavigation()
{
// require Session
$this->bootstrap('Session');
$session = $this->getResource('Session');
$this->bootstrap('Request');
$request = $this->getResource('Request');
$this->bootstrap('Config');
$config = $this->getResource('Config');
// get current action name
$currentAction = $request->getActionName();
// is current action a default action?
if ($currentAction == 'properties' || $currentAction == 'instances') {
// save it to session
$session->lastRoute = $currentAction;
}
// get last route or default
$route = isset($session->lastRoute) ? $session->lastRoute : $config->route->default->name;
// register with navigation
if (isset($config->routes->{$route})) {
extract($config->routes->{$route}->defaults->toArray());
// and add last routed component
OntoWiki::getInstance()->getNavigation()->register(
'index',
array(
'route' => $route,
'controller' => $controller,
'action' => $action,
'name' => ucfirst($route),
'priority' => 0
)
);
}
}
/**
* Initializes the OntoWiki main class
*
* @since 0.9.5
*/
public function _initOntoWiki()
{
// require Config
$this->bootstrap('Config');
$config = $this->getResource('Config');
OntoWiki::reset();
$ontoWiki = OntoWiki::getInstance();
$ontoWiki->setBootstrap($this);
$ontoWiki->language = isset($config->languages->locale) ? $config->languages->locale : null;
$ontoWiki->config = $config;
return $ontoWiki;
}
public function _initPlugins()
{
// require front controller
$this->bootstrap('frontController');
$frontController = $this->getResource('frontController');
// Needs to be done first!
$frontController->registerPlugin(new OntoWiki_Controller_Plugin_HttpAuth(), 1);
$frontController->registerPlugin(new OntoWiki_Controller_Plugin_SetupHelper(), 2);
//needs to be done after SetupHelper
$frontController->registerPlugin(new OntoWiki_Controller_Plugin_ListSetupHelper(), 3);
}
/**
* Initializes the request object
*
* @since 0.9.5
*/
public function _initRequest()
{
$this->bootstrap('FrontController');
$frontController = $this->getResource('FrontController');
$this->bootstrap('Router');
$router = $this->getResource('Router');
$request = new OntoWiki_Request();
$frontController->setRequest($request);
$router->route($request);
return $request;
}
/**
* Initializes the router
*
* @since 0.9.5
*/
public function _initRouter()
{
// require front controller
$this->bootstrap('frontController');
$frontController = $this->getResource('frontController');
// require Config
$this->bootstrap('Config');
$config = $this->getResource('Config');
$router = $frontController->getRouter();
$router->addConfig($config->routes);
return $router;
}
/**
* Initializes the session and loads session variables
*
* @since 0.9.5
*/
public function _initSession()
{
// require Config
$this->bootstrap('Config');
$config = $this->getResource('Config');
// require Config
$this->bootstrap('OntoWiki');
$ontoWiki = $this->getResource('OntoWiki');
// init session
$sessionKey = 'ONTOWIKI' . (isset($config->session->identifier) ? $config->session->identifier : '');
$session = new Zend_Session_Namespace($sessionKey);
// define the session key as a constant for global reference
if (false === defined('_OWSESSION')) {
define('_OWSESSION', $sessionKey);
}
// inject session vars into OntoWiki
if (array_key_exists('sessionVars', $this->_options['bootstrap'])) {
$ontoWiki->setSessionVars((array)$this->_options['bootstrap']['sessionVars']);
}
// make available
$ontoWiki->session = $session;
return $session;
}
/**
* Initializes the toolbar
*
* @since 0.9.5
*/
public function _initToolbar()
{
$this->bootstrap('Config');
$config = $this->getResource('Config');
$this->bootstrap('Translate');
$translate = $this->getResource('Translate');
// configure toolbar
$toolbar = OntoWiki_Toolbar::getInstance();
$toolbar->setThemeUrlBase($config->themeUrlBase)
->setTranslate($translate);
return $toolbar;
}
/**
* Loads the translation
*
* @since 0.9.5
*/
public function _initTranslate()
{
$this->bootstrap('Config');
$config = $this->getResource('Config');
// setup translation cache
if ((boolean)$config->cache->translation) {
// set translation cache
Zend_Translate::setCache($this->getResource('Erfurt')->getCache());
}
// set up translations
$options = array(
// scan locale from directories
'scan' => Zend_Translate::LOCALE_DIRECTORY,
// don't emit notices
'disableNotices' => true
);
$translate = new Zend_Translate('csv', ONTOWIKI_ROOT . $config->languages->path, null, $options);
try {
$translate->setLocale($config->languages->locale);
} catch (Zend_Translate_Exception $e) {
$config->languages->locale = 'en';
$translate->setLocale('en');
}
return $translate;
}
/**
* Authenticates the current user or Anonymous with Erfurt
*
* @since 0.9.5
*/
public function _initUser()
{
$user = null;
// require Erfurt
$this->bootstrap('Erfurt');
$erfurt = $this->getResource('Erfurt');
// get logged in user
$auth = $erfurt->getAuth();
if ($auth->hasIdentity()) {
$user = $auth->getIdentity();
}
if (null === $user) {
// authenticate anonymous user
$erfurt->authenticate('Anonymous', '');
$user = $auth->getIdentity();
}
return $user;
}
/**
* Sets up the view environment
*
* @since 0.9.5
*/
public function _initView()
{
// require Config
$this->bootstrap('Config');
$config = $this->getResource('Config');
// require Config
$this->bootstrap('Translate');
$translate = $this->getResource('Translate');
// standard template path
$defaultTemplatePath = ONTOWIKI_ROOT
. 'application/views/templates';
// path for theme template
$themeTemplatePath = ONTOWIKI_ROOT
. $config->themes->path
. $config->themes->default
. 'templates';
$viewOptions = array(
'use_module_cache' => (bool)$config->cache->modules,
'cache_path' => $config->cache->path,
'lang' => $config->languages->locale
);
// init view
$view = new OntoWiki_View($viewOptions, $translate);
$view->addScriptPath($defaultTemplatePath) // default templates
->addScriptPath($themeTemplatePath) // theme templates override default ones
->addScriptPath($config->extensions->base) // extension templates
->setEncoding($config->encoding)
->setHelperPath(ONTOWIKI_ROOT . 'application/classes/OntoWiki/View/Helper', 'OntoWiki_View_Helper');
// set Zend_View to emit notices in debug mode
$view->strictVars(defined('_OWDEBUG'));
// init view renderer action helper
$viewRenderer = new Zend_Controller_Action_Helper_ViewRenderer($view);
Zend_Controller_Action_HelperBroker::addHelper($viewRenderer);
$themeLayoutTemplate = $themeTemplatePath
. DIRECTORY_SEPARATOR
. 'layouts'
. DIRECTORY_SEPARATOR
. 'layout.phtml';
$layoutPath = $defaultTemplatePath . DIRECTORY_SEPARATOR . 'layouts';
if (is_readable($themeLayoutTemplate)) {
$layoutPath = $themeTemplatePath . DIRECTORY_SEPARATOR . 'layouts';
}
// initialize layout
Zend_Layout::startMvc(
array(
// for layouts we use the default path
'layoutPath' => $layoutPath
)
);
return $view;
}
}
================================================
FILE: application/LICENSE.txt
================================================
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
License is intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This
General Public License applies to most of the Free Software
Foundation's software and to any other program whose authors commit to
using it. (Some other Free Software Foundation software is covered by
the GNU Lesser General Public License instead.) You can apply it to
your programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if you
distribute copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether
gratis or for a fee, you must give the recipients all the rights that
you have. You must make sure that they, too, receive or can get the
source code. And you must show them these terms so they know their
rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on, we
want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that redistributors of a free
program will individually obtain patent licenses, in effect making the
program proprietary. To prevent this, we have made it clear that any
patent must be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
GNU GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License applies to any program or other work which contains
a notice placed by the copyright holder saying it may be distributed
under the terms of this General Public License. The "Program", below,
refers to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it,
either verbatim or with modifications and/or translated into another
language. (Hereinafter, translation is included without limitation in
the term "modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running the Program is not restricted, and the output from the Program
is covered only if its contents constitute a work based on the
Program (independent of having been made by running the Program).
Whether that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the
notices that refer to this License and to the absence of any warranty;
and give any other recipients of the Program a copy of this License
along with the Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide
a warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but
does not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Program, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Program.
In addition, mere aggregation of another work not based on the Program
with the Program (or with a work based on the Program) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding machine-readable
source code, which must be distributed under the terms of Sections
1 and 2 above on a medium customarily used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your
cost of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with such
an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to
control compilation and installation of the executable. However, as a
special exception, the source code distributed need not include
anything that is normally distributed (in either source or binary
form) with the major components (compiler, kernel, and so on) of the
operating system on which the executable runs, unless that component
itself accompanies the executable.
If distribution of executable or object code is made by offering
access to copy from a designated place, then offering equivalent
access to copy the source code from the same place counts as
distribution of the source code, even though third parties are not
compelled to copy the source along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense or distribute the Program is
void, and will automatically terminate your rights under this License.
However, parties who have received copies, or rights, from you under
this License will not have their licenses terminated so long as such
parties remain in full compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the
original licensor to copy, distribute or modify the Program subject to
these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Program at all. For example, if a patent
license would not permit royalty-free redistribution of the Program by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Program.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply and the section as a whole is intended to apply in other
circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system, which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Program under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
9. The Free Software Foundation may publish revised and/or new versions
of the General Public License from time to time. Such new versions will
be similar in spirit to the present version, but may differ in detail to
address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number of
this License, you may choose any version ever published by the Free Software
Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we sometimes
make exceptions for this. Our decision will be guided by the two goals
of preserving the free status of all derivatives of our free software and
of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
REPAIR OR CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Programs
If you develop a new program, and you want it to be of the greatest
possible use to the public, the best way to achieve this is to make it
free software which everyone can redistribute and change under these terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least
the "copyright" line and a pointer to where the full notice is found.
<one line to give the program's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program; if not, write to the Free Software Foundation, Inc.,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
Also add information on how to contact you by electronic and paper mail.
If the program is interactive, make it output a short notice like this
when it starts in an interactive mode:
Gnomovision version 69, Copyright (C) year name of author
Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
This is free software, and you are welcome to redistribute it
under certain conditions; type `show c' for details.
The hypothetical commands `show w' and `show c' should show the appropriate
parts of the General Public License. Of course, the commands you use may
be called something other than `show w' and `show c'; they could even be
mouse-clicks or menu items--whatever suits your program.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the program, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the program
`Gnomovision' (which makes passes at compilers) written by James Hacker.
<signature of Ty Coon>, 1 April 1989
Ty Coon, President of Vice
This General Public License does not permit incorporating your program into
proprietary programs. If your program is a subroutine library, you may
consider it more useful to permit linking proprietary applications with the
library. If this is what you want to do, use the GNU Lesser General
Public License instead of this License.
================================================
FILE: application/classes/OntoWiki/Component/Exception.php
================================================
<?php
/**
* This file is part of the {@link http://ontowiki.net OntoWiki} project.
*
* @copyright Copyright (c) 2006-2013, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
*/
/**
* OntoWiki component exteption class.
*
* @category OntoWiki
* @package OntoWiki_Classes_Component
* @copyright Copyright (c) 2012, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
* @author Norman Heino <norman.heino@gmail.com>
*/
class OntoWiki_Component_Exception extends OntoWiki_Exception
{
}
================================================
FILE: application/classes/OntoWiki/Component/Helper.php
================================================
<?php
/**
* This file is part of the {@link http://ontowiki.net OntoWiki} project.
*
* @copyright Copyright (c) 2009-2016, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
*/
/**
* Component helper base class.
*
* Component helpers are small objects that are instantiated when a component
* is found by the component manager. Component helpers allow for certain tasks
* to be executed on every request (even those the component doesn't handle).
* Example usages are registering a menu entry or a navigation tab.
*
* @category OntoWiki
* @package OntoWiki_Classes_Component
* @copyright Copyright (c) 2012, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
* @author Norman Heino <norman.heino@gmail.com>
*/
class OntoWiki_Component_Helper
{
/**
* The component's file system root directory
*
* @var string
*/
protected $_componentRoot = null;
/**
* The components URL base
*
* @var string
*/
protected $_componentUrlBase = null;
/**
* OntoWiki Application config
*
* @var Zend_Config
*/
protected $_config;
/**
* The component private config
*
* @var Zend_Config
*/
protected $_privateConfig;
/**
* OntoWiki Application
*
* @var OntoWiki
*/
protected $_owApp;
/**
* Constructor
*
* @param OntoWiki_Component_Manager $componentManager
*/
public function __construct($config)
{
$this->_owApp = OntoWiki::getInstance();
$this->_config = $this->_owApp->getConfig();
$this->_privateConfig = isset($config->private) ? $config->private : new Zend_Config(array(), true);
}
/**
* Overwritten in subclasses
*/
public function init()
{
}
public function getPrivateConfig()
{
return $this->_privateConfig;
}
public function getComponentRoot()
{
$componentName = strtolower(str_replace('Helper', '', get_class($this)));
// set component root dir
$this->_componentRoot = $this->_owApp->extensionManager->getComponentPath() . $componentName . '/';
return $this->_componentRoot;
}
public function getComponentUrlBase()
{
$componentName = strtolower(str_replace('Helper', '', get_class($this)));
// set component root url
$this->_componentUrlBase
= $this->_config->staticUrlBase . $this->_config->extensions->base . $componentName . '/';
return $this->_componentUrlBase;
}
}
================================================
FILE: application/classes/OntoWiki/Controller/ActionHelper/List.php
================================================
<?php
/**
* This file is part of the {@link http://ontowiki.net OntoWiki} project.
*
* @copyright Copyright (c) 2006-2016, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
*/
/**
* Manage the session variable that stores multiple lists (mostly the current instance list)
*
* @category OntoWiki
* @package OntoWiki_Classes_Controller_ActionHelper
*/
class OntoWiki_Controller_ActionHelper_List extends Zend_Controller_Action_Helper_Abstract
{
protected $_owApp;
public function __construct()
{
$this->_owApp = OntoWiki::getInstance();
if (!isset($this->_owApp->session->managedLists)) {
$this->_owApp->session->managedLists = array();
}
}
/**
*
* @return OntoWiki_Model_Instances
*/
public function getLastList()
{
$name = $this->_owApp->session->lastList;
if (isset($this->_owApp->session->managedLists)) {
$lists = $this->_owApp->session->managedLists;
if (key_exists($name, $lists)) {
return $lists[$name];
}
}
return null;
}
/**
*
* @return string
*/
public function getLastListName()
{
return $this->_owApp->session->lastList;
}
/**
*
* @return bool
*/
public function listExists($name)
{
$lists = $this->_owApp->session->managedLists;
if (key_exists($name, $lists)) {
return true;
}
return false;
}
/**
*
* @return OntoWiki_Model_Instances
*/
public function getList($name)
{
$lists = $this->_owApp->session->managedLists;
if (key_exists($name, $lists)) {
return $lists[$name];
}
throw new InvalidArgumentException('list was not found. check with listExists() first');
}
/**
* Render a list, add it to the cache and add it to the current view
*
* @param $listName string with a listname
* @param $list OntoWiki_Model_Instances a list of resources
* @param $view the current view to which the list should be added
* @param $mainTemplate the template to use for rendering the list
* @param $other array of other values available to the template
* @param $returnOutput true|false if false, the list is rendered directly to the view else the
* rendered list is returned
* @return the rendered list if $returnOutput is true
*/
public function addListPermanently(
$listName,
OntoWiki_Model_Instances $list,
Zend_View_Interface $view,
$mainTemplate = 'list_std_main',
$other = null,
$returnOutput = false
) {
$this->updateList($listName, $list, true);
return $this->addList($listName, $list, $view, $mainTemplate, $other, $returnOutput);
}
/**
* Render a list and add it to the current view
*
* @param $listName string with a listname
* @param $list OntoWiki_Model_Instances a list of resources
* @param $view the current view to which the list should be added
* @param $mainTemplate the template to use for rendering the list
* @param $other array of other values available to the template
* @param $returnOutput true|false if false, the list is rendered directly to the view else the
* rendered list is returned
* @return the rendered list if $returnOutput is true
*/
public function addList(
$listName,
OntoWiki_Model_Instances $list,
Zend_View_Interface $view,
$mainTemplate = 'list_std_main',
$other = null,
$returnOutput = false
) {
if ($other === null) {
$other = new stdClass();
}
$renderedList = $view->partial(
'partials/list.phtml',
array(
'listName' => $listName,
'instances' => $list,
'mainTemplate' => $mainTemplate,
'other' => $other
)
);
$this->_owApp->session->lastList = $listName;
if ($returnOutput) {
return $renderedList;
} else {
$this->getResponse()->append('default', $renderedList);
}
}
public function updateList($name, OntoWiki_Model_Instances $list, $setLast = false)
{
$lists = $this->_owApp->session->managedLists;
$lists[$name] = $list;
$this->_owApp->session->managedLists = $lists;
if ($setLast) {
$this->_owApp->session->lastList = $name;
}
}
public function getAllLists()
{
return $this->_owApp->session->managedLists;
}
public function removeAllLists()
{
$this->_owApp->session->managedLists = array();
}
public function removeList($name)
{
$lists = $this->_owApp->session->managedLists;
if (key_exists($name, $lists)) {
unset($lists[$name]);
}
throw new InvalidArgumentException('list was not found. check with listExists() first');
}
}
================================================
FILE: application/classes/OntoWiki/Controller/Base.php
================================================
<?php
/**
* This file is part of the {@link http://ontowiki.net OntoWiki} project.
*
* @copyright Copyright (c) 2006-2016, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
*/
/**
* OntoWiki controller base class.
*
* @category OntoWiki
* @package OntoWiki_Classes_Controller
* @author Norman Heino <norman.heino@gmail.com>
*/
class OntoWiki_Controller_Base extends Zend_Controller_Action
{
/**
* OntoWiki Application
*
* @var OntoWiki
*/
protected $_owApp = null;
/**
* OntoWiki Application config
*
* @var Zend_Config
*/
protected $_config = null;
/**
* The session store
*
* @var Zend_Session
*/
protected $_session = null;
/**
* Erfurt App
*
* @var Erfurt_App
*/
protected $_erfurt = null;
/**
* The Erfurt event dispatcher
*
* @var Erfurt_Event_Dispatcher
*/
protected $_eventDispatcher = null;
/**
* Time before the conroller is launched
*
* @var float
*/
private $_preController;
/**
* Constructor
*/
public function init()
{
/**
* @trigger onBeforeInitController
* Triggered before a controller of class OntoWiki_Controller_Base (or derived)
* is initialized.
*/
$event = new Erfurt_Event('onBeforeInitController');
$eventResult = $event->trigger();
// init controller variables
$this->_owApp = OntoWiki::getInstance();
$this->_config = $this->_owApp->config;
$this->_session = $this->_owApp->session;
$this->_erfurt = $this->_owApp->erfurt;
$this->_eventDispatcher = Erfurt_Event_Dispatcher::getInstance();
// set important script variables
$this->view->themeUrlBase = $this->_config->themeUrlBase;
$this->view->urlBase = $this->_config->urlBase;
$this->view->staticUrlBase = $this->_config->staticUrlBase;
$this->view->libraryUrlBase = $this->_config->staticUrlBase . 'libraries/';
$graph = $this->_owApp->selectedModel;
if ($graph instanceof Erfurt_Rdf_Model) {
if ($graph->isEditable()) {
$this->view->placeholder('update')->set(
array(
'defaultGraph' => $graph->getModelIri(),
'queryEndpoint' => $this->_config->urlBase . 'sparql/',
'updateEndpoint' => $this->_config->urlBase . 'update/'
)
);
}
}
// check config for additional styles
if ($stylesExtra = $this->_config->themes->styles) {
$this->view->themeExtraStyles = $stylesExtra->toArray();
} else {
$this->view->themeExtraStyles = array();
}
// disable layout for Ajax requests
if ($this->_request->isXmlHttpRequest()) {
$this->_helper->layout()->disableLayout();
}
// initialize view helpers
$this->view->headTitle($this->_config->title->prefix, 'SET');
$this->view->headTitle()->setSeparator($this->_config->title->separator);
$this->view->headMeta()->setHttpEquiv('Content-Type', 'text/html; charset=' . $this->_config->encoding);
$this->view->headMeta()->setName('generator', 'OntoWiki — Collaborative Knowledge Engineering');
// RDFauthor view configuration
$viewMode = isset($this->_config->rdfauthor->viewmode) ? $this->_config->rdfauthor->viewmode : 'inline';
// inject JSON variables into view
$this->view->jsonVars
= '
var urlBase = "' . $this->_config->urlBase . '";
var themeUrlBase = "' . $this->_config->themeUrlBase . '";
var _OWSESSION = "' . _OWSESSION . '";
var RDFAUTHOR_BASE = "' . $this->_config->staticUrlBase . 'libraries/RDFauthor/";
var RDFAUTHOR_VIEW_MODE = "' . $viewMode . '";' . PHP_EOL;
if (defined('_OWDEBUG')) {
$this->view->jsonVars .= ' var RDFAUTHOR_DEBUG = 1;';
}
if ($this->_owApp->selectedModel) {
$this->view->jsonVars
.= '
var selectedGraph = {
URI: "' . (string)$this->_owApp->selectedModel . '",
title: ' . json_encode((string)$this->_owApp->selectedModel->getTitle()) . ',
editable: ' . ($this->_owApp->selectedModel->isEditable() ? 'true' : 'false') . '
};
var RDFAUTHOR_DEFAULT_GRAPH = "' . (string)$this->_owApp->selectedModel . '";' . PHP_EOL;
}
if ($this->_owApp->selectedResource) {
$this->view->jsonVars
.= '
var selectedResource = {
URI: "' . (string)$this->_owApp->selectedResource . '",
title: ' . json_encode((string)$this->_owApp->selectedResource->getTitle()) . ',
graphURI: "' . (string)$this->_owApp->selectedModel . '"
};
var RDFAUTHOR_DEFAULT_SUBJECT = "' . (string)$this->_owApp->selectedResource . '";' . PHP_EOL;
}
// set ratio between left bar and main window
if (isset($this->_session->sectionRation)) {
$this->view->headScript()->appendScript(
'var sectionRatio = ' . $this->_session->sectionRation . ';'
);
}
if (isset($this->_config->meta)) {
if (isset($this->_config->meta->Keywords)) {
$this->view->metaKeywords = $this->_config->meta->Keywords;
}
if (isset($this->_config->meta->Description)) {
$this->view->metaDescription = $this->_config->meta->Description;
}
}
/**
* @trigger onAfterInitController
* Triggered after a controller from class OntoWiki_Controller_Base (or derived)
* has been initialized.
*/
$event = new Erfurt_Event('onAfterInitController');
$event->response = $this->_response;
$eventResult = $event->trigger();
}
/**
* Zend pre-dispatch hook.
*
* Executed before dispatching takes place.
*/
public function preDispatch()
{
// log time before dispatch
$this->_preController = microtime(true);
// render main modules
if (!$this->view->has('main.sidewindows') && !$this->_request->isXmlHttpRequest()) {
$this->view->placeholder('main.sidewindows')->append($this->view->modules('main.sidewindows'));
}
}
/**
* Zend post-dispatch hook.
*
* Executed after dispatching has taken place.
*/
public function postDispatch()
{
// log dispatch time
$this->_owApp->logger->info(
sprintf(
'Dispatching %s/%s: %d ms',
$this->_request->getControllerName(),
$this->_request->getActionName(),
(microtime(true) - $this->_preController) * 1000
)
);
// catch redirect
if ($this->_request->has('redirect-uri')) {
$redirectUri = urldecode($this->_request->getParam('redirect-uri'));
$front = Zend_Controller_Front::getInstance();
if ('' !== $front->getBaseUrl()) {
$prependBase = (false === strpos($redirectUri, $front->getBaseUrl()));
} else {
$prependBase = true;
}
$options = array('prependBase' => $prependBase);
$this->_redirect($redirectUri, $options);
}
if (strlen($this->view->placeholder('main.window.title')->toString()) > 0) {
$this->view->headTitle($this->view->placeholder('main.window.title')->toString());
}
}
/**
* Returns a parameter from the current request and expands its URI
* using the local namespace table. It also strips slashes if
* magic_quotes_gpc is turned on in PHP.
*
* @param string $name the name of the parameter
* @param boolean $expandNamespace Whether to expand the namespace or not
*
* @deprecated 0.9.5, use OntoWiki_Request::getParam() instead
*
* @return mixed the parameter or null if not found
*/
public function getParam($name, $expandNamespace = false)
{
$value = $this->_request->getParam($name);
if ($expandNamespace) {
$value = OntoWiki_Utils::expandNamespace($value);
}
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
return $value;
}
/**
* Adds a module context which the controller provides
*
* @param string $moduleContext The context name
*/
public function addModuleContext($moduleContext)
{
if (!$this->_request->isXmlHttpRequest()) {
$moduleContent = $this->view->modules($moduleContext);
$this->view->placeholder('main.window.innerwindows')->append($moduleContent);
}
}
/**
* Clones the current view object and returns a new view
* object with the same configuration but all variables cleared.
*
* @return OntoWiki_View
*/
public function cloneView()
{
$view = clone $this->view;
$view->clearVars();
return $view;
}
/**
* tests if there is a selected model and appends an error message
* (optional) to the message queue
*
* @param boolean $appendMessage append a error message or not (default: true)
* @since 0.9.9
* @return boolean
*/
public function isModelSelected($appendMessage = true)
{
if ($this->_owApp->selectedModel === null) {
if ($appendMessage) {
$this->_owApp->appendMessage(
new OntoWiki_Message(
$this->view->_('No model selected.'),
OntoWiki_Message::ERROR
)
);
}
return false;
} else {
return true;
}
}
/**
* tests if there is an editable selected model and appends an error message
* (optional) to the message queue
*
* @param boolean $appendMessage append a error message or not (default: true)
* @since 0.9.9
* @return boolean
*/
public function isSelectedModelEditable($appendMessage = true)
{
if (!$this->isModelSelected($appendMessage)) {
return false;
} else {
if (!$this->_owApp->selectedModel->isEditable()) {
if ($appendMessage) {
$this->_owApp->appendMessage(
new OntoWiki_Message(
$this->view->_('No write permissions on this model.'),
OntoWiki_Message::ERROR
)
);
}
return false;
} else {
return true;
};
}
}
}
================================================
FILE: application/classes/OntoWiki/Controller/Component.php
================================================
<?php
/**
* This file is part of the {@link http://ontowiki.net OntoWiki} project.
*
* @copyright Copyright (c) 2006-2013, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
*/
/**
* OntoWiki controller base class for components.
*
* Provide component-specific path variables and Zend settings.
*
* @category OntoWiki
* @package OntoWiki_Classes_Controller
* @copyright Copyright (c) 2012, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
* @author Norman Heino <norman.heino@gmail.com>
*/
class OntoWiki_Controller_Component extends OntoWiki_Controller_Base
{
/**
* The component's file system root directory
*
* @var string
*/
protected $_componentRoot = null;
/**
* The components URL base
*
* @var string
*/
protected $_componentUrlBase = null;
/**
* The component helper object
*
* @var OntoWiki_Component_Helper
*/
protected $_componentHelper = null;
/**
* The component private config
*
* @var array
*/
protected $_privateConfig = null;
/**
* Constructor
*/
public function init()
{
parent::init();
$cm = $this->_owApp->extensionManager;
$name = $this->_request->getControllerName();
// set component specific template path
if ($tp = $cm->getComponentTemplatePath($name)) {
$this->view->addScriptPath($tp);
}
// set component specific helper path
if ($hp = $cm->getComponentHelperPath($name)) {
$this->view->addHelperPath($hp, ucfirst($name) . '_View_Helper_');
}
// set private config
if ($pc = $cm->getPrivateConfig($name)) {
$this->_privateConfig = $pc;
}
// set component root dir
$this->_componentRoot = $cm->getExtensionPath()
. $name
. '/';
// set component root url
$this->_componentUrlBase = $this->_config->staticUrlBase
. $this->_config->extensions->base
. $name
. '/';
}
/**
* Returns the helper object associated with the component.
*
* @throws OntoWiki_Component_Exception if the component has no helper defined.
* @return OntoWiki_Component_Helper
*/
public function getComponentHelper()
{
if (null === $this->_componentHelper) {
$name = $this->_request->getControllerName();
$extensionManager = $this->_owApp->extensionManager;
$this->_componentHelper = $extensionManager->getComponentHelper($name);
}
return $this->_componentHelper;
}
}
================================================
FILE: application/classes/OntoWiki/Controller/Exception.php
================================================
<?php
/**
* This file is part of the {@link http://ontowiki.net OntoWiki} project.
*
* @copyright Copyright (c) 2006-2013, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
*/
/**
* OntoWiki controller exception base class
*
* @category OntoWiki
* @package OntoWiki_Classes_Controller
* @copyright Copyright (c) 2012, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
* @author Norman Heino <norman.heino@gmail.com>
*/
class OntoWiki_Controller_Exception extends OntoWiki_Exception
{
}
================================================
FILE: application/classes/OntoWiki/Controller/Plugin/HttpAuth.php
================================================
<?php
/**
* This file is part of the {@link http://ontowiki.net OntoWiki} project.
*
* @copyright Copyright (c) 2006-2013, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
*/
/**
* HTTP Authentication plug-in
*
* Provides authentication via HTTP simple method.
*
* @category OntoWiki
* @package OntoWiki_Classes_Controller_Plugin
* @copyright Copyright (c) 2012, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
* @author Norman Heino <norman.heino@gmail.com>
*/
class OntoWiki_Controller_Plugin_HttpAuth extends Zend_Controller_Plugin_Abstract
{
/**
* Retieves user credentials from the current request and tries to
* authenticate the user with Erfurt.
*
* @param Zend_Controller_Request_Abstract $request The current request object
*/
public function routeShutdown(Zend_Controller_Request_Abstract $request)
{
if ($credentials = $this->_getAuthHeaderCredentials($request)) {
switch ($credentials['type']) {
case 'basic':
$erfurt = OntoWiki::getInstance()->erfurt;
$logger = OntoWiki::getInstance()->logger;
// authenticate
$authResult = $erfurt->authenticate($credentials['username'], $credentials['password']);
if ($authResult->isValid()) {
$logger = OntoWiki::getInstance()->logger;
$logger->info("User '$credentials[username]' authenticated via HTTP.");
} else {
// if authentication attempt fails, send appropriate headers
$front = Zend_Controller_Front::getInstance();
$response = $front->getResponse();
$response->setRawHeader('HTTP/1.1 401 Unauthorized');
echo 'HTTP/1.1 401 Unauthorized';
return;
}
break;
case 'foaf+ssl':
$adapter = new Erfurt_Auth_Adapter_FoafSsl();
$authResult = $adapter->authenticateWithCredentials($credentials['creds']);
Erfurt_App::getInstance()->getAuth()->setIdentity($authResult);
if ($authResult->isValid()) {
$logger = OntoWiki::getInstance()->logger;
$logger->info('User authenticated with FOAF+SSL via HTTPS.');
}
break;
}
}
}
/**
* Fetches authentication credentials from the current request
*
* @param Zend_Controller_Request_Abstract $request The current request object
*
* @return array
*/
private function _getAuthHeaderCredentials(Zend_Controller_Request_Abstract $request)
{
$authHeader = $request->getHeader('Authorization');
if (is_string($authHeader) && strlen($authHeader) > 0) {
if (strtolower(substr($authHeader, 0, 8)) === 'foaf+ssl') {
$auth = base64_decode(substr($authHeader, 9));
$creds = explode('=', $auth);
foreach ($creds as &$c) {
if (substr($c, 0, 1) === '"') {
$c = substr($c, 1, -1);
}
}
if (count($creds) > 0) {
return array(
'type' => 'foaf+ssl',
'creds' => $creds
);
}
} else {
if (strtolower(substr($authHeader, 0, 5)) === 'basic') {
$auth = base64_decode(substr($authHeader, 6));
$creds = array_filter(explode(':', $auth));
if (count($creds) > 0) {
return array(
'type' => 'basic',
'username' => $creds[0],
'password' => isset($creds[1]) ? $creds[1] : ''
);
}
}
}
}
}
}
================================================
FILE: application/classes/OntoWiki/Controller/Plugin/ListSetupHelper.php
================================================
<?php
/**
* This file is part of the {@link http://ontowiki.net OntoWiki} project.
*
* @copyright Copyright (c) 2006-2013, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
*/
/**
* ListSetupHelper handles list.
* reacts on parameters prior ComponentHelper instantiation
*
* @category OntoWiki
* @package OntoWiki_Classes_Controller_Plugin
* @copyright Copyright (c) 2012, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
* @author Jonas Brekle <jonas.brekle@gmail.com>
*/
class OntoWiki_Controller_Plugin_ListSetupHelper extends Zend_Controller_Plugin_Abstract
{
protected $_isSetup = false;
/**
* RouteStartup is triggered before any routing happens.
*/
public function routeStartup(Zend_Controller_Request_Abstract $request)
{
/**
* @trigger onRouteStartup
*/
$event = new Erfurt_Event('onRouteStartup');
$event->trigger();
}
/**
* RouteShutdown is the earliest event in the dispatch cycle, where a
* fully routed request object is available
*/
public function routeShutdown(Zend_Controller_Request_Abstract $request)
{
if (isset($request->noListRedirect)) {
return;
}
$ontoWiki = OntoWiki::getInstance();
// TODO: Refactor! The list helper is from an extension! Do not access extensions
// from core code!
if (!Zend_Controller_Action_HelperBroker::hasHelper('List')) {
return;
}
$listHelper = Zend_Controller_Action_HelperBroker::getStaticHelper('List');
// only once and only when possible
if (!$this->_isSetup
&& $ontoWiki->selectedModel != null
&& (isset($request->init)
|| isset($request->instancesconfig)
|| isset($request->s)
|| isset($request->class)
|| isset($request->p)
|| isset($request->limit))
) {
$frontController = Zend_Controller_Front::getInstance();
$store = $ontoWiki->erfurt->getStore();
$resource = $ontoWiki->selectedResource;
$session = $ontoWiki->session;
// when switching to another class:
// reset session vars (regarding the list)
if (isset($request->init)) {
//echo 'kill list session';
// reset the instances object
unset($session->instances);
//reset config from tag explorer
unset($session->cloudproperties);
}
//react on m parameter to set the selected model
if (isset($request->m)) {
try {
$model = $store->getModel($request->getParam('m', null, false));
$ontoWiki->selectedModel = $model;
} catch (Erfurt_Store_Exception $e) {
$model = null;
$ontoWiki->selectedModel = null;
}
}
$list = $listHelper->getLastList();
if ((!isset($request->list)
&& $list == null)
|| isset($request->init)
) {
// instantiate model, that selects all resources
$list = new OntoWiki_Model_Instances($store, $ontoWiki->selectedModel, array());
} else {
// use the object from the session
if (isset($request->list) && $request->list != $listHelper->getLastListName()) {
if ($listHelper->listExists($request->list)) {
$list = $listHelper->getList($request->list);
$ontoWiki->appendMessage(new OntoWiki_Message('reuse list'));
} else {
throw new OntoWiki_Exception(
'your trying to configure a list, but there is no list name specified'
);
}
}
$list->setStore($store); // store is not serialized in session! reset it
}
//local function :)
function _json_decode($string)
{
/* PHP 5.3 DEPRECATED ; REMOVE IN PHP 6.0 */
if (get_magic_quotes_gpc()) {
// add slashes for unicode chars in json
$string = str_replace('\\u', '\\\\u', $string);
$string = stripslashes($string);
}
/* ---- */
return json_decode($string, true);
}
//a shortcut for search param
if (isset($request->s)) {
if (isset($request->instancesconfig)) {
$config = _json_decode($request->instancesconfig);
if (null === $config) {
throw new OntoWiki_Exception(
'Invalid parameter instancesconfig (json_decode failed): ' . $this->_request->setup
);
}
} else {
$config = array();
}
if (!isset($config['filter'])) {
$config['filter'] = array();
}
$config['filter'][] = array(
'action' => 'add',
'mode' => 'search',
'searchText' => $request->s
);
$request->setParam('instancesconfig', json_encode($config));
}
//a shortcut for class param
if (isset($request->class)) {
if (isset($request->instancesconfig)) {
$config = _json_decode($request->instancesconfig);
if (null === $config) {
throw new OntoWiki_Exception(
'Invalid parameter instancesconfig (json_decode failed): ' . $this->_request->setup
);
}
} else {
$config = array();
}
if (!isset($config['filter'])) {
$config['filter'] = array();
}
$config['filter'][] = array(
'action' => 'add',
'mode' => 'rdfsclass',
'rdfsclass' => $request->class
);
$request->setParam('instancesconfig', json_encode($config));
}
//check for change-requests
if (isset($request->instancesconfig)) {
$config = _json_decode($request->instancesconfig);
if (null === $config) {
throw new OntoWiki_Exception('Invalid parameter instancesconfig (json_decode failed)');
}
// TODO is this a bug? why access sort->asc when it is null?
if (isset($config['sort'])) {
if ($config['sort'] == null) {
$list->orderByUri($config['sort']['asc']);
} else {
$list->setOrderProperty($config['sort']['uri'], $config['sort']['asc']);
}
}
if (isset($config['shownProperties'])) {
foreach ($config['shownProperties'] as $prop) {
if ($prop['action'] == 'add') {
$list->addShownProperty($prop['uri'], $prop['label'], $prop['inverse']);
} else {
$list->removeShownProperty($prop['uri'], $prop['inverse']);
}
}
}
if (isset($config['filter'])) {
foreach ($config['filter'] as $filter) {
// set default value for action and mode if they're not assigned
if (!isset($filter['action'])) {
$filter['action'] = 'add';
}
if (!isset($filter['mode'])) {
$filter['mode'] = 'box';
}
if ($filter['action'] == 'add') {
if ($filter['mode'] == 'box') {
$list->addFilter(
$filter['property'],
isset($filter['isInverse']) ? $filter['isInverse'] : false,
isset($filter['propertyLabel']) ? $filter['propertyLabel'] : 'defaultLabel',
$filter['filter'],
isset($filter['value1']) ? $filter['value1'] : null,
isset($filter['value2']) ? $filter['value2'] : null,
isset($filter['valuetype']) ? $filter['valuetype'] : 'literal',
isset($filter['literaltype']) ? $filter['literaltype'] : null,
isset($filter['hidden']) ? $filter['hidden'] : false,
isset($filter['id']) ? $filter['id'] : null,
isset($filter['negate']) ? $filter['negate'] : false
);
} else {
if ($filter['mode'] == 'search') {
$list->addSearchFilter(
$filter['searchText'],
isset($filter['id']) ? $filter['id'] : null
);
} else {
if ($filter['mode'] == 'rdfsclass') {
$list->addTypeFilter(
$filter['rdfsclass'],
isset($filter['id']) ? $filter['id'] : null
);
} else {
if ($filter['mode'] == 'cnav') {
$list->addTripleFilter(
NavigationHelper::getInstancesTriples($filter['uri'], $filter['cnav']),
isset($filter['id']) ? $filter['id'] : null
);
} else {
if ($filter['mode'] == 'query') {
try {
$query = Erfurt_Sparql_Query2::initFromString($filter['query']);
// TODO what the hell is this?!
if (!($query instanceof Exception)) {
$list->addTripleFilter(
$query->getWhere()->getElements(),
isset($filter['id']) ? $filter['id'] : null
);
}
} catch (Erfurt_Sparql_ParserException $e) {
$ontoWiki->appendMessage('the query could not be parsed');
}
}
}
}
}
}
} else {
$list->removeFilter($filter['id']);
}
}
}
if (isset($config['order'])) {
foreach ($config['order'] as $prop) {
if ($prop['action'] == 'set') {
if ($prop['mode'] == 'var') {
$list->setOrderVar($prop['var']);
} else {
$list->setOrderUri($prop['uri']);
}
}
}
}
}
if (isset($request->limit)) { // how many results per page
$list->setLimit($request->limit);
} else {
$list->setLimit(10);
}
if (isset($request->p)) { // p is the page number
$list->setOffset(
($request->p * $list->getLimit()) - $list->getLimit()
);
} else {
$list->setOffset(0);
}
//save to session
$name = (isset($request->list) ? $request->list : 'instances');
$listHelper->updateList($name, $list, true);
// avoid setting up twice
$this->_isSetup = true;
// redirect normal requests if config-params are given to a param-free uri
// (so a browser reload by user does nothing unwanted)
if (!$request->isXmlHttpRequest()) {
//strip of url parameters that modify the list
$url = new OntoWiki_Url(
array(),
null,
array('init', 'instancesconfig', 's', 'p', 'limit', 'class', 'list')
);
//redirect
$redirector = Zend_Controller_Action_HelperBroker::getStaticHelper('redirector');
$redirector->gotoUrl($url);
}
}
}
}
================================================
FILE: application/classes/OntoWiki/Controller/Plugin/SetupHelper.php
================================================
<?php
/**
* This file is part of the {@link http://ontowiki.net OntoWiki} project.
*
* @copyright Copyright (c) 2006-2013, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
*/
/**
* OntoWiki Setup Helper Zend plug-in.
*
* Sets up the component and module managers before any request is handled
* but after the request object exists.
*
* @category OntoWiki
* @package OntoWiki_Classes_Controller_Plugin
* @copyright Copyright (c) 2012, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
* @author Norman Heino <norman.heino@gmail.com>
*/
class OntoWiki_Controller_Plugin_SetupHelper extends Zend_Controller_Plugin_Abstract
{
/**
* Denotes whether the setup has been performed
*
* @var boolean
*/
protected $_isSetup = false;
/**
* RouteStartup is triggered before any routing happens.
*/
public function routeStartup(Zend_Controller_Request_Abstract $request)
{
/**
* @trigger onRouteStartup
*/
$event = new Erfurt_Event('onRouteStartup');
$event->trigger();
}
/**
* RouteShutdown is the earliest event in the dispatch cycle, where a
* fully routed request object is available
*/
public function routeShutdown(Zend_Controller_Request_Abstract $request)
{
// only once
if (!$this->_isSetup) {
$frontController = Zend_Controller_Front::getInstance();
$ontoWiki = OntoWiki::getInstance();
// instantiate model if parameter passed
if (isset($request->m)) {
$store = $ontoWiki->erfurt->getStore();
try {
$model = $store->getModel($request->getParam('m', null, false));
$ontoWiki->selectedModel = $model;
} catch (Erfurt_Store_Exception $e) {
// When no user is given (Anoymous) give the requesting party a chance to authenticate.
if (Erfurt_App::getInstance()->getAuth()->getIdentity()->isAnonymousUser()) {
// In this case we allow the requesting party to authorize...
$response = $frontController->getResponse();
$response->setException(new OntoWiki_Http_Exception(401));
return;
}
// post error message
$ontoWiki->prependMessage(
new OntoWiki_Message(
'<p>Could not instantiate model: ' . $e->getMessage() . '</p>' .
'<a href="' . $ontoWiki->config->urlBase . '">Return to index page</a>',
OntoWiki_Message::ERROR, array('escape' => false)
)
);
// hard redirect since finishing the dispatch cycle will lead to errors
header('Location:' . $ontoWiki->config->urlBase . 'error/error');
return;
}
}
// instantiate resource if parameter passed
if (isset($request->r)) {
$store = $ontoWiki->erfurt->getStore();
$rParam = $request->getParam('r', null, true);
$graph = $ontoWiki->selectedModel;
if (null === $graph) {
// try to use first readable graph
$possibleGraphs = $store->getGraphsUsingResource((string)$rParam, true);
if (count($possibleGraphs) > 0) {
try {
$graph = $store->getModel($possibleGraphs[0]);
$ontoWiki->selectedModel = $graph;
} catch (Erfurt_Store_Exception $e) {
$graph = null;
// fail as before (see below)
}
}
}
if ($graph instanceof Erfurt_Rdf_Model) {
$resource = new OntoWiki_Resource($rParam, $graph);
$ontoWiki->selectedResource = $resource;
} else {
// post error message
$ontoWiki->prependMessage(
new OntoWiki_Message(
'<p>Could not instantiate resource. No model selected.</p>' .
'<a href="' . $ontoWiki->config->urlBase . '">Return to index page</a>',
OntoWiki_Message::ERROR, array('escape' => false)
)
);
// hard redirect since finishing the dispatch cycle will lead to errors
header('Location:' . $ontoWiki->config->urlBase . 'error/error');
return;
}
}
/**
* @trigger onRouteShutdown
*/
$event = new Erfurt_Event('onRouteShutdown');
$event->request = $request;
$event->trigger();
// avoid setting up twice
$this->_isSetup = true;
}
}
}
================================================
FILE: application/classes/OntoWiki/Dispatcher.php
================================================
<?php
/**
* This file is part of the {@link http://ontowiki.net OntoWiki} project.
*
* @copyright Copyright (c) 2009-2016, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
*/
/**
* OntoWiki dispatcher
*
* Overwrites Zend_Controller_Dispatcher_Standard in order to allow for
* multiple (component) controller directories.
*
* @category OntoWiki
* @package OntoWiki_Classes
* @copyright Copyright (c) 2012, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
* @author Norman Heino <norman.heino@gmail.com>
*/
class OntoWiki_Dispatcher extends Zend_Controller_Dispatcher_Standard
{
/**
* The extension manager
*
* @var OntoWiki_Extension_Manager
*/
protected $_extensionManager = null;
/**
* Base for building URLs
*
* @var string
*/
protected $_urlBase = '';
public function __construct($params = array())
{
if (array_key_exists('url_base', $params)) {
$urlBase = (string)$params['url_base'];
unset($params['url_base']);
}
parent::__construct($params);
$this->urlBase = $urlBase;
}
/**
* Sets the component manager
*/
public function setExtensionManager(OntoWiki_Extension_Manager $extensionManager)
{
$this->_extensionManager = $extensionManager;
}
/**
* Gets the component manager
*/
public function getExtensionManager()
{
return $this->_extensionManager;
}
/**
* Get controller class name
*
* Try request first; if not found, try pulling from request parameter;
* if still not found, fallback to default
*
* @param Zend_Controller_Request_Abstract $request
*
* @return string|false Returns class name on success
*/
public function getControllerClass(Zend_Controller_Request_Abstract $request)
{
$controllerName = $request->getControllerName();
if (empty($controllerName)) {
if (!$this->getParam('useDefaultControllerAlways')) {
return false;
}
$controllerName = $this->getDefaultControllerName();
$request->setControllerName($controllerName);
}
// Zend 1.10+ changes
$className = $this->formatControllerName($controllerName);
$controllerDirs = $this->getControllerDirectory();
$module = $request->getModuleName();
if ($this->isValidModule($module)) {
$this->_curModule = $module;
$this->_curDirectory = $controllerDirs[$module];
} elseif ($this->isValidModule($this->_defaultModule)) {
$request->setModuleName($this->_defaultModule);
$this->_curModule = $this->_defaultModule;
$this->_curDirectory = $controllerDirs[$this->_defaultModule];
} else {
require_once 'Zend/Controller/Exception.php';
throw new Zend_Controller_Exception('No default module defined for this application');
}
// PATCH
// if component manager has controller registered
// redirect to specific controller dir index
if (null !== $this->_extensionManager) {
if ($this->_extensionManager->isComponentRegistered($controllerName)) {
$dir = $this->_extensionManager->getComponentPrefix() . $controllerName;
$this->_curDirectory = $controllerDirs[$dir];
}
}
return $className;
}
/**
* Returns TRUE if the Zend_Controller_Request_Abstract object can be
* dispatched to a controller.
*
* Use this method wisely. By default, the dispatcher will fall back to the
* default controller (either in the module specified or the global default)
* if a given controller does not exist. This method returning false does
* not necessarily indicate the dispatcher will not still dispatch the call.
*
* @param Zend_Controller_Request_Abstract $action
*
* @return boolean
*/
public function isDispatchable(Zend_Controller_Request_Abstract $request)
{
// Zend 1.10+ changes
$className = $this->getControllerClass($request);
$actionMethod = strtolower($request->getActionName()) . 'Action';
if (class_exists($className, false)) {
if (method_exists($className, $actionMethod)) {
return true;
}
}
$fileSpec = $this->classToFilename($className);
$dispatchDir = $this->getDispatchDirectory();
$test = $dispatchDir . DIRECTORY_SEPARATOR . $fileSpec;
if (Zend_Loader::isReadable($test)) {
require_once $test;
if (method_exists($className, $actionMethod)) {
return true;
}
}
/**
* @trigger onIsDispatchable
* Triggered if no suitable controller has been found. Plug-ins can
* attach to this event in order to modify request URLs or provide
* mechanisms that do not allow a controller/action mapping from URL
* parts.
*/
$pathInfo = ltrim($request->getPathInfo(), '/');
// URI may not contain a whitespace character!
$pathInfo = str_replace(' ', '+', $pathInfo);
$pathInfo = urldecode($pathInfo);
if (class_exists($className, false)) {
// give a chance to let class handle (e.g. index controller news action default)
return true;
}
$event = new Erfurt_Event('onIsDispatchable');
$event->uri = $this->urlBase . $pathInfo;
$event->request = $request;
$eventResult = (bool)$event->trigger();
return $eventResult;
}
}
================================================
FILE: application/classes/OntoWiki/Exception.php
================================================
<?php
/**
* This file is part of the {@link http://ontowiki.net OntoWiki} project.
*
* @copyright Copyright (c) 2006-2013, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
*/
/**
* OntoWiki exception base class
*
* @category OntoWiki
* @package OntoWiki_Classes
* @copyright Copyright (c) 2012, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
* @author Norman Heino <norman.heino@gmail.com>
*/
class OntoWiki_Exception extends Exception
{
}
================================================
FILE: application/classes/OntoWiki/Extension/Manager.php
================================================
<?php
/**
* This file is part of the {@link http://ontowiki.net OntoWiki} project.
*
* @copyright Copyright (c) 2010-2016, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
*/
/**
* will be used by OntoWiki to scan the extension folder and load the needed extension
*
* @category OntoWiki
* @package OntoWiki_Classes_Extension
* @copyright Copyright (c) 2012, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
* @author Jonas Brekle <jonas.brekle@gmail.com>
*/
class OntoWiki_Extension_Manager
{
const EXTENSION_DEFAULT_DOAP_FILE = 'doap.n3';
const COMPONENT_HELPER_SUFFIX = 'Helper';
const COMPONENT_HELPER_FILE_SUFFIX = 'Helper.php';
const COMPONENT_CLASS_POSTFIX = 'Controller';
const COMPONENT_FILE_POSTFIX = 'Controller.php';
const PLUGIN_CLASS_POSTFIX = 'Plugin';
const PLUGIN_FILE_POSTFIX = 'Plugin.php';
const WRAPPER_CLASS_POSTFIX = 'Wrapper';
const WRAPPER_FILE_POSTFIX = 'Wrapper.php';
const EVENT_NS = 'http://ns.ontowiki.net/SysOnt/Events/';
/**
* Array (extension name -> config)
*
* @var array
*/
protected $_extensionRegistry = array();
/**
* The path scanned for components
*
* @var string
*/
protected $_extensionPath = null;
/**
* The translation object.
*
* @var Zend_Translate
*/
protected $_translate = null;
/**
* Base URL for hyperlinks.
*
* @var string
*/
protected $_componentUrlBase = '';
/**
* Component helpers to be initialized
*
* @var array
*/
protected $_helpers = array();
/**
* stores extensions configs
*
* @var array
*/
protected $_componentRegistry = array();
/**
*
* @var OntoWiki_Module_Registry
*/
protected $_moduleRegistry = null;
//plugins and wrappers are handled by erfurt
/**
* Denotes whether component helpers have been called.
*
* @var boolean
*/
protected $_helpersCalled = false;
/**
* Prefix to distinguish component controller directories
* from other controller directories.
*
* @var string
*/
private $_componentPrefix = '_component_';
/**
* Keys in the component configuration file storing path names that
* should be normalized.
*
* @var array
*/
private $_pathKeys
= array(
'templates',
'languages',
'helpers'
);
/**
* Name of the private section in the component config file
*
* @var string
*/
private $_privateSection = 'private';
/**
* a reference to the erfurt event dispatcher
*
* @var Erfurt_Event_Dispatcher
*/
protected $_eventDispatcher = null;
/**
* folders in the extensions directory that are not extensions
*
* @var array
*/
public $reservedNames = array('themes', 'translations');
/**
* Constructor
*/
public function __construct($extensionPath)
{
if (!(substr($extensionPath, -1) == DIRECTORY_SEPARATOR)) {
$extensionPath .= DIRECTORY_SEPARATOR;
}
$this->_extensionPath = $extensionPath;
OntoWiki_Module_Registry::reset();
//OntoWiki_Module_Registry::getInstance()->resetInstance();
$this->_moduleRegistry = OntoWiki_Module_Registry::getInstance();
$this->_moduleRegistry->setExtensionPath($extensionPath);
//TODO nessesary?
Erfurt_Wrapper_Registry::reset();
$this->_eventDispatcher = Erfurt_Event_Dispatcher::getInstance();
// scan for extensions
$this->_scanExtensionPath();
// scan for translations
$this->_scanTranslations();
// register for event
$dispatcher = Erfurt_Event_Dispatcher::getInstance();
$dispatcher->register('onRouteShutdown', $this);
}
// ------------------------------------------------------------------------
// --- Public Methods -----------------------------------------------------
// ------------------------------------------------------------------------
/**
* Returns component.
*
* @return array
*/
public function getExtensionConfig($name)
{
if (isset($this->_extensionRegistry[$name])) {
return $this->_extensionRegistry[$name];
}
}
/**
* Returns registered extensions.
*
* @return array
*/
public function getExtensions()
{
return $this->_extensionRegistry;
}
/**
* Returns registered components.
*
* @return array
*/
public function getComponents()
{
return $this->_componentRegistry;
}
/**
* Returns the helper associated with the component specified.
*
* @throws OntoWiki_Component_Exception if no component with the specified name has been registered or
* OntoWiki_Component_Exception if the specified component has no helper defined.
* @return OntoWiki_Component_Helper
*/
public function getComponentHelper($componentName)
{
if (!$this->isExtensionRegistered($componentName)) {
throw new OntoWiki_Component_Exception('Component with key "' . $componentName . '" not registered');
}
if (!isset($this->_helpers[$componentName]['instance'])) {
throw new OntoWiki_Component_Exception('no helper loaded for component "' . $componentName . '"');
}
return $this->_helpers[$componentName]['instance'];
}
/**
* Returns the path the component manager used to search for components
* because there is one component per extension, this path is equal to the extension path.
*
* @return string
*/
public function getComponentPath()
{
return $this->getExtensionPath();
}
/**
* Returns the path the extension manager used to search for extensions.
*
* @return string
*/
public function getExtensionPath($name = null)
{
if ($name == null) {
return $this->_extensionPath;
} else {
return $this->_extensionPath . $name;
}
}
/**
* Returns the specified component's URL.
*
* @throws OntoWiki_Component_Exception if no component with the specified name has been registered
* @return string
*/
public function getComponentUrl($componentName)
{
if (!$this->isExtensionRegistered($componentName)) {
throw new OntoWiki_Component_Exception("Component with key '$componentName' not registered");
}
return $this->_componentUrlBase . $componentName . '/';
}
/**
* Checks whether a specific extension is registered.
*
*
* @param string $componentName
*
* @return boolean
*/
public function isExtensionRegistered($exName)
{
return isset($this->_extensionRegistry[$exName]);
}
/**
* Checks whether a specific component is registered.
*
* @deprecated
*
* @param string $componentName
*
* @return boolean
*/
public function isComponentRegistered($componentName)
{
return array_key_exists($componentName, $this->_componentRegistry);
}
/**
* Checks whether a specific component is activated
* in its configuration file.
*
* @param string $componentName
*
* @return boolean
*/
public function isExtensionActive($componentName)
{
return array_key_exists($componentName, $this->_extensionRegistry)
&& $this->_extensionRegistry[$componentName]->enabled;
}
/**
* Returns a prefix that can be used to distinguish components from
* other extensions, i.e. modules or plugins.
*
* @deprecated
*
* @return string
*/
public function getComponentPrefix()
{
return $this->_componentPrefix;
}
/**
* Returns the helper path for a given component.
*
* @param string $componentName
*
* @return string
*/
public function getComponentHelperPath($componentName)
{
if (!$this->isExtensionRegistered($componentName)) {
throw new OntoWiki_Component_Exception("Component with key '$componentName' not registered");
}
if (isset($this->_extensionRegistry[$componentName]->helpers)) {
$path = $this->_extensionPath
. $componentName
. DIRECTORY_SEPARATOR
. $this->_extensionRegistry[$componentName]->helpers;
return $path;
}
}
/**
* Returns the template path for a given component.
*
* @param string $componentName
*
* @return string
*/
public function getComponentTemplatePath($componentName)
{
if (!$this->isExtensionRegistered($componentName)) {
throw new OntoWiki_Component_Exception("Component with key '$componentName' not registered");
}
if (isset($this->_extensionRegistry[$componentName]->templates)) {
$path = $this->_extensionPath
. $componentName
. DIRECTORY_SEPARATOR
. $this->_extensionRegistry[$componentName]->templates;
return $path;
}
return $this->_extensionPath
. $componentName
. DIRECTORY_SEPARATOR;
}
/**
* Returns the component's private configuration section
*
* @param string $extensionName
*
* @return array|null
*/
public function getPrivateConfig($extensionName)
{
if (!$this->isExtensionRegistered($extensionName)) {
throw new OntoWiki_Component_Exception("Component with key '$extensionName' not registered");
}
return $this->_extensionRegistry[$extensionName]->{$this->_privateSection};
}
/**
* Sets the base URL for hyperlinks.
*
* @param string $urlBase
*/
public function setComponentUrlBase($componentUrlBase)
{
$componentUrlBase = (string)$componentUrlBase;
$this->_componentUrlBase = trim($componentUrlBase, '/\\') . '/';
return $this;
}
/**
* Sets the translation object to be used for string translation.
*
* @param Zend_Translate $translate
*/
public function setTranslate(Zend_Translate $translate)
{
$this->_translate = $translate;
// (re)scan for translations
$this->_scanTranslations();
return $this;
}
/**
* Event Handler, called by event dispatcher after controller and action is determined
* initializes the component helpers, so they can react
*
* @param Erfurt_Event $event
*/
public function onRouteShutdown(Erfurt_Event $event)
{
// init component helpers
if (!$this->_helpersCalled) {
foreach ($this->_helpers as $componentName => &$helper) {
// only if helper has not been previously loaded
if (!isset($helper['instance'])) {
$helperInstance = $this->_loadHelper($componentName, $this->getExtensionConfig($componentName));
} else {
$helperInstance = $this->_helpers[$componentName]['instance'];
}
$helperInstance->init();
}
$this->_helpersCalled = true;
}
}
/**
* load helpers for a component
*
* @param $componentName
* @param $config
*
* @return mixed
* @throws OntoWiki_Component_Exception
*/
protected function _loadHelper($componentName, $config)
{
if (!isset($this->_helpers[$componentName])) {
throw new OntoWiki_Component_Exception("No helper defined for component '$componentName'.");
}
$helperSpec = $this->_helpers[$componentName];
// load helper class
require_once $helperSpec['path'];
if (class_exists($helperSpec['class'])) {
// instantiate helper object
$helperInstance = new $helperSpec['class']($config);
} else {
throw new OntoWiki_Component_Exception(
"required helper class '" . $helperSpec['class'] .
"' could not be found for component '$componentName'."
);
}
// register helper events
if (isset($helperSpec['events'])) {
$dispatcher = Erfurt_Event_Dispatcher::getInstance();
foreach ($helperSpec['events'] as $currentEvent) {
if (substr($currentEvent, 0, strlen(self::EVENT_NS)) == self::EVENT_NS) {
//currently we only accept events from the ontowiki event namespace
$currentEvent = substr($currentEvent, strlen(self::EVENT_NS));
}
$dispatcher->register($currentEvent, $helperInstance);
}
}
$this->_helpers[$componentName]['instance'] = $helperInstance;
return $helperInstance;
}
/**
* scan the extension folder for configs modified after $time
* the default doap file could have been touched OR the local ini
* return an array(string->int) where the key is the extension name and the value is
* 0 - local ini modified after $time
* 1 - default doap file modified after $time
* 2 - both modified after $time
*
* @param $time int unix timestamp
*
* @return array
*/
private function _getModifiedConfigsSince($time)
{
$dir = new DirectoryIterator($this->_extensionPath);
$mod = array();
foreach ($dir as $file) {
if (!$file->isDot() && $file->isDir() && !in_array($file->getFileName(), $this->reservedNames)) {
//for all folders in <ow>/extensions/
$extensionName = $file->getFileName();
$modifiedLocalConfig = @filemtime($this->_extensionPath . $extensionName . '.ini');
if ($modifiedLocalConfig && $modifiedLocalConfig > $time) { //check for modification on the local config
$mod[$extensionName] = 0;
}
$modifiedDefaultConfig = @filemtime(
$file->getRealPath() . DIRECTORY_SEPARATOR . self::EXTENSION_DEFAULT_DOAP_FILE
);
if ($modifiedDefaultConfig && $modifiedDefaultConfig > $time) { //and the default config
if (isset($mod[$extensionName])) {
$mod[$extensionName] = 2;
} else {
$mod[$extensionName] = 1;
}
}
}
}
return $mod;
}
/**
* get the location of the cache
*
* @return string
* @deprecated use Ontowiki::getCache to access cache
* @todo to be deleted in next version
*/
public function getCachePath()
{
throw new BadMethodCallException(
'Method OntoWiki_Extension_Manager::getCachePath is deprecated. Please use Ontowiki cache'
);
}
/**
* invalidate the cache
*/
public function clearCache()
{
$cache = OntoWiki::getInstance()->getCache();
$cache->clean(Zend_Cache::CLEANING_MODE_ALL);
}
/**
* Scans the component path for conforming components and
* announces their paths to appropriate components.
*/
private function _scanExtensionPath()
{
$cache = OntoWiki::getInstance()->getCache();
if (!($config = $cache->load('ow_extensionConfig'))) {
$config = array();
$dir = new DirectoryIterator($this->_extensionPath);
foreach ($dir as $file) {
if (!$file->isDot() && $file->isDir()) {
if (!in_array($file->getFileName(), $this->reservedNames)) {
$extensionName = $file->getFileName();
$currentExtensionPath = $file->getPathname() . DIRECTORY_SEPARATOR;
// parse all extensions on the filesystem
if (is_readable($currentExtensionPath . self::EXTENSION_DEFAULT_DOAP_FILE)) {
$config[$extensionName] = $this->_loadConfigs($extensionName);
}
}
}
}
$cache->save(array_reverse($config));
}
$view = OntoWiki::getInstance()->view;
//register the discovered extensions within ontowiki
foreach ($config as $extensionName => $extensionConfig) {
$currentExtensionPath = $this->_extensionPath . $extensionName . DIRECTORY_SEPARATOR;
if (!$extensionConfig->enabled) {
continue;
}
//templates can be in the main extension folder
$view->addScriptPath($currentExtensionPath);
if (isset($extensionConfig->templates)) {
//or in a folder specified in config
$view->addScriptPath($currentExtensionPath . $extensionConfig->templates);
}
//check for other helpers
if (isset($extensionConfig->helpers)) {
$view->addHelperPath(
$currentExtensionPath . $extensionConfig->helpers,
ucfirst($extensionName) . '_View_Helper_'
);
}
//check for component class (only one per extension for now)
if (file_exists($currentExtensionPath . ucfirst($extensionName) . self::COMPONENT_FILE_POSTFIX)) {
$this->_addComponent($extensionName, $currentExtensionPath, $extensionConfig);
}
//check for modules and plugins (multiple possible)
//TODO declare them in the config?
if (is_dir($currentExtensionPath)) {
$extensionDir = new DirectoryIterator($currentExtensionPath);
foreach ($extensionDir as $extensionDirFile) {
$filename = $extensionDirFile->getFilename();
$subStr = substr($filename, -strlen(OntoWiki_Module_Registry::MODULE_FILE_POSTFIX));
if ($subStr === OntoWiki_Module_Registry::MODULE_FILE_POSTFIX) {
$this->_addModule($extensionName, $filename, $currentExtensionPath, $extensionConfig);
} else {
$subStrB = substr($filename, -strlen(self::PLUGIN_FILE_POSTFIX));
if ($subStrB === self::PLUGIN_FILE_POSTFIX) {
$this->_addPlugin($filename, $currentExtensionPath, $extensionConfig);
} else {
$subStrC = substr($filename, -strlen(self::WRAPPER_FILE_POSTFIX));
if ($subStrC === self::WRAPPER_FILE_POSTFIX) {
$this->_addWrapper($filename, $currentExtensionPath, $extensionConfig);
}
}
}
}
}
}
//save to instance
$this->_extensionRegistry = $config;
}
/**
* adds a component to the internal registry.
*
* @param string $componentName the component's (folder) name
* @param string $componentPath the path to the component folder
* @param array $config the config of the components extension
*/
private function _addComponent($componentName, $componentPath, $config)
{
// load helper
$helperClassName = ucfirst($componentName) . self::COMPONENT_HELPER_SUFFIX;
$helperPathName = $componentPath . ucfirst($componentName) . self::COMPONENT_HELPER_FILE_SUFFIX;
if (is_readable($helperPathName)) {
$helperSpec = array(
'path' => $helperPathName,
'class' => $helperClassName
);
// store events
$events = array();
if (isset($config->helperEvents)) {
$events = $config->helperEvents;
} else {
if (isset($config->helperEvent)) {
$events = $config->helperEvent;
}
}
if ($events instanceof Zend_Config) {
$events = $events->toArray();
} else {
if (!is_array($events)) {
$events = array($events);
}
}
$helperSpec['events'] = $events;
if ($config->enabled) {
$this->_helpers[$componentName] = $helperSpec;
// event helpers need to be called early
if (!empty($helperSpec['events'])) {
$this->_loadHelper($componentName, $config);
}
//helpers without events will be instantiated onRouteShutdown
}
}
$action = isset($config->action) ? $config->action : null;
$position = isset($config->position) ? $config->position : null;
if (isset($config->navigation) && (boolean)$config->navigation && $config->enabled) {
// register with navigation
OntoWiki::getInstance()->getNavigation()->register(
$componentName,
array(
'controller' => $componentName,
'action' => $action,
'name' => $config->name,
'priority' => $position,
'active' => false
)
);
}
$this->_componentRegistry[$componentName] = $config;
}
/**
*
* @param $extensionName
* @param $moduleFilename
* @param $modulePath
* @param null $config
*/
protected function _addModule($extensionName, $moduleFilename, $modulePath, $config = null)
{
//one extension can contain many modules - so they share a config file
//but each module needs different settings
//so we got this trickery to enables per-module-config
//everything within the config key "config->module->$modulename" will be made toplevel config
if (isset($config->modules)) {
$moduleName = strtolower(
substr(
$moduleFilename,
0,
strlen($moduleFilename) - strlen(OntoWiki_Module_Registry::MODULE_FILE_POSTFIX)
)
);
if (isset($config->modules->{$moduleName})) {
//dont touch the original config (seen also by components etc)
$config = unserialize(serialize($config));
$config->merge($config->modules->{$moduleName}); //pull this config up!
}
}
//read context(s)
if (isset($config->context) && is_string($config->context)) {
$contexts = array($config->context);
} else {
if (isset($config->context) && is_object($config->context)) {
$contexts = $config->context->toArray();
} else {
if (isset($config->contexts) && is_object($config->contexts)) {
$contexts = $config->contexts->toArray();
} else {
$contexts = array(OntoWiki_Module_Registry::DEFAULT_CONTEXT);
}
}
}
// register for context(s)
foreach ($contexts as $context) {
$this->_moduleRegistry->register($extensionName, $moduleFilename, $context, $config);
}
}
/**
* adds a wrapper
*
* @param string $filename
* @param string $wrapperPath
*/
protected function _addWrapper($filename, $wrapperPath, $config)
{
$owApp = OntoWiki::getInstance();
$wrapperManager = new Erfurt_Wrapper_Manager();
$wrapperManager->addWrapperExternally(
strtolower(substr($filename, 0, strlen($filename) - strlen(self::WRAPPER_FILE_POSTFIX))),
$wrapperPath,
isset($config->private) ? $config->private : new Zend_Config(array(), true)
);
}
/**
* Adds a plugin and registers it with the dispatcher.
*
* @param string $filename
* @param string $pluginPath
*/
private function _addPlugin($filename, $pluginPath, $config)
{
$owApp = OntoWiki::getInstance();
$pluginManager = $owApp->erfurt->getPluginManager(false);
$pluginManager->addPluginExternally(
strtolower(
substr(
$filename,
0,
strlen($filename) - strlen(self::PLUGIN_FILE_POSTFIX)
)
),
$filename,
$pluginPath,
$config
);
}
private static $_owconfigNS = 'http://ns.ontowiki.net/SysOnt/ExtensionConfig/';
/**
* interpret a doap triple-set to a config array
*
* @static
*
* @param $triples
* @param $name string name of the extension
* @param $base string base URI from parsing
* @param $path string path of the original file (just for error reporting)
*
* @return array
* @throws Exception
*/
public static function triples2configArray($triples, $name, $base, $path)
{
$memModel = new Erfurt_Rdf_MemoryModel($triples);
$owconfigNS = self::$_owconfigNS;
$doapNS = 'http://usefulinc.com/ns/doap#';
$mapping = array(
$owconfigNS . 'enabled' => 'enabled',
$owconfigNS . 'helperEvent' => 'helperEvents',
$owconfigNS . 'templates' => 'templates',
$owconfigNS . 'helpers' => 'helpers',
$owconfigNS . 'languages' => 'languages',
$owconfigNS . 'defaultAction' => 'action',
$owconfigNS . 'class' => 'classes',
$doapNS . 'name' => 'name',
$doapNS . 'description' => 'description',
$doapNS . 'maintainer' => 'authorUrl',
$owconfigNS . 'authorLabel' => 'author',
EF_RDFS_LABEL => 'title'
);
$scp = $owconfigNS . 'config'; //sub config property
$mp = $owconfigNS . 'hasModule'; //module property
$extensionUri = $memModel->getValue($base, 'http://xmlns.com/foaf/0.1/primaryTopic');
if ($extensionUri == null) {
throw new Exception(
'DOAP config for extension ' . $name .
': missing triple (@base, foaf:primaryTopic, <extensionUri>). ' .
'Base was: "' . $base . '". In doap file: "' . $path . '".'
);
}
$privateNS = $memModel->getValue($extensionUri, $owconfigNS . 'privateNamespace');
$modules = array();
$config = array('default' => array(), 'private' => array(), 'events' => array(), 'modules' => array());
$subconfigs = array();
foreach ($memModel->getPO($extensionUri) as $key => $values) {
//handle subconfigs
if ($key == $scp) {
foreach ($values as $val) {
$subconfigs[] = $val['value'];
}
continue;
} else {
if ($key == $mp) {
//handle modules
foreach ($values as $val) {
$modules[] = $val['value'];
}
continue;
} else {
if ($key == $owconfigNS . 'pluginEvent') {
//handle events that belong to plugins
foreach ($values as $value) {
$config['events'][] = $value['value'];
}
continue;
} else {
if (isset($mapping[$key])) {
$mappedKey = $mapping[$key];
$section = 'default';
} else {
$mappedKey = self::getPrivateKey($key, $privateNS);
if ($mappedKey == null) {
continue; //skip irregular keys
}
$section = 'private';
}
}
}
}
foreach ($values as $value) {
$value = self::getValue($value, $memModel);
self::addValue($mappedKey, $value, $config[$section]);
}
}
foreach ($subconfigs as $bnUri) {
$config['private'] = array_merge(
$config['private'],
self::getSubConfig($memModel, $bnUri, $privateNS, $mapping)
);
}
foreach ($modules as $moduleUri) {
$name = strtolower(self::getPrivateKey($moduleUri, $privateNS));
$config['modules'][$name] = array();
foreach ($memModel->getPO($moduleUri) as $key => $values) {
$mappedKey = self::getPrivateKey($key, $owconfigNS);
if ($mappedKey == null) {
continue; //modules can only have specific properties
}
foreach ($values as $value) {
$value = self::getValue($value, $memModel);
self::addValue($mappedKey, $value, $config['modules'][$name]);
}
}
}
if (empty($config['events'])) {
unset($config['events']);
}
//pull up the default module
if (isset($config['modules']['default'])) {
$config = array_merge($config, $config['modules']['default']);
unset($config['modules']['default']);
}
//pull up the default section
$config = array_merge($config, $config['default']);
unset($config['default']);
return $config;
}
/**
* load the doap.n3 file of a extension and transform it into a config array
*
* @param string $path
* @param string $name
*
* @return array config array
*/
public static function loadDoapN3($path, $name)
{
$parser = Erfurt_Syntax_RdfParser::rdfParserWithFormat('n3');
$triples = $parser->parse($path, Erfurt_Syntax_RdfParser::LOCATOR_FILE);
$base = $parser->getBaseUri();
$a = self::triples2configArray($triples, $name, $base, $path);
return $a;
}
/**
* convert a php-rdf value to a php value
* respects booleans especially (literals and URIs are trivial)
*
* @static
*
* @param $value
*
* @return bool
*/
private static function getValue($value, Erfurt_Rdf_MemoryModel $memModel = null)
{
if ($value['type'] == 'literal'
&& isset($value['datatype'])
&& $value['datatype'] == 'http://www.w3.org/2001/XMLSchema#boolean'
) {
$value = $value['value'] == 'true';
} else {
if ($memModel !== null && ($value['type'] == 'uri' || $value['type'] == 'bnode')) {
// Handle collections and containers (rdf:Bag, rdf:Seq) not rdf:Alt because of a bug
$type = $memModel->getValue($value['value'], EF_RDF_NS . 'type');
if ($type == EF_RDF_NS . 'Bag' || $type == EF_RDF_NS . 'Seq') {
// This is a container, convert it to an array
$properties = $memModel->getPO($value['value']);
$value = array();
foreach ($properties as $property => $entry) {
if (strstr($property, EF_RDF_NS . '_')) {
$value[] = $entry[0]['value'];
}
}
} else {
if ($type == EF_RDF_NS . 'nil') {
$value = array();
} else {
$first = $memModel->getValue($value['value'], EF_RDF_NS . 'first');
$rest = $memModel->getValue($value['value'], EF_RDF_NS . 'rest');
if (count($first) > 0 && count($rest) > 0) {
// This is a collection, convert it to an array
$value = array($first);
while ($rest != EF_RDF_NS . 'nil') {
$value[] = $memModel->getValue($rest, EF_RDF_NS . 'first');
$rest = $memModel->getValue($rest, EF_RDF_NS . 'rest');
}
} else {
// unknown Resource
$value = $value['value'];
}
}
}
} else {
$value = $value['value'];
}
}
return $value;
}
/**
* add an value to an array using a key
* if the key is already used, cast it to array and add to that array
*
* @static
*
* @param $key string
* @param $value mixed
* @param $to array
*/
private static function addValue($key, $value, &$to)
{
if (!isset($to[$key])) { //first entry for that key
$to[$key] = $value;
} else {
if (is_array($to[$key])) { //there are already multiple values for that key
if (is_array($value)) {
$to[$key] = array_merge($value, $to[$key]);
} else {
$to[$key][] = $value;
}
} else { //it the second entry for that key, turn to array
if (is_array($value)) {
$to[$key] = array_merge(array($to[$key]), $value);
} else {
$to[$key] = array($to[$key], $value);
}
}
}
}
/**
* clean a config property URI to obtain a config array key
*
* @static
*
* @param $key string
* @param $privateNS string
* @param array $mapping
*
* @return mixed
*/
private static function getPrivateKey($key, $privateNS, $mapping = array())
{
if (isset($mapping[$key])) {
return $mapping[$key];
}
if (strpos($key, $privateNS) === 0) {
//strip private NS, only keep last part
$newKey = substr($key, strlen($privateNS));
} else {
//return only local part
//take the right most / or #
$slashPos = strrpos($key, '/');
$hashPos = strrpos($key, '#');
if ($slashPos < $hashPos) {
$l = $hashPos;
} else {
$l = $slashPos;
}
if ($l == false) {
$newKey = $key; //no / or #
} else {
$newKey = substr($key, $l + 1);
}
}
return preg_replace('[^A-Za-z0-9-_]', '', $newKey); //strip bad chars
}
/**
* read a private config part from a doap Erfurt_Rdf_MemoryModel (recursive)
*
* @static
*
* @param $memModel
* @param $bnUri
* @param $privateNS
* @param $mapping
*
* @return array
*/
private static function getSubConfig(Erfurt_Rdf_MemoryModel $memModel, $bnUri, $privateNS, $mapping)
{
$kv = array();
$name = $memModel->getValue($bnUri, self::$_owconfigNS . 'id');
if ($name == null) {
return array();
}
foreach ($memModel->getPO($bnUri) as $key => $values) {
if ($key == EF_RDF_TYPE || $key == self::$_owconfigNS . 'id') {
continue;
}
if ($key == self::$_owconfigNS . 'config') {
foreach ($values as $value) {
$kv = array_merge($kv, self::getSubConfig($memModel, $value['value'], $privateNS, $mapping));
}
} else {
$mappedKey = self::getPrivateKey($key, $privateNS, $mapping);
foreach ($values as $value) {
$value = self::getValue($value, $memModel);
self::addValue($mappedKey, $value, $kv);
}
}
}
$r = array($name => $kv);
return $r;
}
/**
* load configs for an extension
* - respect local ini's
* - fix missing or dirty values
*
* @param $name string containing the name of an extension
*
* @return Zend_Config
*/
private function _loadConfigs($name)
{
$path = $this->_extensionPath . $name . DIRECTORY_SEPARATOR;
$config = new Zend_Config(self::loadDoapN3($path . self::EXTENSION_DEFAULT_DOAP_FILE, $name), true);
// overwrites default config with local config
$localConfigPath = $this->_extensionPath . $name . '.ini';
if (is_readable($localConfigPath)) {
//the local config is still in ini syntax
$localConfig = new Zend_Config_Ini($localConfigPath, null, true);
$config->merge($localConfig);
}
//fix missing names
if (!isset($config->name)) {
$config->name = $name;
}
//fix deprecated/invalid values for "enabled"
if (is_string($config->enabled)) {
switch ($config->enabled) {
case '1':
case 'enabled':
case 'true':
case 'on':
case 'yes':
$config->enabled = true;
break;
default:
$config->enabled = false;
}
}
// normalize paths
foreach ($this->_pathKeys as $pathKey) {
if (isset($config->{$pathKey})) {
$config->{$pathKey} = rtrim($config->{$pathKey}, '/\\') . '/';
}
}
// save component's path
$config->path = $path;
return $config;
}
/**
* Reads all available component translations and adds them to the translation object
*/
private function _scanTranslations()
{
// check for valid translation object
if (is_object($this->_translate)) {
foreach ($this->_extensionRegistry as $component => $settings) {
// check if component owns translation
if (isset($settings->languages)
&& is_readable($settings->path . $settings->languages)
) {
// keep current locale
$locale = $this->_translate->getAdapter()->getLocale();
$this->_translate->addTranslation(
$settings->path . $settings->languages,
null,
array('scan' => Zend_Translate::LOCALE_FILENAME)
);
// reset current locale
$this->_translate->setLocale($locale);
}
}
}
}
}
================================================
FILE: application/classes/OntoWiki/Http/Exception.php
================================================
<?php
/**
* This file is part of the {@link http://ontowiki.net OntoWiki} project.
*
* @copyright Copyright (c) 2006-2013, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
*/
/**
* OntoWiki exception base class
*
* @category OntoWiki
* @package OntoWiki_Classes_Http
* @copyright Copyright (c) 2012, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
* @author Norman Heino <norman.heino@gmail.com>
*/
class OntoWiki_Http_Exception extends OntoWiki_Exception
{
const ERROR_CODE_BASE = 3000;
protected $_responseCode = 0;
public function __construct($responseCode, $message = null)
{
parent::__construct(
((null !== $message) ? $message : Zend_Http_Response::responseCodeAsText($responseCode)),
self::ERROR_CODE_BASE + (int)$responseCode
);
$this->_responseCode = $responseCode;
}
public function getResponseMessage()
{
return $this->getMessage();
}
public function getResponseCode()
{
return $this->_responseCode;
}
}
================================================
FILE: application/classes/OntoWiki/Jobs/Cron.php
================================================
<?php
/**
* This file is part of the {@link http://ontowiki.net OntoWiki} project.
*
* @copyright Copyright (c) 2013-2016, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
*/
/**
* OntoWiki Cron Job
*
* This is a poormans implementation of a cron job. It is based on a chain of
* recursivly restarting jobs which trigger onEveryMinute, onEveryHour and
* onEveryDay events. The starting time of a job chain is saved to avoid more
* than on job chain.
*
*
* @category OntoWiki
* @package OntoWiki_Classes_Jobs
* @author Sebastian Tramp <mail@sebastian.tramp.name>
*/
class OntoWiki_Jobs_Cron extends Erfurt_Worker_Job_Abstract
{
/**
* on which integer the delay countdown starts
*/
const DELAY_COUNTDOWN = 10;
/**
* the maximum time in seconds where a cached chain startTime is not taken
* as too old and a new chain is fired
*/
const DELAY_MERCYSECONDS = 10;
/**
* gives an DateInterval in seconds (for better comparison)
* taken from http://www.php.net/manual/en/dateinterval.format.php#102271
*
* @param DateInterval $interval object to recalculate
*
* @return integer
*/
private function _toSeconds(DateInterval $interval)
{
$y = $interval->y * 365 * 24 * 60 * 60;
$m = $interval->m * 30 * 24 * 60 * 60;
$d = $interval->d * 24 * 60 * 60;
$h = $interval->h * 60 * 60;
$i = $interval->i * 60;
$s = $interval->s;
return $y + $m + $d + $h + $i + $s;
}
/**
* sleeps an amount of time and calls the next job
*
* @param mixed $load the load of the next job
* @param int $inXSeconds time in seconds when the next job is called
*
* @return void
*/
private function _next($load = null, $inXSeconds = 2)
{
if ((int)$inXSeconds > 0) {
sleep((int)$inXSeconds);
}
if ($load == null) {
OntoWiki::getInstance()->callJob('cron');
} else {
OntoWiki::getInstance()->callJob('cron', $load);
}
}
/**
* initializes a new load
*
* @return void
*/
private function _getNewLoad()
{
$this->setValue($this->timeStart, 'timeStart');
$this->setValue($this->timeStart, 'timeLast');
$this->load = array(
'lastMinutly' => $this->nowString,
'lastHourly' => $this->nowString,
'lastDaily' => $this->nowString,
'timeStart' => $this->timeStart,
);
}
/**
* trigger events, based on nowstring and load
*
* @return void
*/
private function _triggerEvents()
{
$now = new DateTime($this->nowString);
$lastMinutly = new DateTime($this->load->lastMinutly);
$lastMinutlyDiff = $this->_toSeconds($now->diff($lastMinutly));
if ($lastMinutlyDiff >= 60) {
$this->load->lastMinutly = $this->nowString;
/**
* @trigger onEveryMinute
*/
$event = new Erfurt_Event('onEveryMinute');
$event->trigger();
if ($event->handled) {
$this->logSuccess('triggered onEveryMinute (handled)');
} else {
$this->logSuccess('triggered onEveryMinute (but not handled)');
}
};
$lastHourly = new DateTime($this->load->lastHourly);
$lastHourlyDiff = $this->_toSeconds($now->diff($lastHourly));
if ($lastHourlyDiff >= 60 * 60) {
$this->load->lastHourly = $this->nowString;
/**
* @trigger onEveryHour
*/
$event = new Erfurt_Event('onEveryHour');
$event->trigger();
if ($event->handled) {
$this->logSuccess('triggered onEveryHour (handled)');
} else {
$this->logSuccess('triggered onEveryHour (but not handled)');
}
};
$lastDaily = new DateTime($this->load->lastDaily);
$lastDailyDiff = $this->_toSeconds($now->diff($lastDaily));
if ($lastDailyDiff >= 60 * 60 * 24) {
$this->load->lastDaily = $this->nowString;
/**
* @trigger onEveryDay
*/
$event = new Erfurt_Event('onEveryDay');
$event->trigger();
if ($event->handled) {
$this->logSuccess('triggered onEveryDay (handled)');
} else {
$this->logSuccess('triggered onEveryDay (but not handled)');
}
};
}
/**
* run the job
*
* @param mixed $load payload object
*
* @return null
*/
public function run($load)
{
// the micro-timestamp to identify the start of the cron chain
$this->timeStart = microtime(true);
// the timestring to calculate the events
$this->nowString = date("Y-m-d H:i:s");
// the timestamp when a continous chain of cron jobs was started
$timeStartValue = $this->getValue('timeStart');
// the timestamp when the last link in the chain was started
$timeLastValue = $this->getValue('timeLast');
if (empty($load)) {
// situation 1: no previous timestamps cached -> init
if ($timeStartValue === false || $timeLastValue === false) {
// first start without payload and cached values,
// so we create a fresh chain
$this->_getNewLoad();
$this->_next($this->load);
} else {
// situation 2: previous timestamps cached -> handle
$timeLastDiff = $this->timeStart - $timeLastValue;
if ($timeLastDiff > self::DELAY_MERCYSECONDS) {
// first start without payload but WITH invalid old cache,
// we can create a fresh chain
$this->logSuccess(
'started without payload,'.
' and OLD cached timestamps exists -- '. $timeLastDiff .
' (init on ' . (string)$this->timeStart . ')'
);
$this->_getNewLoad();
$this->_next($this->load);
} else {
// first start without payload but WITH opposing cache,
// we need to look forward
$this->logFailure(
'started without payload, but cached timestamps exists ' .
' (do nothing for now and try again '.self::DELAY_COUNTDOWN.' times).'
);
$this->_next(array('delayed' => self::DELAY_COUNTDOWN), 1);
}
}
} else { // load exists
if (!empty($load->delayed) && (int)$load->delayed > 0) {
$this->logFailure(
'started delayed: ' . $load->delayed
);
$timeLastDiff = $this->timeStart - $timeLastValue;
if ($timeLastDiff > self::DELAY_MERCYSECONDS) {
// this is a fresh restart since we know, that the chain can
// be created now
$this->_next(null, 0);
} else {
// this is a delayed job which is agains started to re-run the tests
$this->_next(array('delayed' => $load->delayed - 1), 1);
}
} else if (empty($load->timeStart) || (string)$load->timeStart !== (string)$timeStartValue) {
// this is a start with load but it does not belong to the
// cron chain of the cached timeStart
$this->logFailure(
'started with payload, but cached timestamp differs' .
' (do nothing, chain dies).'
);
} else {
// finally, this is a "normal" job which can trigger events and
// which setup a new timeLast
$this->load = $load;
$this->_triggerEvents();
$this->setValue($this->timeStart, 'timeLast');
$this->_next($this->load);
}
}
}
}
================================================
FILE: application/classes/OntoWiki/Menu/Registry.php
================================================
<?php
/**
* This file is part of the {@link http://ontowiki.net OntoWiki} project.
*
* @copyright Copyright (c) 2009-2016, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
*/
/**
* OntoWiki menu registry class.
*
* Serves as a central registry for menus and provides methods for setting
* and retrieving menu instances.
*
* @category OntoWiki
* @package OntoWiki_Classes_Menu
* @author Norman Heino <norman.heino@gmail.com>
*/
class OntoWiki_Menu_Registry
{
/**
* Menu registry; an array of menu instances
*
* @var array
*/
private $_menus = array();
/**
* Singleton instance
*
* @var OntoWiki_Menu_Registry
*/
private static $_instance = null;
/**
* Singleton instance
*
* @return OntoWiki_Menu_Registry
*/
public static function getInstance()
{
if (null === self::$_instance) {
self::$_instance = new self();
}
return self::$_instance;
}
/**
* Returns the menu denoted by $menuKey.
*
* @param string $menuKey
*
* @return OntoWiki_Menu
*/
public function getMenu($menuKey, $context = null)
{
if (!is_string($menuKey)) {
throw new OntoWiki_Exception('Menu key must be string.');
}
if (!isset($this->_menus[$context])) {
$this->_menus[$context] = array();
}
if (!array_key_exists($menuKey, $this->_menus[$context])) {
$getMethod = '_get' . ucfirst($menuKey) . 'Menu';
if (method_exists($this, $getMethod)) {
$this->setMenu($menuKey, $context, $this->$getMethod($context));
} else {
$this->setMenu($menuKey, $context, new OntoWiki_Menu());
}
}
return $this->_menus[$context][$menuKey];
}
/**
* Stores the menu $menu with key $menuKey in the registry.
*
* @param string $menuKey
* @param OntoWiki_Menu $menu
* @param boolean $replace
*
* @return OntoWiki_Menu_Registry
*/
public function setMenu($menuKey, $context, OntoWiki_Menu $menu, $replace = true)
{
if (!is_string($menuKey)) {
throw new OntoWiki_Exception('Menu key must be string.');
}
if (!isset($this->_menus[$context])) {
$this->_menus[$context] = array();
}
if (!$replace && array_key_exists($menuKey, $this->_menus[$context])) {
throw new OntoWiki_Exception("Menu with key '$menuKey' already registered.");
}
$this->_menus[$context][$menuKey] = $menu;
return $this;
}
private function __construct()
{
$owApp = OntoWiki::getInstance();
$this->setMenu('application', null, $this->_getApplicationMenu());
// check if a resource is selected
if (isset($owApp->selectedResource) && $owApp->selectedResource) {
$resource = (string)$owApp->selectedResource;
$this->setMenu('resource', $resource, $this->_getResourceMenu($resource));
}
}
/**
* Create the application menu and fill it with its default entries
*/
private function _getApplicationMenu($context = null)
{
$owApp = OntoWiki::getInstance();
// user sub menu
if ($owApp->erfurt->isActionAllowed('RegisterNewUser')
&& !(isset($owApp->config->ac)
&& ((boolean)$owApp->config->ac->deactivateRegistration === true))
) {
if (!($owApp->erfurt->getAc() instanceof Erfurt_Ac_None)) {
$userMenu = new OntoWiki_Menu();
$userMenu->setEntry('Register New User', $owApp->config->urlBase . 'application/register');
}
}
if ($owApp->user && !$owApp->user->isAnonymousUser()) {
if (!isset($userMenu)) {
$userMenu = new OntoWiki_Menu();
}
if (!$owApp->user->isDbUser()) {
$userMenu->setEntry('Preferences', $owApp->config->urlBase . 'application/preferences');
}
$userMenu->setEntry('Logout', $owApp->config->urlBase . 'application/logout');
}
// view sub menu
$viewMenu = new OntoWiki_Menu();
// extras sub menu
$extrasMenu = new OntoWiki_Menu();
$extrasMenu->setEntry('News', $owApp->config->urlBase . 'index/news');
// help sub menue
$helpMenu = new OntoWiki_Menu();
if (isset($owApp->config->help->documentation) && (trim($owApp->config->help->documentation) !== '')) {
$helpMenu->setEntry('Documentation', trim($owApp->config->help->documentation));
}
if (isset($owApp->config->help->issues) && (trim($owApp->config->help->issues) !== '')) {
$helpMenu->setEntry('Bug Report', trim($owApp->config->help->issues));
}
if (isset($owApp->config->help->versioninfo) && (trim($owApp->config->help->versioninfo) !== '')) {
$helpMenu->setEntry('Version Info', trim($owApp->config->help->versioninfo));
}
$helpMenu->setEntry('About', $owApp->config->urlBase . 'application/about');
// build menu out of sub menus
$applicationMenu = new OntoWiki_Menu();
if (isset($userMenu)) {
$applicationMenu->setEntry('User', $userMenu);
}
$applicationMenu->setEntry('Extras', $extrasMenu)
->setEntry('Help', $helpMenu);
// add cache entry only if use is allowed to use debug action
if ($owApp->erfurt->isActionAllowed('Debug')) {
$debugMenu = new OntoWiki_Menu();
$debugMenu->setEntry('Clear Module Cache', $owApp->config->urlBase . 'debug/clearmodulecache')
->setEntry('Clear Translation Cache', $owApp->config->urlBase . 'debug/cleartranslationcache')
->setEntry('Clear Object & Query Cache', $owApp->config->urlBase . 'debug/clearquerycache')
->setEntry('Start xdebug Session', $owApp->config->urlBase . '?XDEBUG_SESSION_START=xdebug')
->setEntry('Reset Session', $owApp->config->urlBase . 'debug/destroysession');
$applicationMenu->setEntry('Debug', $debugMenu);
}
return $applicationMenu;
}
/**
* Create the context menu for models/knowledge bases and fill it with its default entries
*/
private function _getModelMenu($model = null)
{
$owApp = OntoWiki::getInstance();
if ($model === null) {
$model = $owApp->selectedModel;
}
$config = $owApp->config;
$modelMenu = new OntoWiki_Menu();
// Select Knowledge Base
$url = new OntoWiki_Url(
array('controller' => 'model', 'action' => 'select'),
array()
);
$url->setParam('m', $model, false);
$modelMenu->appendEntry(
'Select Knowledge Base',
(string)$url
);
// View resource
$url = new OntoWiki_Url(
array('action' => 'view'),
array()
);
$url->setParam('m', $model, false);
$url->setParam('r', $model, true);
$modelMenu->appendEntry(
'View as Resource',
(string)$url
);
// check if model could be edited (prefixes and data)
if ($owApp->erfurt->getAc()->isModelAllowed('edit', $model)) {
// Configure Knowledge Base
$url = new OntoWiki_Url(
array('controller' => 'model', 'action' => 'config'),
array()
);
$url->setParam('m', $model, false);
$modelMenu->appendEntry(
'Configure Knowledge Base',
(string)$url
);
// Add Data to Knowledge Base
$url = new OntoWiki_Url(
array('controller' => 'model', 'action' => 'add'),
array()
);
$url->setParam('m', $model, false);
$modelMenu->appendEntry(
'Add Data to Knowledge Base',
(string)$url
);
}
// Model export
if ($owApp->erfurt->getAc()->isActionAllowed(Erfurt_Ac_Default::ACTION_MODEL_EXPORT)) {
// add entries for supported export formats
foreach (Erfurt_Syntax_RdfSerializer::getSupportedFormats() as $key => $format) {
$url = new OntoWiki_Url(
array('controller' => 'model', 'action' => 'export'),
array()
);
$url->setParam('m', $model, false);
$url->setParam('f', $key);
$modelMenu->appendEntry(
'Export Knowledge Base as ' . $format,
(string)$url
);
}
}
// can user delete models?
if ($owApp->erfurt->getAc()->isModelAllowed('edit', $model)
&& $owApp->erfurt->getAc()->isActionAllowed('ModelManagement')
) {
$url = new OntoWiki_Url(
array('controller' => 'model', 'action' => 'delete'),
array()
);
$url->setParam('model', $model, false);
$modelMenu->appendEntry(
'Delete Knowledge Base',
(string)$url
);
}
// add a seperator
$modelMenu->appendEntry(OntoWiki_Menu::SEPARATOR);
return $modelMenu;
}
/**
* Create the (context) menu for resource and fill it with its default entries
*/
private function _getResourceMenu($resource = null)
{
$owApp = OntoWiki::getInstance();
if ($resource === null) {
$resource = $owApp->selectedResource;
}
$config = $owApp->config;
$resourceMenu = new OntoWiki_Menu();
// Add the class Menu if the current resource is a class
$classMenu = $this->_getClassMenu($resource)->toArray();
foreach ($classMenu as $key => $value) {
$resourceMenu->appendEntry($key, $value);
}
if (count($classMenu) > 0) {
$resourceMenu->appendEntry(OntoWiki_Menu::SEPARATOR);
}
// View resource
$url = new OntoWiki_Url(
array('action' => 'view'),
array()
);
$url->setParam('r', $resource, true);
$resourceMenu->appendEntry(
'View Resource',
(string)$url
);
// Edit entries
if ($owApp->erfurt->getAc()->isModelAllowed('edit', $owApp->selectedModel)) {
// edit resource option
$resourceMenu->appendEntry(
'Edit Resource',
'javascript:editResourceFromURI(\'' . (string)$resource . '\')'
);
// Delete resource option
$url = new OntoWiki_Url(
array('controller' => 'resource', 'action' => 'delete'),
array('r')
);
$url->setParam('r', (string)$resource, false);
$resourceMenu->appendEntry('Delete Resource', (string)$url);
}
$resourceMenu->appendEntry(
'Go to Resource (external)',
(string)$resource
);
$resourceMenu->appendEntry(OntoWiki_Menu::SEPARATOR);
foreach (Erfurt_Syntax_RdfSerializer::getSupportedFormats() as $key => $format) {
$resourceMenu->appendEntry(
'Export Resource as ' . $format,
$config->urlBase . 'resource/export/f/' . $key . '?r=' . urlencode($resource)
);
}
return $resourceMenu;
}
/**
* Create the (context) menu for classes and fill it with its default entries
*/
private function _getClassMenu($resource = null)
{
$owApp = OntoWiki::getInstance();
$classMenu = new OntoWiki_Menu();
$query = Erfurt_Sparql_SimpleQuery::initWithString(
'SELECT *
FROM <' . (string)$owApp->selectedModel . '>
WHERE {
<' . $resource . '> a ?type .
}'
);
$results[] = $owApp->erfurt->getStore()->sparqlQuery($query);
$query = Erfurt_Sparql_SimpleQuery::initWithString(
'SELECT *
FROM <' . (string)$owApp->selectedModel . '>
WHERE {
?inst a <' . $resource . '> .
} LIMIT 2'
);
if (count($owApp->erfurt->getStore()->sparqlQuery($query)) > 0) {
$hasInstances = true;
} else {
$hasInstances = false;
}
$typeArray = array();
foreach ($results[0] as $row) {
$typeArray[] = $row['type'];
}
if (in_array(EF_RDFS_CLASS, $typeArray)
|| in_array(EF_OWL_CLASS, $typeArray)
|| $hasInstances
) {
$url = new OntoWiki_Url(
array('action' => 'list'),
array()
);
$url->setParam('class', $resource, false);
$url->setParam('init', "true", true);
$classMenu->appendEntry(
'List Instances',
(string)$url
);
// add class menu entries
if ($owApp->erfurt->getAc()->isModelAllowed('edit', $owApp->selectedModel)) {
$classMenu->appendEntry(
'Create Instance',
"javascript:createInstanceFromClassURI('$resource');"
);
}
}
return $classMenu;
}
}
================================================
FILE: application/classes/OntoWiki/Menu.php
================================================
<?php
/**
* This file is part of the {@link http://ontowiki.net OntoWiki} project.
*
* @copyright Copyright (c) 2006-2013, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
*/
/**
* OntoWiki menu class.
*
* @category OntoWiki
* @package OntoWiki_Classes
* @copyright Copyright (c) 2012, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
* @author Norman Heino <norman.heino@gmail.com>
*/
class OntoWiki_Menu
{
/**
* Menu entry separator
*/
const SEPARATOR = '_---_';
/**
* Array of menu entries
*
* @var array
*/
private $_entries = array();
/**
* Constructor
*/
public function __construct()
{
}
public function appendEntry($entryKey, $entryContent = null)
{
if (!is_string($entryKey)) {
throw new OntoWiki_Exception('Entry key must be string.');
}
if (($entryKey != self::SEPARATOR)
&& !is_string($entryContent) && !is_array($entryContent)
&& !($entryContent instanceof OntoWiki_Menu)
) {
throw new OntoWiki_Exception(
'Menu content must be an instance of ' . __CLASS__ . ' or string, ' . gettype($entryContent) . ' given.'
);
}
if (array_key_exists($entryKey, $this->_entries)) {
throw new OntoWiki_Exception("An entry with key '$entryKey' already exists.");
}
if ($entryKey == self::SEPARATOR) {
$key = self::SEPARATOR . uniqid();
$this->_entries[$key] = self::SEPARATOR;
} else {
$this->_entries[$entryKey] = $entryContent;
}
return $this;
}
public function prependEntry($entryKey, $entryContent = null)
{
if (!is_string($entryKey)) {
throw new OntoWiki_Exception('Entry key must be string.');
}
if (($entryKey != self::SEPARATOR)
&& !is_string($entryContent)
&& !is_array($entryContent)
&& !($entryContent instanceof OntoWiki_Menu)
) {
throw new OntoWiki_Exception(
'Menu content must be an instance of ' . __CLASS__ . ' or string, ' . gettype($entryContent) . ' given.'
);
}
if (array_key_exists($entryKey, $this->_entries)) {
throw new OntoWiki_Exception("An entry with key '$entryKey' already exists.");
}
if ($entryKey == self::SEPARATOR) {
$key = self::SEPARATOR . uniqid();
$this->_entries = array_merge(array($key => self::SEPARATOR), $this->_entries);
} else {
$this->_entries = array_merge(array($entryKey => $entryContent), $this->_entries);
}
return $this;
}
/**
* Sets a menu entry. Throws an exception if a menu key with
* the same name already exists and
*
* @param string $entryKey
* @param string|array|OntoWiki_Menu $entryContent
* If a string is provided, it is used as the target URL for the menu entry.
* If an array is given, it must have a key 'url', whereas 'class' and 'id'
* are optional and can be used for CSS classes and CSS ids respectively.
* An instance of OntoWiki_Menu means, this entry is a submenu.
* @param boolean replace
*/
public function setEntry($entryKey, $entryContent = null, $replace = true)
{
if (!is_string($entryKey)) {
throw new OntoWiki_Exception('Entry key must be string.');
}
if (($entryKey != self::SEPARATOR)
&& !is_string($entryContent)
&& !is_array($entryContent)
&& !($entryContent instanceof OntoWiki_Menu)
) {
throw new OntoWiki_Exception(
'Menu content must be an instance of ' . __CLASS__ . ' or string, ' . gettype($entryContent) . ' given.'
);
}
if (!$replace && array_key_exists($entryKey, $this->_entries)) {
throw new OntoWiki_Exception("An entry with key '$entryKey' already exists.");
}
if ($entryKey == self::SEPARATOR) {
$key = self::SEPARATOR . uniqid();
$this->_entries[$key] = self::SEPARATOR;
} else {
$this->_entries[$entryKey] = $entryContent;
}
return $this;
}
/**
* Returns a sub menu entry. If the sub menu does not
* exist an empty instance of OntoWiki_Menu is returned
* that represents a new submenu.
*
* @param string $subMenuKey
*
* @return OntoWiki_Menu|null
*/
public function getSubMenu($subMenuKey)
{
if (!array_key_exists($subMenuKey, $this->_entries)) {
$subMenu = new OntoWiki_Menu();
$this->setEntry($subMenuKey, $subMenu);
}
if (!$this->_entries[$subMenuKey] instanceof OntoWiki_Menu) {
throw new OntoWiki_Exception("Entry '$subMenuKey' is not a menu.");
}
return $this->_entries[$subMenuKey];
}
/**
* Removes the entry with key $entryKey from the menu.
*
* @param string $entryKey
*/
public function removeEntry($entryKey)
{
if (array_key_exists($entryKey, $this->_entries)) {
unset($this->_entries[$entryKey]);
}
}
/**
* Returns the menu instance as an array
*
* @param boolean $translate Whether to translate keys
* @param boolean $recursive Whether to recursively array-ize this instance
*
* @return array
*/
public function toArray($translate = false, $recursive = true)
{
if ($translate) {
$translation = OntoWiki::getInstance()->translate;
}
$return = array();
foreach ($this->_entries as $key => $content) {
if ($translate) {
$key = $translation->translate($key);
}
if ($content instanceof self) {
if ($recursive) {
$return[$key] = $content->toArray($translate, $recursive);
} else {
$return[$key] = $content;
}
} else {
$return[$key] = $content;
}
}
return $return;
}
/**
* Returns the menu instance as an HTML list
*
* @return array
*/
public function toHtmlList()
{
// TODO:
}
/**
* Returns the menu instance as a JSON array
*
* @return array
*/
public function toJson($translate = true)
{
return json_encode($this->toArray($translate, true));
}
}
================================================
FILE: application/classes/OntoWiki/Message.php
================================================
<?php
/**
* This file is part of the {@link http://ontowiki.net OntoWiki} project.
*
* @copyright Copyright (c) 2006-2016, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
*/
/**
* OntoWiki message class.
*
* Encapsulates a message that needs to be saved for the user.
*
* @category OntoWiki
* @package OntoWiki_Classes
* @copyright Copyright (c) 2012, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
* @author Norman Heino <norman.heino@gmail.com>
*/
class OntoWiki_Message
{
/**
* Message of type succes.
* The last operation was executed successfully.
*/
const SUCCESS = 'success';
/**
* Message of type info.
* A notice to help the user interpret the application state.
*/
const INFO = 'info';
/**
* Message of type warning.
* A notice to inform the user the he might not get the results desired
* due to a non-critical application error or false input.
*/
const WARNING = 'warning';
/**
* Message of type error.
* A notice to inform the user of a critical application error that does
* not allow the application to perform under normal circumstances.
*/
const ERROR = 'error';
/**
* Options array
*
* @var array
*/
protected $_options = null;
/**
* The message's type
*
* @var string
*/
protected $_type = null;
/**
* The message text
*
* @var string
*/
protected $_text = null;
/**
* Constructor
*
* @param string $text
* @param string $type
*/
public function __construct($text, $type = self::INFO, $options = array())
{
$this->_options = array_merge(
array(
'escape' => true,
'translate' => true),
$options
);
$this->_type = $type;
$this->_text = $text;
}
/**
* Returns the type of the message
*
* @return string
*/
public function getType()
{
return $this->_type;
}
/**
* Returns the message's text
*
* @return string
*/
public function getText()
{
$text = $this->_translate($this->_text);
if (strlen($text) > 1000) {
$text = substr($text, 0, 1000) . '...';
}
$text = $this->_options['escape'] ? $this->getView()->escape($text) : $text;
return $text;
}
/**
* Returns the view object.
*
* @return OntoWiki_View
*/
protected function getView()
{
$viewRenderer = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
if (null === $viewRenderer->view) {
$viewRenderer->initView();
}
$view = clone $viewRenderer->view;
$view->clearVars();
return $view;
}
/**
* Returns the translator.
*
* @return Zend_Translate
*/
protected function getTranslator()
{
return OntoWiki::getInstance()->translate;
}
private function _translate($text)
{
if (($this->_options['translate'] === true) && ($translator = $this->getTranslator()) !== null) {
return $translator->translate($text);
}
return $text;
}
}
================================================
FILE: application/classes/OntoWiki/Model/Exception.php
================================================
<?php
/**
* This file is part of the {@link http://ontowiki.net OntoWiki} project.
*
* @copyright Copyright (c) 2006-2013, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
*/
/**
* OntoWiki model exception
*
* @category OntoWiki
* @package OntoWiki_Classes_Model
* @copyright Copyright (c) 2012, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
* @author Norman Heino <norman.heino@gmail.com>
*/
class OntoWiki_Model_Exception extends OntoWiki_Exception
{
}
================================================
FILE: application/classes/OntoWiki/Model/Hierarchy.php
================================================
<?php
/**
* This file is part of the {@link http://ontowiki.net OntoWiki} project.
*
* @copyright Copyright (c) 2006-2016, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
*/
/**
* OntoWiki resource hierarchy model class.
*
* Represents a hierarchy of resources, e.g. a class tree.
*
* @category OntoWiki
* @package OntoWiki_Classes_Model
* @copyright Copyright (c) 2012, {@link http://aksw.org AKSW}
* @license http://opensource.org/licenses/gpl-license.php GNU General Public License (GPL)
* @author Norman Heino <norman.heino@gmail.com>
*/
class OntoWiki_Model_Hierarchy extends OntoWiki_Model
{
/**
* Direction of the hierarchy relation is downwards.
*/
const DIRECTION_DOWN = 1;
/**
* Direction of the hierarchy relation is upwards.
*/
const DIRECTION_UP = 2;
/**
* Default hierarchy options
*
* @var array
*/
private $_options
= array(
'object_types' => array(EF_RDFS_CLASS, EF_OWL_CLASS),
'ignore_ns' => array(EF_RDF_NS, EF_RDFS_NS, EF_OWL_NS), // EF_OWL_THING
'sub_relation' => EF_RDFS_SUBCLASSOF,
'sub_direction' => self::DIRECTION_DOWN,
'inst_relation' => EF_RDF_TYPE,
'inst_direction' => self::DIRECTION_DOWN,
'entry' => null
);
/**
* Result array
*
* @var array
*/
private $_hierarchyResults = null;
/**
* Root of the hierarchy
*
* @var Erfurt_Rdf_Resource
*/
private $_current = null;
/**
* URL object used to built URLs
*
* @var OntoWiki_Url
*/
private $_url = null;
/**
* Current session instance
*
* @var Zend_Session
*/
private $_session = null;
protected $_titleHelper = null;
/**
* Constructor
*
* @see OntoWiki_Model_Abstract
*/
public function __construct(Erfurt_Store $store, $graph, array $options = array())
{
parent::__construct($store, $graph);
$this->_options = array_merge($this->_options, $options);
$this->_current = (string)OntoWiki::getInstance()->selectedResource;
$this->_session = OntoWiki::getInstance()->session;
// HACK: if the graph itself is one that is normally ignored in other
// models, don't ignore it
if (in_array($this->_graph, $this->_options['ignore_ns'])) {
// TODO: remove only graph and imported namespaces
$this->_options['ignore_ns'] = array();
}
}
/**
* Returns whether the model contains data.
*
* @return boolean
*/
public function hasData()
{
if (!$this->_hierarchyResults) {
$this->getHierarchy();
}
return !empty($this->_hierarchyResults);
}
/**
* Returns the resource hierarchy.
*
* @return array
*/
public function getHierarchy()
{
if (!$this->_hierarchyResults) {
$query = $this->_buildQuery();
$this->_url = new OntoWiki_Url(array('route' => 'instances'), array('r', 'init'));
if ($result = $this->_model->sparqlQuery($query)) {
$this->_hierarchyResults = array();
// set titles
foreach ((array)$result as $row) {
$this->_titleHelper->addResource($row['classUri']);
if (!empty($row['sub'])) {
$this->_titleHelper->addResource($row['sub']);
}
}
foreach ((array)$result as $row) {
$classUri = $row['classUri'];
if (!array_key_exists($classUri, $this->_hierarchyResults)) {
$this->_hierarchyResults[$classUri] = $this->_getEntry($classUri, !empty($row['sub']));
$this->_titleHelper->addResource($classUri);
}
// do subclasses exists?
if (!empty($row['sub'])) {
$subClassUri = $row['sub'];
$this->_hierarchyResults[$classUri]['children'][$subClassUri]
= $this->_getEntry($subClassUri, !empty($row['subsub']));
}
}
}
}
return $this->_hierarchyResults;
}
protected function _getEntry($resultUri, $hasChildren = false)
{
$classes = '';
if ($resultUri == $this->_current) {
$classes .= ' selected';
}
if ($hasChildren) {
$classes .= ' has-children';
}
$this->_url->setParam('r', $resultUri, true);
$hierarchyOpen = is_array($this->_session->hierarchyOpen) &&
in_array($resultUri, $this->_session->hierarchyOpen);
$entry = array(
'uri' => $resultUri,
'url' => (string)$this->_url,
'classes' => trim($classes),
'title' => $this->_titleHelper->getTitle($resultUri, $this->_config->languages->locale),
'children' => array(),
'has_children' => $hasChildren,
'open' => $hierarchyOpen
);
return $entry;
}
protected function _buildQuery()
{
$query = new Erfurt_Sparql_SimpleQuery();
$query->setSelectClause('SELECT DISTINCT ?classUri ?sub ?subsub ?subsubsub');
$whereSpecs = array();
$whereSpec = '';
foreach ($this->_options['object_types'] as $type) {
$whereSpecs[] = '{?classUri a <' . $type . '>}';
}
// optional inference
if (!$this->_options['entry'] && $this->_inference) {
// instance retrieval is only applicable for classes
if ($this->_options['sub_relation'] == EF_RDFS_SUBCLASSOF) {
$whereSpecs[] = '{?instance a ?classUri.}';
}
// entities with a subtype must be a type
$whereSpecs[] = '{?subtype <' . $this->_options['sub_relation'] . '> ?classUri.}';
}
$whereSpec = implode(' UNION ', $whereSpecs);
$whereSpec .= ' FILTER (isURI(?classUri))';
// dont't show rdfs/owl entities and subtypes in the first level
if (!$this->_options['entry']) {
$whereSpec .= ' FILTER (regex(str(?super), "^' . EF_OWL_NS . '"
gitextract_421r03jp/ ├── .gitignore ├── .htaccess ├── .travis.yml ├── CHANGELOG.md ├── Makefile ├── README.md ├── application/ │ ├── Bootstrap.php │ ├── LICENSE.txt │ ├── classes/ │ │ ├── OntoWiki/ │ │ │ ├── Component/ │ │ │ │ ├── Exception.php │ │ │ │ └── Helper.php │ │ │ ├── Controller/ │ │ │ │ ├── ActionHelper/ │ │ │ │ │ └── List.php │ │ │ │ ├── Base.php │ │ │ │ ├── Component.php │ │ │ │ ├── Exception.php │ │ │ │ └── Plugin/ │ │ │ │ ├── HttpAuth.php │ │ │ │ ├── ListSetupHelper.php │ │ │ │ └── SetupHelper.php │ │ │ ├── Dispatcher.php │ │ │ ├── Exception.php │ │ │ ├── Extension/ │ │ │ │ └── Manager.php │ │ │ ├── Http/ │ │ │ │ └── Exception.php │ │ │ ├── Jobs/ │ │ │ │ └── Cron.php │ │ │ ├── Menu/ │ │ │ │ └── Registry.php │ │ │ ├── Menu.php │ │ │ ├── Message.php │ │ │ ├── Model/ │ │ │ │ ├── Exception.php │ │ │ │ ├── Hierarchy.php │ │ │ │ ├── Instances.php │ │ │ │ ├── Resource.php │ │ │ │ └── TitleHelper.php │ │ │ ├── Model.php │ │ │ ├── Module/ │ │ │ │ ├── Exception.php │ │ │ │ └── Registry.php │ │ │ ├── Module.php │ │ │ ├── Navigation.php │ │ │ ├── Pager.php │ │ │ ├── Plugin.php │ │ │ ├── Request.php │ │ │ ├── Resource.php │ │ │ ├── Test/ │ │ │ │ ├── ControllerTestCase.php │ │ │ │ ├── ExtensionIntegrationTestBootstrap.php │ │ │ │ ├── ExtensionUnitTestBootstrap.php │ │ │ │ ├── IntegrationTestBootstrap.php │ │ │ │ └── UnitTestBootstrap.php │ │ │ ├── Toolbar.php │ │ │ ├── Url.php │ │ │ ├── Utils/ │ │ │ │ └── Exception.php │ │ │ ├── Utils.php │ │ │ ├── View/ │ │ │ │ └── Helper/ │ │ │ │ └── Curie.php │ │ │ └── View.php │ │ └── OntoWiki.php │ ├── config/ │ │ ├── SysBase/ │ │ │ ├── dc │ │ │ ├── dcterms │ │ │ ├── foaf │ │ │ ├── geo │ │ │ ├── owl │ │ │ ├── rdf │ │ │ ├── rdfs │ │ │ ├── rel │ │ │ ├── sioc │ │ │ ├── sioct │ │ │ ├── skos │ │ │ └── tags │ │ ├── SysBase.rdf │ │ ├── application.ini │ │ ├── default.ini │ │ └── default.n3 │ ├── controllers/ │ │ ├── ApplicationController.php │ │ ├── DebugController.php │ │ ├── ErrorController.php │ │ ├── IndexController.php │ │ ├── ModelController.php │ │ ├── ModuleController.php │ │ ├── ResourceController.php │ │ └── ServiceController.php │ ├── scripts/ │ │ ├── README-Vagrant.md │ │ ├── clearCache.php │ │ ├── extensions-ini2n3.php │ │ ├── makeBackup.sh │ │ ├── makeRelease.sh │ │ ├── mod-auth-external/ │ │ │ └── ontowiki.php │ │ ├── odbctest.php │ │ ├── owadmin.php │ │ ├── runExtensionTests.sh │ │ ├── travis/ │ │ │ ├── README.md │ │ │ ├── install-extensions.sh │ │ │ ├── install-services.sh │ │ │ └── virtuoso-sparql-permission.sql │ │ └── vad/ │ │ ├── README.txt │ │ ├── ow_vad_sticker_template.xml │ │ ├── ow_vad_sticker_template.xml_not_working │ │ ├── prepare.sh │ │ └── vad.ini │ ├── shell.worker.client.php │ ├── shell.worker.php │ ├── tests/ │ │ ├── Bootstrap.php │ │ ├── BootstrapExtensions.php │ │ ├── CodeSniffer/ │ │ │ └── Standards/ │ │ │ └── Ontowiki/ │ │ │ ├── Sniffs/ │ │ │ │ ├── Classes/ │ │ │ │ │ └── ClassFilePathSniff.php │ │ │ │ ├── Commenting/ │ │ │ │ │ └── FileCommentSniff.php │ │ │ │ ├── Functions/ │ │ │ │ │ ├── ForbiddenFunctionsSniff.php │ │ │ │ │ └── FunctionCallArgumentSpacingSniff.php │ │ │ │ └── PHP/ │ │ │ │ └── GetRequestDataSniff.php │ │ │ └── ruleset.xml │ │ ├── config.ini.dist │ │ ├── config.ini.dist.travis │ │ ├── integration/ │ │ │ ├── OntoWiki/ │ │ │ │ ├── Extension/ │ │ │ │ │ ├── ManagerIntegrationTest.php │ │ │ │ │ └── _files/ │ │ │ │ │ ├── test1/ │ │ │ │ │ │ ├── MoreModule.php │ │ │ │ │ │ ├── Test1Controller.php │ │ │ │ │ │ ├── TestModule.php │ │ │ │ │ │ └── doap.n3 │ │ │ │ │ ├── test2/ │ │ │ │ │ │ ├── Test2Plugin.php │ │ │ │ │ │ ├── Test2Wrapper.php │ │ │ │ │ │ └── doap.n3 │ │ │ │ │ └── test2.ini │ │ │ │ └── Model/ │ │ │ │ ├── InstancesIntegrationTest.php │ │ │ │ └── TitleHelperIntegrationTest.php │ │ │ ├── controller/ │ │ │ │ ├── ModelControllerTest.php │ │ │ │ └── ServiceControllerTest.php │ │ │ └── phpunit.xml.dist │ │ └── unit/ │ │ ├── OntoWiki/ │ │ │ ├── Extension/ │ │ │ │ ├── ManagerTest.php │ │ │ │ └── _files/ │ │ │ │ └── test-doap.n3 │ │ │ ├── MenuTest.php │ │ │ ├── MessageTest.php │ │ │ ├── Model/ │ │ │ │ └── InstancesTest.php │ │ │ ├── Module/ │ │ │ │ └── RegistryTest.php │ │ │ ├── NavigationTest.php │ │ │ └── UtilsTest.php │ │ ├── OntoWikiTest.php │ │ ├── controller/ │ │ │ ├── IndexControllerTest.php │ │ │ ├── ResourceControllerTest.php │ │ │ └── _files/ │ │ │ └── aksw.rss │ │ └── phpunit.xml.dist │ └── views/ │ └── templates/ │ ├── application/ │ │ ├── about.phtml │ │ ├── openid.phtml │ │ ├── register.phtml │ │ ├── search.phtml │ │ ├── userdetails.phtml │ │ └── webid.phtml │ ├── error/ │ │ ├── 404.phtml │ │ ├── 500.phtml │ │ └── error.phtml │ ├── index/ │ │ ├── index.phtml │ │ ├── news.phtml │ │ └── newsshort.phtml │ ├── layouts/ │ │ └── layout.phtml │ ├── model/ │ │ ├── config.phtml │ │ ├── create.phtml │ │ └── info.phtml │ ├── partials/ │ │ ├── contextmenu.phtml │ │ ├── hierarchy_list.phtml │ │ ├── list.phtml │ │ ├── list_std_element.phtml │ │ ├── list_std_main.phtml │ │ ├── menu.phtml │ │ ├── message.phtml │ │ ├── meta.phtml │ │ ├── module.phtml │ │ ├── navigation.phtml │ │ ├── resultset.phtml │ │ ├── statusbar.phtml │ │ ├── table.phtml │ │ ├── toolbar.phtml │ │ └── window.phtml │ └── resource/ │ ├── instances.phtml │ └── properties.phtml ├── build/ │ └── phpcs.xml ├── build.xml ├── composer.json ├── config.ini.dist ├── debian/ │ ├── Makefile/ │ │ └── Makefile │ ├── changelog │ ├── compat │ ├── conf/ │ │ ├── apache2/ │ │ │ └── apache.conf │ │ ├── gnome/ │ │ │ └── ontowiki.desktop │ │ ├── mysql/ │ │ │ └── config.ini │ │ └── virtuoso/ │ │ └── config.ini │ ├── control │ ├── copyright │ ├── ontowiki-common.dirs │ ├── ontowiki-common.install │ ├── ontowiki-common.links │ ├── ontowiki-common.postinst │ ├── ontowiki-mysql.install │ ├── ontowiki-mysql.links │ ├── ontowiki-mysql.postinst │ ├── ontowiki-mysql.prerm │ ├── ontowiki-virtuoso.install │ ├── ontowiki-virtuoso.links │ ├── ontowiki-virtuoso.postinst │ ├── rules │ ├── source/ │ │ └── format │ └── sql/ │ └── install/ │ ├── mysql │ └── virtuoso ├── extensions/ │ ├── account/ │ │ ├── AccountController.php │ │ ├── LoginModule.php │ │ ├── default.ini │ │ ├── doap.n3 │ │ ├── languages/ │ │ │ ├── account-de.csv │ │ │ └── account-en.csv │ │ └── templates/ │ │ ├── account/ │ │ │ └── recover.phtml │ │ ├── local.phtml │ │ ├── mail/ │ │ │ ├── html/ │ │ │ │ └── default.phtml │ │ │ └── text/ │ │ │ └── default.txt │ │ ├── openid.phtml │ │ └── webid.phtml │ ├── application/ │ │ ├── ApplicationModule.php │ │ ├── application.phtml │ │ ├── default.ini │ │ └── doap.n3 │ ├── auth/ │ │ ├── AuthController.php │ │ ├── default.ini │ │ ├── doap.n3 │ │ ├── languages/ │ │ │ ├── auth-de.csv │ │ │ └── auth-en.csv │ │ └── templates/ │ │ └── auth/ │ │ ├── cert1.phtml │ │ └── cert2.phtml │ ├── autologin/ │ │ ├── AutologinPlugin.php │ │ ├── default.ini │ │ └── doap.n3 │ ├── basicimporter/ │ │ ├── BasicimporterController.php │ │ ├── BasicimporterPlugin.php │ │ ├── SelectorModule.js │ │ ├── SelectorModule.php │ │ ├── doap.n3 │ │ ├── languages/ │ │ │ ├── basicimporter-de.csv │ │ │ └── basicimporter-en.csv │ │ └── templates/ │ │ └── basicimporter/ │ │ ├── category.phtml │ │ ├── prefix.phtml │ │ ├── rdfpaster.phtml │ │ ├── rdfupload.phtml │ │ ├── rdfwebimport.phtml │ │ └── search.phtml │ ├── bookmarklet/ │ │ ├── BookmarkletModule.php │ │ ├── bookmarklet.phtml │ │ ├── default.ini │ │ └── doap.n3 │ ├── ckan/ │ │ ├── CkanController.php │ │ ├── CkanHelper.php │ │ ├── default.ini │ │ ├── doap.n3 │ │ └── templates/ │ │ └── ckan/ │ │ └── browser.phtml │ ├── community/ │ │ ├── CommentModule.php │ │ ├── CommunityController.php │ │ ├── CommunityHelper.php │ │ ├── LastchangesModule.php │ │ ├── RatingModule.php │ │ ├── default.ini │ │ ├── default.n3 │ │ ├── doap.n3 │ │ ├── insert.sparql │ │ ├── jquery.MetaData.js │ │ ├── jquery.rating.css │ │ ├── jquery.rating.js │ │ ├── jquery.rating.pack.js │ │ ├── languages/ │ │ │ ├── community-de.csv │ │ │ └── community-en.csv │ │ ├── rating.js │ │ ├── styles/ │ │ │ └── community.css │ │ └── templates/ │ │ ├── comment.phtml │ │ ├── community/ │ │ │ └── list.phtml │ │ ├── lastchanges.phtml │ │ ├── lastcomments.phtml │ │ ├── partials/ │ │ │ ├── list_community_item.phtml │ │ │ └── list_community_main.phtml │ │ └── rating.phtml │ ├── cors/ │ │ ├── CorsPlugin.php │ │ ├── default.ini │ │ └── doap.n3 │ ├── datagathering/ │ │ ├── DatagatheringController.php │ │ ├── DatagatheringHelper.php │ │ ├── DatagatheringPlugin.php │ │ ├── SyncSchema.rdf │ │ ├── css/ │ │ │ └── jquery.autocomplete.css │ │ ├── datagathering.js │ │ ├── default.ini │ │ ├── doap.n3 │ │ ├── languages/ │ │ │ ├── datagathering-de.csv │ │ │ └── datagathering-en.csv │ │ ├── scripts/ │ │ │ └── jquery.autocomplete.js │ │ ├── templates/ │ │ │ └── datagathering/ │ │ │ └── config.phtml │ │ └── tests/ │ │ └── DatagatheringControllerTest.php │ ├── defaultmodel/ │ │ ├── DefaultmodelPlugin.php │ │ ├── default.ini │ │ └── doap.n3 │ ├── exconf/ │ │ ├── Archive.php │ │ ├── ExconfController.php │ │ ├── ExconfHelper.php │ │ ├── OutlineModule.php │ │ ├── default.ini │ │ ├── doap.n3 │ │ ├── pclzip.lib.php │ │ ├── resources/ │ │ │ ├── Examples.rdf │ │ │ ├── PluginRepository.rdf │ │ │ ├── exconf.css │ │ │ ├── exconf.js │ │ │ ├── jquery.togglebutton.js │ │ │ ├── outline.js │ │ │ └── togglebutton.css │ │ └── templates/ │ │ ├── exconf/ │ │ │ ├── archiveuploadform.phtml │ │ │ ├── conf.phtml │ │ │ ├── explorerepo.phtml │ │ │ ├── installarchiveremote.phtml │ │ │ ├── installarchiveupload.phtml │ │ │ └── list.phtml │ │ └── partials/ │ │ └── list_extensions_main.phtml │ ├── filter/ │ │ ├── CustomfilterModule.php │ │ ├── FilterController.php │ │ ├── FilterModule.php │ │ ├── default.ini │ │ ├── doap.n3 │ │ ├── resources/ │ │ │ ├── FilterAPI.js │ │ │ ├── filter.css │ │ │ ├── filter.js │ │ │ ├── jquery.dump.js │ │ │ ├── jquery.treeview.css │ │ │ └── jquery.treeview.js │ │ └── templates/ │ │ └── filter/ │ │ ├── complexfilter.phtml │ │ ├── filter.phtml │ │ └── getpossiblevalues.phtml │ ├── googletracking/ │ │ ├── GoogletrackingPlugin.php │ │ ├── default.ini │ │ └── doap.n3 │ ├── hideproperties/ │ │ ├── HidepropertiesPlugin.php │ │ ├── default.ini │ │ └── doap.n3 │ ├── history/ │ │ ├── HistoryController.php │ │ ├── HistoryHelper.php │ │ ├── default.ini │ │ ├── doap.n3 │ │ ├── languages/ │ │ │ ├── history-de.csv │ │ │ └── history-en.csv │ │ └── templates/ │ │ └── history/ │ │ ├── details.phtml │ │ ├── list.phtml │ │ └── rollback.phtml │ ├── imagelink/ │ │ ├── ImagelinkPlugin.php │ │ ├── default.ini │ │ └── doap.n3 │ ├── imprint/ │ │ ├── ImprintModule.php │ │ ├── default.ini │ │ ├── doap.n3 │ │ └── imprint.phtml │ ├── jsonrpc/ │ │ ├── EvolutionJsonrpcAdapter.php │ │ ├── JsonrpcController.php │ │ ├── MetaJsonrpcAdapter.php │ │ ├── ModelJsonrpcAdapter.php │ │ ├── ResourceJsonrpcAdapter.php │ │ ├── StoreJsonrpcAdapter.php │ │ ├── default.ini │ │ ├── doap.n3 │ │ └── languages/ │ │ └── community-en.csv │ ├── linkeddataserver/ │ │ ├── LinkeddataPlugin.php │ │ ├── default.ini │ │ └── doap.n3 │ ├── listmodules/ │ │ ├── ShowpropertiesModule.php │ │ ├── default.ini │ │ ├── doap.n3 │ │ ├── showproperties.js │ │ └── showproperties.phtml │ ├── literaltypes/ │ │ ├── LiteraltypesPlugin.php │ │ ├── default.ini │ │ └── doap.n3 │ ├── mail/ │ │ ├── MailPlugin.php │ │ ├── doap.n3 │ │ └── jobs/ │ │ └── Mail.php │ ├── mailtolink/ │ │ ├── MailtolinkPlugin.php │ │ ├── default.ini │ │ └── doap.n3 │ ├── manchester/ │ │ ├── ManchesterController.php │ │ ├── ManchesterModule.php │ │ ├── default.ini │ │ ├── doap.n3 │ │ └── templates/ │ │ └── modules/ │ │ └── manchester.phtml │ ├── markdown/ │ │ ├── MarkdownPlugin.php │ │ ├── default.ini │ │ ├── doap.n3 │ │ └── parser/ │ │ ├── License.text │ │ ├── PHP Markdown Readme.text │ │ └── markdown.php │ ├── modellist/ │ │ ├── ModellistModule.php │ │ ├── default.ini │ │ ├── doap.n3 │ │ ├── modellist.js │ │ └── modellist.phtml │ ├── navigation/ │ │ ├── NavigationController.php │ │ ├── NavigationHelper.php │ │ ├── NavigationModule.php │ │ ├── doap.n3 │ │ ├── languages/ │ │ │ ├── navigation-de.csv │ │ │ └── navigation-en.csv │ │ ├── navigation.css │ │ ├── navigation.js │ │ ├── navigation.phtml │ │ └── templates/ │ │ └── navigation/ │ │ ├── explore.phtml │ │ └── loadstate.phtml │ ├── pingback/ │ │ ├── PingbackController.php │ │ ├── PingbackPlugin.php │ │ ├── default.ini │ │ ├── doap.n3 │ │ └── templates/ │ │ └── pingback/ │ │ └── ping.phtml │ ├── queries/ │ │ ├── QueriesController.php │ │ ├── QueriesHelper.php │ │ ├── SavequeryModule.php │ │ ├── default.ini │ │ ├── doap.n3 │ │ ├── log/ │ │ │ ├── getAutocompletionQuery.log │ │ │ ├── getSPARQLQuery.log │ │ │ └── updateTable.log │ │ ├── resources/ │ │ │ ├── codemirror/ │ │ │ │ ├── CONTRIBUTING.md │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── addon/ │ │ │ │ │ ├── dialog/ │ │ │ │ │ │ ├── dialog.css │ │ │ │ │ │ └── dialog.js │ │ │ │ │ ├── edit/ │ │ │ │ │ │ ├── closetag.js │ │ │ │ │ │ ├── continuecomment.js │ │ │ │ │ │ ├── continuelist.js │ │ │ │ │ │ └── matchbrackets.js │ │ │ │ │ ├── fold/ │ │ │ │ │ │ ├── collapserange.js │ │ │ │ │ │ └── foldcode.js │ │ │ │ │ ├── format/ │ │ │ │ │ │ └── formatting.js │ │ │ │ │ ├── hint/ │ │ │ │ │ │ ├── javascript-hint.js │ │ │ │ │ │ ├── pig-hint.js │ │ │ │ │ │ ├── python-hint.js │ │ │ │ │ │ ├── simple-hint.css │ │ │ │ │ │ ├── simple-hint.js │ │ │ │ │ │ └── xml-hint.js │ │ │ │ │ ├── mode/ │ │ │ │ │ │ ├── loadmode.js │ │ │ │ │ │ ├── multiplex.js │ │ │ │ │ │ └── overlay.js │ │ │ │ │ ├── runmode/ │ │ │ │ │ │ ├── colorize.js │ │ │ │ │ │ ├── runmode-standalone.js │ │ │ │ │ │ ├── runmode.js │ │ │ │ │ │ └── runmode.node.js │ │ │ │ │ └── search/ │ │ │ │ │ ├── match-highlighter.js │ │ │ │ │ ├── search.js │ │ │ │ │ └── searchcursor.js │ │ │ │ ├── keymap/ │ │ │ │ │ ├── emacs.js │ │ │ │ │ └── vim.js │ │ │ │ ├── lib/ │ │ │ │ │ ├── codemirror.css │ │ │ │ │ └── codemirror.js │ │ │ │ ├── mode/ │ │ │ │ │ ├── meta.js │ │ │ │ │ ├── ntriples/ │ │ │ │ │ │ └── ntriples.js │ │ │ │ │ ├── sparql/ │ │ │ │ │ │ └── sparql.js │ │ │ │ │ └── xml/ │ │ │ │ │ └── xml.js │ │ │ │ └── theme/ │ │ │ │ ├── ambiance-mobile.css │ │ │ │ ├── ambiance.css │ │ │ │ ├── blackboard.css │ │ │ │ ├── cobalt.css │ │ │ │ ├── eclipse.css │ │ │ │ ├── elegant.css │ │ │ │ ├── erlang-dark.css │ │ │ │ ├── lesser-dark.css │ │ │ │ ├── monokai.css │ │ │ │ ├── neat.css │ │ │ │ ├── night.css │ │ │ │ ├── rubyblue.css │ │ │ │ ├── solarized.css │ │ │ │ ├── twilight.css │ │ │ │ ├── vibrant-ink.css │ │ │ │ └── xq-dark.css │ │ │ ├── querieseditor.css │ │ │ └── savepartial.js │ │ └── templates/ │ │ ├── partials/ │ │ │ ├── list_queries_element.phtml │ │ │ └── list_queries_main.phtml │ │ ├── queries/ │ │ │ ├── editor.phtml │ │ │ ├── listquery.phtml │ │ │ ├── manage.phtml │ │ │ └── savequery.phtml │ │ ├── queryeditorfromsetter.phtml │ │ ├── savequery.phtml │ │ └── sparqloptions.phtml │ ├── resourcecreationuri/ │ │ ├── ResourcecreationuriPlugin.php │ │ ├── classes/ │ │ │ └── ResourceUriGenerator.php │ │ ├── default.ini │ │ └── doap.n3 │ ├── resourcemodules/ │ │ ├── LinkinghereModule.php │ │ ├── SimilarinstancesModule.php │ │ ├── UsageModule.php │ │ ├── default.ini │ │ ├── doap.n3 │ │ ├── linkinghere.phtml │ │ ├── similarinstances.phtml │ │ └── usage.phtml │ ├── savedqueries/ │ │ ├── SavedqueriesController.php │ │ ├── SavedqueriesModule.php │ │ ├── default.ini │ │ ├── doap.n3 │ │ ├── savedqueries.phtml │ │ └── templates/ │ │ └── savedqueries/ │ │ └── init.phtml │ ├── selectlanguage/ │ │ ├── SelectlanguagePlugin.php │ │ ├── default.ini │ │ ├── doap.n3 │ │ └── languages/ │ │ └── selectlanguage-de.csv │ ├── semanticsitemap/ │ │ ├── SemanticsitemapController.php │ │ ├── default.ini │ │ ├── doap.n3 │ │ ├── semanticsitemap.php │ │ └── templates/ │ │ └── semanticsitemap/ │ │ └── sitemap.phtml │ ├── sendmail/ │ │ ├── SendmailPlugin.php │ │ ├── default.ini │ │ └── doap.n3 │ ├── sindice/ │ │ ├── SindicePlugin.php │ │ ├── default.ini │ │ └── doap.n3 │ ├── sortproperties/ │ │ ├── SortpropertiesPlugin.php │ │ ├── default.ini │ │ └── doap.n3 │ ├── source/ │ │ ├── SourceController.php │ │ ├── SourceHelper.php │ │ ├── default.ini │ │ ├── doap.n3 │ │ ├── templates/ │ │ │ └── source/ │ │ │ └── edit.phtml │ │ └── tests/ │ │ └── SourceControllerTest.php │ ├── themes/ │ │ ├── .htaccess │ │ ├── darkorange/ │ │ │ ├── install.txt │ │ │ └── styles/ │ │ │ └── default.css │ │ └── silverblue/ │ │ ├── sandbox/ │ │ │ ├── detailview.html │ │ │ ├── filter.html │ │ │ ├── forms.html │ │ │ ├── listview.html │ │ │ ├── tables.html │ │ │ ├── uitest.html │ │ │ └── uitestow.html │ │ ├── scripts/ │ │ │ ├── jquery.ontowiki.js │ │ │ ├── libraries/ │ │ │ │ ├── jquery-1.9.1.js │ │ │ │ ├── jquery-migrate-1.3.0.js │ │ │ │ ├── jquery-ui-1.8.22.js │ │ │ │ ├── jquery.clickmenu.js │ │ │ │ ├── jquery.dimensions.js │ │ │ │ ├── jquery.interface.js │ │ │ │ ├── jquery.json.js │ │ │ │ ├── jquery.livequery.js │ │ │ │ ├── jquery.rdfquery.rdfa-1.0.js │ │ │ │ ├── jquery.simplemodal.js │ │ │ │ └── jquery.tablesorter.js │ │ │ ├── main.js │ │ │ ├── serialize-php.js │ │ │ └── support.js │ │ └── styles/ │ │ ├── clickmenu.css │ │ ├── default.css │ │ ├── default.dev.css │ │ ├── deprecated.dev.css │ │ ├── jquery-ui.css │ │ ├── old.css │ │ └── patches/ │ │ ├── ie6.clickmenu.css │ │ ├── ie6.css │ │ └── ie7.css │ ├── translations/ │ │ ├── de/ │ │ │ └── core.csv │ │ ├── en/ │ │ │ └── core.csv │ │ ├── fr/ │ │ │ └── core.csv │ │ ├── ru/ │ │ │ └── core.csv │ │ └── zh/ │ │ └── core.csv │ └── weblink/ │ ├── WeblinkPlugin.php │ └── doap.n3 ├── index.php ├── phpcs.xml ├── phpunit.xml └── web.config
SYMBOL INDEX (1677 symbols across 199 files)
FILE: application/Bootstrap.php
class Bootstrap (line 18) | class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
method _initExtensionManager (line 26) | public function _initExtensionManager()
method _initConfig (line 109) | public function _initConfig()
method applySessionConfig (line 227) | protected function applySessionConfig($sessionConfig)
method _initDispatcher (line 245) | public function _initDispatcher()
method _initErfurt (line 267) | public function _initErfurt()
method _initEventDispatcher (line 304) | public function _initEventDispatcher()
method _initLogger (line 317) | public function _initLogger()
method _initNavigation (line 377) | public function _initNavigation()
method _initOntoWiki (line 424) | public function _initOntoWiki()
method _initPlugins (line 439) | public function _initPlugins()
method _initRequest (line 457) | public function _initRequest()
method _initRouter (line 478) | public function _initRouter()
method _initSession (line 499) | public function _initSession()
method _initToolbar (line 535) | public function _initToolbar()
method _initTranslate (line 556) | public function _initTranslate()
method _initUser (line 590) | public function _initUser()
method _initView (line 618) | public function _initView()
FILE: application/classes/OntoWiki.php
class OntoWiki (line 23) | class OntoWiki
method __construct (line 77) | private function __construct()
method __clone (line 84) | private function __clone()
method __get (line 96) | public function __get($propertyName)
method __set (line 125) | public function __set($propertyName, $propertyValue)
method __isset (line 144) | public function __isset($propertyName)
method __unset (line 156) | public function __unset($propertyName)
method appendMessage (line 180) | public function appendMessage(OntoWiki_Message $message)
method appendInfoMessage (line 200) | public function appendInfoMessage($message)
method appendSuccessMessage (line 216) | public function appendSuccessMessage($message)
method appendWarningMessage (line 232) | public function appendWarningMessage($message)
method appendErrorMessage (line 248) | public function appendErrorMessage($message)
method drawMessages (line 263) | public function drawMessages()
method getBootstrap (line 273) | public function getBootstrap()
method setBootstrap (line 286) | public function setBootstrap($bootstrap)
method getConfig (line 297) | public function getConfig()
method getCache (line 311) | public function getCache()
method getWorkerFrontend (line 328) | public function getWorkerFrontend()
method callJob (line 351) | public function callJob($jobId, $workload = array())
method getInstance (line 362) | public static function getInstance()
method getCustomLogger (line 380) | public function getCustomLogger($identifier = self::DEFAULT_LOG_IDENTI...
method getMessages (line 425) | public function getMessages($clearMessages = false)
method getStaticUrlBase (line 449) | public function getStaticUrlBase()
method getUrlBase (line 464) | public function getUrlBase()
method getUser (line 476) | public function getUser()
method hasMessages (line 486) | public function hasMessages()
method setSessionVars (line 501) | public function setSessionVars(array $sessionVars)
method prependMessage (line 514) | public function prependMessage(OntoWiki_Message $message)
method reset (line 529) | public static function reset()
method getNavigation (line 537) | public function getNavigation()
FILE: application/classes/OntoWiki/Component/Exception.php
class OntoWiki_Component_Exception (line 18) | class OntoWiki_Component_Exception extends OntoWiki_Exception
FILE: application/classes/OntoWiki/Component/Helper.php
class OntoWiki_Component_Helper (line 23) | class OntoWiki_Component_Helper
method __construct (line 65) | public function __construct($config)
method init (line 75) | public function init()
method getPrivateConfig (line 79) | public function getPrivateConfig()
method getComponentRoot (line 84) | public function getComponentRoot()
method getComponentUrlBase (line 94) | public function getComponentUrlBase()
FILE: application/classes/OntoWiki/Controller/ActionHelper/List.php
class OntoWiki_Controller_ActionHelper_List (line 15) | class OntoWiki_Controller_ActionHelper_List extends Zend_Controller_Acti...
method __construct (line 19) | public function __construct()
method getLastList (line 31) | public function getLastList()
method getLastListName (line 48) | public function getLastListName()
method listExists (line 57) | public function listExists($name)
method getList (line 71) | public function getList($name)
method addListPermanently (line 94) | public function addListPermanently(
method addList (line 118) | public function addList(
method updateList (line 149) | public function updateList($name, OntoWiki_Model_Instances $list, $set...
method getAllLists (line 159) | public function getAllLists()
method removeAllLists (line 164) | public function removeAllLists()
method removeList (line 169) | public function removeList($name)
FILE: application/classes/OntoWiki/Controller/Base.php
class OntoWiki_Controller_Base (line 16) | class OntoWiki_Controller_Base extends Zend_Controller_Action
method init (line 63) | public function init()
method preDispatch (line 186) | public function preDispatch()
method postDispatch (line 202) | public function postDispatch()
method getParam (line 245) | public function getParam($name, $expandNamespace = false)
method addModuleContext (line 265) | public function addModuleContext($moduleContext)
method cloneView (line 279) | public function cloneView()
method isModelSelected (line 295) | public function isModelSelected($appendMessage = true)
method isSelectedModelEditable (line 320) | public function isSelectedModelEditable($appendMessage = true)
FILE: application/classes/OntoWiki/Controller/Component.php
class OntoWiki_Controller_Component (line 20) | class OntoWiki_Controller_Component extends OntoWiki_Controller_Base
method init (line 53) | public function init()
method getComponentHelper (line 93) | public function getComponentHelper()
FILE: application/classes/OntoWiki/Controller/Exception.php
class OntoWiki_Controller_Exception (line 18) | class OntoWiki_Controller_Exception extends OntoWiki_Exception
FILE: application/classes/OntoWiki/Controller/Plugin/HttpAuth.php
class OntoWiki_Controller_Plugin_HttpAuth (line 20) | class OntoWiki_Controller_Plugin_HttpAuth extends Zend_Controller_Plugin...
method routeShutdown (line 28) | public function routeShutdown(Zend_Controller_Request_Abstract $request)
method _getAuthHeaderCredentials (line 72) | private function _getAuthHeaderCredentials(Zend_Controller_Request_Abs...
FILE: application/classes/OntoWiki/Controller/Plugin/ListSetupHelper.php
class OntoWiki_Controller_Plugin_ListSetupHelper (line 19) | class OntoWiki_Controller_Plugin_ListSetupHelper extends Zend_Controller...
method routeStartup (line 26) | public function routeStartup(Zend_Controller_Request_Abstract $request)
method routeShutdown (line 39) | public function routeShutdown(Zend_Controller_Request_Abstract $request)
FILE: application/classes/OntoWiki/Controller/Plugin/SetupHelper.php
class OntoWiki_Controller_Plugin_SetupHelper (line 21) | class OntoWiki_Controller_Plugin_SetupHelper extends Zend_Controller_Plu...
method routeStartup (line 33) | public function routeStartup(Zend_Controller_Request_Abstract $request)
method routeShutdown (line 46) | public function routeShutdown(Zend_Controller_Request_Abstract $request)
FILE: application/classes/OntoWiki/Dispatcher.php
class OntoWiki_Dispatcher (line 21) | class OntoWiki_Dispatcher extends Zend_Controller_Dispatcher_Standard
method __construct (line 37) | public function __construct($params = array())
method setExtensionManager (line 52) | public function setExtensionManager(OntoWiki_Extension_Manager $extens...
method getExtensionManager (line 60) | public function getExtensionManager()
method getControllerClass (line 75) | public function getControllerClass(Zend_Controller_Request_Abstract $r...
method isDispatchable (line 130) | public function isDispatchable(Zend_Controller_Request_Abstract $request)
FILE: application/classes/OntoWiki/Exception.php
class OntoWiki_Exception (line 18) | class OntoWiki_Exception extends Exception
FILE: application/classes/OntoWiki/Extension/Manager.php
class OntoWiki_Extension_Manager (line 18) | class OntoWiki_Extension_Manager
method __construct (line 138) | public function __construct($extensionPath)
method getExtensionConfig (line 175) | public function getExtensionConfig($name)
method getExtensions (line 187) | public function getExtensions()
method getComponents (line 197) | public function getComponents()
method getComponentHelper (line 210) | public function getComponentHelper($componentName)
method getComponentPath (line 229) | public function getComponentPath()
method getExtensionPath (line 240) | public function getExtensionPath($name = null)
method getComponentUrl (line 255) | public function getComponentUrl($componentName)
method isExtensionRegistered (line 272) | public function isExtensionRegistered($exName)
method isComponentRegistered (line 286) | public function isComponentRegistered($componentName)
method isExtensionActive (line 299) | public function isExtensionActive($componentName)
method getComponentPrefix (line 313) | public function getComponentPrefix()
method getComponentHelperPath (line 325) | public function getComponentHelperPath($componentName)
method getComponentTemplatePath (line 348) | public function getComponentTemplatePath($componentName)
method getPrivateConfig (line 375) | public function getPrivateConfig($extensionName)
method setComponentUrlBase (line 389) | public function setComponentUrlBase($componentUrlBase)
method setTranslate (line 403) | public function setTranslate(Zend_Translate $translate)
method onRouteShutdown (line 419) | public function onRouteShutdown(Erfurt_Event $event)
method _loadHelper (line 447) | protected function _loadHelper($componentName, $config)
method _getModifiedConfigsSince (line 496) | private function _getModifiedConfigsSince($time)
method getCachePath (line 530) | public function getCachePath()
method clearCache (line 540) | public function clearCache()
method _scanExtensionPath (line 550) | private function _scanExtensionPath()
method _addComponent (line 636) | private function _addComponent($componentName, $componentPath, $config)
method _addModule (line 705) | protected function _addModule($extensionName, $moduleFilename, $module...
method _addWrapper (line 754) | protected function _addWrapper($filename, $wrapperPath, $config)
method _addPlugin (line 773) | private function _addPlugin($filename, $pluginPath, $config)
method triples2configArray (line 806) | public static function triples2configArray($triples, $name, $base, $path)
method loadDoapN3 (line 935) | public static function loadDoapN3($path, $name)
method getValue (line 955) | private static function getValue($value, Erfurt_Rdf_MemoryModel $memMo...
method addValue (line 1012) | private static function addValue($key, $value, &$to)
method getPrivateKey (line 1044) | private static function getPrivateKey($key, $privateNS, $mapping = arr...
method getSubConfig (line 1085) | private static function getSubConfig(Erfurt_Rdf_MemoryModel $memModel,...
method _loadConfigs (line 1123) | private function _loadConfigs($name)
method _scanTranslations (line 1172) | private function _scanTranslations()
FILE: application/classes/OntoWiki/Http/Exception.php
class OntoWiki_Http_Exception (line 18) | class OntoWiki_Http_Exception extends OntoWiki_Exception
method __construct (line 24) | public function __construct($responseCode, $message = null)
method getResponseMessage (line 34) | public function getResponseMessage()
method getResponseCode (line 39) | public function getResponseCode()
FILE: application/classes/OntoWiki/Jobs/Cron.php
class OntoWiki_Jobs_Cron (line 22) | class OntoWiki_Jobs_Cron extends Erfurt_Worker_Job_Abstract
method _toSeconds (line 45) | private function _toSeconds(DateInterval $interval)
method _next (line 65) | private function _next($load = null, $inXSeconds = 2)
method _getNewLoad (line 83) | private function _getNewLoad()
method _triggerEvents (line 100) | private function _triggerEvents()
method run (line 160) | public function run($load)
FILE: application/classes/OntoWiki/Menu.php
class OntoWiki_Menu (line 18) | class OntoWiki_Menu
method __construct (line 35) | public function __construct()
method appendEntry (line 39) | public function appendEntry($entryKey, $entryContent = null)
method prependEntry (line 68) | public function prependEntry($entryKey, $entryContent = null)
method setEntry (line 111) | public function setEntry($entryKey, $entryContent = null, $replace = t...
method getSubMenu (line 150) | public function getSubMenu($subMenuKey)
method removeEntry (line 169) | public function removeEntry($entryKey)
method toArray (line 184) | public function toArray($translate = false, $recursive = true)
method toHtmlList (line 216) | public function toHtmlList()
method toJson (line 226) | public function toJson($translate = true)
FILE: application/classes/OntoWiki/Menu/Registry.php
class OntoWiki_Menu_Registry (line 19) | class OntoWiki_Menu_Registry
method getInstance (line 40) | public static function getInstance()
method getMenu (line 56) | public function getMenu($menuKey, $context = null)
method setMenu (line 87) | public function setMenu($menuKey, $context, OntoWiki_Menu $menu, $repl...
method __construct (line 106) | private function __construct()
method _getApplicationMenu (line 121) | private function _getApplicationMenu($context = null)
method _getModelMenu (line 196) | private function _getModelMenu($model = null)
method _getResourceMenu (line 300) | private function _getResourceMenu($resource = null)
method _getClassMenu (line 368) | private function _getClassMenu($resource = null)
FILE: application/classes/OntoWiki/Message.php
class OntoWiki_Message (line 20) | class OntoWiki_Message
method __construct (line 75) | public function __construct($text, $type = self::INFO, $options = arra...
method getType (line 93) | public function getType()
method getText (line 103) | public function getText()
method getView (line 119) | protected function getView()
method getTranslator (line 135) | protected function getTranslator()
method _translate (line 140) | private function _translate($text)
FILE: application/classes/OntoWiki/Model.php
class OntoWiki_Model (line 21) | class OntoWiki_Model
method __construct (line 54) | public function __construct(Erfurt_Store $store, Erfurt_Rdf_Model $graph)
method getStore (line 77) | public function getStore()
method getGraph (line 87) | public function getGraph()
method __get (line 102) | public function __get($name)
FILE: application/classes/OntoWiki/Model/Exception.php
class OntoWiki_Model_Exception (line 18) | class OntoWiki_Model_Exception extends OntoWiki_Exception
FILE: application/classes/OntoWiki/Model/Hierarchy.php
class OntoWiki_Model_Hierarchy (line 20) | class OntoWiki_Model_Hierarchy extends OntoWiki_Model
method __construct (line 83) | public function __construct(Erfurt_Store $store, $graph, array $option...
method hasData (line 103) | public function hasData()
method getHierarchy (line 117) | public function getHierarchy()
method _getEntry (line 157) | protected function _getEntry($resultUri, $hasChildren = false)
method _buildQuery (line 186) | protected function _buildQuery()
FILE: application/classes/OntoWiki/Model/Instances.php
class OntoWiki_Model_Instances (line 23) | class OntoWiki_Model_Instances extends OntoWiki_Model
method __construct (line 159) | public function __construct(Erfurt_Store $store, Erfurt_Rdf_Model $mod...
method __clone (line 218) | public function __clone()
method __call (line 234) | public function __call($name, $arguments)
method __sleep (line 255) | public function __sleep()
method __wakeup (line 261) | public function __wakeup()
method setStore (line 278) | public function setStore(Erfurt_Store $store)
method restoreTitleHelper (line 288) | protected function restoreTitleHelper()
method setTitleHelper (line 298) | public function setTitleHelper(OntoWiki_Model_TitleHelper $t)
method getTitleHelper (line 308) | public function getTitleHelper()
method addAllTriple (line 317) | public function addAllTriple()
method removeAllTriple (line 325) | public function removeAllTriple()
method getAllTriple (line 334) | public function getAllTriple()
method addShownProperty (line 347) | public function addShownProperty(
method addShownPropertyCustom (line 422) | public function addShownPropertyCustom($triples, $var, $hidden = false)
method removeShownProperty (line 453) | public function removeShownProperty($property, $inverse)
method getResults (line 473) | public function getResults()
method addFilter (line 511) | public function addFilter(
method removeFilter (line 836) | public function removeFilter($id)
method getFilter (line 864) | public function getFilter()
method addTypeFilter (line 877) | public function addTypeFilter($type, $id = null, $option = array())
method addDisjunctiveTypeFilters (line 976) | public function addDisjunctiveTypeFilters(array $types, $id = null, ar...
method addSearchFilter (line 1014) | public function addSearchFilter($str, $id = null)
method addTripleFilter (line 1067) | public function addTripleFilter($triples, $id = null)
method getQuery (line 1100) | public function getQuery()
method getValueQuery (line 1110) | public function getValueQuery()
method getResourceQuery (line 1122) | public function getResourceQuery()
method getPermalink (line 1132) | public function getPermalink($listname)
method getResourceVar (line 1203) | public function getResourceVar()
method getValues (line 1213) | public function getValues()
method getValuesBySingleQuery (line 1294) | public function getValuesBySingleQuery()
method getAllPropertiesQuery (line 1437) | public function getAllPropertiesQuery($inverse = false)
method getAllProperties (line 1481) | public function getAllProperties($inverse = false)
method getAllPropertiesBySingleQuery (line 1520) | public function getAllPropertiesBySingleQuery($inverse = false)
method getPossibleValues (line 1554) | public function getPossibleValues($property, $distinct = true, $invers...
method convertProperties (line 1614) | protected function convertProperties($properties)
method getShownProperties (line 1653) | public function getShownProperties()
method getShownPropertiesPlain (line 1686) | public function getShownPropertiesPlain()
method convertResources (line 1698) | public function convertResources($resources)
method getShownResources (line 1725) | protected function getShownResources()
method getResources (line 1757) | public function getResources()
method hasData (line 1775) | public function hasData()
method setLimit (line 1789) | public function setLimit($limit)
method setOffset (line 1812) | public function setOffset($offset)
method getLimit (line 1832) | public function getLimit()
method getOffset (line 1842) | public function getOffset()
method invalidate (line 1851) | public function invalidate()
method updateValueQuery (line 1869) | protected function updateValueQuery()
method setOrderProperty (line 1930) | public function setOrderProperty($uri, $asc = true)
method setOrderVar (line 1966) | public function setOrderVar($var, $asc = true)
method orderByUri (line 1994) | public function orderByUri($asc = true)
method getSelectedClass (line 2006) | public static function getSelectedClass()
FILE: application/classes/OntoWiki/Model/Resource.php
class OntoWiki_Model_Resource (line 20) | class OntoWiki_Model_Resource extends OntoWiki_Model
method __construct (line 67) | public function __construct(Erfurt_Store $store, $graph, $uri, $limit ...
method getPredicates (line 100) | public function getPredicates()
method getQueryResults (line 144) | public function getQueryResults()
method getValues (line 179) | public function getValues()
method _buildQueries (line 401) | private function _buildQueries()
FILE: application/classes/OntoWiki/Model/TitleHelper.php
class OntoWiki_Model_TitleHelper (line 16) | class OntoWiki_Model_TitleHelper
method __construct (line 102) | public function __construct(Erfurt_Rdf_Model $model = null, Erfurt_Sto...
method getInstance (line 173) | public static function getInstance()
method addResource (line 189) | public function addResource($resource)
method addResources (line 211) | public function addResources($resources = array(), $variable = null)
method getTitle (line 252) | public function getTitle($resourceUri, $language = null)
method prependTitleProperty (line 305) | public function prependTitleProperty($propertyUri)
method reset (line 330) | public function reset()
method _receiveTitles (line 341) | private function _receiveTitles()
method _fetchTitlesFromResourcePool (line 367) | private function _fetchTitlesFromResourcePool($resourceUris)
method _extractTitleFromLocalName (line 403) | private function _extractTitleFromLocalName($resourceUri)
FILE: application/classes/OntoWiki/Module.php
class OntoWiki_Module (line 18) | abstract class OntoWiki_Module
method __construct (line 114) | public function __construct($name, $context, $config)
method getContext (line 159) | public function getContext()
method render (line 173) | public function render($template, $vars = array(), $spec = null)
method setContext (line 193) | public function setContext($context)
method __toString (line 203) | public function __toString()
method allowCaching (line 216) | public function allowCaching()
method shouldShow (line 232) | public function shouldShow()
method getCacheId (line 243) | public function getCacheId()
method getCacheLivetime (line 258) | public function getCacheLivetime()
method getMessage (line 269) | public function getMessage()
method getStateId (line 280) | public function getStateId()
method init (line 288) | public function init()
method getContents (line 305) | public function getContents()
method getTitle (line 316) | public function getTitle()
method setOptions (line 326) | public function setOptions(Zend_Config $options = null)
FILE: application/classes/OntoWiki/Module/Exception.php
class OntoWiki_Module_Exception (line 18) | class OntoWiki_Module_Exception extends OntoWiki_Exception
FILE: application/classes/OntoWiki/Module/Registry.php
class OntoWiki_Module_Registry (line 20) | class OntoWiki_Module_Registry
method __construct (line 84) | private function __construct()
method getInstance (line 99) | public static function getInstance()
method resetInstance (line 112) | public function resetInstance()
method reset (line 119) | public static function reset()
method setExtensionPath (line 133) | public function setExtensionPath($extensionDir)
method register (line 154) | public function register($extensionName, $moduleFileName, $context = s...
method isModuleEnabled (line 230) | public function isModuleEnabled($moduleName)
method disableModule (line 244) | public function disableModule($moduleName, $context = self::DEFAULT_CO...
method getModule (line 263) | public function getModule($moduleName, $context = null)
method getModules (line 290) | public function getModules()
method getModuleConfig (line 302) | public function getModuleConfig($moduleName)
method getModulesForContext (line 319) | public function getModulesForContext($context = self::DEFAULT_CONTEXT)
method _getModulePosition (line 344) | protected function _getModulePosition($context, $priority)
FILE: application/classes/OntoWiki/Navigation.php
class OntoWiki_Navigation (line 18) | class OntoWiki_Navigation
method __construct (line 71) | public function __construct()
method disableNavigation (line 79) | public function disableNavigation()
method getActive (line 89) | public function getActive()
method isDisabled (line 103) | public function isDisabled()
method register (line 127) | public function register($key, array $options, $replace = false)
method setActive (line 182) | public function setActive($key)
method isRegistered (line 205) | public function isRegistered($key)
method toArray (line 219) | public function toArray()
method _getUrl (line 287) | protected function _getUrl($elementKey, $currentController, $currentAc...
method getNavigation (line 326) | public function getNavigation()
method reset (line 334) | public function reset()
FILE: application/classes/OntoWiki/Pager.php
class OntoWiki_Pager (line 18) | class OntoWiki_Pager
method setOptions (line 49) | public static function setOptions(array $options)
method get (line 60) | public static function get(
FILE: application/classes/OntoWiki/Plugin.php
class OntoWiki_Plugin (line 24) | class OntoWiki_Plugin extends Erfurt_Plugin
method __construct (line 43) | public function __construct($root, $config = null)
FILE: application/classes/OntoWiki/Request.php
class OntoWiki_Request (line 18) | class OntoWiki_Request extends Zend_Controller_Request_Http
method getParam (line 30) | public function getParam($key, $default = null, $expandNamespace = false)
FILE: application/classes/OntoWiki/Resource.php
class OntoWiki_Resource (line 20) | class OntoWiki_Resource extends Erfurt_Rdfs_Resource
method getTitle (line 40) | public function getTitle($lang = null)
method getDescriptionHelper (line 52) | public function getDescriptionHelper()
method _descriptionResource (line 59) | protected function _descriptionResource($uri)
FILE: application/classes/OntoWiki/Test/ControllerTestCase.php
class OntoWiki_Test_ControllerTestCase (line 9) | class OntoWiki_Test_ControllerTestCase extends Zend_Test_PHPUnit_Control...
method setUpIntegrationTest (line 20) | public function setUpIntegrationTest()
method setUpUnitTest (line 38) | public function setUpUnitTest()
method setUpExtensionUnitTest (line 50) | public function setUpExtensionUnitTest()
method setUpExtensionIntegrationTest (line 71) | public function setUpExtensionIntegrationTest()
method frontEndLogin (line 85) | public function frontEndLogin() {
method _markTestNeedsDatabase (line 95) | private function _markTestNeedsDatabase()
FILE: application/classes/OntoWiki/Test/ExtensionIntegrationTestBootstrap.php
class OntoWiki_Test_ExtensionIntegrationTestBootstrap (line 22) | class OntoWiki_Test_ExtensionIntegrationTestBootstrap extends Bootstrap
FILE: application/classes/OntoWiki/Test/ExtensionUnitTestBootstrap.php
class OntoWiki_Test_ExtensionUnitTestBootstrap (line 22) | class OntoWiki_Test_ExtensionUnitTestBootstrap extends Bootstrap
method _initErfurt (line 24) | public function _initErfurt()
FILE: application/classes/OntoWiki/Test/IntegrationTestBootstrap.php
class OntoWiki_Test_IntegrationTestBootstrap (line 22) | class OntoWiki_Test_IntegrationTestBootstrap extends Bootstrap
method _initConfig (line 29) | public function _initConfig()
FILE: application/classes/OntoWiki/Test/UnitTestBootstrap.php
class OntoWiki_Test_UnitTestBootstrap (line 22) | class OntoWiki_Test_UnitTestBootstrap extends Bootstrap
method _initExtensionManager (line 24) | public function _initExtensionManager()
method _initErfurt (line 30) | public function _initErfurt()
method _initPlugins (line 72) | public function _initPlugins()
FILE: application/classes/OntoWiki/Toolbar.php
class OntoWiki_Toolbar (line 20) | class OntoWiki_Toolbar
method __construct (line 78) | private function __construct()
method __clone (line 85) | private function __clone()
method appendButton (line 108) | public function appendButton($type, array $options = array())
method getInstance (line 122) | public static function getInstance()
method prependButton (line 150) | public function prependButton($type, array $options = array())
method setThemeUrlBase (line 168) | public function setThemeUrlBase($themeUrlBase)
method setTranslate (line 184) | public function setTranslate(Zend_Translate $translate)
method __toString (line 196) | public function __toString()
method _getButton (line 209) | private function _getButton($type, $options = array())
FILE: application/classes/OntoWiki/Url.php
class OntoWiki_Url (line 21) | class OntoWiki_Url
method __construct (line 73) | public function __construct(array $options = array(), $paramsToKeep = ...
method setBase (line 174) | public function setBase($base)
method __toString (line 184) | public function __toString()
method getParams (line 200) | public function getParams()
method setParam (line 215) | public function setParam($name, $value, $contractNamespace = false)
method __set (line 246) | public function __set($name, $value)
method __get (line 258) | public function __get($name)
method __isset (line 272) | public function __isset($name)
method __unset (line 284) | public function __unset($name)
method _buildQuery (line 297) | protected function _buildQuery()
FILE: application/classes/OntoWiki/Utils.php
class OntoWiki_Utils (line 18) | class OntoWiki_Utils
method compactUri (line 47) | public static function compactUri($uri, $saveMode = false)
method contractNamespace (line 100) | public static function contractNamespace($uri, $prependBase = false)
method dateDifference (line 135) | public static function dateDifference($startTimestamp, $endTimestamp =...
method expandNamespace (line 248) | public static function expandNamespace($qName)
method getUriLocalPart (line 291) | public static function getUriLocalPart($uri)
method matchMimetypeFromRequest (line 316) | public static function matchMimetypeFromRequest(
method shorten (line 341) | public static function shorten($string, $maxLength = 20)
method _reloadNamespaces (line 358) | private static function _reloadNamespaces()
method _getNamespaces (line 373) | private static function _getNamespaces()
method array_to_object (line 382) | static public function array_to_object(array $array)
method object_to_array (line 396) | static public function object_to_array(object $array)
method object_merge_recursive (line 410) | static public function object_merge_recursive($a, $b)
method to_stdclass_recursive (line 426) | static public function to_stdclass_recursive($o)
FILE: application/classes/OntoWiki/Utils/Exception.php
class OntoWiki_Utils_Exception (line 18) | class OntoWiki_Utils_Exception extends OntoWiki_Exception
FILE: application/classes/OntoWiki/View.php
class OntoWiki_View (line 19) | class OntoWiki_View extends Zend_View
method __construct (line 67) | public function __construct($config = array(), $translate = null)
method _ (line 86) | public function _($key)
method has (line 96) | public function has($name)
method clearModuleCache (line 130) | public function clearModuleCache($moduleName = null)
method modules (line 148) | public function modules($context, $renderOptions = null)
method module (line 181) | public function module($moduleName, $renderOptions = null, $context = ...
FILE: application/classes/OntoWiki/View/Helper/Curie.php
class OntoWiki_View_Helper_Curie (line 21) | class OntoWiki_View_Helper_Curie extends Zend_View_Helper_Abstract
method curie (line 23) | public function curie($uri)
FILE: application/controllers/ApplicationController.php
class ApplicationController (line 17) | class ApplicationController extends OntoWiki_Controller_Base
method aboutAction (line 22) | public function aboutAction()
method loginAction (line 107) | public function loginAction()
method verifyopenidAction (line 154) | public function verifyopenidAction()
method loginfoafsslAction (line 170) | public function loginfoafsslAction()
method logoutAction (line 184) | public function logoutAction()
method registerAction (line 197) | public function registerAction()
method openidregAction (line 369) | public function openidregAction()
method webidregAction (line 569) | public function webidregAction()
method preferencesAction (line 735) | public function preferencesAction()
method _updateEmailAddress (line 804) | protected function _updateEmailAddress($newEmail)
method _updateUsername (line 817) | protected function _updateUsername($newUsername)
method _updatePassword (line 830) | protected function _updatePassword($passwordOne, $passwordTwo)
method _updateOpenIdUser (line 850) | protected function _updateOpenIdUser($post)
method _updateUser (line 865) | protected function _updateUser($post)
method searchAction (line 881) | public function searchAction()
FILE: application/controllers/DebugController.php
class DebugController (line 16) | class DebugController extends OntoWiki_Controller_Base
method clearmodulecacheAction (line 23) | public function clearmodulecacheAction()
method cleartranslationcacheAction (line 35) | public function cleartranslationcacheAction()
method destroysessionAction (line 49) | public function destroysessionAction()
method clearquerycacheAction (line 61) | public function clearquerycacheAction()
FILE: application/controllers/ErrorController.php
class ErrorController (line 17) | class ErrorController extends Zend_Controller_Action
method init (line 50) | public function init()
method errorAction (line 63) | public function errorAction()
method _debugError (line 78) | protected function _debugError()
method _gracefulError (line 167) | protected function _gracefulError()
FILE: application/controllers/IndexController.php
class IndexController (line 16) | class IndexController extends OntoWiki_Controller_Base
method newsshortAction (line 27) | public function newsshortAction()
method messagesAction (line 60) | public function messagesAction()
method newsAction (line 70) | public function newsAction()
method __call (line 87) | public function __call($action, $params)
method emptyAction (line 109) | public function emptyAction()
method getNews (line 123) | public function getNews()
FILE: application/controllers/ModelController.php
class ModelController (line 17) | class ModelController extends OntoWiki_Controller_Base
method addAction (line 22) | public function addAction()
method configAction (line 71) | public function configAction()
method createAction (line 405) | public function createAction()
method deleteAction (line 536) | public function deleteAction()
method exportAction (line 586) | public function exportAction()
method infoAction (line 658) | public function infoAction()
method selectAction (line 743) | public function selectAction()
method updateAction (line 762) | public function updateAction()
method _doImportActionRedirect (line 836) | private function _doImportActionRedirect($modelUri)
method _getImportActions (line 863) | private function _getImportActions()
FILE: application/controllers/ModuleController.php
class ModuleController (line 16) | class ModuleController extends OntoWiki_Controller_Base
method indexAction (line 18) | public function indexAction()
method getAction (line 23) | public function getAction()
FILE: application/controllers/ResourceController.php
class ResourceController (line 15) | class ResourceController extends OntoWiki_Controller_Base
method _addLastModifiedHeader (line 17) | private function _addLastModifiedHeader()
method propertiesAction (line 40) | public function propertiesAction()
method instancesAction (line 236) | public function instancesAction()
method deleteAction (line 306) | public function deleteAction()
method exportAction (line 402) | public function exportAction()
method headAction (line 486) | public function headAction()
FILE: application/controllers/ServiceController.php
class ServiceController (line 15) | class ServiceController extends Zend_Controller_Action
method authAction (line 27) | public function authAction()
method hierarchyAction (line 76) | public function hierarchyAction()
method init (line 97) | public function init()
method menuAction (line 115) | public function menuAction()
method preDispatch (line 151) | public function preDispatch()
method sessionAction (line 160) | public function sessionAction()
method statusAction (line 271) | public function statusAction()
method sparqlAction (line 311) | public function sparqlAction()
method updateAction (line 420) | public function updateAction()
method templateAction (line 621) | public function templateAction()
method transitiveclosureAction (line 667) | public function transitiveclosureAction()
method rdfauthorcacheAction (line 725) | public function rdfauthorcacheAction()
method rdfauthorinitAction (line 834) | public function rdfauthorinitAction()
method _findStatementsForObjectsWithHashes (line 994) | protected function _findStatementsForObjectsWithHashes($graphUri, $ind...
method sanitizeStatements (line 1057) | protected function sanitizeStatements(array $statements)
FILE: application/scripts/clearCache.php
function errorHandler (line 21) | function errorHandler ($errno, $errstr, $errfile, $errline, array $errco...
function getEnvVar (line 35) | function getEnvVar ($key)
function initApp (line 51) | function initApp(){
FILE: application/scripts/extensions-ini2n3.php
class INI (line 17) | class INI {
method write (line 21) | static function write($filename, $ini) {
method write_get_string (line 32) | static function write_get_string(& $ini, $prefix) {
method set_value (line 47) | static function set_value($val) {
method read (line 55) | static function read($filename) {
method get_value (line 94) | static function get_value($val) {
method get_key (line 114) | static function get_key($val) {
method manage_keys (line 121) | static function manage_keys(& $ini, $key, $val) {
method replace_consts (line 137) | static function replace_consts(& $item, $key, $consts) {
class ExtensionSerializer (line 144) | class ExtensionSerializer
method resetLastSubject (line 212) | function resetLastSubject()
method addBN (line 218) | function addBN($subj, $prop)
method endBN (line 230) | function endBN($uri = null)
method getObject (line 244) | function getObject($property, $value)
method getPredicate (line 263) | function getPredicate($property, $sectionname)
method printStatement (line 272) | function printStatement($s, $p, $o)
method __destruct (line 291) | function __destruct()
method flush (line 296) | function flush()
class NestedPropertyAndModuleHandler (line 302) | class NestedPropertyAndModuleHandler
method __construct (line 318) | function __construct(ExtensionSerializer $_printer, $_subj)
method printProperty (line 324) | function printProperty($name, $value)
method is_assoc (line 362) | static private function is_assoc ($arr)
method is_numeric (line 367) | static private function is_numeric ($arr)
method printN3 (line 372) | function printN3()
class Converter (line 429) | class Converter
method convert (line 431) | static function convert($iniPath, $extension)
FILE: application/scripts/owadmin.php
function _clearGraph (line 53) | function _clearGraph()
function _importData (line 69) | function _importData()
function _splitFiles (line 146) | function _splitFiles($fullPath)
function _chooseGraph (line 178) | function _chooseGraph()
function _importFile (line 215) | function _importFile($file, $graph)
FILE: application/shell.worker.client.php
function errorHandler (line 21) | function errorHandler($errno, $errstr, $errfile, $errline, array $errcon...
function getEnvVar (line 35) | function getEnvVar($key)
function initApp (line 55) | function initApp()
FILE: application/shell.worker.php
function errorHandler (line 21) | function errorHandler($errno, $errstr, $errfile, $errline, array $errcon...
function getEnvVar (line 35) | function getEnvVar($key)
function initApp (line 51) | function initApp()
FILE: application/tests/CodeSniffer/Standards/Ontowiki/Sniffs/Classes/ClassFilePathSniff.php
class Ontowiki_Sniffs_Classes_ClassFilePathSniff (line 31) | class Ontowiki_Sniffs_Classes_ClassFilePathSniff implements PHP_CodeSnif...
method register (line 40) | public function register()
method process (line 58) | public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
FILE: application/tests/CodeSniffer/Standards/Ontowiki/Sniffs/Commenting/FileCommentSniff.php
class Ontowiki_Sniffs_Commenting_FileCommentSniff (line 21) | class Ontowiki_Sniffs_Commenting_FileCommentSniff implements PHP_CodeSni...
method register (line 42) | public function register()
method process (line 58) | public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
FILE: application/tests/CodeSniffer/Standards/Ontowiki/Sniffs/Functions/ForbiddenFunctionsSniff.php
class Ontowiki_Sniffs_Functions_ForbiddenFunctionsSniff (line 31) | class Ontowiki_Sniffs_Functions_ForbiddenFunctionsSniff
method register (line 52) | public function register()
FILE: application/tests/CodeSniffer/Standards/Ontowiki/Sniffs/Functions/FunctionCallArgumentSpacingSniff.php
class Ontowiki_Sniffs_Functions_FunctionCallArgumentSpacingSniff (line 45) | class Ontowiki_Sniffs_Functions_FunctionCallArgumentSpacingSniff impleme...
method register (line 54) | public function register()
method process (line 72) | public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
FILE: application/tests/CodeSniffer/Standards/Ontowiki/Sniffs/PHP/GetRequestDataSniff.php
class Ontowiki_Sniffs_PHP_GetRequestDataSniff (line 31) | class Ontowiki_Sniffs_PHP_GetRequestDataSniff implements PHP_CodeSniffer...
method register (line 40) | public function register()
method process (line 58) | public function process(PHP_CodeSniffer_File $phpcsFile, $stackPtr)
FILE: application/tests/integration/OntoWiki/Extension/ManagerIntegrationTest.php
class ManagerIntegrationTest (line 14) | class ManagerIntegrationTest extends Erfurt_TestCase
method setUp (line 19) | protected function setUp()
method testScan (line 46) | public function testScan()
FILE: application/tests/integration/OntoWiki/Extension/_files/test1/Test1Controller.php
class Test1Controller (line 9) | class Test1Controller extends OntoWiki_Controller_Component
FILE: application/tests/integration/OntoWiki/Extension/_files/test1/TestModule.php
class TestModule (line 9) | class TestModule extends OntoWiki_Module
method init (line 11) | public function init()
method getTitle (line 21) | public function getTitle()
method shouldShow (line 26) | public function shouldShow()
method getMenu (line 36) | public function getMenu()
method getContents (line 41) | public function getContents()
method allowCaching (line 46) | public function allowCaching()
FILE: application/tests/integration/OntoWiki/Model/InstancesIntegrationTest.php
class OntoWiki_Model_InstancesIntegrationTest (line 15) | class OntoWiki_Model_InstancesIntegrationTest extends Erfurt_TestCase
method setUp (line 31) | public function setUp()
method addTestData (line 55) | public function addTestData()
method getStore (line 76) | public function getStore()
method testResources (line 84) | public function testResources()
method testTypeFilter (line 93) | public function testTypeFilter()
method testGetValues (line 105) | public function testGetValues()
method testAddShownProperties (line 121) | public function testAddShownProperties()
method testGetProperties (line 146) | public function testGetProperties()
method testGetPossibleValues (line 159) | public function testGetPossibleValues()
method testAddFilter (line 172) | public function testAddFilter()
method testLimitOffset (line 183) | public function testLimitOffset()
method testOrderProperty (line 199) | public function testOrderProperty()
method testOrderURI (line 214) | public function testOrderURI()
method testShownPropertiesAddTitles (line 229) | public function testShownPropertiesAddTitles()
method _onlyValues (line 240) | protected static function _onlyValues($arr)
FILE: application/tests/integration/OntoWiki/Model/TitleHelperIntegrationTest.php
class OntoWiki_Model_TitleHelperIntegrationTest (line 13) | class OntoWiki_Model_TitleHelperIntegrationTest extends Erfurt_TestCase
method setUp (line 23) | public function setUp()
method _addTestData (line 35) | private function _addTestData()
method testMultipleAddResourceGetTitleCallsGithubIssue65 (line 61) | public function testMultipleAddResourceGetTitleCallsGithubIssue65()
method testPrependTitlePropertyDifferentInstances (line 107) | public function testPrependTitlePropertyDifferentInstances()
method testPrependTitlePropertySameInstances (line 145) | public function testPrependTitlePropertySameInstances()
FILE: application/tests/integration/controller/ModelControllerTest.php
class ModelControllerTest (line 19) | class ModelControllerTest extends OntoWiki_Test_ControllerTestCase
method setUp (line 21) | public function setUp()
method testCreateActionFiltersOnlyIncorrectUris (line 31) | public function testCreateActionFiltersOnlyIncorrectUris($uri, $correc...
method uriProvider (line 54) | public function uriProvider()
FILE: application/tests/integration/controller/ServiceControllerTest.php
class ServiceControllerTest (line 20) | class ServiceControllerTest extends OntoWiki_Test_ControllerTestCase
method setUp (line 22) | public function setUp()
method testCallWithoutActionShouldPullFromIndexAction (line 31) | public function testCallWithoutActionShouldPullFromIndexAction()
method testAuthActionGetNotAllowed (line 41) | public function testAuthActionGetNotAllowed()
method testAuthActionGetAllowed (line 61) | public function testAuthActionGetAllowed()
method testAuthActionNoParams (line 73) | public function testAuthActionNoParams()
method testAuthActionLogoutTrue (line 84) | public function testAuthActionLogoutTrue()
method testAuthActionLogoutInvalidValue (line 99) | public function testAuthActionLogoutInvalidValue()
method testAuthActionAnonymousUserNoPasswordSuccess (line 114) | public function testAuthActionAnonymousUserNoPasswordSuccess()
method testAuthActionAnonymousUserPasswordSetSuccess (line 129) | public function testAuthActionAnonymousUserPasswordSetSuccess()
method testAuthActionInvalidUser (line 144) | public function testAuthActionInvalidUser()
method sparqlNoParameter (line 169) | public function sparqlNoParameter()
method sparqlNoAuthWithInvalidQuery (line 185) | public function sparqlNoAuthWithInvalidQuery()
method testUpdateDoesNothingWithEmptyParameters (line 205) | public function testUpdateDoesNothingWithEmptyParameters()
FILE: application/tests/unit/OntoWiki/Extension/ManagerTest.php
class ManagerTest (line 14) | class ManagerTest extends PHPUnit_Framework_TestCase
method testTriple2ConfigArray (line 17) | public function testTriple2ConfigArray()
method testTriple2ConfigArray2 (line 202) | public function testTriple2ConfigArray2()
FILE: application/tests/unit/OntoWiki/MenuTest.php
class OntoWiki_MenuTest (line 9) | class OntoWiki_MenuTest extends PHPUnit_Framework_TestCase
method setUp (line 13) | public function setUp()
method testSetEntryString (line 18) | public function testSetEntryString()
method testSetEntryObject (line 25) | public function testSetEntryObject()
method testReplaceEntry (line 36) | public function testReplaceEntry()
method testToArray (line 44) | public function testToArray()
method testToJson (line 73) | public function testToJson()
method testWrongKey (line 99) | public function testWrongKey()
method testContentError (line 107) | public function testContentError()
method testReplaceError (line 115) | public function testReplaceError()
FILE: application/tests/unit/OntoWiki/MessageTest.php
class OntoWiki_MessageTest (line 20) | class OntoWiki_MessageTest extends PHPUnit_Framework_TestCase
method testMessageGetTypeDefaultInfo (line 22) | public function testMessageGetTypeDefaultInfo()
method testMessageGetTypeSuccess (line 28) | public function testMessageGetTypeSuccess()
method testMessageGetTypeInfo (line 34) | public function testMessageGetTypeInfo()
method testMessageGetTypeWarning (line 40) | public function testMessageGetTypeWarning()
method testMessageGetTypeError (line 46) | public function testMessageGetTypeError()
method testMessageGetText (line 52) | public function testMessageGetText()
FILE: application/tests/unit/OntoWiki/Model/InstancesTest.php
class OntoWiki_Model_InstancesTest (line 14) | class OntoWiki_Model_InstancesTest extends Erfurt_TestCase
method setUp (line 34) | public function setUp()
method testGetResourceQuery (line 56) | public function testGetResourceQuery()
method testSerialization (line 61) | public function testSerialization()
method testSetStore (line 71) | public function testSetStore()
method testAllTriple (line 87) | public function testAllTriple()
method testGetQuery (line 108) | public function testGetQuery()
method testGetResourceVar (line 113) | public function testGetResourceVar()
method testOffsetLimit (line 118) | public function testOffsetLimit()
method testNoCache (line 138) | public function testNoCache()
method testSerialize (line 149) | public function testSerialize()
method testCallMagic (line 167) | public function testCallMagic()
method testShownPropertiesEmpty (line 193) | public function testShownPropertiesEmpty()
method testShownPropertiesAdd (line 199) | public function testShownPropertiesAdd()
method testShownPropertiesAddPlain (line 213) | public function testShownPropertiesAddPlain(OntoWiki_Model_Instances $i)
method testShownPropertiesAddTriple (line 223) | public function testShownPropertiesAddTriple(OntoWiki_Model_Instances $i)
method testShownPropertiesCustomAddTriple (line 233) | public function testShownPropertiesCustomAddTriple()
method testtShownPropertiesRemove (line 250) | public function testtShownPropertiesRemove()
method assertNoShownProperties (line 264) | private function assertNoShownProperties(OntoWiki_Model_Instances $i)
method testFilterEmpty (line 273) | public function testFilterEmpty()
method testFilterAddBound (line 279) | public function testFilterAddBound()
method testFilterAddContains (line 286) | public function testFilterAddContains()
method testFilterAddEquals (line 292) | public function testFilterAddEquals()
method testFilterAddLarger (line 298) | public function testFilterAddLarger()
method testFilterAddSmaller (line 304) | public function testFilterAddSmaller()
method testFilterAddBetween (line 310) | public function testFilterAddBetween()
method testFilterAddType (line 316) | public function testFilterAddType()
method testFilterAddSearch (line 322) | public function testFilterAddSearch()
method testFilterAddTriples (line 328) | public function testFilterAddTriples()
method testFilterAddUndef (line 344) | public function testFilterAddUndef()
method testFilterRemove (line 357) | public function testFilterRemove()
method testSetTitleHelper (line 368) | public function testSetTitleHelper()
method testGetProperties (line 375) | public function testGetProperties()
method testGetPropertiesQuery (line 381) | public function testGetPropertiesQuery()
method testGetValues (line 387) | public function testGetValues()
method testResults (line 393) | public function testResults()
method testPossibleValues (line 401) | public function testPossibleValues()
FILE: application/tests/unit/OntoWiki/Module/RegistryTest.php
class OntoWiki_Module_RegistryTest (line 9) | class OntoWiki_Module_RegistryTest extends PHPUnit_Framework_TestCase
method setUp (line 13) | public function setUp()
method tearDown (line 18) | public function tearDown()
method testRegisterModuleEnabled (line 23) | public function testRegisterModuleEnabled()
method testRegisterModuleDisabled (line 31) | public function testRegisterModuleDisabled()
method testDisableModule (line 41) | public function testDisableModule()
method testGetModulesReturnesAllModules (line 51) | public function testGetModulesReturnesAllModules()
method testGetModulesReturnesAllOptions (line 101) | public function testGetModulesReturnesAllOptions()
FILE: application/tests/unit/OntoWiki/NavigationTest.php
class OntoWiki_NavigationTest (line 9) | class OntoWiki_NavigationTest extends PHPUnit_Framework_TestCase
method setUp (line 13) | public function setUp()
method testRegisterKeyEmptyOptions (line 18) | public function testRegisterKeyEmptyOptions()
method testRegisterKeyDefaultOptions (line 33) | public function testRegisterKeyDefaultOptions()
method testRegisterAlreadyUsedKeyDefaultOptions (line 60) | public function testRegisterAlreadyUsedKeyDefaultOptions()
method testRegisterAlreadyUsedKeyFilledOptions (line 88) | public function testRegisterAlreadyUsedKeyFilledOptions()
method testRegisterNoKey (line 116) | public function testRegisterNoKey()
method testRegisterNullKey (line 124) | public function testRegisterNullKey()
method testRegisterNumberKey (line 132) | public function testRegisterNumberKey()
method testSetActiveNoKey (line 140) | public function testSetActiveNoKey()
method testSetActiveNullKey (line 148) | public function testSetActiveNullKey()
method testSetActiveKey (line 153) | public function testSetActiveKey()
method testNoSetActiveKeyCheckActive (line 162) | public function testNoSetActiveKeyCheckActive()
method testNoSetActiveKeyCheckNotActiveMultipleItems (line 170) | public function testNoSetActiveKeyCheckNotActiveMultipleItems()
method testSetActiveKeyChangeActive (line 179) | public function testSetActiveKeyChangeActive()
FILE: application/tests/unit/OntoWiki/UtilsTest.php
class OntoWiki_UtilsTest (line 19) | class OntoWiki_UtilsTest extends PHPUnit_Framework_TestCase
method testMatchMimetypeFromRequest (line 21) | public function testMatchMimetypeFromRequest()
FILE: application/tests/unit/OntoWikiTest.php
class OntoWikiTest (line 20) | class OntoWikiTest extends PHPUnit_Framework_TestCase
method setUp (line 24) | public function setUp()
method testGetInstance (line 29) | public function testGetInstance()
method testSetValue (line 36) | public function testSetValue()
method testIssetValue (line 43) | public function testIssetValue()
method testGetValue (line 48) | public function testGetValue()
FILE: application/tests/unit/controller/IndexControllerTest.php
class IndexControllerTest (line 20) | class IndexControllerTest extends OntoWiki_Test_ControllerTestCase
method setUp (line 22) | public function setUp()
method testNoControllerAndActionDefaultToNewsAction (line 27) | public function testNoControllerAndActionDefaultToNewsAction()
method testInvalidActionNoDefaultActionDefaultsToNewsAction (line 36) | public function testInvalidActionNoDefaultActionDefaultsToNewsAction()
method testInvalidActionDefaultsToConfiguredDefaultAction (line 48) | public function testInvalidActionDefaultsToConfiguredDefaultAction()
method testInvalidActionWithMessagesDefaultsToMessagesAction (line 61) | public function testInvalidActionWithMessagesDefaultsToMessagesAction()
method testEmptyAction (line 74) | public function testEmptyAction()
method testMessagesActionNoMessages (line 84) | public function testMessagesActionNoMessages()
method testMessagesActionSingleMessage (line 92) | public function testMessagesActionSingleMessage()
method testMessagesActionMultipleMessages (line 104) | public function testMessagesActionMultipleMessages()
method testNewsActionSuccess (line 119) | public function testNewsActionSuccess()
method testNewsActionFail (line 139) | public function testNewsActionFail()
method testNewsshortActionSuccess (line 154) | public function testNewsshortActionSuccess()
method testNewsshortActionFail (line 172) | public function testNewsshortActionFail()
FILE: application/tests/unit/controller/ResourceControllerTest.php
class ResourceControllerTest (line 19) | class ResourceControllerTest extends OntoWiki_Test_ControllerTestCase
method setUp (line 21) | public function setUp()
method testExportActionReturnsCorrectContentTypeForTurtle (line 26) | public function testExportActionReturnsCorrectContentTypeForTurtle()
FILE: extensions/account/AccountController.php
class AccountController (line 16) | class AccountController extends OntoWiki_Controller_Component
method recoverAction (line 21) | public function recoverAction()
FILE: extensions/account/LoginModule.php
class LoginModule (line 18) | class LoginModule extends OntoWiki_Module
method getMessage (line 25) | public function getMessage()
method getContents (line 53) | public function getContents()
method shouldShow (line 86) | public function shouldShow()
method allowCaching (line 99) | public function allowCaching()
method getTitle (line 105) | public function getTitle()
FILE: extensions/application/ApplicationModule.php
class ApplicationModule (line 17) | class ApplicationModule extends OntoWiki_Module
method init (line 19) | public function init()
method getTitle (line 29) | public function getTitle()
method shouldShow (line 67) | public function shouldShow()
method getMenu (line 88) | public function getMenu()
method getContents (line 96) | public function getContents()
method allowCaching (line 119) | public function allowCaching()
FILE: extensions/auth/AuthController.php
class AuthController (line 20) | class AuthController extends OntoWiki_Controller_Component
method certAction (line 22) | public function certAction()
method usersAction (line 276) | public function usersAction()
method agentAction (line 300) | public function agentAction()
method _generateWebId (line 321) | private function _generateWebId($suffix = '')
FILE: extensions/autologin/AutologinPlugin.php
class AutologinPlugin (line 20) | class AutologinPlugin extends OntoWiki_Plugin
method onRouteShutdown (line 22) | public function onRouteShutdown($event)
FILE: extensions/basicimporter/BasicimporterController.php
class BasicimporterController (line 16) | class BasicimporterController extends OntoWiki_Controller_Component
method init (line 24) | public function init()
method rdfpasterAction (line 62) | public function rdfpasterAction()
method rdfwebimportAction (line 87) | public function rdfwebimportAction()
method rdfuploadAction (line 128) | public function rdfuploadAction()
method _import (line 195) | private function _import($fileOrUrl, $filetype, $locator)
FILE: extensions/basicimporter/BasicimporterPlugin.php
class BasicimporterPlugin (line 16) | class BasicimporterPlugin extends OntoWiki_Plugin
method onProvideImportActions (line 21) | public function onProvideImportActions($event)
method onSetupStore (line 29) | public function onSetupStore($event)
method provideImportActions (line 37) | private function provideImportActions($event)
method importModels (line 69) | private function importModels()
method _import (line 83) | private function _import($modelIri, $fileOrUrl)
FILE: extensions/basicimporter/SelectorModule.php
class SelectorModule (line 18) | class SelectorModule extends OntoWiki_Module
method getTitle (line 20) | public function getTitle()
method getContents (line 25) | public function getContents()
FILE: extensions/bookmarklet/BookmarkletModule.php
class BookmarkletModule (line 21) | class BookmarkletModule extends OntoWiki_Module
method getTitle (line 23) | public function getTitle()
method getContents (line 28) | public function getContents()
method shouldShow (line 43) | public function shouldShow()
FILE: extensions/ckan/CkanController.php
class CkanController (line 15) | class CkanController extends OntoWiki_Controller_Component
method init (line 23) | public function init()
method browserAction (line 38) | public function browserAction()
method registerAction (line 52) | public function registerAction()
FILE: extensions/ckan/CkanHelper.php
class CkanHelper (line 16) | class CkanHelper extends OntoWiki_Component_Helper
method onCreateMenu (line 21) | public function onCreateMenu($event)
FILE: extensions/community/CommentModule.php
class CommentModule (line 20) | class CommentModule extends OntoWiki_Module
method init (line 22) | public function init()
method getTitle (line 26) | public function getTitle()
method getContents (line 31) | public function getContents()
FILE: extensions/community/CommunityController.php
class CommunityController (line 16) | class CommunityController extends OntoWiki_Controller_Component
method listAction (line 21) | public function listAction()
method commentAction (line 58) | public function commentAction()
method rateAction (line 132) | public function rateAction()
FILE: extensions/community/CommunityHelper.php
class CommunityHelper (line 17) | class CommunityHelper extends OntoWiki_Component_Helper
method init (line 19) | public function init()
method getList (line 45) | public function getList($view, $singleResource = true, $limit = null)
method getMultiList (line 122) | public function getMultiList()
FILE: extensions/community/LastchangesModule.php
class LastchangesModule (line 18) | class LastchangesModule extends OntoWiki_Module
method init (line 21) | public function init()
method getTitle (line 49) | public function getTitle()
method shouldShow (line 54) | public function shouldShow()
method getContents (line 63) | public function getContents()
FILE: extensions/community/RatingModule.php
class RatingModule (line 22) | class RatingModule extends OntoWiki_Module
method getTitle (line 24) | public function getTitle()
method getContents (line 29) | public function getContents()
method shouldShow (line 102) | public function shouldShow()
method typeAllowed (line 118) | private function typeAllowed()
FILE: extensions/community/rating.js
function getCheckedValue (line 97) | function getCheckedValue(radioObj) {
FILE: extensions/cors/CorsPlugin.php
class CorsPlugin (line 16) | class CorsPlugin extends OntoWiki_Plugin
method onRouteStartup (line 21) | public function onRouteStartup()
method addCorsHeader (line 29) | private function addCorsHeader()
FILE: extensions/datagathering/DatagatheringController.php
class DatagatheringController (line 17) | class DatagatheringController extends OntoWiki_Controller_Component
method init (line 118) | public function init()
method searchAction (line 172) | public function searchAction()
method _expandNamespaces (line 364) | private function _expandNamespaces(array $termsArray, $modelUri)
method _getWeight (line 402) | private function _getWeight(array $termsArray, $uri, $object = null)
method _listIanaSchemes (line 450) | private function _listIanaSchemes()
method _searchLocal (line 482) | private function _searchLocal(array $termsArray, $modelUri, $mode, $li...
method _searchLocalPropertiesOnly (line 573) | private function _searchLocalPropertiesOnly(array $termsArray, $modelU...
method importAction (line 673) | public function importAction()
method filterStatements (line 789) | public static function filterStatements(
method import (line 940) | public static function import(
method _sendResponse (line 1104) | private function _sendResponse($returnValue, $message = null, $message...
method _filterResult (line 1138) | private function _filterResult($result, $uri, $wrapperName, $modelUri)
method _getData (line 1196) | private function _getData($uri, $wrapperName, $modelUri)
method _getProxyUri (line 1215) | private function _getProxyUri($uri)
method _matchUri (line 1231) | private function _matchUri($pattern, $uri)
method _matchUriStatic (line 1244) | private static function _matchUriStatic($pattern, $uri)
FILE: extensions/datagathering/DatagatheringHelper.php
class DatagatheringHelper (line 20) | class DatagatheringHelper extends OntoWiki_Component_Helper
method init (line 22) | public function init()
FILE: extensions/datagathering/DatagatheringPlugin.php
class DatagatheringPlugin (line 18) | class DatagatheringPlugin extends OntoWiki_Plugin
method init (line 57) | public function init()
method onCreateMenu (line 88) | public function onCreateMenu($event)
method onPropertiesAction (line 200) | public function onPropertiesAction($event)
method onPreTabsContentAction (line 271) | public function onPreTabsContentAction($event)
method onDeleteResources (line 295) | public function onDeleteResources($event)
method onPreDeleteModel (line 340) | public function onPreDeleteModel($event)
method _getHash (line 381) | private function _getHash($uri, $wrapperName, $modelUri)
method _getSyncConfig (line 399) | private function _getSyncConfig($uri, $wrapperName, $modelUri)
method _listSyncConfigs (line 469) | private function _listSyncConfigs()
method _getProxyUri (line 538) | private function _getProxyUri($uri)
FILE: extensions/datagathering/datagathering.js
function locationBarUriSearch (line 149) | function locationBarUriSearch(term, cb)
function showLocationBar (line 158) | function showLocationBar()
function hideLocationBar (line 186) | function hideLocationBar()
function uriSearch (line 195) | function uriSearch(term, cb)
FILE: extensions/datagathering/scripts/jquery.autocomplete.js
function findValueCallback (line 171) | function findValueCallback(q, data) {
function selectCurrent (line 201) | function selectCurrent() {
function onChange (line 223) | function onChange(crap, skipPrevCheck) {
function trimWords (line 248) | function trimWords(value) {
function lastWord (line 261) | function lastWord(value) {
function autoFill (line 271) | function autoFill(q, sValue){
function hideResults (line 282) | function hideResults() {
function hideResultsNow (line 287) | function hideResultsNow() {
function receiveData (line 313) | function receiveData(q, data) {
function request (line 324) | function request(term, success, failure) {
function parse (line 371) | function parse(data) {
function stopLoading (line 388) | function stopLoading() {
function matchSubset (line 426) | function matchSubset(s, sub) {
function add (line 434) | function add(q, value) {
function populate (line 444) | function populate(){
function flush (line 499) | function flush(){
function init (line 571) | function init() {
function target (line 603) | function target(event) {
function moveSelect (line 613) | function moveSelect(step) {
function movePosition (line 630) | function movePosition(step) {
function limitNumberOfItems (line 639) | function limitNumberOfItems(available) {
function fillList (line 645) | function fillList() {
FILE: extensions/datagathering/tests/DatagatheringControllerTest.php
class DatagatheringControllerTest (line 9) | class DatagatheringControllerTest extends OntoWiki_Test_ControllerTestCase
method setUp (line 11) | public function setUp()
method testImportActionRequestTypeNotGetBadRequest (line 18) | public function testImportActionRequestTypeNotGetBadRequest()
method testImportActionNoParamsBadRequest (line 27) | public function testImportActionNoParamsBadRequest()
method testImportActionInvalidWrapperParamBadRequest (line 36) | public function testImportActionInvalidWrapperParamBadRequest()
method testImportActionModelNotEditableForbidden (line 51) | public function testImportActionModelNotEditableForbidden()
method testImportActionWrapperResultFalse (line 71) | public function testImportActionWrapperResultFalse()
method testImportActionWrapperResultEmptyArray (line 99) | public function testImportActionWrapperResultEmptyArray()
method testImportActionWrapperResultArrayNoAdd (line 129) | public function testImportActionWrapperResultArrayNoAdd()
method testImportActionWrapperResultArrayWithAddButNothingAdded (line 159) | public function testImportActionWrapperResultArrayWithAddButNothingAdd...
method testImportActionWrapperResultArrayWithAdd (line 194) | public function testImportActionWrapperResultArrayWithAdd()
method testImportActionWrapperResultArrayWithAddMatchingPreset (line 247) | public function testImportActionWrapperResultArrayWithAddMatchingPreset()
FILE: extensions/defaultmodel/DefaultmodelPlugin.php
class DefaultmodelPlugin (line 17) | class DefaultmodelPlugin extends OntoWiki_Plugin
method onAfterInitController (line 19) | public function onAfterInitController($event)
FILE: extensions/exconf/Archive.php
class archive (line 29) | class archive
method archive (line 31) | function archive($name)
method set_options (line 54) | function set_options($options)
method create_archive (line 76) | function create_archive()
method add_data (line 159) | function add_data($data)
method make_list (line 168) | function make_list()
method add_files (line 191) | function add_files($list)
method exclude_files (line 199) | function exclude_files($list)
method store_files (line 207) | function store_files($list)
method list_files (line 215) | function list_files($list)
method parse_dir (line 273) | function parse_dir($dirname)
method sort_files (line 318) | function sort_files($a, $b)
method download_file (line 347) | function download_file()
class tar_file (line 382) | class tar_file extends archive
method tar_file (line 384) | function tar_file($name)
method create_tar (line 390) | function create_tar()
method extract_files (line 457) | function extract_files()
method open_archive (line 548) | function open_archive()
class gzip_file (line 554) | class gzip_file extends tar_file
method gzip_file (line 556) | function gzip_file($name)
method create_gzip (line 562) | function create_gzip()
method open_archive (line 587) | function open_archive()
class bzip_file (line 593) | class bzip_file extends tar_file
method bzip_file (line 595) | function bzip_file($name)
method create_bzip (line 601) | function create_bzip()
method open_archive (line 626) | function open_archive()
class zip_file (line 632) | class zip_file extends archive
method extract_files (line 636) | function extract_files()
method zip_file (line 648) | function zip_file($name)
method create_zip (line 654) | function create_zip()
FILE: extensions/exconf/ExconfController.php
class ExconfController (line 21) | class ExconfController extends OntoWiki_Controller_Component
method __call (line 45) | public function __call($method, $args)
method init (line 50) | public function init()
method listAction (line 93) | public function listAction()
method confAction (line 155) | public function confAction()
method explorerepoAction (line 299) | public function explorerepoAction()
method addProjectProperty (line 370) | private function addProjectProperty($p, $projectVar, $list, $name = null)
method addAuthorProperty (line 388) | private function addAuthorProperty($p, $projectVar, $list, $name = null)
method installarchiveremoteAction (line 419) | public function installarchiveremoteAction()
method archiveuploadformAction (line 450) | public function archiveuploadformAction()
method installarchiveuploadAction (line 469) | public function installarchiveuploadAction()
method installArchive (line 499) | protected function installArchive($filePath, $name)
method ftpConnect (line 601) | public function ftpConnect()
method checkRightsRec (line 625) | private static function checkRightsRec($dir)
method rrmdir (line 644) | private static function rrmdir($dir, $check = true)
FILE: extensions/exconf/ExconfHelper.php
class ExconfHelper (line 16) | class ExconfHelper extends OntoWiki_Component_Helper
method __construct (line 18) | public function __construct()
FILE: extensions/exconf/OutlineModule.php
class OutlineModule (line 17) | class OutlineModule extends OntoWiki_Module
method init (line 19) | public function init()
method getTitle (line 23) | public function getTitle()
method getContents (line 31) | public function getContents()
method shouldShow (line 39) | public function shouldShow()
FILE: extensions/exconf/pclzip.lib.php
class PclZip (line 190) | class PclZip
method PclZip (line 215) | function PclZip($p_zipname)
method create (line 271) | function create($p_filelist)
method add (line 457) | function add($p_filelist)
method listContent (line 649) | function listContent()
method extract (line 707) | function extract()
method extractByIndex (line 869) | function extractByIndex($p_index)
method delete (line 1023) | function delete()
method deleteByIndex (line 1086) | function deleteByIndex($p_index)
method properties (line 1111) | function properties()
method duplicate (line 1186) | function duplicate($p_archive)
method merge (line 1240) | function merge($p_archive_to_add)
method errorCode (line 1286) | function errorCode()
method errorName (line 1302) | function errorName($p_with_code = false)
method errorInfo (line 1347) | function errorInfo($p_full = false)
method privCheckFormat (line 1384) | function privCheckFormat($p_level = 0)
method privParseOptions (line 1440) | function privParseOptions(&$p_options_list, $p_size, &$v_result_list, ...
method privOptionDefaultThreshold (line 1923) | function privOptionDefaultThreshold(&$p_options)
method privFileDescrParseAtt (line 1972) | function privFileDescrParseAtt(&$p_file_list, &$p_filedescr, $v_option...
method privFileDescrExpand (line 2150) | function privFileDescrExpand(&$p_filedescr_list, &$p_options)
method privCreate (line 2274) | function privCreate($p_filedescr_list, &$p_result_list, &$p_options)
method privAdd (line 2309) | function privAdd($p_filedescr_list, &$p_result_list, &$p_options)
method privOpenFd (line 2487) | function privOpenFd($p_mode)
method privCloseFd (line 2522) | function privCloseFd()
method privAddList (line 2551) | function privAddList($p_filedescr_list, &$p_result_list, &$p_options)
method privAddFileList (line 2613) | function privAddFileList($p_filedescr_list, &$p_result_list, &$p_options)
method privAddFile (line 2682) | function privAddFile($p_filedescr, &$p_header, &$p_options)
method privAddFileUsingTempFile (line 2954) | function privAddFileUsingTempFile($p_filedescr, &$p_header, &$p_options)
method privCalculateStoredFilename (line 3082) | function privCalculateStoredFilename(&$p_filedescr, &$p_options)
method privWriteFileHeader (line 3198) | function privWriteFileHeader(&$p_header)
method privWriteCentralFileHeader (line 3244) | function privWriteCentralFileHeader(&$p_header)
method privWriteCentralHeader (line 3297) | function privWriteCentralHeader($p_nb_entries, $p_size, $p_offset, $p_...
method privList (line 3328) | function privList(&$p_list)
method privConvertHeader2FileInfo (line 3415) | function privConvertHeader2FileInfo($p_header, &$p_info)
method privExtractByRule (line 3455) | function privExtractByRule(&$p_file_list, $p_path, $p_remove_path, $p_...
method privExtractFile (line 3811) | function privExtractFile(&$p_entry, $p_path, $p_remove_path, $p_remove...
method privExtractFileUsingTempFile (line 4169) | function privExtractFileUsingTempFile(&$p_entry, &$p_options)
method privExtractFileInOutput (line 4254) | function privExtractFileInOutput(&$p_entry, &$p_options)
method privExtractFileAsString (line 4364) | function privExtractFileAsString(&$p_entry, &$p_string, &$p_options)
method privReadFileHeader (line 4483) | function privReadFileHeader(&$p_header)
method privReadCentralFileHeader (line 4584) | function privReadCentralFileHeader(&$p_header)
method privCheckFileHeaders (line 4694) | function privCheckFileHeaders(&$p_local_header, &$p_central_header)
method privReadEndCentralDir (line 4732) | function privReadEndCentralDir(&$p_central_dir)
method privDeleteByRule (line 4894) | function privDeleteByRule(&$p_result_list, &$p_options)
method privDirCheck (line 5221) | function privDirCheck($p_dir, $p_is_dir = false)
method privMerge (line 5271) | function privMerge(&$p_archive_to_add)
method privDuplicate (line 5452) | function privDuplicate($p_archive_filename)
method privErrorLog (line 5512) | function privErrorLog($p_error_code = 0, $p_error_string = '')
method privErrorReset (line 5529) | function privErrorReset()
method privDisableMagicQuotes (line 5547) | function privDisableMagicQuotes()
method privSwapBackMagicQuotes (line 5583) | function privSwapBackMagicQuotes()
function PclZipUtilPathReduction (line 5620) | function PclZipUtilPathReduction($p_dir)
function PclZipUtilPathInclusion (line 5702) | function PclZipUtilPathInclusion($p_dir, $p_path)
function PclZipUtilCopyBlock (line 5787) | function PclZipUtilCopyBlock($p_src, $p_dest, $p_size, $p_mode = 0)
function PclZipUtilRename (line 5845) | function PclZipUtilRename($p_src, $p_dest)
function PclZipUtilOptionText (line 5877) | function PclZipUtilOptionText($p_option)
function PclZipUtilTranslateWinPath (line 5910) | function PclZipUtilTranslateWinPath($p_path, $p_remove_disk_letter = true)
FILE: extensions/exconf/resources/exconf.js
function postToggle (line 8) | function postToggle(button)
FILE: extensions/exconf/resources/jquery.togglebutton.js
function enable (line 20) | function enable(button, withCallback){
function disable (line 34) | function disable(button, withCallback){
FILE: extensions/exconf/resources/outline.js
function extensionOutline (line 9) | function extensionOutline() {
FILE: extensions/filter/CustomfilterModule.php
class CustomfilterModule (line 22) | class CustomfilterModule extends OntoWiki_Module
method init (line 26) | public function init()
method getTitle (line 32) | public function getTitle()
method getContents (line 37) | public function getContents()
FILE: extensions/filter/FilterController.php
class FilterController (line 22) | class FilterController extends OntoWiki_Controller_Component
method getpossiblevaluesAction (line 24) | public function getpossiblevaluesAction()
FILE: extensions/filter/FilterModule.php
class FilterModule (line 22) | class FilterModule extends OntoWiki_Module
method init (line 26) | public function init()
method getTitle (line 32) | public function getTitle()
method getContents (line 37) | public function getContents()
method getMenu (line 91) | public function getMenu()
FILE: extensions/filter/resources/FilterAPI.js
function FilterAPI (line 6) | function FilterAPI(){
FILE: extensions/filter/resources/filter.js
function showAddFilterBox (line 8) | function showAddFilterBox(){
function updatePossibleValues (line 29) | function updatePossibleValues() {
function removeAllFilters (line 40) | function removeAllFilters(){
function toggleHelp (line 48) | function toggleHelp(){
FILE: extensions/filter/resources/jquery.treeview.js
function treeController (line 112) | function treeController(tree, control) {
function toggler (line 134) | function toggler() {
function serialize (line 164) | function serialize() {
function deserialize (line 175) | function deserialize() {
FILE: extensions/googletracking/GoogletrackingPlugin.php
class GoogletrackingPlugin (line 20) | class GoogletrackingPlugin extends OntoWiki_Plugin
method onAfterInitController (line 24) | public function onAfterInitController($event)
FILE: extensions/hideproperties/HidepropertiesPlugin.php
class HidepropertiesPlugin (line 15) | class HidepropertiesPlugin extends OntoWiki_Plugin
method onPropertiesActionData (line 18) | public function onPropertiesActionData($event)
FILE: extensions/history/HistoryController.php
class HistoryController (line 18) | class HistoryController extends OntoWiki_Controller_Component
method feedAction (line 20) | public function feedAction()
method listAction (line 129) | public function listAction()
method rollbackAction (line 308) | public function rollbackAction()
method detailsAction (line 399) | public function detailsAction()
method toFlatArray (line 425) | private function toFlatArray($serializedString)
method getActionTriple (line 437) | private function getActionTriple($actionID)
method _abort (line 470) | private function _abort($msg, $type = null, $redirect = null)
FILE: extensions/history/HistoryHelper.php
class HistoryHelper (line 20) | class HistoryHelper extends OntoWiki_Component_Helper
method init (line 22) | public function init()
FILE: extensions/imagelink/ImagelinkPlugin.php
class ImagelinkPlugin (line 13) | class ImagelinkPlugin extends OntoWiki_Plugin
method init (line 17) | public function init()
method onDisplayObjectPropertyValue (line 25) | public function onDisplayObjectPropertyValue($event)
method onDisplayLiteralPropertyValue (line 32) | public function onDisplayLiteralPropertyValue($event)
FILE: extensions/imprint/ImprintModule.php
class ImprintModule (line 20) | class ImprintModule extends OntoWiki_Module
method init (line 24) | public function init()
method getContents (line 32) | public function getContents()
method getTitle (line 44) | public function getTitle()
method shouldShow (line 49) | public function shouldShow()
FILE: extensions/jsonrpc/EvolutionJsonrpcAdapter.php
class EvolutionJsonrpcAdapter (line 25) | class EvolutionJsonrpcAdapter
method __construct (line 31) | public function __construct()
method execPattern (line 51) | public function execPattern($params)
FILE: extensions/jsonrpc/JsonrpcController.php
class JsonrpcController (line 27) | class JsonrpcController extends OntoWiki_Controller_Component
method init (line 31) | public function init()
method __call (line 39) | public function __call($method, $args)
FILE: extensions/jsonrpc/MetaJsonrpcAdapter.php
class MetaJsonrpcAdapter (line 17) | class MetaJsonrpcAdapter
method __construct (line 30) | public function __construct()
method listServer (line 40) | public function listServer()
method getDocComment (line 57) | protected function getDocComment($string, $tag = '')
method listProcedures (line 80) | public function listProcedures($_server)
method listAllProcedures (line 112) | public function listAllProcedures()
FILE: extensions/jsonrpc/ModelJsonrpcAdapter.php
class ModelJsonrpcAdapter (line 17) | class ModelJsonrpcAdapter
method __construct (line 23) | public function __construct()
method export (line 37) | public function export($modelIri)
method sparql (line 50) | public function sparql($modelIri, $query = null)
method getPrefixes (line 74) | public function getPrefixes($modelIri)
method addPrefix (line 95) | public function addPrefix($modelIri, $prefix, $namespace = false)
method deletePrefix (line 125) | public function deletePrefix($modelIri, $prefix = 'rdf')
method getTitles (line 146) | public function getTitles($modelIri, $resources)
method count (line 171) | public function count($modelIri, $whereSpec = '{?s ?p ?o}', $countSpec...
method add (line 185) | public function add($modelIri, $inputModel)
method create (line 208) | public function create($modelIri)
method drop (line 222) | public function drop($modelIri)
FILE: extensions/jsonrpc/ResourceJsonrpcAdapter.php
class ResourceJsonrpcAdapter (line 17) | class ResourceJsonrpcAdapter
method __construct (line 23) | public function __construct()
method get (line 39) | public function get($modelIri, $resourceIri, $format = 'rdfjson')
method update (line 70) | public function update($modelIri, $resourceIri, $data, $origDataHash, ...
method count (line 107) | public function count($modelIri, $whereSpec = '{?s ?p ?o}', $countSpec...
method create (line 119) | public function create($modelIri)
method drop (line 133) | public function drop($modelIri)
method _getCurrentResourceHash (line 148) | private function _getCurrentResourceHash($modelIri, $resourceIri)
FILE: extensions/jsonrpc/StoreJsonrpcAdapter.php
class StoreJsonrpcAdapter (line 17) | class StoreJsonrpcAdapter
method __construct (line 22) | public function __construct()
method listModels (line 32) | public function listModels()
method getBackendName (line 48) | public function getBackendName()
method sparql (line 60) | public function sparql($query = 'SELECT ?resource ?label WHERE {?resou...
method getIdentity (line 71) | public function getIdentity()
FILE: extensions/linkeddataserver/LinkeddataPlugin.php
class LinkeddataPlugin (line 24) | class LinkeddataPlugin extends OntoWiki_Plugin
method onIsDispatchable (line 61) | public function onIsDispatchable($event)
method onRouteShutdown (line 191) | public function onRouteShutdown($event)
method onNeedsGraphForLinkedDataUri (line 215) | public function onNeedsGraphForLinkedDataUri($event)
method onNeedsLinkedDataUri (line 230) | public function onNeedsLinkedDataUri($event)
method _getTypeForRequest (line 250) | protected function _getTypeForRequest($request, &$uri, &$flag)
method _matchDocumentTypeRequest (line 278) | private function _matchDocumentTypeRequest($request, array $supportedT...
method _matchGraphAndUri (line 283) | private function _matchGraphAndUri($uri)
method _isLinkedDataUri (line 319) | private function _isLinkedDataUri($uri)
FILE: extensions/listmodules/ShowpropertiesModule.php
class ShowpropertiesModule (line 20) | class ShowpropertiesModule extends OntoWiki_Module
method init (line 24) | public function init()
method getTitle (line 30) | public function getTitle()
method shouldShow (line 35) | public function shouldShow()
method getContents (line 40) | public function getContents()
method getStateId (line 87) | public function getStateId()
method filterProperties (line 95) | private function filterProperties($properties)
FILE: extensions/listmodules/showproperties.js
function handleNewSelect (line 28) | function handleNewSelect() {
function showPropertiesAddDroppableToListTable (line 62) | function showPropertiesAddDroppableToListTable() {
FILE: extensions/literaltypes/LiteraltypesPlugin.php
class LiteraltypesPlugin (line 13) | class LiteraltypesPlugin extends OntoWiki_Plugin
method init (line 16) | public function init()
method onDisplayLiteralPropertyValue (line 20) | public function onDisplayLiteralPropertyValue($event)
FILE: extensions/mail/MailPlugin.php
class MailPlugin (line 16) | class MailPlugin extends OntoWiki_Plugin
method onAnnounceWorker (line 18) | public function onAnnounceWorker($event)
FILE: extensions/mail/jobs/Mail.php
class Mail_Job_Mail (line 18) | class Mail_Job_Mail extends Erfurt_Worker_Job_Abstract
method run (line 31) | public function run($workload)
FILE: extensions/mailtolink/MailtolinkPlugin.php
class MailtolinkPlugin (line 13) | class MailtolinkPlugin extends OntoWiki_Plugin
method init (line 17) | public function init()
method onDisplayObjectPropertyValue (line 25) | public function onDisplayObjectPropertyValue($event)
method onDisplayLiteralPropertyValue (line 37) | public function onDisplayLiteralPropertyValue($event)
FILE: extensions/manchester/ManchesterController.php
class ManchesterController (line 17) | class ManchesterController extends OntoWiki_Controller_Component
method postAction (line 22) | public function postAction()
method initParser (line 63) | private function initParser($inputQuery)
FILE: extensions/manchester/ManchesterModule.php
class ManchesterModule (line 19) | class ManchesterModule extends OntoWiki_Module
method getTitle (line 21) | public function getTitle()
method init (line 26) | public function init()
method getContents (line 36) | public function getContents()
FILE: extensions/markdown/MarkdownPlugin.php
class MarkdownPlugin (line 13) | class MarkdownPlugin extends OntoWiki_Plugin
method init (line 16) | public function init()
method onDisplayLiteralPropertyValue (line 28) | public function onDisplayLiteralPropertyValue($event)
FILE: extensions/markdown/parser/markdown.php
function Markdown (line 43) | function Markdown($text) {
function mdwp_add_p (line 118) | function mdwp_add_p($text) {
function mdwp_strip_p (line 126) | function mdwp_strip_p($t) { return preg_replace('{</?p>}i', '', $t); }
function mdwp_hide_tags (line 128) | function mdwp_hide_tags($text) {
function mdwp_show_tags (line 132) | function mdwp_show_tags($text) {
function identify_modifier_markdown (line 141) | function identify_modifier_markdown() {
function smarty_modifier_markdown (line 157) | function smarty_modifier_markdown($text) {
class Textile (line 170) | class Textile {
method TextileThis (line 171) | function TextileThis($text, $lite='', $encode='') {
method TextileRestricted (line 177) | function TextileRestricted($text, $lite='', $noimage='') {
method blockLite (line 181) | function blockLite($text) { return $text; }
class Markdown_Parser (line 191) | class Markdown_Parser {
method Markdown_Parser (line 223) | function Markdown_Parser() {
method setup (line 256) | function setup() {
method teardown (line 269) | function teardown() {
method transform (line 280) | function transform($text) {
method stripLinkDefinitions (line 327) | function stripLinkDefinitions($text) {
method _stripLinkDefinitions_callback (line 361) | function _stripLinkDefinitions_callback($matches) {
method hashHTMLBlocks (line 370) | function hashHTMLBlocks($text) {
method _hashHTMLBlocks_callback (line 509) | function _hashHTMLBlocks_callback($matches) {
method hashPart (line 516) | function hashPart($text, $boundary = 'X') {
method hashBlock (line 539) | function hashBlock($text) {
method runBlockGamut (line 560) | function runBlockGamut($text) {
method runBasicBlockGamut (line 574) | function runBasicBlockGamut($text) {
method doHorizontalRules (line 591) | function doHorizontalRules($text) {
method runSpanGamut (line 633) | function runSpanGamut($text) {
method doHardBreaks (line 645) | function doHardBreaks($text) {
method _doHardBreaks_callback (line 650) | function _doHardBreaks_callback($matches) {
method doAnchors (line 655) | function doAnchors($text) {
method _doAnchors_reference_callback (line 725) | function _doAnchors_reference_callback($matches) {
method _doAnchors_inline_callback (line 759) | function _doAnchors_inline_callback($matches) {
method doImages (line 780) | function doImages($text) {
method _doImages_reference_callback (line 835) | function _doImages_reference_callback($matches) {
method _doImages_inline_callback (line 863) | function _doImages_inline_callback($matches) {
method doHeaders (line 882) | function doHeaders($text) {
method _doHeaders_callback_setext (line 912) | function _doHeaders_callback_setext($matches) {
function outdent (line 1590) | function outdent($text) {
function detab (line 1602) | function detab($text) {
function _detab_callback (line 1615) | function _detab_callback($matches) {
function _initDetab (line 1632) | function _initDetab() {
function unhash (line 1646) | function unhash($text) {
function _unhash_callback (line 1653) | function _unhash_callback($matches) {
FILE: extensions/modellist/ModellistModule.php
class ModellistModule (line 21) | class ModellistModule extends OntoWiki_Module
method init (line 23) | public function init()
method shouldShow (line 42) | public function shouldShow()
method getMenu (line 57) | public function getMenu()
method getContents (line 86) | public function getContents()
method getStateId (line 135) | public function getStateId()
method getTitle (line 151) | public function getTitle()
FILE: extensions/modellist/modellist.js
function updateModellistModule (line 25) | function updateModellistModule()
FILE: extensions/navigation/NavigationController.php
class NavigationController (line 16) | class NavigationController extends OntoWiki_Controller_Component
method init (line 32) | public function init()
method exploreAction (line 63) | public function exploreAction()
method startOutput (line 154) | private function startOutput($config)
method endOutput (line 161) | private function endOutput($config)
method savestateServer (line 171) | protected function savestateServer($view, $setup)
method _queryNavigationEntries (line 189) | protected function _queryNavigationEntries($setup)
method _getSubclass (line 490) | protected function _getSubclass($node, $setup)
method _getTitle (line 564) | protected function _getTitle($uri, $mode, $setup)
method _buildQuery (line 610) | protected function _buildQuery($setup, $forImplicit = false)
method _buildStringSearchQuery (line 670) | protected function _buildStringSearchQuery($setup)
method _buildCountQuery (line 760) | protected function _buildCountQuery($uri, $setup)
method _buildUsageQuery (line 781) | protected function _buildUsageQuery($uri, $setup)
method _buildSubCheckQuery (line 794) | protected function _buildSubCheckQuery($uri, $setup)
method _getListLink (line 901) | protected function _getListLink($uri, $setup)
FILE: extensions/navigation/NavigationHelper.php
class NavigationHelper (line 15) | class NavigationHelper extends OntoWiki_Component_Helper
method getInstancesTriples (line 20) | public static function getInstancesTriples($uri, $setup)
method getSearchTriples (line 153) | public static function getSearchTriples($setup, $forImplicit = false, ...
FILE: extensions/navigation/NavigationModule.php
class NavigationModule (line 18) | class NavigationModule extends OntoWiki_Module
method init (line 22) | public function init()
method getTitle (line 27) | public function getTitle()
method getMenu (line 37) | public function getMenu()
method getContents (line 108) | public function getContents()
method shouldShow (line 156) | public function shouldShow()
method checkConfig (line 161) | private function checkConfig($config)
FILE: extensions/pingback/PingbackController.php
class PingbackController (line 21) | class PingbackController extends OntoWiki_Controller_Component
method pingAction (line 31) | public function pingAction()
FILE: extensions/pingback/PingbackPlugin.php
class PingbackPlugin (line 18) | class PingbackPlugin extends OntoWiki_Plugin
method onBeforeLinkedDataRedirect (line 21) | public function onBeforeLinkedDataRedirect($event)
method onAfterInitController (line 40) | public function onAfterInitController($event)
method onAddStatement (line 59) | public function onAddStatement($event)
method onAddMultipleStatements (line 72) | public function onAddMultipleStatements($event)
method onDeleteMultipleStatements (line 89) | public function onDeleteMultipleStatements($event)
method beforeExportResource (line 117) | public function beforeExportResource($event)
method _check (line 142) | protected function _check()
method _checkAndPingback (line 156) | protected function _checkAndPingback($subject, $predicate, $object)
method _discoverPingbackServer (line 198) | protected function _discoverPingbackServer($targetUri)
method _logError (line 277) | protected function _logError($msg)
method _logInfo (line 286) | protected function _logInfo($msg)
method _sendPingback (line 295) | protected function _sendPingback($sourceUri, $targetUri)
method _isLinkedDataUri (line 332) | private function _isLinkedDataUri($uri)
method _log (line 342) | private function _log($msg)
method _get_headers (line 352) | private static function _get_headers($url)
FILE: extensions/queries/QueriesController.php
class QueriesController (line 17) | class QueriesController extends OntoWiki_Controller_Component
method init (line 28) | public function init()
method editorAction (line 91) | public function editorAction()
method listqueryAction (line 353) | public function listqueryAction()
method savequeryAction (line 397) | public function savequeryAction()
method deleteAction (line 591) | public function deleteAction()
method getUserQueryDB (line 628) | private function getUserQueryDB($create = true)
method findDB (line 644) | private function findDB($name)
method insertInitials (line 665) | private function insertInitials($db)
method createUserQueryDB (line 691) | private function createUserQueryDB()
method getQuery (line 733) | protected function getQuery($uri)
FILE: extensions/queries/QueriesHelper.php
class QueriesHelper (line 13) | class QueriesHelper extends OntoWiki_Component_Helper
method __construct (line 15) | public function __construct()
FILE: extensions/queries/SavequeryModule.php
class SavequeryModule (line 20) | class SavequeryModule extends OntoWiki_Module
method getContents (line 22) | public function getContents()
method getTitle (line 27) | public function getTitle()
FILE: extensions/queries/resources/codemirror/addon/dialog/dialog.js
function dialogDiv (line 4) | function dialogDiv(cm, template, bottom) {
function close (line 20) | function close() {
function close (line 53) | function close() {
FILE: extensions/queries/resources/codemirror/addon/edit/closetag.js
function autoCloseTag (line 44) | function autoCloseTag(cm, ch) {
function indexOf (line 79) | function indexOf(collection, elt) {
FILE: extensions/queries/resources/codemirror/addon/edit/matchbrackets.js
function findMatchingBracket (line 3) | function findMatchingBracket(cm) {
function matchBrackets (line 33) | function matchBrackets(cm, autoclear) {
function doMatchBrackets (line 49) | function doMatchBrackets(cm) {
FILE: extensions/queries/resources/codemirror/addon/fold/collapserange.js
function enableRangeCollapsing (line 12) | function enableRangeCollapsing(cm) {
function disableRangeCollapsing (line 17) | function disableRangeCollapsing(cm) {
function gutterClick (line 25) | function gutterClick(cm, line, gutter) {
function makeMarker (line 59) | function makeMarker(isTop, isFinished, handler) {
FILE: extensions/queries/resources/codemirror/addon/format/formatting.js
function newline (line 83) | function newline() {
FILE: extensions/queries/resources/codemirror/addon/hint/javascript-hint.js
function forEach (line 2) | function forEach(arr, f) {
function arrayContains (line 6) | function arrayContains(arr, item) {
function scriptHint (line 19) | function scriptHint(editor, keywords, getToken, options) {
function getCoffeeScriptToken (line 61) | function getCoffeeScriptToken(editor, cur) {
function getCompletions (line 93) | function getCompletions(token, context, keywords, options) {
FILE: extensions/queries/resources/codemirror/addon/hint/pig-hint.js
function forEach (line 2) | function forEach(arr, f) {
function arrayContains (line 6) | function arrayContains(arr, item) {
function scriptHint (line 19) | function scriptHint(editor, _keywords, getToken) {
function getCompletions (line 80) | function getCompletions(token, context) {
FILE: extensions/queries/resources/codemirror/addon/hint/python-hint.js
function forEach (line 2) | function forEach(arr, f) {
function arrayContains (line 6) | function arrayContains(arr, item) {
function scriptHint (line 19) | function scriptHint(editor, _keywords, getToken) {
function getCompletions (line 64) | function getCompletions(token, context) {
FILE: extensions/queries/resources/codemirror/addon/hint/simple-hint.js
function collectHints (line 9) | function collectHints(previousToken) {
FILE: extensions/queries/resources/codemirror/addon/mode/loadmode.js
function splitCallback (line 5) | function splitCallback(cont, n) {
function ensureDeps (line 9) | function ensureDeps(mode, cont) {
FILE: extensions/queries/resources/codemirror/addon/mode/multiplex.js
function indexOf (line 6) | function indexOf(string, pattern, from) {
FILE: extensions/queries/resources/codemirror/addon/runmode/colorize.js
function textContent (line 5) | function textContent(node, out) {
FILE: extensions/queries/resources/codemirror/addon/runmode/runmode-standalone.js
function splitLines (line 5) | function splitLines(string){ return string.split(/\r?\n|\r/); }
function StringStream (line 7) | function StringStream(string) {
function cased (line 45) | function cased(str) {return caseInsensitive ? str.toLowerCase() : str;}
FILE: extensions/queries/resources/codemirror/addon/runmode/runmode.node.js
function splitLines (line 3) | function splitLines(string){ return string.split(/\r?\n|\r/); }
function StringStream (line 5) | function StringStream(string) {
function cased (line 43) | function cased(str) {return caseInsensitive ? str.toLowerCase() : str;}
FILE: extensions/queries/resources/codemirror/addon/search/match-highlighter.js
function MatchHighlightState (line 9) | function MatchHighlightState() {
function getMatchHighlightState (line 12) | function getMatchHighlightState(cm) {
function clearMarks (line 16) | function clearMarks(cm) {
function markDocument (line 23) | function markDocument(cm, className, minChars) {
FILE: extensions/queries/resources/codemirror/addon/search/search.js
function searchOverlay (line 10) | function searchOverlay(query) {
function SearchState (line 25) | function SearchState() {
function getSearchState (line 29) | function getSearchState(cm) {
function getSearchCursor (line 32) | function getSearchCursor(cm, query, pos) {
function dialog (line 36) | function dialog(cm, text, shortText, f) {
function confirmDialog (line 40) | function confirmDialog(cm, text, shortText, fs) {
function parseQuery (line 44) | function parseQuery(query) {
function doSearch (line 50) | function doSearch(cm, rev) {
function findNext (line 65) | function findNext(cm, rev) {cm.operation(function() {
function clearSearch (line 75) | function clearSearch(cm) {cm.operation(function() {
function replace (line 86) | function replace(cm, all) {
FILE: extensions/queries/resources/codemirror/addon/search/searchcursor.js
function SearchCursor (line 2) | function SearchCursor(cm, query, pos, caseFold) {
function savePosAndFail (line 89) | function savePosAndFail(line) {
FILE: extensions/queries/resources/codemirror/keymap/emacs.js
function addToRing (line 5) | function addToRing(str) {
function getFromRing (line 9) | function getFromRing() { return killRing[killRing.length - 1] || ""; }
function popFromRing (line 10) | function popFromRing() { if (killRing.length > 1) killRing.pop(); return...
FILE: extensions/queries/resources/codemirror/keymap/vim.js
function makeKeyRange (line 239) | function makeKeyRange(start, size) {
function isAlphabet (line 258) | function isAlphabet(k) {
function isLine (line 261) | function isLine(cm, line) {
function isLowerCase (line 264) | function isLowerCase(k) {
function isMatchableSymbol (line 267) | function isMatchableSymbol(k) {
function isNumber (line 270) | function isNumber(k) {
function isUpperCase (line 273) | function isUpperCase(k) {
function isAlphanumeric (line 276) | function isAlphanumeric(k) {
function isWhiteSpace (line 279) | function isWhiteSpace(k) {
function isWhiteSpaceString (line 282) | function isWhiteSpaceString(k) {
function inRangeInclusive (line 285) | function inRangeInclusive(x, start, end) {
function inArray (line 288) | function inArray(val, arr) {
function getVimGlobalState (line 299) | function getVimGlobalState() {
function getVimState (line 311) | function getVimState(cm) {
function InputState (line 402) | function InputState() {
function Register (line 443) | function Register(text, linewise) {
function RegisterController (line 478) | function RegisterController(registers) {
function handleQuery (line 679) | function handleQuery(query, ignoreCase, smartCase) {
function onPromptClose (line 686) | function onPromptClose(query) {
function onPromptClose (line 720) | function onPromptClose(input) {
function clipCursorToContent (line 1334) | function clipCursorToContent(cm, cur, includeLineBreak) {
function mergeArgs (line 1342) | function mergeArgs(to, from) {
function copyArgs (line 1349) | function copyArgs(args) {
function offsetCursor (line 1358) | function offsetCursor(cur, offsetLine, offsetCh) {
function arrayEq (line 1361) | function arrayEq(a1, a2) {
function matchKeysPartial (line 1372) | function matchKeysPartial(pressed, mapped) {
function arrayIsSubsetFromBeginning (line 1381) | function arrayIsSubsetFromBeginning(small, big) {
function repeatFn (line 1389) | function repeatFn(cm, fn, repeat) {
function copyCursor (line 1396) | function copyCursor(cur) {
function cursorEqual (line 1399) | function cursorEqual(cur1, cur2) {
function cursorIsBefore (line 1402) | function cursorIsBefore(cur1, cur2) {
function lineLength (line 1410) | function lineLength(cm, lineNum) {
function reverse (line 1413) | function reverse(s){
function trim (line 1416) | function trim(s) {
function escapeRegex (line 1423) | function escapeRegex(s) {
function exitVisualMode (line 1427) | function exitVisualMode(cm, vim) {
function clipToLine (line 1444) | function clipToLine(cm, curStart, curEnd) {
function expandSelectionToLine (line 1454) | function expandSelectionToLine(cm, curStart, curEnd) {
function findFirstNonWhiteSpaceCharacter (line 1460) | function findFirstNonWhiteSpaceCharacter(text) {
function expandWordUnderCursor (line 1468) | function expandWordUnderCursor(cm, inclusive, forward, bigWord, noSymbol) {
function findWord (line 1534) | function findWord(cm, cur, forward, bigWord) {
function moveToWord (line 1595) | function moveToWord(cm, repeat, forward, wordEnd, bigWord) {
function moveToCharacter (line 1649) | function moveToCharacter(cm, repeat, forward, character) {
function moveToColumn (line 1664) | function moveToColumn(cm, repeat) {
function updateMark (line 1671) | function updateMark(cm, vim, markName, pos) {
function charIdxInLine (line 1681) | function charIdxInLine(start, line, character, forward, includeChar) {
function findMatchedSymbol (line 1702) | function findMatchedSymbol(cm, cur, symb) {
function selectCompanionObject (line 1749) | function selectCompanionObject(cm, revSymb, inclusive) {
function regexLastIndexOf (line 1760) | function regexLastIndexOf(string, pattern, startIndex) {
function findBeginningAndEnd (line 1773) | function findBeginningAndEnd(cm, symb, inclusive) {
function SearchState (line 1832) | function SearchState() {
function getSearchState (line 1862) | function getSearchState(cm) {
function dialog (line 1866) | function dialog(cm, text, shortText, callback, initialValue) {
function findUnescapedSlashes (line 1874) | function findUnescapedSlashes(str) {
function parseQuery (line 1896) | function parseQuery(cm, query, ignoreCase, smartCase) {
function showConfirm (line 1926) | function showConfirm(cm, text) {
function makePrompt (line 1935) | function makePrompt(prefix, desc) {
function showPrompt (line 1950) | function showPrompt(cm, onPromptClose, prefix, desc, initialValue) {
function regexEqual (line 1955) | function regexEqual(r1, r2) {
function updateSearchQuery (line 1968) | function updateSearchQuery(cm, rawQuery, ignoreCase, smartCase) {
function searchOverlay (line 1986) | function searchOverlay(query) {
function highlightSearchMatches (line 2010) | function highlightSearchMatches(cm, query) {
function findNext (line 2035) | function findNext(cm, prev, repeat) {
function clearSearchHighlight (line 2065) | function clearSearchHighlight(cm) {
function isInRange (line 2097) | function isInRange(pos, start, end) {
function parseKeyString (line 2289) | function parseKeyString(str) {
function doReplace (line 2383) | function doReplace() {
function buildVimKeyMap (line 2419) | function buildVimKeyMap() {
function exitInsertMode (line 2484) | function exitInsertMode(cm) {
FILE: extensions/queries/resources/codemirror/lib/codemirror.js
function CodeMirror (line 41) | function CodeMirror(place, options) {
function makeDisplay (line 86) | function makeDisplay(place) {
function makeView (line 179) | function makeView(doc) {
function loadMode (line 207) | function loadMode(cm) {
function wrappingChanged (line 220) | function wrappingChanged(cm) {
function keyMapChanged (line 243) | function keyMapChanged(cm) {
function themeChanged (line 249) | function themeChanged(cm) {
function guttersChanged (line 255) | function guttersChanged(cm) {
function updateGutters (line 260) | function updateGutters(cm) {
function lineLength (line 274) | function lineLength(doc, line) {
function computeMaxLength (line 292) | function computeMaxLength(view) {
function setGuttersForLineNumbers (line 307) | function setGuttersForLineNumbers(options) {
function updateScrollbars (line 323) | function updateScrollbars(d /* display */, docHeight) {
function visibleLines (line 350) | function visibleLines(display, doc, viewPort) {
function alignHorizontally (line 361) | function alignHorizontally(cm) {
function maybeUpdateLineNumberWidth (line 373) | function maybeUpdateLineNumberWidth(cm) {
function lineNumberFor (line 390) | function lineNumberFor(options, i) {
function compensateForHScroll (line 393) | function compensateForHScroll(display) {
function updateDisplay (line 399) | function updateDisplay(cm, changes, viewPort) {
function updateDisplayInner (line 416) | function updateDisplayInner(cm, changes, viewPort) {
function computeIntact (line 523) | function computeIntact(intact, changes) {
function getDimensions (line 544) | function getDimensions(cm) {
function patchDisplay (line 557) | function patchDisplay(cm, from, to, intact, updateNumbersFrom) {
function buildLineElement (line 609) | function buildLineElement(cm, line, lineNo, dims) {
function buildLineWidget (line 654) | function buildLineWidget(widget, wrap, dims) {
function updateSelection (line 677) | function updateSelection(cm) {
function updateSelectionCursor (line 699) | function updateSelectionCursor(cm) {
function updateSelectionRange (line 715) | function updateSelectionRange(cm) {
function restartBlink (line 795) | function restartBlink(cm) {
function startWorker (line 808) | function startWorker(cm, time) {
function highlightWorker (line 813) | function highlightWorker(cm) {
function findStartLine (line 853) | function findStartLine(cm, n) {
function getStateBefore (line 868) | function getStateBefore(cm, n) {
function paddingTop (line 885) | function paddingTop(display) {return display.lineSpace.offsetTop;}
function paddingLeft (line 886) | function paddingLeft(display) {
function measureChar (line 891) | function measureChar(cm, line, ch, data) {
function measureLine (line 905) | function measureLine(cm, line) {
function measureLineInner (line 924) | function measureLineInner(cm, line) {
function clearCaches (line 981) | function clearCaches(cm) {
function intoCoordSystem (line 988) | function intoCoordSystem(cm, lineObj, rect, context) {
function charCoords (line 1007) | function charCoords(cm, pos, context, lineObj) {
function cursorCoords (line 1012) | function cursorCoords(cm, pos, context, lineObj, measurement) {
function coordsChar (line 1050) | function coordsChar(cm, x, y) {
function coordsCharInner (line 1070) | function coordsCharInner(cm, lineObj, lineNo, x, y) {
function textHeight (line 1109) | function textHeight(display) {
function charWidth (line 1128) | function charWidth(display) {
function startOperation (line 1145) | function startOperation(cm) {
function endOperation (line 1164) | function endOperation(cm) {
function operation (line 1199) | function operation(cm1, f) {
function regChange (line 1209) | function regChange(cm, from, to, lendiff) {
function slowPoll (line 1215) | function slowPoll(cm) {
function fastPoll (line 1223) | function fastPoll(cm) {
function readInput (line 1239) | function readInput(cm) {
function resetInput (line 1264) | function resetInput(cm, user) {
function focusInput (line 1277) | function focusInput(cm) {
function isReadOnly (line 1282) | function isReadOnly(cm) {
function registerEventHandlers (line 1288) | function registerEventHandlers(cm) {
function eventInWidget (line 1387) | function eventInWidget(display, e) {
function posFromMouse (line 1395) | function posFromMouse(cm, e, liberal) {
function onMouseDown (line 1410) | function onMouseDown(e) {
function onDrop (line 1548) | function onDrop(e) {
function clickInGutter (line 1595) | function clickInGutter(cm, e) {
function onDragStart (line 1620) | function onDragStart(cm, e) {
function setScrollTop (line 1641) | function setScrollTop(cm, val) {
function setScrollLeft (line 1649) | function setScrollLeft(cm, val, isScroller) {
function onScrollWheel (line 1679) | function onScrollWheel(cm, e) {
function doHandleBinding (line 1743) | function doHandleBinding(cm, bound, dropShift) {
function allKeyMaps (line 1766) | function allKeyMaps(cm) {
function handleKeyBinding (line 1774) | function handleKeyBinding(cm, e) {
function handleCharBinding (line 1812) | function handleCharBinding(cm, e, ch) {
function onKeyDown (line 1823) | function onKeyDown(e) {
function onKeyPress (line 1841) | function onKeyPress(e) {
function onFocus (line 1856) | function onFocus(cm) {
function onBlur (line 1868) | function onBlur(cm) {
function onContextMenu (line 1879) | function onContextMenu(cm, e) {
function updateDoc (line 1935) | function updateDoc(cm, from, to, newText, selUpdate, origin) {
function updateDocInner (line 1950) | function updateDocInner(cm, from, to, newText, selUpdate, origin) {
function unredoHelper (line 1965) | function unredoHelper(cm, type) {
function updateDocNoUndo (line 1984) | function updateDocNoUndo(cm, from, to, lines, selUpdate, origin) {
function replaceRange (line 2105) | function replaceRange(cm, code, from, to, origin) {
function posEq (line 2113) | function posEq(a, b) {return a.line == b.line && a.ch == b.ch;}
function posLess (line 2114) | function posLess(a, b) {return a.line < b.line || (a.line == b.line && a...
function copyPos (line 2115) | function copyPos(x) {return {line: x.line, ch: x.ch};}
function clipLine (line 2117) | function clipLine(doc, n) {return Math.max(0, Math.min(n, doc.size-1));}
function clipPos (line 2118) | function clipPos(doc, pos) {
function isLine (line 2126) | function isLine(doc, l) {return l >= 0 && l < doc.size;}
function extendSelection (line 2130) | function extendSelection(cm, pos, other, bias) {
function setSelection (line 2153) | function setSelection(cm, anchor, head, bias, checkAtomic) {
function reCheckSelection (line 2173) | function reCheckSelection(cm) {
function skipAtomic (line 2177) | function skipAtomic(cm, pos, bias, mayClear) {
function scrollCursorIntoView (line 2226) | function scrollCursorIntoView(cm) {
function scrollPosIntoView (line 2245) | function scrollPosIntoView(cm, pos) {
function scrollIntoView (line 2262) | function scrollIntoView(cm, x1, y1, x2, y2) {
function calculateScrollPos (line 2268) | function calculateScrollPos(cm, x1, y1, x2, y2) {
function indentLine (line 2292) | function indentLine(cm, n, how, aggressive) {
function changeLine (line 2328) | function changeLine(cm, handle, op) {
function findPosH (line 2338) | function findPosH(cm, dir, unit, visually) {
function findWordAt (line 2371) | function findWordAt(line, pos) {
function selectLine (line 2385) | function selectLine(cm, line) {
function cp (line 2493) | function cp(arr) {
function interpret (line 2840) | function interpret(val) {
function option (line 2876) | function option(name, deflt, handle, notOnInit) {
function copyState (line 3018) | function copyState(mode, state) {
function startState (line 3031) | function startState(mode, a1, a2) {
function getKeyMap (line 3155) | function getKeyMap(val) {
function lookupKey (line 3160) | function lookupKey(name, maps, handle, stop) {
function isModifierKey (line 3186) | function isModifierKey(event) {
function save (line 3209) | function save() {textarea.value = cm.getValue();}
function StringStream (line 3249) | function StringStream(string, tabSize) {
function TextMarker (line 3307) | function TextMarker(cm, type) {
function markText (line 3375) | function markText(cm, from, to, options, type) {
function getMarkedSpanFor (line 3426) | function getMarkedSpanFor(spans, marker) {
function removeMarkedSpan (line 3432) | function removeMarkedSpan(spans, span) {
function addMarkedSpan (line 3437) | function addMarkedSpan(line, span) {
function markedSpansBefore (line 3442) | function markedSpansBefore(old, startCh) {
function markedSpansAfter (line 3456) | function markedSpansAfter(old, startCh, endCh) {
function updateMarkedSpans (line 3470) | function updateMarkedSpans(oldFirst, oldLast, startCh, endCh, newText) {
function removeReadOnlyRanges (line 3522) | function removeReadOnlyRanges(doc, from, to) {
function collapsedSpanAt (line 3548) | function collapsedSpanAt(line, ch) {
function collapsedSpanAtStart (line 3560) | function collapsedSpanAtStart(line) { return collapsedSpanAt(line, -1); }
function collapsedSpanAtEnd (line 3561) | function collapsedSpanAtEnd(line) { return collapsedSpanAt(line, line.te...
function visualLine (line 3563) | function visualLine(doc, line) {
function lineIsHidden (line 3570) | function lineIsHidden(line) {
function lineIsHiddenInner (line 3580) | function lineIsHiddenInner(line, span) {
function hlText (line 3597) | function hlText(val) { return typeof val == "string" ? val : val.text; }
function hlSpans (line 3598) | function hlSpans(val) {
function newHL (line 3607) | function newHL(text, spans) { return spans ? {text: text, markedSpans: s...
function detachMarkedSpans (line 3609) | function detachMarkedSpans(line) {
function attachMarkedSpans (line 3620) | function attachMarkedSpans(line, spans) {
function widgetOperation (line 3635) | function widgetOperation(f) {
function widgetHeight (line 3660) | function widgetHeight(widget) {
function addLineWidget (line 3667) | function addLineWidget(cm, handle, node, options) {
function makeLine (line 3688) | function makeLine(text, markedSpans, height) {
function updateLine (line 3695) | function updateLine(cm, line, text, markedSpans) {
function cleanUpLine (line 3707) | function cleanUpLine(line) {
function runMode (line 3715) | function runMode(cm, text, mode, state, f) {
function highlightLine (line 3738) | function highlightLine(cm, line, state) {
function getLineStyles (line 3777) | function getLineStyles(cm, line) {
function processLine (line 3785) | function processLine(cm, line, state) {
function styleToClass (line 3796) | function styleToClass(style) {
function lineContent (line 3802) | function lineContent(cm, realLine, measure) {
function buildToken (line 3839) | function buildToken(builder, text, style, startStyle, endStyle) {
function buildTokenMeasure (line 3877) | function buildTokenMeasure(builder, text, style, startStyle, endStyle) {
function buildCollapsedSpan (line 3890) | function buildCollapsedSpan(builder, size, widget) {
function insertLineContent (line 3904) | function insertLineContent(line, builder, styles) {
function LeafChunk (line 3964) | function LeafChunk(lines) {
function BranchChunk (line 3999) | function BranchChunk(children) {
function getLine (line 4101) | function getLine(chunk, n) {
function updateLineHeight (line 4112) | function updateLineHeight(line, height) {
function lineNo (line 4117) | function lineNo(line) {
function lineDoc (line 4129) | function lineDoc(line) {
function lineAtHeight (line 4134) | function lineAtHeight(chunk, h) {
function heightAtLine (line 4153) | function heightAtLine(cm, lineObj) {
function getOrder (line 4172) | function getOrder(line) {
function makeHistory (line 4180) | function makeHistory() {
function addChange (line 4194) | function addChange(cm, start, added, old, origin, fromBefore, toBefore, ...
function stopMethod (line 4239) | function stopMethod() {e_stop(this);}
function addStop (line 4241) | function addStop(event) {
function e_preventDefault (line 4246) | function e_preventDefault(e) {
function e_stopPropagation (line 4250) | function e_stopPropagation(e) {
function e_stop (line 4254) | function e_stop(e) {e_preventDefault(e); e_stopPropagation(e);}
function e_target (line 4259) | function e_target(e) {return e.target || e.srcElement;}
function e_button (line 4260) | function e_button(e) {
function e_prop (line 4273) | function e_prop(e, prop) {
function on (line 4280) | function on(emitter, type, f) {
function off (line 4292) | function off(emitter, type, f) {
function signal (line 4305) | function signal(emitter, type /*, values...*/) {
function signalLater (line 4312) | function signalLater(cm, emitter, type /*, values...*/) {
function hasHandler (line 4322) | function hasHandler(emitter, type) {
function Delayed (line 4338) | function Delayed() {this.id = null;}
function countColumn (line 4343) | function countColumn(string, end, tabSize) {
function spaceStr (line 4357) | function spaceStr(n) {
function lst (line 4363) | function lst(arr) { return arr[arr.length-1]; }
function selectInput (line 4365) | function selectInput(node) {
function indexOf (line 4372) | function indexOf(collection, elt) {
function emptyArray (line 4379) | function emptyArray(size) {
function bind (line 4384) | function bind(f) {
function isWordChar (line 4390) | function isWordChar(ch) {
function isEmpty (line 4395) | function isEmpty(obj) {
function elt (line 4405) | function elt(tag, content, className, style) {
function removeChildren (line 4414) | function removeChildren(e) {
function removeChildrenAndAdd (line 4421) | function removeChildrenAndAdd(parent, e) {
function setTextContent (line 4425) | function setTextContent(e, str) {
function scrollbarWidth (line 4456) | function scrollbarWidth(measure) {
function zeroWidthElement (line 4466) | function zeroWidthElement(measure) {
function iterateBidiSections (line 4536) | function iterateBidiSections(order, from, to, f) {
function bidiLeft (line 4545) | function bidiLeft(part) { return part.level % 2 ? part.to : part.from; }
function bidiRight (line 4546) | function bidiRight(part) { return part.level % 2 ? part.from : part.to; }
function lineLeft (line 4548) | function lineLeft(line) { var order = getOrder(line); return order ? bid...
function lineRight (line 4549) | function lineRight(line) {
function lineStart (line 4555) | function lineStart(cm, lineN) {
function lineEnd (line 4563) | function lineEnd(cm, lineNo) {
function moveVisually (line 4578) | function moveVisually(line, start, dir, byUnit) {
function moveLogically (line 4614) | function moveLogically(line, start, dir, byUnit) {
function charType (line 4648) | function charType(code) {
FILE: extensions/queries/resources/codemirror/mode/ntriples/ntriples.js
function transitState (line 45) | function transitState(currState, c) {
FILE: extensions/queries/resources/codemirror/mode/sparql/sparql.js
function wordRegexp (line 5) | function wordRegexp(words) {
function tokenBase (line 15) | function tokenBase(stream, state) {
function tokenLiteral (line 62) | function tokenLiteral(quote) {
function pushContext (line 76) | function pushContext(state, type, col) {
function popContext (line 79) | function popContext(state) {
FILE: extensions/queries/resources/codemirror/mode/xml/xml.js
function inText (line 47) | function inText(stream, state) {
function inTag (line 102) | function inTag(stream, state) {
function inAttribute (line 123) | function inAttribute(quote) {
function inBlock (line 135) | function inBlock(style, terminator) {
function doctype (line 147) | function doctype(depth) {
function pass (line 169) | function pass() {
function cont (line 172) | function cont() {
function pushContext (line 177) | function pushContext(tagName, startOfLine) {
function popContext (line 187) | function popContext() {
function element (line 191) | function element(type) {
function endtag (line 212) | function endtag(startOfLine) {
function endclosetag (line 229) | function endclosetag(err) {
function maybePopContext (line 237) | function maybePopContext(nextTagName) {
function attributes (line 252) | function attributes(type) {
function attribute (line 258) | function attribute(type) {
function attvalue (line 264) | function attvalue(type) {
function attvaluemaybe (line 270) | function attvaluemaybe(type) {
FILE: extensions/resourcecreationuri/ResourcecreationuriPlugin.php
class ResourcecreationuriPlugin (line 18) | class ResourcecreationuriPlugin extends OntoWiki_Plugin
method onUpdateServiceAction (line 48) | public function onUpdateServiceAction($event)
FILE: extensions/resourcecreationuri/classes/ResourceUriGenerator.php
class ResourceUriGenerator (line 18) | class ResourceUriGenerator
method __construct (line 98) | public function __construct($defaultModel = null, $configPath = null, ...
method setDefaultModel (line 129) | public function setDefaultModel($defaultModel)
method generateUri (line 148) | public function generateUri($resourceUri, $format = self::FORMAT_SPARQ...
method generateUriFromSparql (line 184) | private function generateUriFromSparql($uri, $titleHelper)
method generateUriFromRdfphp (line 308) | private function generateUriFromRdfphp($uri, $newInstance, $titleHelper)
method _getTitle (line 362) | private function _getTitle($resource, $titleHelper = null)
method loadNamingSchema (line 402) | private function loadNamingSchema($resource)
method convertChars (line 460) | private function convertChars($str)
method countUriPattern (line 508) | private function countUriPattern($uri)
FILE: extensions/resourcemodules/LinkinghereModule.php
class LinkinghereModule (line 20) | class LinkinghereModule extends OntoWiki_Module
method init (line 27) | public function init()
method getTitle (line 55) | public function getTitle()
method shouldShow (line 60) | public function shouldShow()
method getContents (line 70) | public function getContents()
method getStateId (line 149) | public function getStateId()
FILE: extensions/resourcemodules/SimilarinstancesModule.php
class SimilarinstancesModule (line 20) | class SimilarinstancesModule extends OntoWiki_Module
method getTitle (line 23) | public function getTitle()
method shouldShow (line 28) | public function shouldShow()
method getContents (line 37) | public function getContents()
method getStateId (line 126) | public function getStateId()
method _getTypes (line 134) | private function _getTypes()
FILE: extensions/resourcemodules/UsageModule.php
class UsageModule (line 22) | class UsageModule extends OntoWiki_Module
method init (line 39) | public function init()
method _initQuery (line 43) | private function _initQuery()
method shouldShow (line 66) | public function shouldShow()
method getTitle (line 80) | public function getTitle()
method getContents (line 90) | public function getContents()
method getStateId (line 164) | public function getStateId()
FILE: extensions/savedqueries/SavedqueriesController.php
class SavedqueriesController (line 20) | class SavedqueriesController extends OntoWiki_Controller_Component
method init (line 28) | public function init()
method initAction (line 57) | public function initAction()
method _getQueryResult (line 98) | private function _getQueryResult($queryString)
FILE: extensions/savedqueries/SavedqueriesModule.php
class SavedqueriesModule (line 13) | class SavedqueriesModule extends OntoWiki_Module
method getTitle (line 17) | public function getTitle()
method getContents (line 25) | public function getContents()
method getStateId (line 56) | public function getStateId()
method shouldShow (line 67) | public function shouldShow()
method allowCaching (line 76) | public function allowCaching()
FILE: extensions/selectlanguage/SelectlanguagePlugin.php
class SelectlanguagePlugin (line 15) | class SelectlanguagePlugin extends OntoWiki_Plugin
method init (line 21) | public function init()
method onBeforeInitController (line 28) | public function onBeforeInitController()
method onPostBootstrap (line 61) | public function onPostBootstrap($event)
FILE: extensions/semanticsitemap/SemanticsitemapController.php
class SemanticsitemapController (line 18) | class SemanticsitemapController extends OntoWiki_Controller_Component
method init (line 29) | public function init()
method sitemapAction (line 52) | public function sitemapAction()
FILE: extensions/semanticsitemap/semanticsitemap.php
class SemanticsitemapPlugin (line 15) | class SemanticsitemapPlugin extends OntoWiki_Plugin
method onRouteStartup (line 18) | public function onRouteStartup()
FILE: extensions/sendmail/SendmailPlugin.php
class SendmailPlugin (line 25) | class SendmailPlugin extends OntoWiki_Plugin
method init (line 29) | public function init()
method onEmailsend (line 38) | public function onEmailsend($event)
FILE: extensions/sindice/SindicePlugin.php
class SindicePlugin (line 20) | class SindicePlugin extends OntoWiki_Plugin
method onDatagatheringComponentSearch (line 22) | public function onDatagatheringComponentSearch($event)
FILE: extensions/sortproperties/SortpropertiesPlugin.php
class SortpropertiesPlugin (line 15) | class SortpropertiesPlugin extends OntoWiki_Plugin
method onPropertiesActionData (line 17) | public function onPropertiesActionData($event)
FILE: extensions/source/SourceController.php
class SourceController (line 13) | class SourceController extends OntoWiki_Controller_Component
method editAction (line 15) | public function editAction()
FILE: extensions/source/SourceHelper.php
class SourceHelper (line 19) | class SourceHelper extends OntoWiki_Component_Helper
method init (line 21) | public function init()
FILE: extensions/source/tests/SourceControllerTest.php
class SourceControllerTest (line 9) | class SourceControllerTest extends OntoWiki_Test_ControllerTestCase
method setUp (line 11) | public function setUp()
method testDispatching (line 18) | public function testDispatching()
FILE: extensions/themes/silverblue/scripts/libraries/jquery-1.9.1.js
function isArraylike (line 951) | function isArraylike( obj ) {
function createOptions (line 974) | function createOptions( options ) {
function internalData (line 1551) | function internalData( elem, name, data, pvt /* Internal Use Only */ ){
function internalRemoveData (line 1645) | function internalRemoveData( elem, name, pvt ) {
function dataAttr (line 1841) | function dataAttr( elem, key, data ) {
function isEmptyDataObject (line 1873) | function isEmptyDataObject( obj ) {
function returnTrue (line 2702) | function returnTrue() {
function returnFalse (line 2706) | function returnFalse() {
function isNative (line 3841) | function isNative( fn ) {
function createCache (line 3851) | function createCache() {
function markFunction (line 3869) | function markFunction( fn ) {
function assert (line 3878) | function assert( fn ) {
function Sizzle (line 3891) | function Sizzle( selector, context, results, seed ) {
function siblingCheck (line 4449) | function siblingCheck( a, b ) {
function createInputPseudo (line 4471) | function createInputPseudo( type ) {
function createButtonPseudo (line 4479) | function createButtonPseudo( type ) {
function createPositionalPseudo (line 4487) | function createPositionalPseudo( fn ) {
function tokenize (line 5014) | function tokenize( selector, parseOnly ) {
function toSelector (line 5081) | function toSelector( tokens ) {
function addCombinator (line 5091) | function addCombinator( matcher, combinator, base ) {
function elementMatcher (line 5141) | function elementMatcher( matchers ) {
function condense (line 5155) | function condense( unmatched, map, filter, context, xml ) {
function setMatcher (line 5176) | function setMatcher( preFilter, selector, matcher, postFilter, postFinde...
function matcherFromTokens (line 5269) | function matcherFromTokens( tokens ) {
function matcherFromGroupMatchers (line 5321) | function matcherFromGroupMatchers( elementMatchers, setMatchers ) {
function multipleContexts (line 5449) | function multipleContexts( selector, contexts, results ) {
function select (line 5458) | function select( selector, context, results, seed ) {
function setFilters (line 5527) | function setFilters() {}
function sibling (line 5680) | function sibling( cur, dir ) {
function winnow (line 5788) | function winnow( elements, qualifier, keep ) {
function createSafeFragment (line 5821) | function createSafeFragment( document ) {
function findOrAppend (line 6202) | function findOrAppend( elem, tag ) {
function disableScript (line 6207) | function disableScript( elem ) {
function restoreScript (line 6212) | function restoreScript( elem ) {
function setGlobalEval (line 6223) | function setGlobalEval( elems, refElements ) {
function cloneCopyEvent (line 6231) | function cloneCopyEvent( src, dest ) {
function fixCloneNodeIssues (line 6259) | function fixCloneNodeIssues( src, dest ) {
function getAll (line 6352) | function getAll( context, tag ) {
function fixDefaultChecked (line 6375) | function fixDefaultChecked( elem ) {
function vendorPropName (line 6640) | function vendorPropName( style, name ) {
function isHidden (line 6662) | function isHidden( elem, el ) {
function showHide (line 6669) | function showHide( elements, show ) {
function setPositiveNumber (line 7016) | function setPositiveNumber( elem, value, subtract ) {
function augmentWidthOrHeight (line 7024) | function augmentWidthOrHeight( elem, name, extra, isBorderBox, styles ) {
function getWidthOrHeight (line 7063) | function getWidthOrHeight( elem, name, extra ) {
function css_defaultDisplay (line 7107) | function css_defaultDisplay( nodeName ) {
function actualDisplay (line 7139) | function actualDisplay( name, doc ) {
function buildParams (line 7368) | function buildParams( prefix, obj, traditional, add ) {
function addToPrefiltersOrTransports (line 7466) | function addToPrefiltersOrTransports( structure ) {
function inspectPrefiltersOrTransports (line 7498) | function inspectPrefiltersOrTransports( structure, options, originalOpti...
function ajaxExtend (line 7525) | function ajaxExtend( target, src ) {
function done (line 7991) | function done( status, nativeStatusText, responses, headers ) {
function ajaxHandleResponses (line 8117) | function ajaxHandleResponses( s, jqXHR, responses ) {
function ajaxConvert (line 8178) | function ajaxConvert( s, response ) {
function createStandardXHR (line 8439) | function createStandardXHR() {
function createActiveXHR (line 8445) | function createActiveXHR() {
function createFxNow (line 8684) | function createFxNow() {
function createTweens (line 8691) | function createTweens( animation, props ) {
function Animation (line 8706) | function Animation( elem, properties, options ) {
function propFilter (line 8810) | function propFilter( props, specialEasing ) {
function defaultPrefilter (line 8877) | function defaultPrefilter( elem, props, opts ) {
function Tween (line 9004) | function Tween( elem, options, prop, end, easing ) {
function genFx (line 9230) | function genFx( type, includeWidth ) {
function getWindow (line 9526) | function getWindow( elem ) {
FILE: extensions/themes/silverblue/scripts/libraries/jquery-migrate-1.3.0.js
function migrateWarn (line 37) | function migrateWarn( msg) {
function migrateWarnProp (line 51) | function migrateWarnProp( obj, prop, value, msg ) {
function jQuerySub (line 310) | function jQuerySub( selector, context ) {
FILE: extensions/themes/silverblue/scripts/libraries/jquery-ui-1.8.22.js
function reduce (line 142) | function reduce( elem, size, border, margin ) {
function focusable (line 178) | function focusable( element, isTabIndexNotNaN ) {
function visible (line 199) | function visible( element ) {
function getRGB (line 4004) | function getRGB(color) {
function getColor (line 4035) | function getColor(elem, attr) {
function getElementStyles (line 4122) | function getElementStyles() {
function filterStyles (line 4153) | function filterStyles(styles) {
function styleDifference (line 4177) | function styleDifference(oldStyle, newStyle) {
function _normalizeArguments (line 4401) | function _normalizeArguments(effect, options, speed, callback) {
function standardSpeed (line 4435) | function standardSpeed( speed ) {
function Datepicker (line 7054) | function Datepicker() {
function bindHover (line 8803) | function bindHover(dpDiv) {
function extendRemove (line 8826) | function extendRemove(target, props) {
function isArray (line 8835) | function isArray(a) {
function filteredUi (line 9285) | function filteredUi(ui) {
function filteredUi (line 9326) | function filteredUi(ui) {
function getNextTabId (line 10791) | function getNextTabId() {
function getNextListId (line 10795) | function getNextListId() {
function resetStyle (line 11068) | function resetStyle( $el, fx ) {
FILE: extensions/themes/silverblue/scripts/libraries/jquery.dimensions.js
function num (line 115) | function num(el, prop) {
FILE: extensions/themes/silverblue/scripts/libraries/jquery.tablesorter.js
function benchmark (line 117) | function benchmark(s,d) {
function log (line 123) | function log(s) {
function buildParserCache (line 132) | function buildParserCache(table,$headers) {
function detectParserForColumn (line 168) | function detectParserForColumn(table,node) {
function getParserById (line 179) | function getParserById(name) {
function buildCache (line 190) | function buildCache(table) {
function getElementText (line 221) | function getElementText(config,node) {
function appendToTable (line 243) | function appendToTable(table,cache) {
function buildHeaders (line 290) | function buildHeaders(table) {
function checkCellColSpan (line 322) | function checkCellColSpan(table, rows, row) {
function checkHeaderMetadata (line 340) | function checkHeaderMetadata(cell) {
function checkHeaderOptions (line 345) | function checkHeaderOptions(table,i) {
function applyWidget (line 350) | function applyWidget(table) {
function getWidgetById (line 360) | function getWidgetById(name) {
function formatSortingOrder (line 369) | function formatSortingOrder(v) {
function isValueInArray (line 379) | function isValueInArray(v, a) {
function setHeadersCss (line 389) | function setHeadersCss(table,$headers, list, css) {
function fixColumnWidth (line 406) | function fixColumnWidth(table,$headers) {
function updateHeaderSortCount (line 417) | function updateHeaderSortCount(table,sortList) {
function multisort (line 427) | function multisort(table,sortList,cache) {
function sortText (line 466) | function sortText(a,b) {
function sortTextDesc (line 470) | function sortTextDesc(a,b) {
function sortNumeric (line 474) | function sortNumeric(a,b) {
function sortNumericDesc (line 478) | function sortNumericDesc(a,b) {
function getCachedSortType (line 482) | function getCachedSortType(parsers,i) {
function empty (line 676) | function empty() {
FILE: extensions/themes/silverblue/scripts/serialize-php.js
function serialize (line 6) | function serialize (mixed_value) {
FILE: extensions/themes/silverblue/scripts/support.js
function toggleExpansion (line 13) | function toggleExpansion(event) {
function expand (line 47) | function expand(event) {
function setSectionRatio (line 79) | function setSectionRatio(x) {
function showWindowMenu (line 85) | function showWindowMenu(event) {
function sessionStore (line 165) | function sessionStore(name, value, options) {
function setAutoId (line 195) | function setAutoId(element) {
function hideHref (line 205) | function hideHref(element) {
function showHref (line 214) | function showHref(element) {
function serializeArray (line 220) | function serializeArray(array, key)
function removeResourceMenus (line 244) | function removeResourceMenus() {
function showAddInstanceMenu (line 248) | function showAddInstanceMenu(event, menuData) {
function showResourceMenu (line 292) | function showResourceMenu(event, json) {
function loadRDFauthor (line 397) | function loadRDFauthor(callback) {
function populateRDFauthor (line 412) | function populateRDFauthor(data, protect, resource, graph, workingmode) {
function createInstanceFromClassURI (line 484) | function createInstanceFromClassURI(type, dataCallback) {
function editResourceFromURI (line 545) | function editResourceFromURI(resource) {
function resourceURL (line 594) | function resourceURL(resourceURI) {
function editProperty (line 608) | function editProperty(event) {
function editPropertyListmode (line 666) | function editPropertyListmode(event) {
function addProperty (line 698) | function addProperty() {
FILE: extensions/weblink/WeblinkPlugin.php
class WeblinkPlugin (line 13) | class WeblinkPlugin extends OntoWiki_Plugin
method init (line 17) | public function init()
method onDisplayObjectPropertyValue (line 25) | public function onDisplayObjectPropertyValue($event)
method onDisplayLiteralPropertyValue (line 38) | public function onDisplayLiteralPropertyValue($event)
FILE: index.php
function errorHandler (line 23) | function errorHandler ($errno, $errstr, $errfile, $errline, array $errco...
function getEnvVar (line 38) | function getEnvVar ($key)
Condensed preview — 557 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (4,778K chars).
[
{
"path": ".gitignore",
"chars": 1605,
"preview": "# OntoWiki configs\n/config.ini\n/local.ini\n\n# OntoWiki muck\n*.log\napplication/tests/cache\n/cache\n/uploads\n/libraries\n/log"
},
{
"path": ".htaccess",
"chars": 2929,
"preview": "# OntoWiki .htaccess file\n\n# WARNING: If you do not use the htaccess at all or your htaccess is\n# ignored, then your con"
},
{
"path": ".travis.yml",
"chars": 1300,
"preview": "language: php\n\nphp:\n - 5.4\n - 5.6.29\n - 7.0\n - 7.1\n\nenv:\n - VIRTUOSO=6.1.7\n - VIRTUOSO=7.0.0\n - VIR"
},
{
"path": "CHANGELOG.md",
"chars": 8521,
"preview": "# Change Log\nAll notable changes to this project will be documented in this file.\n\nThe format is based on [Keep a Change"
},
{
"path": "Makefile",
"chars": 5067,
"preview": "PHPUNIT = ./vendor/bin/phpunit\nPHPCS = ./vendor/bin/phpcs\nPHPCBF = ./vendor/bin/phpcbf\n\n# Get calid composer executable\n"
},
{
"path": "README.md",
"chars": 3090,
"preview": "# OntoWiki\n\nNote: This project is not under active development anymore. See [this issue](https://github.com/AKSW/OntoWik"
},
{
"path": "application/Bootstrap.php",
"chars": 21951,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2009-"
},
{
"path": "application/LICENSE.txt",
"chars": 18031,
"preview": " GNU GENERAL PUBLIC LICENSE\n Version 2, June 1991\n\n Copyright (C) 1989, 1991 Free Software Foun"
},
{
"path": "application/classes/OntoWiki/Component/Exception.php",
"chars": 644,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Component/Helper.php",
"chars": 2702,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2009-"
},
{
"path": "application/classes/OntoWiki/Controller/ActionHelper/List.php",
"chars": 5232,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Controller/Base.php",
"chars": 11224,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Controller/Component.php",
"chars": 2830,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Controller/Exception.php",
"chars": 651,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Controller/Plugin/HttpAuth.php",
"chars": 4259,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Controller/Plugin/ListSetupHelper.php",
"chars": 13960,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Controller/Plugin/SetupHelper.php",
"chars": 5355,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Dispatcher.php",
"chars": 5902,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2009-"
},
{
"path": "application/classes/OntoWiki/Exception.php",
"chars": 609,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Extension/Manager.php",
"chars": 39558,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2010-"
},
{
"path": "application/classes/OntoWiki/Http/Exception.php",
"chars": 1195,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Jobs/Cron.php",
"chars": 8348,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2013-"
},
{
"path": "application/classes/OntoWiki/Menu/Registry.php",
"chars": 13693,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2009-"
},
{
"path": "application/classes/OntoWiki/Menu.php",
"chars": 6837,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Message.php",
"chars": 3436,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Model/Exception.php",
"chars": 625,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Model/Hierarchy.php",
"chars": 7503,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Model/Instances.php",
"chars": 66255,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2009-"
},
{
"path": "application/classes/OntoWiki/Model/Resource.php",
"chars": 18220,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2009-"
},
{
"path": "application/classes/OntoWiki/Model/TitleHelper.php",
"chars": 13675,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2009-"
},
{
"path": "application/classes/OntoWiki/Model.php",
"chars": 2888,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2009-"
},
{
"path": "application/classes/OntoWiki/Module/Exception.php",
"chars": 635,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2009-"
},
{
"path": "application/classes/OntoWiki/Module/Registry.php",
"chars": 9910,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2009-"
},
{
"path": "application/classes/OntoWiki/Module.php",
"chars": 7557,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2009-"
},
{
"path": "application/classes/OntoWiki/Navigation.php",
"chars": 10340,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2009-"
},
{
"path": "application/classes/OntoWiki/Pager.php",
"chars": 9150,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Plugin.php",
"chars": 1773,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Request.php",
"chars": 1687,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Resource.php",
"chars": 1913,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Test/ControllerTestCase.php",
"chars": 4400,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Test/ExtensionIntegrationTestBootstrap.php",
"chars": 815,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Test/ExtensionUnitTestBootstrap.php",
"chars": 2105,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Test/IntegrationTestBootstrap.php",
"chars": 2590,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Test/UnitTestBootstrap.php",
"chars": 2404,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Toolbar.php",
"chars": 9781,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Url.php",
"chars": 10664,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Utils/Exception.php",
"chars": 633,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/Utils.php",
"chars": 14333,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/View/Helper/Curie.php",
"chars": 857,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki/View.php",
"chars": 10189,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/classes/OntoWiki.php",
"chars": 13846,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2009-"
},
{
"path": "application/config/SysBase/dc",
"chars": 17564,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE rdf:RDF [\n <!ENTITY rdfns 'http://www.w3.org/1999/02/22-rdf-syntax-n"
},
{
"path": "application/config/SysBase/dcterms",
"chars": 78761,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!DOCTYPE rdf:RDF [\n <!ENTITY rdfns 'http://www.w3.org/1999/02/22-rdf-syntax-n"
},
{
"path": "application/config/SysBase/foaf",
"chars": 39400,
"preview": "<!-- This is the FOAF formal vocabulary description, expressed using W3C RDFS and OWL markup. -->\n<!-- For more informat"
},
{
"path": "application/config/SysBase/geo",
"chars": 5397,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<?xml-stylesheet type=\"text/xsl\" href=\"rdfs-xhtml.xsl\"?>\n\n<rdf:RDF xmlns:rdf=\"htt"
},
{
"path": "application/config/SysBase/owl",
"chars": 8184,
"preview": "<?xml version=\"1.0\"?>\n<!DOCTYPE rdf:RDF [\n <!ENTITY rdf \"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" >\n <!ENTI"
},
{
"path": "application/config/SysBase/rdf",
"chars": 6588,
"preview": "<rdf:RDF\n xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n xmlns:rdfs=\"http://www.w3.org/2000/01/rdf-schema#"
},
{
"path": "application/config/SysBase/rdfs",
"chars": 6560,
"preview": "<rdf:RDF\n xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n xmlns:rdfs=\"http://www.w3.org/2000/01/rdf-schema#"
},
{
"path": "application/config/SysBase/rel",
"chars": 28121,
"preview": "<?xml version=\"1.0\"?>\n<rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\n xmlns:foaf=\"http://xmlns.com/fo"
},
{
"path": "application/config/SysBase/sioc",
"chars": 44039,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<rdf:RDF\r\n xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\r\n xmlns:r"
},
{
"path": "application/config/SysBase/sioct",
"chars": 19016,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n\r\n<rdf:RDF\r\n xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\"\r\n xmlns:r"
},
{
"path": "application/config/SysBase/skos",
"chars": 28756,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<rdf:RDF xmlns:dct=\"http://purl.org/dc/terms/\"\n xmlns:owl=\"http://www.w3.org/200"
},
{
"path": "application/config/SysBase/tags",
"chars": 9336,
"preview": "\n<!-- Processed by Id: cwm.py,v 1.149 2004/05/12 01:27:06 timbl Exp -->\n<!-- using base file:/Users/sir03rn/Desktop/"
},
{
"path": "application/config/SysBase.rdf",
"chars": 206022,
"preview": "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n<!DOCTYPE rdf:RDF [\n <!ENTITY owl \"http://www.w3.org/2002/07/owl#\">\n <!ENTITY rd"
},
{
"path": "application/config/application.ini",
"chars": 1351,
"preview": ";;\n; Zend application setup file\n;\n; Do not edit this file by hand unless you know what you are doing!\n;;\n\n[default]\n\n; "
},
{
"path": "application/config/default.ini",
"chars": 10185,
"preview": ";;\n; OntoWiki main config file\n;\n; Host-specific options can be found in\n; config.ini.\n;\n; @package application\n; @su"
},
{
"path": "application/config/default.n3",
"chars": 822,
"preview": "@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.\n@prefix doap: <http://usefulinc.com/ns/doap#> .\n@prefix rdfs: <http://"
},
{
"path": "application/controllers/ApplicationController.php",
"chars": 41043,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/controllers/DebugController.php",
"chars": 1754,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/controllers/ErrorController.php",
"chars": 7506,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/controllers/IndexController.php",
"chars": 5808,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/controllers/ModelController.php",
"chars": 37649,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/controllers/ModuleController.php",
"chars": 1371,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/controllers/ResourceController.php",
"chars": 19423,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/controllers/ServiceController.php",
"chars": 40401,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/scripts/README-Vagrant.md",
"chars": 465,
"preview": "Getting Started\n---------------\n\n1. Install VirtualBox [1] + Vagrant [2]\n2. Install vbguest plugin for Vagrant: `vagrant"
},
{
"path": "application/scripts/clearCache.php",
"chars": 5202,
"preview": "#!/usr/bin/env php\n<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright "
},
{
"path": "application/scripts/extensions-ini2n3.php",
"chars": 22179,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2012,"
},
{
"path": "application/scripts/makeBackup.sh",
"chars": 152,
"preview": "#!/bin/sh\n\nfor model in `owcli -l`\ndo\n filename=`echo \"$model\" | md5sum | cut -d \" \" -f 1`\n owcli -m \"$model\" -e m"
},
{
"path": "application/scripts/makeRelease.sh",
"chars": 1909,
"preview": "#!/bin/bash\n# @(#) Creates an OntoWiki Release ZIP File\n\nparameter=\"$1\"\nif [ \"$parameter\" == \"\" ]\nthen\n echo \"No "
},
{
"path": "application/scripts/mod-auth-external/ontowiki.php",
"chars": 2567,
"preview": "#!/usr/bin/env php5\n<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright"
},
{
"path": "application/scripts/odbctest.php",
"chars": 2569,
"preview": "#! /usr/bin/env php\n<?php\n// Check for odbc extension\nif (!extension_loaded('odbc')) {\n echo 'ODBC exenstion needs to"
},
{
"path": "application/scripts/owadmin.php",
"chars": 6103,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2012,"
},
{
"path": "application/scripts/runExtensionTests.sh",
"chars": 332,
"preview": "#!/bin/bash\n\nextensionName=\"$1\"\nif [ \"$extensionName\" == \"\" ]\nthen\n echo \"No extension name provided\"\n exit 1;\nfi\n"
},
{
"path": "application/scripts/travis/README.md",
"chars": 2555,
"preview": "- `install-services.sh` to handle the install of additional services\n\n## SPARQL services\n\nThis file and scripts are take"
},
{
"path": "application/scripts/travis/install-extensions.sh",
"chars": 1118,
"preview": "#!/bin/bash\n\necho $TRAVIS_PHP_VERSION\n\n# skip hhvm\nif [[ $TRAVIS_PHP_VERSION = \"hhv\"* ]]; then\n exit 0\nfi\n\n# get buil"
},
{
"path": "application/scripts/travis/install-services.sh",
"chars": 7417,
"preview": "#!/bin/bash\nset -ex\nBASE_PATH=$(pwd)\nE_UNREACHABLE=86\n\n# skip hhvm\nif [[ $TRAVIS_PHP_VERSION = \"hhv\"* ]]; then\n exit "
},
{
"path": "application/scripts/travis/virtuoso-sparql-permission.sql",
"chars": 312,
"preview": "GRANT EXECUTE ON DB.DBA.SPARQL_INSERT_DICT_CONTENT TO \"SPARQL\";\nGRANT EXECUTE ON DB.DBA.SPARQL_DELETE_DICT_CONTENT TO \"S"
},
{
"path": "application/scripts/vad/README.txt",
"chars": 259,
"preview": "\n1. configure variables at top of prepare.sh script\n2. running ./prepare.sh will checkout an OW into /tmp/ontowiki and r"
},
{
"path": "application/scripts/vad/ow_vad_sticker_template.xml",
"chars": 2054,
"preview": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!DOCTYPE sticker SYSTEM \"vad_sticker.dtd\"[]>\n<sticker version=\"0.9.0\" xml:lang=\""
},
{
"path": "application/scripts/vad/ow_vad_sticker_template.xml_not_working",
"chars": 2408,
"preview": "<?xml version=\"1.0\" encoding=\"ASCII\"?>\n<!DOCTYPE sticker SYSTEM \"vad_sticker.dtd\"[]>\n<sticker version=\"0.9.0\" xml:lang=\""
},
{
"path": "application/scripts/vad/prepare.sh",
"chars": 1802,
"preview": "#!/bin/bash\n\n\nVIRTTMP=/tmp/virtuoso\nSTICKERBEGIN=ow_vad_sticker_template.xml\nSTICKER=ow_vad_sticker.xml\nRESULTFILE=ontow"
},
{
"path": "application/scripts/vad/vad.ini",
"chars": 5689,
"preview": ";\n; virtuoso.ini\n;\n; Configuration file for the OpenLink Virtuoso VDBMS Server\n;\n; To learn more about this product, "
},
{
"path": "application/shell.worker.client.php",
"chars": 5984,
"preview": "#!/usr/bin/env php\n<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright "
},
{
"path": "application/shell.worker.php",
"chars": 6307,
"preview": "#!/usr/bin/env php\n<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright "
},
{
"path": "application/tests/Bootstrap.php",
"chars": 1571,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/tests/BootstrapExtensions.php",
"chars": 1197,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/tests/CodeSniffer/Standards/Ontowiki/Sniffs/Classes/ClassFilePathSniff.php",
"chars": 3278,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2011-"
},
{
"path": "application/tests/CodeSniffer/Standards/Ontowiki/Sniffs/Commenting/FileCommentSniff.php",
"chars": 7213,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/tests/CodeSniffer/Standards/Ontowiki/Sniffs/Functions/ForbiddenFunctionsSniff.php",
"chars": 1520,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2011-"
},
{
"path": "application/tests/CodeSniffer/Standards/Ontowiki/Sniffs/Functions/FunctionCallArgumentSpacingSniff.php",
"chars": 5646,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2012-"
},
{
"path": "application/tests/CodeSniffer/Standards/Ontowiki/Sniffs/PHP/GetRequestDataSniff.php",
"chars": 2145,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2011-"
},
{
"path": "application/tests/CodeSniffer/Standards/Ontowiki/ruleset.xml",
"chars": 143,
"preview": "<?xml version=\"1.0\"?>\n<ruleset name=\"OntoWiki\">\n <description>Ontowiki's additiona sniffs for the coding standard.</d"
},
{
"path": "application/tests/config.ini.dist",
"chars": 640,
"preview": "[private]\n\n;;----------------------------------------------------------------------------;;\n;; Database Connection Setti"
},
{
"path": "application/tests/config.ini.dist.travis",
"chars": 646,
"preview": "[private]\n\n;;----------------------------------------------------------------------------;;\n;; Database Connection Setti"
},
{
"path": "application/tests/integration/OntoWiki/Extension/ManagerIntegrationTest.php",
"chars": 1804,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/tests/integration/OntoWiki/Extension/_files/test1/MoreModule.php",
"chars": 6,
"preview": "<?php\n"
},
{
"path": "application/tests/integration/OntoWiki/Extension/_files/test1/Test1Controller.php",
"chars": 319,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/tests/integration/OntoWiki/Extension/_files/test1/TestModule.php",
"chars": 921,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/tests/integration/OntoWiki/Extension/_files/test1/doap.n3",
"chars": 1389,
"preview": "@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.\n@prefix doap: <http://usefulinc.com/ns/doap#> .\n@prefix rdfs: <http://"
},
{
"path": "application/tests/integration/OntoWiki/Extension/_files/test2/Test2Plugin.php",
"chars": 6,
"preview": "<?php\n"
},
{
"path": "application/tests/integration/OntoWiki/Extension/_files/test2/Test2Wrapper.php",
"chars": 253,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/tests/integration/OntoWiki/Extension/_files/test2/doap.n3",
"chars": 1070,
"preview": "@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.\n@prefix doap: <http://usefulinc.com/ns/doap#> .\n@prefix rdfs: <http://"
},
{
"path": "application/tests/integration/OntoWiki/Extension/_files/test2.ini",
"chars": 25,
"preview": "\n\n[private]\nsub.b = false"
},
{
"path": "application/tests/integration/OntoWiki/Model/InstancesIntegrationTest.php",
"chars": 8102,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/tests/integration/OntoWiki/Model/TitleHelperIntegrationTest.php",
"chars": 7995,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/tests/integration/controller/ModelControllerTest.php",
"chars": 2798,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/tests/integration/controller/ServiceControllerTest.php",
"chars": 6150,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/tests/integration/phpunit.xml.dist",
"chars": 1162,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<phpunit bootstrap=\"../Bootstrap.php\" colors=\"false\" backupGlobals=\"false\" backu"
},
{
"path": "application/tests/unit/OntoWiki/Extension/ManagerTest.php",
"chars": 67738,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/tests/unit/OntoWiki/Extension/_files/test-doap.n3",
"chars": 1332,
"preview": "@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.\n@prefix doap: <http://usefulinc.com/ns/doap#> .\n@prefix rdfs: <http://"
},
{
"path": "application/tests/unit/OntoWiki/MenuTest.php",
"chars": 3792,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/tests/unit/OntoWiki/MessageTest.php",
"chars": 1995,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/tests/unit/OntoWiki/Model/InstancesTest.php",
"chars": 13093,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/tests/unit/OntoWiki/Module/RegistryTest.php",
"chars": 5063,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/tests/unit/OntoWiki/NavigationTest.php",
"chars": 5205,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/tests/unit/OntoWiki/UtilsTest.php",
"chars": 1073,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/tests/unit/OntoWikiTest.php",
"chars": 1565,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/tests/unit/controller/IndexControllerTest.php",
"chars": 6011,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/tests/unit/controller/ResourceControllerTest.php",
"chars": 1373,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2006-"
},
{
"path": "application/tests/unit/controller/_files/aksw.rss",
"chars": 13149,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<!-- generator=\"wordpress/2.1\" -->\n<rss version=\"2.0\"\n\txmlns:content=\"http://purl"
},
{
"path": "application/tests/unit/phpunit.xml.dist",
"chars": 1179,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<phpunit bootstrap=\"../Bootstrap.php\" colors=\"false\" backupGlobals=\"false\" backu"
},
{
"path": "application/views/templates/application/about.phtml",
"chars": 443,
"preview": "<?php\n/**\n * OntoWiki about template\n */\n\n?>\n<?php foreach ($this->data as $name => $section): ?>\n<h2 class=\"clearfloat\""
},
{
"path": "application/views/templates/application/openid.phtml",
"chars": 1479,
"preview": "<?php\n\n/**\n * OntoWiki openid details template\n *\n * @author Philipp Frischmuth <pfrischmuth@googlemail.com>\n * @version"
},
{
"path": "application/views/templates/application/register.phtml",
"chars": 1229,
"preview": "<?php\n\n/**\n * OntoWiki user details template\n *\n * @author Norman Heino <norman.heino@gmail.com>\n * @author Philipp Fris"
},
{
"path": "application/views/templates/application/search.phtml",
"chars": 351,
"preview": "<?php\n\n/**\n * OntoWiki search message template\n * Search results are displayed within instances list now.\n * This templa"
},
{
"path": "application/views/templates/application/userdetails.phtml",
"chars": 1865,
"preview": "<?php\n\n/**\n * OntoWiki user details template\n *\n * @author Norman Heino <norman.heino@gmail.com>\n * @author Philipp Fris"
},
{
"path": "application/views/templates/application/webid.phtml",
"chars": 1441,
"preview": "<?php\n\n/**\n * OntoWiki openid details template\n *\n * @author Philipp Frischmuth <pfrischmuth@googlemail.com>\n * @version"
},
{
"path": "application/views/templates/error/404.phtml",
"chars": 1012,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2012,"
},
{
"path": "application/views/templates/error/500.phtml",
"chars": 953,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2012,"
},
{
"path": "application/views/templates/error/error.phtml",
"chars": 1522,
"preview": "<?php\n\n/**\n * OntoWiki error template\n *\n * @author Norman Heino <norman.heino@gmail.com>\n * @version $Id: error.phtml 3"
},
{
"path": "application/views/templates/index/index.phtml",
"chars": 471,
"preview": "<?php\n\n/**\n * OntoWiki index template\n *\n * @author Norman Heino <norman.heino@gmail.com>\n * @version $Id: index.phtml 2"
},
{
"path": "application/views/templates/index/news.phtml",
"chars": 260,
"preview": "<?php foreach ($this->feed as $feedItem): ?>\n <div class=\"messagebox feed\">\n <h2><a href=\"<?php echo $feedItem"
},
{
"path": "application/views/templates/index/newsshort.phtml",
"chars": 263,
"preview": "<?php foreach ($this->rssData as $feedItem): ?>\n <div class=\"messagebox feed\">\n <h4><a href=\"<?php echo $feedI"
},
{
"path": "application/views/templates/layouts/layout.phtml",
"chars": 10031,
"preview": "<?php\n\n/**\n * OntoWiki layout template\n *\n * @author Norman Heino <norman.heino@gmail.com>\n * @author Michael Haschke\n"
},
{
"path": "application/views/templates/model/config.phtml",
"chars": 2851,
"preview": "<?php\n\n/**\n * OntoWiki model config template\n *\n * @author Philipp Frischmuth <pfrischmuth@googlemail.com>\n * @version $"
},
{
"path": "application/views/templates/model/create.phtml",
"chars": 1945,
"preview": "<?php\n\n/**\n * OntoWiki create and add model template\n */\n\n?>\n<?php if ($this->formName == 'createmodel') : ?>\n<fieldset>"
},
{
"path": "application/views/templates/model/info.phtml",
"chars": 2092,
"preview": "<?php $values = isset($this->values[$this->graphIri]) ? $this->values[$this->graphIri] : array(); ?>\n\n<h2><?php echo $th"
},
{
"path": "application/views/templates/partials/contextmenu.phtml",
"chars": 1064,
"preview": "<?php\n/**\n * OntoWiki context menu partial template\n *\n * @author Norman Heino <norman.heino@gmail.com>\n * @author Mic"
},
{
"path": "application/views/templates/partials/hierarchy_list.phtml",
"chars": 1083,
"preview": "<?php\n/**\n * OntoWiki hierarchy module children list template\n */\n?>\n<?php if ($this->open): ?>\n <ul class=\"bullets-n"
},
{
"path": "application/views/templates/partials/list.phtml",
"chars": 4616,
"preview": "<?php\n$start = microtime(true);\n$instances = $this->instances;\n\n$graph = $this->instances->getGraph();\n$store = $this->i"
},
{
"path": "application/views/templates/partials/list_std_element.phtml",
"chars": 12000,
"preview": "<?php\n//url will be used to generate links to related lists (show properties as list)\n$url = new OntoWiki_Url(array('con"
},
{
"path": "application/views/templates/partials/list_std_main.phtml",
"chars": 4243,
"preview": "<?php $odd = true;\n\n// build menu\n$actionMenu = new OntoWiki_Menu();\n$actionMenu->setEntry('Toggle show Permalink', \"jav"
},
{
"path": "application/views/templates/partials/menu.phtml",
"chars": 2187,
"preview": "<?php\n/**\n * OntoWiki menu partial template\n *\n * @author Norman Heino <norman.heino@gmail.com>\n * @author Michael Has"
},
{
"path": "application/views/templates/partials/message.phtml",
"chars": 257,
"preview": "<?php\n/**\n * OntoWiki message partial template\n *\n * @author Norman Heino <norman.heino@gmail.com>\n * @author Michael "
},
{
"path": "application/views/templates/partials/meta.phtml",
"chars": 820,
"preview": "<?php if ($this->has('update')): ?>\n <?php foreach ($this->placeholder('update') as $update): ?>\n <?php if (is"
},
{
"path": "application/views/templates/partials/module.phtml",
"chars": 679,
"preview": "<?php\n/**\n * OntoWiki window partial template\n *\n * @author Norman Heino <norman.heino@gmail.com>\n * @author Michael H"
},
{
"path": "application/views/templates/partials/navigation.phtml",
"chars": 575,
"preview": "<?php\n/**\n * OntoWiki navigation partial template\n *\n * @author Norman Heino <norman.heino@gmail.com>\n * @author Micha"
},
{
"path": "application/views/templates/partials/resultset.phtml",
"chars": 2047,
"preview": "<?php\n/**\n * OntoWiki resultset partial template\n *\n * @author Jonas Brekle <jonas.brekle@gmail.com>\n */\n\n$resultCounte"
},
{
"path": "application/views/templates/partials/statusbar.phtml",
"chars": 400,
"preview": "<?php\n/**\n * OntoWiki menu partial template\n *\n * @author Norman Heino <norman.heino@gmail.com>\n * @author Michael Has"
},
{
"path": "application/views/templates/partials/table.phtml",
"chars": 3068,
"preview": "<?php\n/**\n * OntoWiki table template partial\n *\n * possible view parameter:\n * - tableClass, rowClass, itemClass: css cl"
},
{
"path": "application/views/templates/partials/toolbar.phtml",
"chars": 583,
"preview": "<?php\n/**\n * OntoWiki toolbar partial template\n *\n * @author Norman Heino <norman.heino@gmail.com>\n * @author Michael "
},
{
"path": "application/views/templates/partials/window.phtml",
"chars": 3078,
"preview": "<?php\n/**\n * OntoWiki window partial template\n *\n * @author Norman Heino <norman.heino@gmail.com>\n * @author Michael H"
},
{
"path": "application/views/templates/resource/instances.phtml",
"chars": 1,
"preview": "\n"
},
{
"path": "application/views/templates/resource/properties.phtml",
"chars": 6443,
"preview": "<?php if (isset($this->prePropertiesContent)): ?>\n <div><?php echo $this->prePropertiesContent; ?></div> \n<?php en"
},
{
"path": "build/phpcs.xml",
"chars": 155,
"preview": "<?xml version=\"1.0\"?>\n\n<ruleset name=\"OntoWikiRuleSet\">\n<description>OntoWiki rule set for PHP_CodeSniffer</description>"
},
{
"path": "build.xml",
"chars": 7011,
"preview": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n\n<project name=\"OntoWiki\" default=\"build\">\n <target name=\"build-unit\" depends="
},
{
"path": "composer.json",
"chars": 1255,
"preview": "{\n \"name\": \"aksw/ontowiki\",\n \"description\": \"Semantic data wiki as well as Linked Data publishing engine\",\n \"ty"
},
{
"path": "config.ini.dist",
"chars": 4949,
"preview": ";;;;\n;; OntoWiki user config file\n;;\n;; Settings here will overwrite values from application/config/default.ini\n;;\n;; @p"
},
{
"path": "debian/Makefile/Makefile",
"chars": 528,
"preview": "\ndefault:\n\nprepare:\n\trm -rf ../../build*\n\trm -f ../../Makefile\n\trm -f ../../web.config\n\trm -rf ../../libraries/Erfurt\n\tr"
},
{
"path": "debian/changelog",
"chars": 8307,
"preview": "ontowiki (0.9.11) lod2; urgency=low\n\n * Improve model selection in linkeddataserver extension\n * Extend cache clear sc"
},
{
"path": "debian/compat",
"chars": 2,
"preview": "7\n"
},
{
"path": "debian/conf/apache2/apache.conf",
"chars": 245,
"preview": "# OntoWiki Apache Configuration\n<Directory /usr/share/ontowiki>\n # needed for following the config.ini\n Options +F"
},
{
"path": "debian/conf/gnome/ontowiki.desktop",
"chars": 240,
"preview": "[Desktop Entry]\nName=OntoWiki\nComment=A Semantic Data Wiki\nExec=gnome-www-browser http://localhost/ontowiki\nTerminal=fal"
},
{
"path": "debian/conf/mysql/config.ini",
"chars": 2010,
"preview": ";;\n; OntoWiki user config file\n;\n; Settings here will overwrite values\n; from default.ini.\n;\n; @package application\n;"
},
{
"path": "debian/conf/virtuoso/config.ini",
"chars": 1566,
"preview": ";;\n; OntoWiki user config file\n;\n; Settings here will overwrite values\n; from default.ini.\n;\n; @package application\n;"
},
{
"path": "debian/control",
"chars": 3662,
"preview": "Source: ontowiki\nSection: web\nPriority: extra\nMaintainer: Sebastian Tramp <tramp@informatik.uni-leipzig.de>\nBuild-Depend"
},
{
"path": "debian/copyright",
"chars": 3364,
"preview": "Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/\nUpstream-Name: Erfurt\nSource: https://github.c"
},
{
"path": "debian/ontowiki-common.dirs",
"chars": 36,
"preview": "var/cache/ontowiki\nvar/log/ontowiki\n"
},
{
"path": "debian/ontowiki-common.install",
"chars": 580,
"preview": "index.php usr/share/ontowiki\n.htaccess usr/share/ontowiki\n\napplication/Bootstrap.php usr/share/ontowiki/appl"
},
{
"path": "debian/ontowiki-common.links",
"chars": 621,
"preview": "/usr/share/php/libzend-framework-php/Zend /usr/share/ontowiki/libraries/Zend\n/usr/share/php/liberfurt-php /usr/share/ont"
},
{
"path": "debian/ontowiki-common.postinst",
"chars": 484,
"preview": "#!/bin/sh -e\n# postinst script for ontowiki\n#\n# see: dh_installdeb(1)\n\necho \"---- starting postinst $@\"\n\nchown www-data:"
},
{
"path": "debian/ontowiki-mysql.install",
"chars": 179,
"preview": "debian/conf/apache2/* etc/ontowiki\ndebian/conf/mysql/* etc/ontowiki\ndebian/sql/* usr/share/dbconfig-common/da"
},
{
"path": "debian/ontowiki-mysql.links",
"chars": 113,
"preview": "/etc/ontowiki/config.ini /usr/share/ontowiki/config.ini\n/etc/ontowiki/apache.conf /etc/apache2/conf.d/ontowiki\n\n"
},
{
"path": "debian/ontowiki-mysql.postinst",
"chars": 1129,
"preview": "#!/bin/sh -e\n# postinst script for ontowiki\n#\n# see: dh_installdeb(1)\n\necho \"---- starting postinst $@\"\n\nmysql_run=\"mysq"
},
{
"path": "debian/ontowiki-mysql.prerm",
"chars": 190,
"preview": "#!/bin/sh -e\n# prerm script for ontowiki\n#\n# see: dh_installdeb(1)\n\necho \"---- starting prerm $@\"\n\nrm -f $APACHECONF_TAR"
},
{
"path": "debian/ontowiki-virtuoso.install",
"chars": 182,
"preview": "debian/conf/apache2/* etc/ontowiki\ndebian/conf/virtuoso/* etc/ontowiki\ndebian/sql/* usr/share/dbconfig-common"
},
{
"path": "debian/ontowiki-virtuoso.links",
"chars": 113,
"preview": "/etc/ontowiki/config.ini /usr/share/ontowiki/config.ini\n/etc/ontowiki/apache.conf /etc/apache2/conf.d/ontowiki\n\n"
},
{
"path": "debian/ontowiki-virtuoso.postinst",
"chars": 1994,
"preview": "#!/bin/sh -e\n# postinst script for ontowiki-virtuoso\n#\n# see: dh_installdeb(1)\n\necho \"---- starting postinst $@\"\n\nvirtet"
},
{
"path": "debian/rules",
"chars": 442,
"preview": "#!/usr/bin/make -f\n# -*- makefile -*-\n# Sample debian/rules that uses debhelper.\n# This file was originally written by J"
},
{
"path": "debian/source/format",
"chars": 13,
"preview": "3.0 (native)\n"
},
{
"path": "debian/sql/install/mysql",
"chars": 0,
"preview": ""
},
{
"path": "debian/sql/install/virtuoso",
"chars": 326,
"preview": "USER_CREATE('ontowiki_deb', 'usepwgenhere', vector ('SQL_ENABLE',1));\nGRANT SELECT ON sys_rdf_schema TO ontowiki_deb;\nGR"
},
{
"path": "extensions/account/AccountController.php",
"chars": 5869,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2011-"
},
{
"path": "extensions/account/LoginModule.php",
"chars": 3225,
"preview": "<?php\n/**\n * This file is part of the {@link http://ontowiki.net OntoWiki} project.\n *\n * @copyright Copyright (c) 2011-"
},
{
"path": "extensions/account/default.ini",
"chars": 466,
"preview": ";;\n; Static module configuration\n;;\nenabled = true\nname = \"Login Module\"\ndescription = \"provides a login modu"
},
{
"path": "extensions/account/doap.n3",
"chars": 1348,
"preview": "@prefix xsd: <http://www.w3.org/2001/XMLSchema#>.\n@prefix doap: <http://usefulinc.com/ns/doap#> .\n@prefix rdfs: <http://"
},
{
"path": "extensions/account/languages/account-de.csv",
"chars": 660,
"preview": "Account Recovery Stage %s;Account Wiederherstellung Abschnitt %s\nAccount Recovery Error;Account Wiederherstellung Fehler"
},
{
"path": "extensions/account/languages/account-en.csv",
"chars": 313,
"preview": "Account Recovery Stage %s\nAccount Recovery Error\nInvalid recovery session identifier.\nYou received a mail with further i"
},
{
"path": "extensions/account/templates/account/recover.phtml",
"chars": 1879,
"preview": "<?php\n\n/**\n * OntoWiki account recovery template\n *\n * @author Norman Heino <norman.heino@gmail.com>\n * @author Philipp "
}
]
// ... and 357 more files (download for full content)
About this extraction
This page contains the full source code of the AKSW/OntoWiki GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 557 files (4.3 MB), approximately 1.2M tokens, and a symbol index with 1677 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.