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

Last change on this file since 94 was 91, checked in by basvannuland, 14 years ago

start with dashboard database

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