function edit($id = false) { $this->load->library('form_validation'); # var $data['js_functions'] init from Admin_Controller # Js function from main.js which loads by default array_push($this->data['js_functions'], array('name' => 'nutritions_edit_init', 'data' => FALSE)); $languages = new Language(); $nutrition = new Nutrition(); $nutrition_categories = new Nutrition_category(); $languages->get_iterated(); $nutrition->get_full_info($id); $nutrition_categories->get_full_info(); //if form validates if ($this->form_validation->run('nutrition')) { $nutrition_category = new Nutrition_category(); $nutrition_category->get_by_id($this->input->post('nutritions_categories_id')); $nutrition->nutrition_category_id = $nutrition_category->id; if ($this->save_object_name($nutrition)) { $this->data['form_success'] = 'Вещество добавлено'; } else { $this->data['form_error'] = $nutrition->error->string; } } else { #$this->data['form_error'] = validation_errors(); } $this->data['dm_languages'] = $languages; $this->data['dm_nutrition'] = $nutrition; $this->data['current_language'] = 1; #Russian $this->data['nutrition_categories'] = $nutrition_categories; $this->template->load('/admin/templates/main_template', '/admin/nutritions/edit', $this->data); }
function _nutrition_category_name_exists($name) { $nutrition_categories = new Nutrition_category(); $nutrition_categories->where('name', $name)->get(); if ($nutrition_categories->exists()) { return false; } return true; }
public function show($product_id, $product_name = '') { if (!$product_id) { echo 'product_show return false'; } array_push($this->data['js_functions'], array('name' => 'home_prodcut_show_init', 'data' => FALSE)); #! $product_category_selected = new Product_category(); $product_type_selected = new Product_type(); $product_selected = new Product(); $nutrition_categories = new Nutrition_category(); #! $product_selected->get_full_info($product_id); $product_selected->nutrition->get_full_info(); #$product_selected->nutrition->convert_to_mera(2); $product_type_selected->get_full_info($product_selected->product_type_id); $product_type_selected->product->get_full_info(); $product_category_selected->get_full_info($product_type_selected->product_category_id); $nutrition_categories->get_full_info(); #! $meras_available = array('100 gramms'); foreach ($product_selected->mera as $mera) { $meras_available[$mera->join_seq] = $mera->join_name . ' ( ' . $mera->join_value . ' )'; } #! $this->data['meras_available'] = $meras_available; $this->data['dm_product_category_selected'] = $product_category_selected; $this->data['dm_product_type_selected'] = $product_type_selected; $this->data['dm_product_selected'] = $product_selected; $this->data['dm_nutrition_categories'] = $nutrition_categories; #nutritions by selected product $this->data['dm_nutritions'] = $product_selected->nutrition; $this->data['dm_products'] = $product_type_selected->product; array_push($this->data['crumbs'], array('name' => 'home', 'link' => $this->linker->home_page_link())); array_push($this->data['crumbs'], array('name' => $product_selected->join_name, 'link' => false)); #! $this->template->load('/templates/main_template', '/products/product_show', $this->data); }
function get_nutrition_by_product() { $return_arr['status'] = false; $product_selected_id = $this->input->post('product_selected_id'); if (!$product_selected_id) { return; } $product = new Product(); $nutrition_categories = new Nutrition_category(); $product->get_full_info($product_selected_id); if (!$product->exists()) { return; } $product->nutrition->get_full_info(); $meras_available = '<option value = 0> 100 gramms </option>'; foreach ($product->mera as $mera) { $meras_available .= '<option value = ' . $mera->join_seq . '> ' . $mera->join_name . ' ( ' . $mera->join_value . ' gm ) </option>'; } #print_flex($meras_available); $nutrition_categories->get_full_info(); $this->data['dm_nutrition_categories'] = $nutrition_categories; $return_arr['nutrition_facts'] = $this->load->view('shared/nutrition_facts', array('dm_nutritions' => $product->nutrition), true); $return_arr['nutrition_tables'] = $this->load->view('products/nutrition_tables', array('dm_product' => $product, 'dm_nutrition_categories' => $nutrition_categories), true); $return_arr['meras_available'] = $meras_available; $return_arr['status'] = true; echo json_encode($return_arr); return; }
function edit($id = false) { $this->load->library('form_validation'); # Js function from main.js which loads by default array_push($this->data['js_functions'], array('name' => 'products_edit_init', 'data' => FALSE)); $product = new Product($id); # if form validates if ($this->form_validation->run('products_edit')) { $product->product_category_id = $this->input->post('product_category_id'); $product->mera_id = $this->input->post('mera_id'); $product->price = $this->input->post('price'); $product->units_for_price = $this->input->post('units_for_price'); $product->mera_for_price = $this->input->post('mera_for_price'); # if ($this->save_object_name($product)) { $nutrition_categories = new Nutrition_category(); $nutrition_categories->get(); # foreach ($nutrition_categories as $nc) { if (!$this->input->post('nutrition_category_' . $nc->id)) { continue; } $nc->save($product); $nc->set_join_field($product, 'value', $this->input->post('nutrition_category_' . $nc->id)); } #NUTRITION $hidden_nutrition_add = $this->input->post('hidden_nutrition') ? $this->input->post('hidden_nutrition') : array(); $hidden_nutrition_remove = $this->input->post('hidden_nutrition_removed') ? $this->input->post('hidden_nutrition_removed') : array(); # $hidden_nutrition_add = array_map('explode_ext', $hidden_nutrition_add); # $hidden_nutrition_remove = array_diff($hidden_nutrition_remove, return_subarray_by_key('id', $hidden_nutrition_add)); #SAVE Nutrition $nutrition = new Nutrition(); foreach ($hidden_nutrition_add as $hn_add) { $nutrition->get_by_id($hn_add['id']); $product->save($nutrition); $product->set_join_field($nutrition, 'value', $hn_add['value']); } #DELETE Nutrition if ($hidden_nutrition_remove) { $nutrition->where_in('id', $hidden_nutrition_remove)->get(); $product->delete($nutrition->all); } #MERAS-PRODUCT $selected_mera = $this->input->post('selected_meras'); $meras = new Mera(); if ($selected_mera) { $meras->where_not_in('id', $selected_mera)->get(); $product->delete($meras->all); $meras->where_in('id', $selected_mera)->get(); $product->save($meras->all); } #IMAGES #esli biblioteka my_upload_image_lib proinicializirovalas' verno to image zagrujaetca i resize $this->upload_image_lib->initialize(array('type' => 'product', 'size' => 'tiny')); #vozvrashaet polnoe ima kartinki primer: pi_id.jpg; v bazu sohranaetsa tol'ko $recipe_image_id $image_name = $this->upload_image_lib->upload_resize_img('image', $product->id); if ($image_name) { $product->image = $image_name; $product->save(); } $this->data['form_success'] = 'Продукт добавлен'; } else { $this->data['form_error'] = $product->error->string; } } else { echo validation_errors(); } # $meras = new Mera(); $product = new Product(); $nutrition_categories = new Nutrition_category(); $languages = new Language(); $product_categories->get_full_info(); $product_categories->product_type->get_full_info(); $product_categories->product_type->product->get_full_info($id); $product_categories->product_type->product->language->get_full_info(); $product_categories->product_type->product->nutrition->get_full_info(); $product_categories->product_type->product->nutrition->convert_to_mera(1); $meras_available = array('100 gramms'); foreach ($product_categories->product_type->product->mera as $mera) { $meras_available[$mera->join_seq] = $mera->join_name . ' ( ' . $mera->join_value . ' gm )'; } # $meras->get_full_info(); # $nutrition_categories->get_full_info(); # $languages->get_iterated(); # $this->data['meras_available'] = $meras_available; $this->data['dm_product_categories'] = $product_categories; $this->data['dm_product_types'] = $product_categories->product_type; $this->data['dm_product'] = $product_categories->product_type->product; $this->data['dm_nutrition_categories'] = $nutrition_categories; $this->data['dm_languages'] = $languages; $this->data['meras'] = $meras; $this->template->load('/admin/templates/main_template', '/admin/products/edit', $this->data); }
function get_nutrition_by_mera() { $product_id = $this->input->post('number_product_id'); $mera_selected = $this->input->post('mera_id'); $product = new Product(); $nutrition_categories = new Nutrition_category(); $product->get_full_info($product_id); $product->nutrition->convert_to_mera($mera_selected); $nutrition_categories->get_full_info(); $this->data['dm_product'] = $product; $this->data['dm_nutrition_categories'] = $nutrition_categories; $this->load->view('admin/products/sub/nutrition_tables', $this->data); }