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);
 }