Exemplo n.º 1
0
$app->delete('/emoji/:id', function ($id) use($app, $db) {
    $app->response()->header('Content-Type', 'application/json');
    $token = $app->request->headers->get('token');
    $emoji = $db->emojis()->where('id', $id);
    $data = $db->users()->where('token', $token)->fetch('time');
    $result = date($data);
    /*
     * To calculate the difference in time between when you log in and when
     * you perform this request.
     */
    $userLoginTime = new DateTime(date('Y-m-d H:i:s', strtotime(str_replace('-', '/', $result))));
    $currentRequestTime = new DateTime(date('Y-m-d H:i:s'));
    $timeDifference = $userLoginTime->diff($currentRequestTime);
    $timeDifferenceInMinutes = $timeDifference->h * 60 + $timeDifference->i;
    if ($token !== $db->users()->where('token', $token)->fetch('token')) {
        echo json_encode(array('status' => false, 'message' => 'Please provide a valid token'));
    } else {
        if ($timeDifferenceInMinutes > 300) {
            $user = $db->users()->where('token', $token)->fetch();
            $token = '';
            $data = ['token' => $token];
            $result = $user->update($data);
            echo "login first";
        } else {
            if ($emoji->fetch()) {
                $result = $emoji->delete();
                $emojis = array();
                foreach ($db->emojis() as $emoji) {
                    $emojis[] = array('id' => $emoji['id'], 'name' => $emoji['name'], 'keywords' => $emoji['keywords'], 'emoji' => $emoji['emoji'], 'category' => $emoji['category'], 'created_at' => $emoji['created_at'], 'updated_at' => $emoji['updated_at'], 'user' => $emoji['user']);
                }
                echo json_encode($emojis, JSON_FORCE_OBJECT);
            } else {
                echo json_encode(array('status' => false, 'message' => "Emoji id {$id} does not exist"));
            }
        }
    }
});