function initWmcById($wmcId, $wmcAction) { $wmc = new wmc(); $wmc->createFromDb($wmcId); $updatedWMC = $wmc->updateUrlsFromDb(); $wmc->createFromXml($updatedWMC); $jsArray = $wmc->toJavaScript(); if ($jsArray) { $jsString = implode("", $jsArray); echo $jsString; } else { $e = new mb_exception("WMC could not be loaded."); } }
$ajaxResponse->setSuccess(false); } break; // appends a WMC (returns JS code) // appends a WMC (returns JS code) case 'appendWmc': // generate a WMC for the current client state $currentWmc = new wmc(); $currentWmc->createFromJs($json->decode($ajaxResponse->getParameter("mapObject")), $ajaxResponse->getParameter("generalTitle"), $ajaxResponse->getParameter("extensionData")); // get the desired WMC from the database $wmcId = $ajaxResponse->getParameter("id"); $wmcXml = wmc::getDocument($wmcId); // merge the two WMCs $currentWmc->append($wmcXml); // load the merged WMC $jsArray = $currentWmc->toJavaScript(); if (is_array($jsArray) && count($jsArray) > 0) { $resultObj["javascript"] = $jsArray; $ajaxResponse->setResult($resultObj); $ajaxResponse->setSuccess(true); } else { $ajaxResponse->setMessage(_mb("WMC could not be appended.")); $ajaxResponse->setSuccess(false); } break; case 'setWMCPublic': $wmcId = $ajaxResponse->getParameter("id"); $public = $ajaxResponse->getParameter("isPublic") == 1 ? true : false; $wmc = new wmc(); $wmc->createFromDb($wmcId); if ($wmc->setPublic($public)) {
$wmcJs = $wmcGetApi->toJavaScript(array()); $wmcJs = implode(";\n", $wmcJs); $extentJs = $wmcGetApi->extentToJavaScript(); $output[] = <<<JS \t\tMapbender.events.afterInit.register(function () { \t\t\t{$wmcJs}; \t\t}); \t\tMapbender.events.beforeInit.register(function () { \t\t\t{$extentJs} \t\t}); JS; Mapbender::session()->delete("wmcGetApi", $wmcGetApi); } else { Mapbender::session()->set("wmcConstraints", $resultObj); $output = $wmc->wmsToJavaScript(); $wmcJs = $wmc->toJavaScript(array()); $wmcJs = implode(";\n", $wmcJs); $extentJs = $wmc->extentToJavaScript(); $output[] = <<<JS \t\tMapbender.events.afterInit.register(function () { \t\t\t{$wmcJs}; \t\t}); \t\tMapbender.events.beforeInit.register(function () { \t\t\t{$extentJs} \t\t}); JS; Mapbender::session()->set("wmcGetApi", $wmcGetApi); } $outputString = ""; for ($i = 0; $i < count($output); $i++) { $outputString .= administration::convertOutgoingString($output[$i]);