Exemple #1
0
 public function addbooks()
 {
     header('Content-Type: text/html; charset=utf-8');
     for ($i = 0; $i <= 10; $i++) {
         $user = new User();
         $user->name = $this->generateRandomString(5);
         $user->password = bcrypt($user->name);
         $user->email = $user->name . '@gmail.com';
         $user->save();
     }
     $names = ['%22feliz%20gouveia%22', '%22nuno%20ribeiro%22', '%22jose%20torres%22', '%22borges%20gouveia%22', '%22Sophia%20breyner%22', '%22Fernando%20Pessoa%22', '%22Eça%20De%20Queiros%22'];
     foreach ($names as $name) {
         $content = file_get_contents('https://www.googleapis.com/books/v1/volumes?q=' . $name);
         $content = json_decode($content, true);
         $auts = Author::all('name');
         $authors = array();
         foreach ($auts as $aut) {
             $authors[] = $aut['name'];
         }
         $pubs = Publisher::all('publisher');
         $publishers = array();
         foreach ($pubs as $pub) {
             $publishers[] = $pub['publisher'];
         }
         $cats = Collection::all('collection');
         $categories = array();
         foreach ($cats as $cat) {
             $categories[] = $cat['collection'];
         }
         foreach ($content['items'] as $data) {
             $data = $data['volumeInfo'];
             $book = new Book();
             if (isset($data['title'])) {
                 $book->title = $data['title'];
             }
             if (isset($data['subtitle'])) {
                 $book->subtitle = $data['subtitle'];
             }
             if (isset($data['publishedDate'])) {
                 $book->publishedDate = $data['publishedDate'];
             }
             if (isset($data['description'])) {
                 $book->description = $data['description'];
             }
             if (isset($data['pageCount'])) {
                 $book->pages = $data['pageCount'];
             }
             if (isset($data['language'])) {
                 $book->language = $data['language'];
             }
             if (isset($data['industryIdentifiers'])) {
                 foreach ($data['industryIdentifiers'] as $value) {
                     if ($value['type'] == 'ISBN_13') {
                         $book->isbn13 = $value['identifier'];
                     }
                     if ($value['type'] == 'ISBN_10') {
                         $book->isbn10 = $value['identifier'];
                     }
                 }
             }
             if (isset($data['publisher'])) {
                 if (!in_array($data['publisher'], $publishers)) {
                     $publishers[] = $data['publisher'];
                     $publisher = new Publisher();
                     $publisher->publisher = $data['publisher'];
                     $publisher->save();
                     $publisher_id = $publisher->id;
                 } else {
                     $publisher = Publisher::where('publisher', '=', $data['publisher'])->limit(1)->get();
                     $publisher_id = $publisher[0]->id;
                 }
             }
             if (isset($data['imageLinks']['thumbnail'])) {
                 $book->cover = file_get_contents($data['imageLinks']['thumbnail']);
             }
             $book->price_day = random_int(0, 15);
             $book->price_bail = random_int(10, 50);
             $book->price_sale = random_int(10, 79);
             $books[] = $book;
             $book->id_publisher = $publisher_id;
             $book->id_user = rand(1, 10);
             $book->save();
             $book_id = $book->id;
             if (isset($data['categories'])) {
                 foreach ($data['categories'] as $value) {
                     if (!in_array($value, $categories)) {
                         $categories[] = $value;
                         $category = new Collection();
                         $category->collection = $value;
                         $category->save();
                         $category_id = $category->id;
                         $collections = new Book_Collection();
                         $collections->book_id = $book_id;
                         $collections->collection_id = $category_id;
                         $collections->save();
                     } else {
                         $category = Collection::where('collection', '=', $value)->limit(1)->get();
                         $collections = new Book_Collection();
                         $collections->book_id = $book_id;
                         $collections->collection_id = $category[0]->id;
                         $collections->save();
                     }
                 }
             }
             if (isset($data['authors'])) {
                 foreach ($data['authors'] as $value) {
                     if (!in_array($value, $authors)) {
                         $authors[] = $value;
                         $author = new Author();
                         $author->name = $value;
                         $author->save();
                         $author_id = $author->id;
                         $author_book = new Author_Book();
                         $author_book->book_id = $book_id;
                         $author_book->author_id = $author_id;
                         $author_book->save();
                     } else {
                         $author = Author::where('name', 'like', $value)->limit(1)->get();
                         $author_book = new Author_Book();
                         $author_book->book_id = $book_id;
                         $author_book->author_id = $author[0]->id;
                         $author_book->save();
                     }
                 }
             }
             # code...
         }
     }
 }
Exemple #2
0
 /**
  * Show the form for editing the specified resource.
  *
  * @param  int $id
  * @return \Illuminate\Http\Response
  */
 public function edit()
 {
     $user_id = Auth::user()->id;
     $data = INPUT::all();
     $rules = $this->rules();
     $messages = $this->messages();
     $validator = Validator::make($data, $rules, $messages);
     if (!$validator->fails()) {
         $book = Book::find($data['id']);
         $book->title = $data['title'];
         $book->subtitle = $data['subtitle'];
         $book->publishedDate = $data['publishedDate'];
         $book->description = $data['description'];
         $book->pages = $data['pages'];
         $book->isbn10 = $data['isbn10'];
         $book->isbn13 = $data['isbn13'];
         $book->price_day = $data['price_day'];
         $book->price_bail = $data['price_bail'];
         $book->price_sale = $data['price_sale'];
         $book->language = $data['language'];
         if ($data['publisher'] != $book->id_publisher) {
             if ($data['publisher'] != '0') {
                 $book->id_publisher = $data['publisher'];
             } else {
                 $publisher = new Publisher();
                 $publisher->publisher = $data['newpublisher'];
                 $publisher->save();
                 $book->id_publisher = $publisher->id;
             }
         }
         if (isset($data['cover'])) {
             $book->cover = file_get_contents($data['cover']);
         }
         $book_id = $book->id;
         Book_Collection::where('book_id', $book_id)->delete();
         Author_Book::where('book_id', $book_id)->delete();
         $book_collection = new Book_Collection();
         $book_collection->book_id = $book_id;
         $book_collection->collection_id = $data['collection'];
         $authors = explode(',', $data['authors']);
         foreach ($authors as $author) {
             $tmp = Author::where('name', 'like', $author)->limit(1)->get();
             if (count($tmp) > 0) {
                 $author_book = new Author_Book();
                 $author_book->book_id = $book_id;
                 $author_book->author_id = $tmp[0]->id;
                 $author_book->save();
             } else {
                 $newAuthor = new Author();
                 $newAuthor->name = $author;
                 $newAuthor->save();
                 $author_id = $newAuthor->id;
                 $author_book = new Author_Book();
                 $author_book->book_id = $book_id;
                 $author_book->author_id = $author_id;
                 $author_book->save();
             }
         }
         $book->save();
         return redirect('book/edit/' . $book_id . '');
     }
     return back()->withInput($data)->withErrors($validator);
 }