Exemplo n.º 1
0
}
// Update data source
if ($command === "Create") {
    $item = new SMKeyValueCollection();
    foreach ($props as $prop => $val) {
        if (isset($dsDef["Fields"][$prop]["ForceInitialValue"]) === true) {
            $item[$prop] = $dsDef["Fields"][$prop]["ForceInitialValue"];
            continue;
        }
        $item[$prop] = (string) $val;
    }
    if (isset($dsDef["Callbacks"]) === true && isset($dsDef["Callbacks"]["Functions"]["Create"]) === true) {
        require_once $dsDef["Callbacks"]["File"];
        $dsDef["Callbacks"]["Functions"]["Create"]($item);
    }
    $ds->Insert($item);
    $ds->Commit();
    if (isset($dsDef["Callbacks"]) === true && isset($dsDef["Callbacks"]["Functions"]["CreateCompleted"]) === true) {
        require_once $dsDef["Callbacks"]["File"];
        $dsDef["Callbacks"]["Functions"]["CreateCompleted"]($item);
    }
    echo SMShopDataItemToJson($dsDef, $props, $item);
    // Return updated data to client (UTF8 encoded)
} else {
    if ($command === "Retrieve") {
        $items = $ds->Select("*", "Id = '" . $ds->Escape($props["Id"]) . "'");
        if (count($items) > 0) {
            $item = $items[0];
            if (isset($dsDef["Callbacks"]) === true && isset($dsDef["Callbacks"]["Functions"]["Retrieve"]) === true) {
                require_once $dsDef["Callbacks"]["File"];
                $dsDef["Callbacks"]["Functions"]["Retrieve"]($item);