/** * Add a record to the user's saved record space. $objXerxesRecord will be * updated with internal db id and original id.. * * @param string $username username to save the record under * @param string $source name of the source database * @param string $id identifier for the record * @param Xerxes_Record $objXerxesRecord xerxes record object to save * @return int inserted id */ public function addRecord($username, $source, $id, Record $objXerxesRecord) { $arrValues = array(); $iYear = (int) $objXerxesRecord->getYear(); $strTitle = $objXerxesRecord->getMainTitle(); $strSubTitle = $objXerxesRecord->getSubTitle(); if ($strSubTitle != "") { $strTitle .= ": " . $strSubTitle; } $strSQL = "INSERT INTO xerxes_records \r\n\t\t\t( source, original_id, timestamp, username, nonsort, title, author, year, format, record_type, marc )\r\n\t\t\tVALUES \r\n\t\t\t( :source, :original_id, :timestamp, :username, :nonsort, :title, :author, :year, :format, :record_type, :marc)"; $arrValues[":source"] = $source; $arrValues[":original_id"] = $id; $arrValues[":timestamp"] = date("Y-m-d H:i:s"); $arrValues[":username"] = $username; $arrValues[":nonsort"] = $objXerxesRecord->getNonSort(); $arrValues[":title"] = substr($strTitle, 0, 90); $arrValues[":author"] = $objXerxesRecord->getPrimaryAuthor(true); $arrValues[":year"] = $iYear; $arrValues[":format"] = $objXerxesRecord->format()->getInternalFormat(); ##### xerxes 1 transition hack @todo remove this if ($objXerxesRecord instanceof Summon\Record && $this->registry->getConfig('XERXES_1_TRANS', false)) { $link_resolver = $this->registry->getConfig("LINK_RESOLVER_ADDRESS", true); $sid = $this->registry->getConfig("APPLICATION_SID", false, "calstate.edu:xerxes"); $objXerxesRecord = new \Xerxes_TransRecord($objXerxesRecord, $link_resolver, $sid); } ###### end hack $arrValues[":marc"] = serialize($objXerxesRecord); $arrValues[":record_type"] = "xerxes_record"; $this->insert($strSQL, $arrValues); // get the internal xerxes record id for the saved record, and fill record // with it, so caller can use. $getIDSql = "SELECT id FROM xerxes_records WHERE original_id = :original_id"; $getIDParam = array(":original_id" => $id); $getIDResults = $this->select($getIDSql, $getIDParam); $objXerxesRecord->id = $getIDResults[0]["id"]; $objXerxesRecord->original_id = $id; return $objXerxesRecord->id; }
/** * Add a record to the user's saved record space. * * @param string $username username to save the record under * @param string $source name of the source database * @param string $id identifier for the record * @param Record $xerxes_record xerxes record object to save * @return int inserted id */ public function addRecord($username, $source, $id, Record $xerxes_record) { $arrValues = array(); $iYear = (int) $xerxes_record->getYear(); $strTitle = $xerxes_record->getMainTitle(); $strSubTitle = $xerxes_record->getSubTitle(); if ($strSubTitle != "") { $strTitle .= ": " . $strSubTitle; } $strSQL = "INSERT INTO xerxes_records \r\n\t\t\t( source, original_id, timestamp, username, nonsort, title, author, year, format, record_type, marc )\r\n\t\t\tVALUES \r\n\t\t\t( :source, :original_id, :timestamp, :username, :nonsort, :title, :author, :year, :format, :record_type, :marc)"; $arrValues[":source"] = $source; $arrValues[":original_id"] = $id; $arrValues[":timestamp"] = date("Y-m-d H:i:s"); $arrValues[":username"] = $username; $arrValues[":nonsort"] = $xerxes_record->getNonSort(); $arrValues[":title"] = substr($strTitle, 0, 90); $arrValues[":author"] = $xerxes_record->getPrimaryAuthor(true); $arrValues[":year"] = $iYear; $arrValues[":format"] = $xerxes_record->format()->getReadableNormalizedFormat(); $arrValues[":marc"] = serialize($xerxes_record); $arrValues[":record_type"] = "xerxes_record"; return $this->insert($strSQL, $arrValues, true); }