public function store($documentType, $parameters, $noOfVideos) { //fastcgi_finish_request(); $listOfVideoIdentifiers = array(); $this->listRecords($parameters, $noOfVideos, $listOfVideoIdentifiers); // get list of existing projects $projects = ProjectHandler::listProjects(); // dd("done"); $status = array(); try { $this->createOpenimagesVideoGetterSoftwareAgent(); } catch (Exception $e) { $status['error']['OnlineData'] = $e->getMessage(); return $status; } try { $activity = new Activity(); $activity->softwareAgent_id = "openimagesgetter"; $activity->save(); } catch (Exception $e) { // Something went wrong with creating the Activity $status['error']['OnlineData'] = $e->getMessage(); $activity->forceDelete(); return $status; } $count["count"] = 0; foreach ($listOfVideoIdentifiers as $video) { $title = $video; try { $entity = new Unit(); $entity->_id = $entity->_id; $entity->title = strtolower($title); $entity->documentType = $documentType; $entity->source = "openimages"; $entity->project = "soundandvision"; $entity->type = "unit"; $videoMetadata = $this->getRecord($video, $parameters["metadataPrefix"]); $entity->content = $videoMetadata["content"]; $parents = array(); $entity->parents = $parents; $entity->tags = array("unit"); $entity->segments = $count; $entity->keyframes = $count; $hashing = array(); $hashing["content"] = $entity->content; $hashing["project"] = $entity->project; $entity->hash = md5(serialize($hashing)); $entity->activity_id = $activity->_id; $entity->save(); $status['success'][$title] = $title . " was successfully uploaded. (URI: {$entity->_id})"; // add the project if it doesnt exist yet if (!in_array($entity->project, $projects)) { ProjectHandler::createGroup($entity->project); // add the project to the temporary list array_push($projects, $entity->project); } // add the user to the project if it has no access yet if (!ProjectHandler::inGroup($entity->user_id, $entity->project)) { $user = UserAgent::find($entity->user_id); ProjectHandler::grantUser($user, $entity->project, Roles::PROJECT_MEMBER); } } catch (Exception $e) { // Something went wrong with creating the Entity $activity->forceDelete(); $entity->forceDelete(); $status['error'][$title] = $e->getMessage(); } } $status["recno"] = count($listOfVideoIdentifiers); return $status; }