diff --git a/app/Http/Controllers/admin/AdminController.php b/app/Http/Controllers/admin/AdminController.php
index 0050feb..ba5e591 100644
--- a/app/Http/Controllers/admin/AdminController.php
+++ b/app/Http/Controllers/admin/AdminController.php
@@ -689,10 +689,168 @@ class AdminController extends Controller
public function saveNewVisualizer(Request $request){
$post = $request->all();
$AdminModel = new AdminModel;
+ $tmp_arr_visualizer_pattern = array();
+ $template_thumbnail_path = "templates/thumbnail/";
+ $template_path = "uniform-templates/";
+
+ foreach($post['visualizer_pattern'] as $item_visualizer){
+ $arr_visualizer_pattern = explode("##", $item_visualizer);
+ array_push($tmp_arr_visualizer_pattern, $arr_visualizer_pattern['0']);
+ }
+
+ $orig_visualizer_thumbnail_filename = $request->file('visualizer_thumbnail')->getClientOriginalName();
+
+ $new_visualizer_thumbnail_filename = $this->generateFileName($orig_visualizer_thumbnail_filename);
+ Storage::disk('uploads')->put($template_thumbnail_path . $new_visualizer_thumbnail_filename, fopen($request->file('visualizer_thumbnail'), 'r+'));
+
+ $final_arr_visualizer_pattern = implode(",", $tmp_arr_visualizer_pattern);
+
+ $data = array(
+ 'SportsId' => $post['sportName'],
+ 'Category' => $post['sport_category'],
+ 'Thumbnail' => $template_thumbnail_path . $new_visualizer_thumbnail_filename,
+ 'TemplateName' => $post['visualizer_name'],
+ 'Trim' => $post['numberOfTrims'],
+ 'PatternId' => $final_arr_visualizer_pattern,
+ 'WithGradient' => ($post['visualizer_format'] == "png") ? 'no' : null,
+ 'TemplateFormat'=> $post['visualizer_format'],
+ 'IsActive' => "TRUE"
+ );
+
+
+ $res_saveNewVisualizer = $AdminModel->saveNewVisualizer($data);
+
+ $templateCode = "TEMP-" . str_pad($res_saveNewVisualizer['lastId'], 5,'0',STR_PAD_LEFT);
+ $data_to_update = array(
+ 'TemplateCode' => $templateCode ,
+ 'HashTemplateCode' => md5($templateCode)
+ );
+
+ $res_updateVisualizer = $AdminModel->updateVisualizer($res_saveNewVisualizer['lastId'], $data_to_update);
+
+ $data_def_main_color = array(
+ 'TemplateCode' => $templateCode ,
+ 'RGBColor' => $post['main_body_def_color'],
+ 'DisplayName' => $post['main_body_label']
+ );
+
+ $res_saveVisualizerDefaultBodyColor = $AdminModel->saveVisualizerDefaultBodyColor($data_def_main_color);
+
+ if($post['numberOfTrims'] != 0){
+ for($i = 0; $i < $post['numberOfTrims']; $i++){
+ $t = $i + 1;
+ $data_def_trim_color = array(
+ 'TrimNumber' => $t,
+ 'TemplateCode' => $templateCode,
+ 'RGBColor' => $post['trim_def_color'][$i],
+ 'DisplayName' => $post['trim_label'][$i]
+ );
+ $AdminModel->saveVisualizerDefaultTrimColor($data_def_trim_color);
+
+ }
+ }
+
+ // front saving
+ if(isset($post['front_visualizer'])){
+ $orig_front_visualize_filename = $request->file('front_visualizer')->getClientOriginalName();
+
+ $new_front_visualize_filename = $this->generateFileName($orig_front_visualize_filename);
+ Storage::disk('uploads')->put($template_path . $templateCode . '/DISPLAY/' . $new_front_visualize_filename, fopen($request->file('front_visualizer'), 'r+'));
+
+ $data_front_visualizer = array(
+ 'TemplateCode' => $templateCode ,
+ 'HashTemplateCode' => md5($templateCode),
+ 'Type' => $post['front_visualizer_type'],
+ 'Side' => "Front",
+ 'Path' => $template_path . $templateCode . '/DISPLAY/' . $new_front_visualize_filename,
+ 'TemplateFormat' => $post['visualizer_format'],
+ 'IsActive' => "TRUE"
+ );
+
+ $AdminModel->saveVisualizerPath($data_front_visualizer);
+ // var_dump($data_front_visualizer);
+
+ }
+
+ // back saving
+ if(isset($post['back_visualizer'])){
+ $orig_front_visualize_filename = $request->file('back_visualizer')->getClientOriginalName();
+
+ $new_back_visualize_filename = $this->generateFileName($orig_front_visualize_filename);
+ Storage::disk('uploads')->put($template_path . $templateCode . '/DISPLAY/' . $new_back_visualize_filename, fopen($request->file('back_visualizer'), 'r+'));
+
+ $data_back_visualizer = array(
+ 'TemplateCode' => $templateCode ,
+ 'HashTemplateCode' => md5($templateCode),
+ 'Type' => $post['back_visualizer_type'],
+ 'Side' => "Back",
+ 'Path' => $template_path . $templateCode . '/DISPLAY/' . $new_back_visualize_filename,
+ 'TemplateFormat' => $post['visualizer_format'],
+ 'IsActive' => "TRUE"
+ );
+
+ $AdminModel->saveVisualizerPath($data_back_visualizer);
+
+ }
+
+ // right saving
+ if(isset($post['right_visualizer'])){
+ $orig_right_visualize_filename = $request->file('right_visualizer')->getClientOriginalName();
+
+ $new_right_visualize_filename = $this->generateFileName($orig_right_visualize_filename);
+ Storage::disk('uploads')->put($template_path . $templateCode . '/DISPLAY/' . $new_right_visualize_filename, fopen($request->file('right_visualizer'), 'r+'));
+
+ $data_right_visualizer = array(
+ 'TemplateCode' => $templateCode ,
+ 'HashTemplateCode' => md5($templateCode),
+ 'Type' => $post['right_visualizer_type'],
+ 'Side' => "Right",
+ 'Path' => $template_path . $templateCode . '/DISPLAY/' . $new_right_visualize_filename,
+ 'TemplateFormat' => $post['visualizer_format'],
+ 'IsActive' => "TRUE"
+ );
+
+ $AdminModel->saveVisualizerPath($data_right_visualizer);
+
+ }
+
+ // left saving
+ if(isset($post['left_visualizer'])){
+ $orig_left_visualize_filename = $request->file('left_visualizer')->getClientOriginalName();
+
+ $new_left_visualize_filename = $this->generateFileName($orig_left_visualize_filename);
+ Storage::disk('uploads')->put($template_path . $templateCode . '/DISPLAY/' . $new_left_visualize_filename, fopen($request->file('left_visualizer'), 'r+'));
+
+ $data_left_visualizer = array(
+ 'TemplateCode' => $templateCode ,
+ 'HashTemplateCode' => md5($templateCode),
+ 'Type' => $post['left_visualizer_type'],
+ 'Side' => "Left",
+ 'Path' => $template_path . $templateCode . '/DISPLAY/' . $new_left_visualize_filename,
+ 'TemplateFormat' => $post['visualizer_format'],
+ 'IsActive' => "TRUE"
+ );
+
+ $AdminModel->saveVisualizerPath($data_left_visualizer);
+ }
+
+ return response()->json(array(
+ 'success' => true,
+ 'message' => "Visualizer is successfully added."
+ ));
- var_dump($post);
}
+ public function generateFileName($filename){
+
+ $lower_filename = str_replace(' ','-',strtolower($filename));
+ $getExt = substr($lower_filename, strrpos($lower_filename, '.'));;
+ $clean_filename = preg_replace("/\.[^.\s]{3,4}$/", "", $lower_filename);
+ $final_filename = date('Ymd') . "-" . time().'-' . $clean_filename . "-".$getExt;
+
+ return $final_filename;
+ }
+
}
\ No newline at end of file
diff --git a/app/Models/admin/AdminModel.php b/app/Models/admin/AdminModel.php
index 884ff7e..7d9b899 100644
--- a/app/Models/admin/AdminModel.php
+++ b/app/Models/admin/AdminModel.php
@@ -258,4 +258,39 @@ class AdminModel extends Model
->get();
return $i;
}
+
+ function saveNewVisualizer($data){
+ $i = DB::table('templates')->insert($data);
+ $id = DB::getPdo()->lastInsertId();
+
+ return array(
+ 'i' => $i,
+ 'lastId' => $id
+ );
+ }
+
+ function updateVisualizer($id, $data){
+
+ $i = DB::table('templates')
+ ->where("Id", $id)
+ ->update($data);
+ return $i;
+ }
+
+ function saveVisualizerDefaultBodyColor($data){
+ $i = DB::table('template_body_colors')->insert($data);
+
+ return $i;
+ }
+
+ function saveVisualizerDefaultTrimColor($data){
+ $i = DB::table('template_trim_colors')->insert($data);
+ return $i;
+ }
+
+ function saveVisualizerPath($data){
+ $i = DB::table('template_paths')->insert($data);
+ return $i;
+ }
+
}
diff --git a/resources/views/admin/main.blade.php b/resources/views/admin/main.blade.php
index fb56ea6..3c2536d 100644
--- a/resources/views/admin/main.blade.php
+++ b/resources/views/admin/main.blade.php
@@ -208,6 +208,8 @@ desired effect
+ {{-- spectrum --}}
+
@@ -234,8 +236,7 @@ desired effect
- {{-- spectrum --}}
-
+