public function get_palettes($id) { $colors = Palette::find($id)->colors()->get(); $this->view->title = "Control Palette"; $this->view->lead = "Colors used for control."; $this->view->content = View::make('mockup.pages.swatches')->with('colors', $colors)->render(); return $this->view; }
/** * Route to analyze images and get a JSON result. This is the main doorway * for clients to submit their images for analysis. * * @return json */ public function get_analysis() { //Validate account $account = Input::get('account'); $token = Input::get('token'); $validate = User::validate_credentials($account, $token); $rest = new Rest(); if (!$validate) { //Login failed. $rest->status = 'error'; $rest->message = 'Login credentials are not valid.'; } else { try { //collect results $data = array(); //Get average color of sample if (Input::has('sample')) { $sample = Input::get('sample'); $data['sample']['url'] = $sample; //$data['sample']['color']= LitmusHandler::average_color($sample); $data['sample']['color'] = $this->litmus->average_color($sample); } //return Response::json($data); //Get analysis for control if (Input::has('control')) { $control = Input::get('control'); $data['control']['url'] = $control; $data['control']['submit']['color'] = $this->litmus->average_color($control); $data['control']['actual']['color'] = array('red' => 0, 'green' => 0, 'blue' => 255); $data['control'] = $this->litmus->compare($data['control']['actual']['color'], $data['control']['submit']['color']); } //If scale set, get colors from scale if (Input::has('scale_id')) { $scale_id = Input::get('scale_id'); $scale = Palette::find($scale_id)->colors()->get(); foreach ($scale as $color) { $color_array = array('name' => $color->name, 'red' => $color->red, 'green' => $color->green, 'blue' => $color->blue); $data['scale'][] = $this->litmus->compare($data['sample']['color'], $color_array); } } usort($data['scale'], function ($a, $b) { return strcmp($a['magnitude'], $b['magnitude']); }); //return result object $time = date('M d, Y H:i:s'); $rest->status = 'success'; $rest->data = $data; $rest->message = 'Account: ' . $account . ' @ ' . $time; } catch (Exception $e) { $rest->status = 'error'; $rest->message = $e->getMessage(); } // end try/catch } //end if/else return Response::json($rest); }
/** * Route to analyze images and get a JSON result. This is the main doorway * for clients to submit their images for analysis. * * @return json */ public function get_analysis() { //Validate account $account = Input::get('account'); $token = Input::get('token'); $validate = true; //$this->account->validateCredentials($account, $token); $rest = (object) 'Rest'; if (!$validate) { //Login failed. $rest->status = 'error'; $rest->message = 'Login credentials are not valid.'; } else { try { //collect results $data = array(); //Get average color of sample if (Input::has('subject')) { $sample = RemoteImage::create(Input::get('subject')); $data['origin'] = $sample->getRgba()->toArray(); } //If scale set, get colors from scale if (Input::has('palette_id')) { $palette = Palette::find(Input::get('palette_id'))->colors()->get(); foreach ($palette as $color) { $data['palette'][] = array('color' => $color->getRgba()->toArray(), 'variance' => CreateVarianceCtx::create($color->getRgba(), $sample->getRgba())->execute()->toArray()); } unset($color); } //* usort($data['palette'], function ($a, $b) { return strcmp($a['variance']['magnitude'], $b['variance']['magnitude']); }); /* $data['ambient']['color'] = $this->litmus->adjust_ambient( $data['sample']['color'], $this->control_captured, $this->control_actual ); //*/ //return result object $time = date('M d, Y H:i:s'); $rest->status = 'success'; $rest->data = $data; $rest->message = 'Account: ' . $account . ' @ ' . $time; } catch (Exception $e) { $rest->status = 'error'; $rest->message = $e->getMessage(); } // end try/catch } //end if/else return Response::json($rest); }
public function post_store($palette_id) { $input = Input::all(); $validation = Validator::make($input, $this->rules); if ($validation->fails()) { return Redirect::back()->with('errors', $validation->errors)->with_input(); //Need to send errors back... } try { $object = new Color(); $object = $object->fill($input); $attach = Palette::find($palette_id)->colors()->insert($object); if (!$attach) { throw new Exception("There was an error inserting the color into palette!"); } } catch (Exception $e) { return Redirect::back()->with('error', "There was an error with your submission! Please try again.")->with_input(); } if ($object->id) { return Redirect::to('litmus/palettes/' . $palette_id . '/colors/' . $object->id)->with('status', 'Your color was submitted successfully!')->with_input(); } }
public function delete_destroy($id) { $delete = Palette::find($id)->delete(); if ($delete) { return Redirect::to('litmus/palettes')->with('status', 'Your palette was deleted successfully!'); } else { return Redirect::back()->with('error', "There was an error deleting the record! Please try again."); } }
<?php Route::model('colors', 'Color'); Route::bind('palettes', function ($value, $route) { $palette = Palette::find($value); $account = $palette->account; if (Auth::user()->accounts()->whereAccountId($account->id)->count()) { return Palette::find($value); } return App::abort(404); }); Route::group(['before' => "auth"], function () { Route::resource('palettes', 'PalettesController'); Route::resource('palettes/{palettes}/colors', 'ColorsController'); });
public function get_palettes($id) { $colors = Palette::find($id)->colors()->get(); return $this->view->nest('main', 'mockup.pages.swatches', compact('colors')); }
<?php // Users Controller Route::get('litmus/users', 'litmus::users@index'); Route::get('litmus/users/create', 'litmus::users@create'); Route::post('litmus/users', 'litmus::users@store'); Route::get('litmus/users/(:num)', 'litmus::users@show'); Route::get('litmus/users/(:num)/edit', 'litmus::users@edit'); Route::put('litmus/users/(:num)', 'litmus::users@update'); Route::get('litmus/users/(:num)/palettes', 'litmus::users@palettes'); //table redirects for BELONGS TO Route::get('litmus/palettes/(:num)/user', function ($palette_id) { $user_id = Palette::find($palette_id)->user()->first()->id; return Redirect::to('litmus/users/' . $user_id); }); Route::get('litmus/users/(:num)/palettes/(:num)', function ($user_id, $palette_id) { return Redirect::to('litmus/palettes/' . $palette_id); }); // Palettes Controller Route::get('litmus/palettes', array('as' => 'palettes', 'uses' => 'litmus::palettes@index')); Route::get('litmus/palettes/create', 'litmus::palettes@create'); Route::post('litmus/palettes', 'litmus::palettes@store'); Route::get('litmus/palettes/(:num)', 'litmus::palettes@show'); Route::get('litmus/palettes/(:num)/edit', 'litmus::palettes@edit'); Route::put('litmus/palettes/(:num)', 'litmus::palettes@update'); Route::delete('litmus/palettes/(:num)', 'litmus::palettes@destroy'); //table redirects for BELONGS TO Route::get('litmus/palettes/(:num)/colors/(:num)/palette', function ($palette_id, $color_id) { return Redirect::to('litmus/palettes/' . $palette_id); }); // Colors Controller