Ignore:
Timestamp:
03/03/12 19:09:19 (13 years ago)
Author:
hendrikvanantwerpen
Message:

Merge jos-branch 285:298

Location:
Dev/branches/rest-dojo-ui
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • Dev/branches/rest-dojo-ui

  • Dev/branches/rest-dojo-ui/server/classes/models/Session.php

    r274 r302  
    4848                if(is_string($this->creator))
    4949                {
    50                         $result = User::get(array("uid" => $this->creator));
     50                        $crea = ResearchToolObject::stripUri($this->creator);
     51                        $result = User::get(array("uid" => $crea["uid"]));
    5152                        if(!isset($result[0]))
    5253                                return false;
     
    5455                }
    5556                if(!empty($this->pipeline) && is_string($this->pipeline[0]))
    56                 {
     57                {       
    5758                        $newPipeline = array();
    5859                        foreach($this->pipeline as $element)
    5960                        {
    60                                 //Check if the element's UID can be found in surveys, if not:
    61                                 //Check applications. If it isn't in either: invalid reference.
    62                                 $result = Survey::get(array("uid" => $element));
    63                                 if(!isset($result[0]))
    64                                         $result = Application::get(array("uid" => $element));
     61                                $ele = ResearchToolObject::stripUri($element);
     62                                $result;
     63                                if($ele["type"] == "survey")
     64                                {
     65                                        $result = Survey::get(array("uid" => $ele["uid"]));     
     66                                }
     67                                else if($ele["type"] == "application")
     68                                {
     69                                        $result = Application::get(array("uid" => $ele["uid"]));
     70                                }
    6571                                if(!isset($result[0]))
    6672                                        return false;
     
    107113                $model->add(new Statement($resourceSession, $predicateTitle, $sessionTitle));
    108114
    109                 $sessionCreator = new Literal($this->creator->uid);
     115                $sessionCreator = new Resource(USER . '/' . $this->creator->uid);
    110116                $predicateCreator = new Resource(CREATOR);
    111117                $model->add(new Statement($resourceSession, $predicateCreator, $sessionCreator));
     
    121127                        foreach($this->pipeline as $element)
    122128                        {
    123                                 $sessionObject = new Literal($element->uid);
     129                                $sessionObject = null;
    124130                                $predicateObject = null;
    125131                                if(get_class($element) == "Application")
     132                                {
     133                                        $sessionObject = new Resource(APPLICATION . '/' . $element->uid);
    126134                                        $predicateObject = new Resource(HAS_APPLICATION);
     135                                }
    127136                                else if(get_class($element) == "Survey")
     137                                {
     138                                        $sessionObject = new Resource(SURVEY . '/' . $element->uid);
    128139                                        $predicateObject = new Resource(HAS_SURVEY);
     140                                }
    129141                                if(isset($predicateObject))
    130142                                        $model->add(new Statement($resourceSession, $predicateObject, $sessionObject));
     
    132144                }
    133145
    134                 if(isset($this->answersets))
    135                 {
    136                         foreach($this->answersets as $answerset)
    137                         {
    138                                 $sessionAnswerSet = new Literal($answerset->uid);
    139                                 $predicateAnswerSet = new Resource(HAS_ANSWERSET);
    140                                 $model->add(new Statement($resourceSession, $predicateAnswerSet, $sessionAnswerSet));
    141                         }
    142                 }
    143                
    144146                return $model->saveAs(Session::$filename, 'rdf');
    145147        }
     
    178180                                //Create a session object out of every result, get all required fields as well.
    179181                                $pipeline = Session::getPipeline($model, $result['?uid']->label);
    180                                 $creator = $result['?creator']->label;
     182                                $creator = $result['?creator']->uri;
    181183                                $creationdate = new DateTime();
    182184                                $creationdate->setTimestamp(intval($result['?creationdate']->label));
Note: See TracChangeset for help on using the changeset viewer.