/**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $media = Media::where('url', $request->url)->first();
     if ($media == null) {
         //no media with same URL was stored before
         $rules = ['url' => 'unique:medias|required|url', 'package_id' => 'exists:packages,id'];
         $validator = Validator::make($request->all(), $rules);
         if ($validator->fails()) {
             return response()->json(['success' => false, 'message' => "Failed", 'error' => $validator->errors()->all()]);
         }
         if (Package::find($request->get('package_id'))->isFollowPackage()) {
             return response()->json(['success' => false, 'message' => "Not a valid package. Use a Like Package"]);
         }
         $package = Package::find($request->package_id);
         //decrease credit
         if (User::find(User::getCurrentUserId())->decreaseCredit($package->cost)) {
             return response()->json(['success' => true, 'message' => "Success", 'media' => $this->createMedia($request->all())]);
         } else {
             return response()->json(['success' => false, 'message' => "Failed. Not enough credit"]);
         }
     }
     if (User::getCurrentUserId() != $media->user_id) {
         return response()->json(['success' => false, 'message' => "You are not the owner, can't add credit."]);
     }
     if ($media->likes_left == 0) {
         //add number of required likes if current like left is 0
         $added_likes = Package::find($request->get('package_id'))->return;
         $media->likes_left = $media->likes_left + $added_likes;
         $media->save();
         return response()->json(['success' => true, 'message' => "Successfully added number of required likes", 'media' => $media]);
     } else {
         return response()->json(['success' => false, 'message' => "Already under one campaign. Finish current campaign, then add credit.", 'media' => $media]);
     }
 }
 /**
  * View unprocessed images for a particular event
  * @param  integer $eventID
  * @return VIEW
  */
 public function viewUnprocessedMediaForEvent($eventID)
 {
     if (!Auth::check() || !Auth::user()->is_admin) {
         return response(view('errors.403', ['error' => $this->errorMessages['no_permission']]), 403);
     }
     $media = Media::where('event_id', $eventID)->where('processed', false)->get()->chunk(6);
     return View::make('media.unprocessed')->with('media', $media);
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     //Get the Media from given URL
     $media = Media::where('url', $request->url)->first();
     if (!$media) {
         return response()->json(['success' => false, 'message' => "No such media in our DB"]);
     }
     if (!$media->publishable) {
         return response()->json(['success' => false, 'message' => "You cannot like this media"]);
     }
     return response()->json(['success' => true, 'message' => "Successfully liked", 'like' => Like::create(['user_id' => User::getCurrentUserId(), 'media_id' => $media->id])]);
 }
 /**
  * Show the application dashboard.
  *
  * @return Response
  */
 public function index()
 {
     try {
         $isInstalled = Setting::where('name', 'is_installed')->firstOrFail();
     } catch (ModelNotFoundException $e) {
         $isInstalled = Setting::create(['name' => 'is_installed', 'setting' => 'no']);
     }
     if ($isInstalled->setting != 'yes') {
         return Redirect::route('install');
     }
     $data = ["event" => Event::first(), "upcomingEvents" => Event::take(3)->get(), "news" => News::take(6)->get(), "media" => Media::where('processed', true)->orderBy('id', 'DESC')->take(12)->get()];
     return view('home')->with($data);
 }
 public function index()
 {
     $totalNumber = 5;
     // number of items to take for each section
     $data = ["events" => Event::where('end_datetime', '>', date(time()))->get()->take($totalNumber), "partners" => Partner::all()->take($totalNumber), "news" => News::all()->take($totalNumber), "media" => Media::where('processed', 0)->get()->take($totalNumber * 2)->chunk(3), "staffs" => User::where('is_staff', 1)->get(), "locations" => Location::all()->take($totalNumber)];
     $i = 0;
     foreach ($data['events'] as $event) {
         $mediaCount = count(Media::where('processed', false)->where('event_id', $event->id)->get());
         $data['events'][$i]->mediaCount = $mediaCount;
         $i++;
     }
     return View::make('admin.index')->with($data);
 }
Exemple #6
0
 public static function ukloniMOglasa($oglasId, $mediaId)
 {
     $src = Media::where('src', 'like', '/img/prodavnica/prodavnica-' . Auth::user()->id . '-' . $oglasId . '-%')->where('id', $mediaId)->get(['src'])->first();
     if ($src) {
         $src = $src->src;
     } else {
         return 0;
     }
     $test = Media::where('src', 'like', '/img/prodavnica/prodavnica-' . Auth::user()->id . '-' . $oglasId . '-%')->where('id', $mediaId)->delete();
     if ($test > 0) {
         unlink(substr($src, 1));
     }
     return $test;
 }
 public function delete($id)
 {
     \App\Media::where('id', $id)->delete();
     \App\EventMedia::where('mediaID', $id)->delete();
     \App\Series::leftJoin('media', 'series.seriesAbbreviation', '=', 'media.series')->where('media.series', NULL)->delete();
     return redirect('/');
 }
Exemple #8
0
 public static function getOglas($username = null, $slug)
 {
     $podaci = [];
     $podaci['oglas'] = Proizvod::join('stanje_proizvoda as s', 's.id', '=', 'proizvod.stanje_proizvoda_id')->join('korisnici as k', 'k.id', '=', 'proizvod.korisnici_id')->join('grad as g', 'g.id', '=', 'k.grad_id')->where('slug', $slug)->get(['proizvod.id', 'proizvod.naziv', 'slug', DB::raw('cena-(cena*popust/100) as cena'), 'kolicina', 'narudzba', 'zamena', 'vrsta_proizvoda_id', 's.naziv as stanje', 'korisnici_id', 'opis', 'proizvod.foto', 'username', 'prezime', 'ime', 'g.naziv as grad', 'k.telefon', 'stanje_oglasa_id'])->first();
     Pregledi::pregledanOglas($podaci['oglas']->id, ProdavnicaKO::getIP());
     $podaci['foto'] = Media::where('src', 'like', '/img/prodavnica/prodavnica-' . $podaci['oglas']->korisnici_id . '-' . $podaci['oglas']->id . '-%')->get();
     if (Auth::check()) {
         $podaci = $podaci + ['master' => 'administracija.master.osnovni', 'zelim' => ListaZelja::where('korisnici_id', Auth::user()->id)->where('proizvod_id', $podaci['oglas']->id)->where('aktivan', 1)->exists(), 'username' => Auth::user()->username, 'prijavljen' => 1];
     } else {
         $podaci = $podaci + ['master' => null, 'username' => null, 'prijavljen' => null, 'zelim' => null];
     }
     return view('oglas')->with($podaci);
 }
 /**
  * @param $per_page
  * @param string $order_by
  * @param string $sort
  * @param int $status
  * @return mixed
  */
 public function searchMedias($queue, $status = 1, $order_by = 'id', $sort = 'asc')
 {
     return Media::where('status', $status)->orderBy($order_by, $sort)->search($queue)->get();
 }
Exemple #10
0
 /**
  * Display a listing of the resource.
  *
  * @return \Illuminate\Http\Response
  */
 public function index()
 {
     $media = Media::where('user_id', '=', \Auth::user()->id)->get();
     return view('media.index', compact('media'));
 }