public function execute($request) { $this->requestname = $request; $request->setRequestFormat('xml'); $this->date = gmdate('Y-m-d\\TH:i:s\\Z'); $this->attributes = $request->getGetParameters(); /* * If limit dates are not supplied, define them as '' */ if (!isset($request->from)) { $this->from = ''; } else { $this->from = $request->from; } if (!isset($request->until)) { $this->until = ''; } else { $this->until = $request->until; } $this->collectionsTable = QubitOai::getCollectionArray(); /* * If set is not supplied, define it as '' */ if (!isset($request->set)) { $collection = ''; } else { $collection = QubitOai::getCollectionInfo($request->set, $this->collectionsTable); } //Get the records according to the limit dates and collection $this->records = QubitInformationObject::getUpdatedRecords($this->from, $this->until, $collection); $this->publishedRecords = array(); foreach ($this->records as $record) { if ($record->getPublicationStatus()->statusId == QubitTerm::PUBLICATION_STATUS_PUBLISHED_ID) { $this->publishedRecords[] = $record; } } $this->recordsCount = count($this->publishedRecords); $this->path = $request->getUriPrefix() . $request->getPathInfo(); $this->attributesKeys = array_keys($this->attributes); $this->requestAttributes = ''; foreach ($this->attributesKeys as $key) { $this->requestAttributes .= ' ' . $key . '="' . $this->attributes[$key] . '"'; } }