Beispiel #1
0
        }
        $response->setStatusCode(201, 'Created');
        $response->setContent("<?xml version='1.0' encoding='ISO-8859-1'?><response><status>OK</status><mensagem>Foram criados {$total} produtos de um total de " . count($xml) . " de produtos enviados</mensagem></response>");
    } else {
        $response->setStatusCode(401, 'Não autorizado');
        $response->setContent("<?xml version='1.0' encoding='ISO-8859-1'?><response><status>ERROR</status><mensagem>Chave inválida</mensagem></response>");
    }
    return $response;
});
// Update produto
$app->post('/update/product/{key}/{codigo}', function ($key, $codigo) use($app, $di) {
    $response = new Response();
    $conta = Contas::findFirst(array('conditions' => array('key' => $key)));
    if ($conta) {
        setDatabase($di, $conta->host, $conta->database);
        $produto = Produtos::findFirst(array('conditions' => array('sku' => $codigo)));
        if ($produto) {
            $xml = simplexml_load_string($_POST['xml']);
            if (!isset($xml->detalhe)) {
                $produto->estoque = intval($xml->estoque);
                $produto->valor = floatval($xml->valor);
            } else {
                $chave = null;
                foreach ($produto->detalhes as $key => $value) {
                    if ($value['codigo'] == $xml->detalhe->codigo) {
                        $chave = $key;
                    }
                }
                if (!is_null($chave)) {
                    $produto->detalhes[$chave]['estoque'] = intval($xml->detalhe->estoque);
                    $produto->detalhes[$chave]['valor'] = floatval($xml->detalhe->valor);