Advertisement
leonbobster

like controller before

Sep 17th, 2014
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.55 KB | None | 0 0
  1. <?php
  2.  
  3. $app->get('/like/world-band/{band_id}', function ($band_id) use ($app,$_CONFIG)
  4. {
  5.     //Нужна авторизация
  6.     if(!$app['user']->auth) $app->abort(403,'access dined!');
  7.     //Едем дальше
  8.     $band = $app['db']->selectCollection("world_bands")->findOne(array('_id'=>new MongoId($band_id)));
  9.     $ratind = $band['rating'];
  10.     if($band === null)
  11.     {
  12.         $app->abort(404,'band not found!');
  13.     }
  14.     else
  15.     {
  16.         $tmp = $app['db']->selectCollection("likes")->findOne(array('from_id'=>$app['user']->data['_id'],'to_id'=>new \MongoId($band_id),'type'=>'world-band'));
  17.         if($tmp == null)
  18.         {
  19.             $ratind++;
  20.             $like = array(
  21.                 'from_id'   => $app['user']->data['_id'],
  22.                 'to_id'     => new \MongoId($band_id),
  23.                 'type'      => 'world-band'
  24.             );
  25.             $app['db']->selectCollection('likes')->insert($like);  
  26.             $app['db']->selectCollection("world_bands")->update(array('_id'=>new MongoId($band_id)), array('$set' => array('rating'=>$ratind)));
  27.             //Пересчитываем позиции
  28.             $i = 1;
  29.             foreach($app['db']->selectCollection("world_bands")->find()->sort(array('rating'=>-1)) as $k=>$band)
  30.             {
  31.                 $app['db']->selectCollection("world_bands")->update(array('_id'=>$band['_id']), array('$set' => array('position'=>$i)));
  32.                 $i++;
  33.             }
  34.         }
  35.         //результат
  36.         return $app->json(array(
  37.             'disable'   => array('.ratingBandButton_' . $band_id),
  38.             'result'    => $ratind
  39.         ));
  40.     }
  41. });
  42.  
  43. $app->get('/like/band/{band_id}', function ($band_id) use ($app,$_CONFIG)
  44. {
  45.     //Нужна авторизация
  46.     if(!$app['user']->auth) $app->abort(403,'access dined!');
  47.     //Едем дальше
  48.     $band = $app['db']->selectCollection("bands")->findOne(array('_id'=>new MongoId($band_id)));
  49.     $ratind = $band['rating'];
  50.     if($band === null)
  51.     {
  52.         $app->abort(404,'band not found!');
  53.     }
  54.     else
  55.     {
  56.         $tmp = $app['db']->selectCollection("likes")->findOne(array('from_id'=>$app['user']->data['_id'],'to_id'=>new \MongoId($band_id),'type'=>'band'));
  57.         if($tmp == null)
  58.         {
  59.             $ratind++;
  60.             $like = array(
  61.                 'from_id'   => $app['user']->data['_id'],
  62.                 'to_id'     => new \MongoId($band_id),
  63.                 'type'      => 'band'
  64.             );
  65.             $band['rating']++;
  66.             $app['db']->selectCollection('likes')->insert($like);  
  67.             $app['db']->selectCollection("bands")->update(array('_id'=>new MongoId($band_id)), array('$set' => array('rating'=>$ratind)));
  68.             //Пересчитываем позиции
  69.             $i = 1;
  70.             foreach($app['db']->selectCollection("bands")->find()->sort(array('rating'=>-1)) as $k=>$band)
  71.             {
  72.                 $app['db']->selectCollection("bands")->update(array('_id'=>$band['_id']), array('$set' => array('position'=>$i)));
  73.                 $i++;
  74.             }
  75.         }
  76.         //результат
  77.         return $app->json(array(
  78.             'disable'   => array('.ratingBandButton_' . $band_id),
  79.             'result'    => $ratind
  80.         ));
  81.     }
  82. });
  83.  
  84. $app->get('/like/track/{track_id}', function ($track_id) use ($app,$_CONFIG)
  85. {
  86.     //Нужна авторизация
  87.     if(!$app['user']->auth) $app->abort(403,'access dined!');
  88.     //Едем дальше
  89.     $track = $app['db']->selectCollection("music")->findOne(array('_id'=>new MongoId($track_id)));
  90.     if($track === null)
  91.     {
  92.         $app->abort(404,'track not found!');
  93.     }
  94.     else
  95.     {
  96.         $tmp = $app['db']->selectCollection("likes")->findOne(array('from_id'=>$app['user']->data['_id'],'to_id'=>new \MongoId($track_id),'type'=>'track'));
  97.         if($tmp == null)
  98.         {
  99.             $like = array(
  100.                 'from_id'   => $app['user']->data['_id'],
  101.                 'to_id'     => new \MongoId($track_id),
  102.                 'type'      => 'track'
  103.             );
  104.             $track['rating']++;
  105.             $app['db']->selectCollection('likes')->insert($like);  
  106.             $app['db']->selectCollection("music")->update(array('_id'=>new MongoId($track_id)), array('$set' => array('rating'=>$track['rating'])));
  107.         }
  108.         //результат
  109.         return $app->json(array(
  110.             'disable'   => array('.ratingTrackButton_' . $track_id),
  111.             'result'    => $track['rating']
  112.         ));
  113.     }
  114. });
  115.  
  116. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement