Esempio n. 1
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $faker = Faker\Factory::create();
     for ($i = 0; $i < 100; $i++) {
         $type = $faker->numberBetween(1, 3);
         switch ($type) {
             case 1:
                 $name = ucfirst($faker->word);
                 break;
             case 2:
             case 3:
                 $name = ucwords(implode(' ', $faker->words(3)));
                 break;
         }
         $item = Item::create(['user_id' => $faker->numberBetween(1, 2), 'type_id' => $type, 'product_id' => $faker->numberBetween(1, 3), 'name' => $name, 'desc' => $faker->paragraph(10), 'slug' => '']);
         // Create a new meta model
         $metadata = new ItemMetadata();
         $metadata->fill(['item_id' => $item->id, 'installation' => implode("\r\n\r\n", $faker->paragraphs(3)), 'history' => $faker->paragraph])->save();
         // Determine how many times we're looping through ratings
         $ratingsLoop = $faker->numberBetween(1, 10);
         for ($j = 1; $j < $ratingsLoop; $j++) {
             ItemRating::create(['user_id' => $faker->numberBetween(1, 50), 'item_id' => $item->id, 'rating' => $faker->numberBetween(1, 5)]);
         }
         // Update the total rating
         $item->updateRating();
         // Determine how many times we're looping through comments
         $commentsLoop = $faker->numberBetween(1, 10);
         for ($c = 1; $c < $commentsLoop; $c++) {
             Comment::create(['user_id' => $faker->numberBetween(1, 50), 'item_id' => $item->id, 'content' => $faker->paragraph]);
         }
         // Determine how many times we're looping through files
         $filesLoop = $faker->numberBetween(1, 10);
         for ($f = 1; $f < $filesLoop; $f++) {
             $version = $faker->randomFloat(1, 1, 9);
             $filename = "{$item->user->username}/{$item->slug}-{$version}.zip";
             ItemFile::create(['item_id' => $item->id, 'filename' => $filename, 'version' => $version, 'size' => $faker->numberBetween(1, 999999)]);
         }
         $item->update(['version' => $version]);
         // Determine how many times we're looping through orders
         $ordersLoop = $faker->numberBetween(0, 100);
         for ($o = 1; $o < $ordersLoop; $o++) {
             Order::create(['user_id' => $faker->numberBetween(1, 50), 'item_id' => $item->id, 'file_id' => $faker->numberBetween(1, 400)]);
         }
     }
 }
Esempio n. 2
0
 public function executeRate()
 {
     if ($this->getRequest()->isXmlHttpRequest()) {
         $rating = $this->getRequestParameter('rating');
         $item_id = $this->getRequestParameter('it');
         if ($rating > 5) {
             $rating = 5;
         }
         if ($rating < 0) {
             $rating = 0;
         }
         $this->user = $this->getUser()->getRaykuUser();
         $c = new Criteria();
         $c->add(ItemRatingPeer::ITEM_ID, $item_id);
         $c->add(ItemRatingPeer::USER_ID, $this->user->getId());
         $item_rating = ItemRatingPeer::doSelect($c);
         if ($item_rating) {
             return $this->renderText('already');
         } else {
             $item_rating = new ItemRating();
             $item_rating->setUserId($this->user->getId());
             $item_rating->setItemId($item_id);
             $item_rating->setRating($rating);
             $item_rating->save();
             return $this->renderText('success');
         }
         return $this->renderText('fail');
     }
 }
Esempio n. 3
0
 /**
  * Adds an object to the instance pool.
  *
  * Propel keeps cached copies of objects in an instance pool when they are retrieved
  * from the database.  In some cases -- especially when you override doSelect*()
  * methods in your stub classes -- you may need to explicitly add objects
  * to the cache in order to ensure that the same objects are always returned by doSelect*()
  * and retrieveByPK*() calls.
  *
  * @param      ItemRating $value A ItemRating object.
  * @param      string $key (optional) key to use for instance map (for performance boost if key was already calculated externally).
  */
 public static function addInstanceToPool(ItemRating $obj, $key = null)
 {
     if (Propel::isInstancePoolingEnabled()) {
         if ($key === null) {
             $key = (string) $obj->getId();
         }
         // if key === null
         self::$instances[$key] = $obj;
     }
 }