json(Item::all()); } public function showByEvent($event) { $eid = Event::where('slug','=',$event)->first()->eid; $q = Item::where('eid','=',$eid)->whereNull('returned_at') ->join('containers','items.cid','=','containers.cid') ->leftJoin('currentfiles','items.iid','=','currentfiles.iid') ->select('items.*','currentfiles.hash as file', 'containers.name as box'); return response()->json($q->get()); } public function searchByEvent($event, $query) { $eid = Event::where('slug','=',$event)->first()->eid; $query_tokens = explode(" ",base64_decode ( $query , true)); $q = Item::where('eid','=',$eid)->whereNull('returned_at') ->join('containers','items.cid','=','containers.cid') ->leftJoin('currentfiles','items.iid','=','currentfiles.iid') ->select('items.*','currentfiles.hash as file', 'containers.name as box'); foreach ($query_tokens as $token) $q = $q->where('items.description','like','%'.$token.'%'); return response()->json($q->get()); } public function showOneItem($event, $id) { $eid = Event::where('slug','=',$event)->first()->eid; return response()->json(Item::find($id)); } public function create($event, Request $request) { $eid = Event::where('slug','=',$event)->first()->eid; $uid = Item::withTrashed()->where('eid',$eid)->max('item_uid') + 1; $newitem = $request->except(['dataImage']); $newitem['eid'] = "".$eid; $newitem['item_uid'] = $uid; $newitem['wo'] = ""; $item = Item::create($newitem); $pos = strpos( $request->get('dataImage') , "," ); //$head = substr($request->get('dataImage'), 0, $pos); $image = base64_decode(substr($request->get('dataImage'), $pos+1), true); if($image) { $hash = md5(time()); if (!file_exists('staticimages')) mkdir('staticimages', 0755, true); file_put_contents('staticimages/'. $hash, $image); $file = File::create(array('hash' => $hash, 'iid' => $item['iid'])); } return response()->json($item, 201); } public function update($event, $id, Request $request) { $eid = Event::where('slug', $event)->first()->eid; $item = Item::where('eid', $eid)->where('item_uid', $id)->first(); $item->update($request->except(['file', 'box', 'dataImage'])); if($request->get('returned')===true){ $item->update(['returned_at' => DB::raw( 'current_timestamp' )]); } if ($request->get('dataImage')) { $pos = strpos($request->get('dataImage'), ","); //$head = substr($request->get('dataImage'), 0, $pos); $image = base64_decode(substr($request->get('dataImage'), $pos + 1), true); if ($image) { $hash = md5(time()); if (!file_exists('staticimages')) mkdir('staticimages', 0755, true); file_put_contents('staticimages/' . $hash, $image); $file = File::create(array('hash' => $hash, 'iid' => $item['iid'])); } } return response()->json($item, 200); } public function delete($event, $id) { $eid = Event::where('slug','=',$event)->first()->eid; Item::where('eid', $eid)->where('item_uid', $id)->first()->delete(); return response()->json(array("status"=>'Deleted Successfully'), 200); } }