Beispiel #1
0
                } else {
                    mysqli_query($orderConnection, 'XA ROLLBACK ' . $transactionOrder . ';');
                }
            } else {
                mysqli_query($userConnection, 'XA ROLLBACK ' . $transactionUser . ';');
            }
        } else {
            // коммитим, изменений все равно нет.
            mysqli_query($orderConnection, 'XA COMMIT ' . $transactionOrder . ' ONE PHASE;');
        }
        mysqli_query($userConnection, 'DO RELEASE_LOCK(\'' . $uuid . '-u\');');
        mysqli_query($orderConnection, 'DO RELEASE_LOCK(\'' . $uuid . '-o\');');
        return $result;
    }
}
return function (array $request) {
    $form = createDeleteForm();
    formHandleRequest($form, $request);
    if (formIsValid($form)) {
        $vars = extractValues($form);
        $id = $vars['id'];
        $user = currentUser();
        if (completeOrder($id, $user['id'])) {
            queueNotify('order_done', ['id' => (int) $id]);
            return createResponse();
        } else {
            return createResponse('', 400);
        }
    }
    return createResponse('', 403);
};
Beispiel #2
0
                        mysqli_query($userConnection, 'XA ROLLBACK ' . $transactionUser . ';');
                    }
                } else {
                    mysqli_query($orderConnection, 'XA ROLLBACK ' . $transactionOrder . ';');
                }
            } else {
                mysqli_query($userConnection, 'XA ROLLBACK ' . $transactionUser . ';');
            }
        } else {
            // коммитим, изменений все равно нет.
            mysqli_query($orderConnection, 'XA COMMIT ' . $transactionOrder . ' ONE PHASE;');
        }
        mysqli_query($userConnection, 'DO RELEASE_LOCK(\'' . $uuid . '-u\');');
        mysqli_query($orderConnection, 'DO RELEASE_LOCK(\'' . $uuid . '-o\');');
        return $result;
    }
}
return function (array $request) {
    $form = createDeleteForm();
    formHandleRequest($form, $request);
    if (formIsValid($form)) {
        $vars = extractValues($form);
        $id = $vars['id'];
        $user = currentUser();
        if (deleteOrder($id, $user['id'])) {
            queueNotify('order_delete', ['id' => (int) $id]);
            return createResponse();
        }
    }
    return createResponse('', 403);
};
Beispiel #3
0
        return $result;
    }
}
return function (array $request) {
    $form = createCreateForm();
    formHandleRequest($form, $request);
    $errors = [];
    $form['fields']['name']['value'] = trim(preg_replace('/(?|( )+|(\\n)+|(\\r\\n)+)/', '$1', $form['fields']['name']['value']));
    $form['fields']['description']['value'] = trim(preg_replace('/(?|( )+|(\\n)+|(\\r\\n)+)/', '$1', $form['fields']['description']['value']));
    if (formIsValid($form)) {
        $vars = extractValues($form);
        $name = htmlspecialchars($vars['name']);
        $description = htmlspecialchars($vars['description']);
        $userId = currentUser()['id'];
        $price = (int) ((double) $vars['price'] * 100);
        if ($id = createOrder($name, $description, $price, $userId)) {
            $user = currentUser();
            queueNotify('order_top', ['id' => $id, 'title' => $name, 'description' => nl2br($description), 'price' => $price / 100, 'created_by' => ['id' => $user['id'], 'name' => $user['name']]]);
            return createResponse(json_encode(['id' => $id]), 200, ['content-type' => 'application/json']);
        } else {
            $errors = [['name' => 'price', 'errors' => ['Недостаточно средств на счете.']]];
        }
    } else {
        foreach ($form['fields'] as $field) {
            if ($field['errors']) {
                $errors[] = ['name' => $field['name'], 'errors' => $field['errors']];
            }
        }
    }
    return createResponse(json_encode($errors), 400, ['content-type' => 'application/json']);
};