Exemplo n.º 1
0
    $_action = "main";
} else {
    $_action = $_REQUEST["action"];
}
try {
    /* handle POST (if any) */
    if ($_SERVER["REQUEST_METHOD"] == "POST") {
        GUI::handlePOST();
    }
    /* handle action */
    switch ($_action) {
        case "main":
            GUI::printMessage("%s", GUI::createMainScreen());
            break;
        case "layer":
            $layerProperties = DML::getLayerProperties($_REQUEST["layerName"]);
            if (empty($layerProperties->layer)) {
                $layerProperties = new LayarResponse();
                $layerProperties->layer = $_REQUEST["layerName"];
                DML::saveLayerProperties($_REQUEST["layerName"], $layerProperties);
            }
            GUI::printMessage("%s", GUI::createLayerScreen($_REQUEST["layerName"]));
            break;
        case "poi":
            $poi = DML::getPOI($_REQUEST["layerName"], $_REQUEST["poiID"]);
            if (empty($poi)) {
                throw new Exception(sprintf("POI not found: %s:%s", $_REQUEST["layerName"], $_REQUEST["poiID"]));
            }
            GUI::printMessage("%s", GUI::createPOIScreen($_REQUEST["layerName"], $poi));
            break;
        case "newPOI":
Exemplo n.º 2
0
 /**
  * Create a screen for viewing/editing a layer
  *
  * @param string $layerName
  *
  * @return string
  */
 public static function createLayerScreen($layerName)
 {
     $layerDefinition = DML::getLayerDefinition($layerName);
     if ($layerDefinition == NULL) {
         throw new Exception(sprintf("Unknown layer: %s\n", $layerName));
     }
     $result = "";
     $result .= sprintf("<p>Layer name: %s</p>\n", $layerName);
     $result .= sprintf("<p>POI connector: %s</p>\n", $layerDefinition->connector);
     $result .= sprintf("<p>Connector options:\n");
     if (!empty($layerDefinition->connectorOptions)) {
         $result .= "<ul>\n";
         foreach ($layerDefinition->connectorOptions as $optionName => $optionValue) {
             $result .= sprintf("<li>%s: %s</li>\n", $optionName, $optionValue);
         }
         $result .= "</ul>\n";
     } else {
         $result .= "none\n";
     }
     $result .= "</p>\n";
     $result .= sprintf("<form accept-charset=\"utf-8\" action=\"?action=layer&layerName=%s\" method=\"POST\">\n", $layerName);
     $layerProperties = DML::getLayerProperties($layerName);
     $result .= sprintf("<table class=\"layer\">\n");
     $result .= sprintf("<tr><td>Response message</td><td><input type=\"text\" name=\"showMessage\" value=\"%s\"></td></tr>\n", $layerProperties->showMessage);
     $result .= sprintf("<tr><td>Refresh interval</td><td><input type=\"text\" name=\"refreshInterval\" value=\"%s\"></td></tr>\n", $layerProperties->refreshInterval);
     $result .= sprintf("<tr><td>Refresh distance</td><td><input type=\"text\" name=\"refreshDistance\" value=\"%s\"></td></tr>\n", $layerProperties->refreshDistance);
     $result .= sprintf("<tr><td>Full refresh</td><td>%s</td></tr>\n", self::createCheckbox("fullRefresh", $layerProperties->fullRefresh));
     $result .= sprintf("<tr><td>Default BIW Style</td><td><input type=\"text\" name=\"biwStyle\" value=\"%s\"></td></tr>\n", $layerProperties->biwStyle);
     foreach ($layerProperties->actions as $key => $action) {
         $result .= sprintf("<tr><td>Action<br><button type=\"button\" onclick=\"GUI.removeLayerAction(%s)\">Remove</button></td><td>%s</td></tr>\n", $key, self::createActionSubtable($key, $action, TRUE));
     }
     $result .= sprintf("<tr><td colspan=\"2\"><button type=\"button\" onclick=\"GUI.addLayerAction(this)\">New action</button></td></tr>\n");
     $index = 0;
     foreach ($layerProperties->animations as $event => $animations) {
         foreach ($animations as $animation) {
             $result .= sprintf("<tr><td>Animation<br><button type=\"button\" onclick=\"GUI.removeLayerAnimation(%s)\">Remove</button></td><td>%s</td></tr>\n", $index, self::createAnimationSubtable($index, $event, $animation));
             $index++;
         }
     }
     $result .= sprintf("<tr><td colspan=\"2\"><button type=\"button\" onclick=\"GUI.addLayerAnimation(this)\">New animation</button></td></tr>\n");
     $result .= sprintf("<caption><button type=\"submit\">Save</button></caption>\n");
     $result .= sprintf("</table>\n");
     $result .= sprintf("</form>\n");
     $result .= sprintf("<form accept-charset=\"utf-8\" action=\"?action=newPOI&layerName=%s\" method=\"POST\">\n", urlencode($layerName));
     $result .= '<input type="hidden" name="dimension" value="2">';
     $result .= '<input type="hidden" name="layerName" value="' . urlencode($layerName) . '">';
     $result .= '<button type="submit">Create POI</button>';
     $result .= '</form><br/>';
     //		$result .= sprintf("<p><a href=\"?action=newPOI&layerName=%s\">New POI</a></p>\n", urlencode($layerName));
     $result .= self::createPOITable($layerName);
     return $result;
 }