示例#1
0
/**
 * ----------------------
 *  route /watchlistadd POST
 * ----------------------
 */
$app->get("/watchlist/add/{dataId}", function (Request $request, $dataId) use($app) {
    if (!($user = $app['user'])) {
        return $app->redirect($app['url_generator']->generate('login'));
    }
    if ($item = ItemQuery::create()->findPk($dataId)) {
        // check unique
        if (!WatchlistQuery::create()->filterByUser($user)->filterByItem($item)->count()) {
            $w = new Watchlist();
            $w->setUser($user);
            $w->setItemId($dataId);
            $w->save();
        }
    }
    $uri = $request->headers->get('referer');
    if ($uri && preg_match('/\\/login/', $uri)) {
        $uri = null;
    }
    return $app->redirect($uri ?: $app['url_generator']->generate('watchlist'));
})->assert('dataId', '\\d+')->bind('watchlistaddpost');
/**
 * ----------------------
 *  route /watchlistremove POST
 * ----------------------
 */
$app->get("/watchlist/remove/{dataId}", function (Request $request, $dataId) use($app) {
    if (!($user = $app['user'])) {