source: Dev/trunk/classes/ApplicationDatabaseInterface.php @ 114

Last change on this file since 114 was 111, checked in by basvannuland, 14 years ago

application map is created if non-existent

File size: 2.4 KB
RevLine 
[40]1<?php
2
3// Survey database interface class as intermediate for storing data from the site to the RDF database
[45]4require_once 'rdfConstants.php';
[40]5
6// Include RAP Library to write RDF files
7include(RDFAPI_INCLUDE_DIR . "RDFAPI.php");
8
9
10
11class ApplicationDatabaseInterface
12{               
[62]13    protected $applicationRDFWriter;
14    protected $applicationRDFReader;
[40]15
[86]16    protected $applicationID;
[62]17
[86]18
[78]19    public function __construct($applicationID)
20    {           
21        if($applicationID == null)
[86]22            $this->applicationID = md5( uniqid(rand(), true) );
[78]23        else
[86]24            $this->applicationID = $applicationID;
[78]25                       
[86]26        $this->applicationRDFWriter = new ApplicationRDFWriter($this->applicationID);
[62]27        $this->applicationRDFReader = new ApplicationRDFReader();
28    }
[86]29   
30    public function getApplicationID()
31    {
32        return $this->applicationID;
33    }
[62]34
35    public function setApplicationInfo($applicationInfo)
[40]36    {
[80]37        $appTitle = $applicationInfo['applicationTitle'];
38        $appDescription = $applicationInfo['applicationDescription'];
39        $appStyle = null;
[62]40
41        $this->applicationRDFWriter->setApplicationInfo($appTitle, $appDescription, $appStyle);
42
43        $this->applicationRDFWriter->saveApplications();
[40]44    }
45
[62]46    public function getApplicationInfo($applicationID)
47    {
48        $applicationInfo = array();
49
[87]50        $resultApplication = $this->applicationRDFReader->readApplicationInfo($applicationID);
[88]51       
52        $applicationInfo['applicationID'] = $applicationID;
53        $applicationInfo['applicationTitle'] = $resultApplication[0]['?title']->label;
54        $applicationInfo['applicationDescription'] = $resultApplication[0]['?description']->label;
55        $applicationInfo['applicationStyle'] = $resultApplication[0]['?style']->label;
[62]56        return $applicationInfo;
57    }
58
59    public function getExistingApplications()
60    {
61        $applicationInfo = array();
62
63        $resultApplication = $this->applicationRDFReader->readAllApplications();
[91]64        if($resultApplication[0] != false)
[62]65        {
[91]66            for($aNumber = 0;$aNumber<sizeof($resultApplication[0]);$aNumber++)
67            {
68                $aID = $resultApplication[0][$aNumber]['?uid']->label;
69                $aTitle = $resultApplication[1][$aNumber]['?title']->label;
70                $applicationInfo[$aID] = $aTitle;
71            }
72        }
[62]73
74        return $applicationInfo;
75    }
[40]76}
77?>
Note: See TracBrowser for help on using the repository browser.