function do_make_link() { $this->oPage->setBreadcrumbDetails(_kt("link")); $iParentId = $_REQUEST['fDocumentId']; $iLinkTypeId = $_REQUEST['fLinkTypeId']; $sDocIds = $_REQUEST['fTargetDocumentId']; $aDocIds = unserialize($sDocIds); $sTarget = $_REQUEST['fTargetUrl']; $aTarget = unserialize($sTarget); $oLinkType = LinkType::get($iLinkTypeId); if (PEAR::isError($oLinkType)) { $this->errorRedirectToMain(_kt('Invalid link type selected.')); exit(0); } $sTargetUrl = ''; $sTargetName = ''; if (!empty($aTarget)) { $sTargetUrl = $aTarget['url']; $sTargetName = $aTarget['name']; } // create document links $this->startTransaction(); if (!empty($aDocIds)) { foreach ($aDocIds as $iDocId) { $oDocumentLink =& DocumentLink::createFromArray(array('iParentDocumentId' => $iParentId, 'iChildDocumentId' => $iDocId, 'iLinkTypeId' => $iLinkTypeId, 'sTargetUrl' => $sTargetUrl, 'sTargetName' => $sTargetName)); if (PEAR::isError($oDocumentLink)) { $this->rollbackTransaction(); $this->errorRedirectToMain(_kt('Could not create document link'), sprintf('fDocumentId=%d', $iParentId)); exit(0); } } } $this->commitTransaction(); $this->successRedirectToMain(_kt('Document link created'), sprintf('fDocumentId=%d', $iParentId)); exit(0); }