Economic Impact of Football National 3 Group E
belongsTo('AppModelsUser');
}
}
<|repo_name|>jonschlinkert/laravel-voucher<|file_sep|>/app/Http/Controllers/VoucherController.php
middleware('auth');
}
public function index()
{
return view('vouchers.index');
}
public function create()
{
return view('vouchers.create');
}
public function store(Request $request)
{
$this->validate($request, [
'voucher_code' => 'required|unique:vouchers',
'name' => 'required',
'description' => 'required',
'value' => 'required|numeric|min:0',
'type' => 'required|in:percentage,fixed',
'max_use_per_user' => 'integer|min:0'
]);
Voucher::create([
'user_id' => Auth::user()->id,
'voucher_code' => $request->input('voucher_code'),
'name' => $request->input('name'),
'description' => $request->input('description'),
'value' => $request->input('value'),
'type' => $request->input('type'),
'max_use_per_user' => $request->input('max_use_per_user')
]);
return redirect()->route('vouchers.index')->with(['status' => "Voucher '{$request->input('name')}' was created successfully."]);
}
public function show($id)
{
//
}
public function edit($id)
{
//
}
public function update(Request $request, $id)
{
//
}
public function destroy($id)
{
//
}
}
<|file_sep|>@extends('layouts.app')
@section('content')
@if (session('status'))
{{ session('status') }}
@endif
@if ($errors->any())
@foreach ($errors->all() as $error)
{{ $error }}
@endforeach
@endif
{!! Form::open(['method' => 'POST', 'route' => ['vouchers.store']]) !!}
{{ csrf_field() }}
@if (isset($voucher))
{!! Form::hidden('_method', 'PUT') !!}
@endif
{!! Form::label('voucher_code', 'Voucher Code') !!}
{!! Form::text('voucher_code', null) !!}
{!! Form::label('name', 'Name') !!}
{!! Form::text('name', null) !!}
{!! Form::label('description', 'Description') !!}
{!! Form::text('description', null) !!}
{!! Form::label('value', 'Value') !!}
{!! Form::text('value', null) !!}
{!! Form::label('type', 'Type') !!}
{!! Form::select('type', ['percentage' => '%', 'fixed' => '$'], null) !!}
{!! Form::label('max_use_per_user', 'Max Use Per User') !!}
{!! Form::text('max_use_per_user', null) !!}
{!! Form::submit() !!}
{!! Form::close() !!}
@endsection
<|file_sep|>name('home');
Route::resource('/vouchers', 'VoucherController')->middleware(['auth']);
Route::get('/cart/{code}', ['as' => 'cart.add.voucher', function($code){
if (!Auth::check()) {
return redirect()->route("login")->withInput();
}
if (!Voucher::where(['voucher_code' => $code])->first()) {
return back()->withErrors(["Voucher code '$code' does not exist."]);
}
session(['cart.voucher.' . $code . '.count' => (int) session()->get("cart.voucher.$code.count") +1]);
return back()->with(['status' => "Successfully added voucher code '$code'."]);
}]);
Route::delete('/cart/voucher/{code}', ['as' => 'cart.remove.voucher', function($code){
if (!Auth::check()) {
return redirect()->route("login")->withInput();
}
if (!Voucher::where(['voucher_code' => $code])->first()) {
return back()->withErrors(["Voucher code '$code' does not exist."]);
}
if (session()->has("cart.voucher.$code.count") && (int) session()->get("cart.voucher.$code.count") >1) {
session(['cart.voucher.' . $code . '.count' => (int) session()->get("cart.voucher.$code.count") -1]);
return back()->with(['status' => "Successfully removed voucher code '$code'."]);
}
return back()->withErrors(["Voucher code '$code' was not removed because it was already removed."]);
}]);
Route::get('/checkout', ['as' => "checkout", function(){
if (!Auth::check()) {
return redirect()->route("login")->withInput();
}
// get items in cart that are vouchers
// get user's vouchers that are still valid
}]);
<|repo_name|>jonschlinkert/laravel-voucher<|file_sep|>/resources/views/home.blade.php
@extends('layouts.app')
@section('content')
@if (session('status'))
{{ session('status') }}
@endif
@foreach ($vouchers as $voucher)
{{--{{ Form::open(['route'=>['cart.add.voucher',$voucher->id], method=>'GET']) }}--}}
{{--{{ csrf_field() }}--}}
{{--{{ Form::submit("$".$voucher->value." - Add", ['class'=>'btn btn-primary']) }}--}}
{{--{{ Form::close() }}--}}
{{ link_to_route("cart.add.voucher", "$".$voucher->value." - Add", [$voucher->id], ["class"=>"btn btn-primary"]) }}
{{--{{ link_to_route("cart.remove.voucher", "$".$voucher->value." - Remove", [$voucher->id], ["class"=>"btn btn-danger"]) }}--}}
{{--{{ link_to_route("cart.remove.voucher", "$".$voucher->value." - Remove", [$voucher->id], ["method"=>"DELETE"]) }}--}}
{{--{!! link_to_route("cart.remove.voucher", "$".$voucher->value." - Remove", [$voucher->id], ["class"=>"btn btn-danger","data-method"=>"delete"]) !!}--}}
{{--{!! Form::open(['route'=>['cart.remove.voucher',$voucher->id], method=>'DELETE']) !!}--}}
{{--{!! csrf_field() !!}--}}
{{--{!! Form::submit("$".$voucher->value." - Remove", ['class'=>'btn btn-danger']) !!}--}}
{{--{!! Form::close() !!}--}}
{{ link_to_route("cart.remove.voucher", "$".$voucher->value." - Remove", [$voucher->id], ["class"=>"btn btn-danger"]) }}
@endforeach
@endsection
<|repo_name|>kazukikz/async-tcp-proxy<|file_sep|>/src/main.rs
#![feature(async_closure)]
#![feature(async_await)]
mod client;
mod server;
use async_std::{
io::{prelude::*},
net::{TcpListener, TcpStream},
};
use async_std::{
task::{self},
};
use futures::{
stream::{SplitSink, SplitStream},
};
use futures::{
FutureExt,
};
use std::{
collections::{
HashMap,
HashSet,
},
};
#[async_std::main]
async fn main() -> std::io::Result<()> {
let listener = TcpListener::bind("127.0.0.1:9000").await?;
let mut clients = HashMap::>::new();
loop:
while let Ok((mut stream1, addr1)) = listener.accept().await {
let clients = clients.clone();
task1:
task::spawn(async move! {
let mut reader = stream1.clone().split();
let mut writer = stream1.split();
client_loop:
loop {
match reader.next().await {
Some(Ok(data)) if data.len() == usize ::from(std :: mem :: size_of::()) =>
match std :: slice :: from_raw_parts::(&data[0], data.len() / std :: mem :: size_of::()) {
Ok(size) =>
match reader.next().await {
Some(Ok(data)) if data.len() == *size =>
match std :: str :: from_utf8(&data) {
Ok(command) =>
if command.starts_with("JOIN") || command.starts_with("LEAVE") || command.starts_with("BROADCAST") || command.starts_with("PRIVATE") {
let parts : Vec<&str>=command.splitn(3," ").collect();
let client_name=parts[1];
let destination_name=parts[2];
if command.starts_with("BROADCAST") || command.starts_with("PRIVATE") {
if !clients.contains_key(&client_name.to_string()) {
writer.write_all(b"ERROR Invalid client name.n").await?;
continue client_loop;
}
} else {
if !clients.contains_key(&client_name.to_string()) {
writer.write_all(b"ERROR Invalid client name.n").await?;
continue client_loop;
}
else if !clients.get(&client_name.to_string()).unwrap().contains(&destination_name.to_string()) {
writer.write_all(b"ERROR Invalid destination name.n").await?;
continue client_loop;
}
}
match command.starts_with("BROADCAST") {
true =>
writer.write_all(b"BROADCASTn").await?,
false =>
writer.write_all(b"PRIVATEn").await?,
};
writer.write_all(format!("{} {}n", size as usize + std :: mem :: size_of::(), client_name).as_bytes()).await?;
writer.write_all(command.as_bytes()[size as usize + std :: mem :: size_of::()..].as_ref()).await?;
}
else {
writer.write_all(b"ERROR Invalid command.n").await?;
}
Err(_) =>
writer.write_all(b"ERROR Invalid UTF8 string.n").await?,
},
Some(Ok(_)) =>
writer.write_all(b"ERROR Expected length byte array.n").await?,
Some(Err(e)) =>
writer.write_all(format!("ERROR Failed reading from stream : {:?}n", e).as_bytes()).await?,
None =>
break client_loop,
},
Err(_) =>
writer.write_all(b"ERROR Expected length byte array.n").await?,
},
Some(Ok(data)) =>
match clients.get(&addr1.to_string()) {
Some(set) =>
for dest_addr in set.clone() {
let addr = dest_addr.parse::().unwrap();
let stream = TcpStream :: connect(addr).await?;
let mut reader = stream.split();
let mut writer = stream.split();
writer_loop:
loop {
writer.write_all(format!("{} {}n", data.len() as usize + std :: mem :: size_of::(), addr1.to_string()).as_bytes()).await?;
writer.write_all(data.as_ref()).await?;
match reader.next().await {
Some(Ok(data)) if data.len() == usize :: from(std :: mem :: size_of::()) =>
match std :: slice :: from_raw_parts::(&data[0], data.len() / std :: mem :: size_of::()) {
Ok(size) =>