public function actionAddExLink()
 {
     if (isset($_POST['dataset_id']) && isset($_POST['url']) && isset($_POST['externalLinkType'])) {
         $url = $_POST['url'];
         if (!preg_match("/\\b(?:(?:https?|ftp):\\/\\/|www\\.)[-a-z0-9+&@#\\/%?=~_|!:,.;]*[-a-z0-9+&@#\\/%=~_|]/i", $url)) {
             Util::returnJSON(array("success" => false, "message" => Yii::t("app", "The URL is invalid. Please enter a valid URL including http://")));
         }
         $exLink = ExternalLink::model()->findByAttributes(array('dataset_id' => $_POST['dataset_id'], 'url' => $url));
         if ($exLink) {
             Util::returnJSON(array("success" => false, "message" => Yii::t("app", "This external link has been added already.")));
         }
         $exLink = new ExternalLink();
         $exLink->dataset_id = $_POST['dataset_id'];
         $exLink->url = $url;
         $exLink->external_link_type_id = $_POST['externalLinkType'];
         if ($exLink->save()) {
             Util::returnJSON(array("success" => true));
         }
         Util::returnJSON(array("success" => false, "message" => Yii::t("app", "Save Error.")));
     }
 }
Exemplo n.º 2
0
 private function addExternalLink($dataset_id, $additional_information, $genome_browser)
 {
     if (!empty($additional_information)) {
         $external_link_type = ExternalLinkType::model()->find("name=?", array("additional_information"));
         $external_link = new ExternalLink();
         $external_link->dataset_id = $dataset_id;
         $external_link->external_link_type_id = $external_link_type->id;
         $external_link->url = $additional_information;
         $external_link->save(false);
     }
     if (!empty($genome_browser)) {
         $external_link_type = ExternalLinkType::model()->find("name=?", array("genome_browser"));
         $external_link = new ExternalLink();
         $external_link->dataset_id = $dataset_id;
         $external_link->external_link_type_id = $external_link_type->id;
         $external_link->url = $genome_browser;
         $external_link->save(false);
     }
 }