public function postImport3($dic_id) { Allow::permission($this->module['group'], 'import'); $dic = Dictionary::where(is_numeric($dic_id) ? 'id' : 'slug', $dic_id)->first(); if (!is_object($dic)) { App::abort(404); } #Helper::tad($dic); ## Get also exists values #$exist_values = $dic->values; #Helper::ta($exist_values); $input = Input::all(); /* foreach ($exist_values as $e => $exist_value) { if ($input['rewrite_mode'] == 1) $exist_values[$exist_value->name] = $exist_value; else $exist_values[$exist_value->slug] = $exist_value; unset($exist_values[$e]); } Helper::ta($exist_values); */ $max = count($input['values'][0]); $fields = $input['fields']; $values = $input['values']; ## Filter fields & values foreach ($fields as $f => $field) { if (is_numeric($field) && $field == 0) { #Helper::d($f . " => " . $field . " = 0"); unset($fields[$f]); unset($values[$f]); } } #Helper::d($fields); #Helper::d($values); ## Make insertions $find_key = $input['rewrite_mode'] == 1 ? 'name' : 'slug'; $array = array(); $count = count($values[0]); for ($i = 0; $i < $count; $i++) { $arr = array('dic_id' => $dic->id); foreach ($fields as $f => $field) { $arr[$field] = @trim($values[$f][$i]); } $find = array($find_key => @$arr[$find_key], 'dic_id' => $dic->id); #unset($arr[$find_key]); if (@$input['set_slug'] && ($input['set_slug_elements'] == 'all' || $input['set_slug_elements'] == 'empty' && !@$arr['slug'])) { $arr['slug'] = Helper::translit(@$arr['name']); } if (@$input['set_ucfirst'] && $arr['name']) { $arr['name'] = Helper::mb_ucfirst($arr['name']); } #Helper::dd($find); #/* $dicval = DicVal::firstOrCreate($find); $dicval->update($arr); #Helper::ta($dicval); #*/ unset($dicval); #$array[] = $arr; } #Helper::d($array); return Redirect::route('dicval.index', $dic_id); }