per_page) || is_null($request)) { $pagination = 5; } else { $pagination = $request->per_page; } return Podcast::searchFilter($request) ->with(['episodes', 'imported']) ->paginate($pagination) ->toJson(); } public function store(Request $request) { return $this->save($request); } /** * Method used to update a smart block * @param Request $request * @param $id * @return mixed */ public function update(Request $request) { return $this->save($request); } /** * Delete a smart block, cleaning also cc_blockcontent and cc_blockcriteria * @param $id * @return int */ public function delete($id) { return Podcast::with(['content', 'criteria'])::destroy($id); } protected function save(Request $request) { $user = Auth::user(); $xml = simplexml_load_file($request->url); $itunes = $xml->channel->children('itunes', TRUE); $dbPodcast = Podcast::firstOrNew(['id' => $request->id]); $dbPodcast->fill([ 'url' => $request->url, 'title' => $xml->channel->title, 'creator' => $itunes->author, 'description' => $itunes->subtitle, 'language' => $xml->channel->language, 'copyright' => $xml->channel->copyright, 'link' => $xml->channel->link, 'itunes_author'=> $itunes->author, 'itunes_keywords' => '', 'itunes_summary' => $itunes->summary, 'itunes_subtitle' => $itunes->subtitle, 'itunes_category' => '', 'itunes_explicit' => $itunes->explicit, 'owner' => $user->id, ])->save(); return $dbPodcast->toJson(); } }