/** * Save new or updated map area */ function saveArea() { global $lng, $ilCtrl; switch ($_SESSION["il_map_edit_mode"]) { // save edited link case "edit_link": $st_item = $this->media_object->getMediaItem("Standard"); $max = ilMapArea::_getMaxNr($st_item->getId()); $area = new ilMapArea($st_item->getId(), $_SESSION["il_map_area_nr"]); if ($_POST["area_link_type"] == IL_INT_LINK) { $area->setLinkType(IL_INT_LINK); $area->setType($_SESSION["il_map_il_type"]); $area->setTarget($_SESSION["il_map_il_target"]); $area->setTargetFrame($_SESSION["il_map_il_targetframe"]); } else { $area->setLinkType(IL_EXT_LINK); if ($_POST["area_link_type"] != IL_NO_LINK) { $area->setHref(ilUtil::stripSlashes($_POST["area_link_ext"])); } else { $area->setHref(""); } } $area->update(); break; // save edited shape // save edited shape case "edit_shape": $st_item = $this->media_object->getMediaItem("Standard"); $max = ilMapArea::_getMaxNr($st_item->getId()); $area =& new ilMapArea($st_item->getId(), $_SESSION["il_map_area_nr"]); $area->setShape($_SESSION["il_map_edit_area_type"]); $area->setCoords($_SESSION["il_map_edit_coords"]); $area->update(); break; // save new area // save new area default: $area_type = $_SESSION["il_map_edit_area_type"]; $coords = $_SESSION["il_map_edit_coords"]; $st_item = $this->media_object->getMediaItem("Standard"); $max = ilMapArea::_getMaxNr($st_item->getId()); // make new area object $area = new ilMapArea(); $area->setItemId($st_item->getId()); $area->setShape($area_type); $area->setCoords($coords); $area->setNr($max + 1); $area->setTitle(ilUtil::stripSlashes($_POST["area_name"])); switch ($_POST["area_link_type"]) { case "ext": $area->setLinkType(IL_EXT_LINK); $area->setHref($_POST["area_link_ext"]); break; case "int": $area->setLinkType(IL_INT_LINK); $area->setType($_SESSION["il_map_il_type"]); $area->setTarget($_SESSION["il_map_il_target"]); $area->setTargetFrame($_SESSION["il_map_il_targetframe"]); break; } // put area into item and update media object $st_item->addMapArea($area); $this->media_object->update(); break; } //$this->initMapParameters(); ilUtil::sendSuccess($lng->txt("cont_saved_map_area"), true); $ilCtrl->redirect($this, "editMapAreas"); }