Ejemplo n.º 1
0
 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;
 }
Ejemplo n.º 2
0
 /**
  * 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);
 }
Ejemplo n.º 3
0
 /**
  * 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);
 }
Ejemplo n.º 4
0
 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();
     }
 }
Ejemplo n.º 5
0
 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.");
     }
 }
Ejemplo n.º 6
0
<?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');
});
Ejemplo n.º 7
0
 public function get_palettes($id)
 {
     $colors = Palette::find($id)->colors()->get();
     return $this->view->nest('main', 'mockup.pages.swatches', compact('colors'));
 }
Ejemplo n.º 8
0
<?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