public function postLangpostsave() { User::onlyHas('feedpost-edit'); $response = array(); $id = Input::get('id'); $lang_id = Input::get('lang_id'); // update PostLang records $postlang = Input::get('postlang'); if ($postlang) { $response['PostLang'] = 1; foreach ($postlang as $plang_id => $plang) { $post_lang = PostLang::find($plang_id); if ($post_lang) { $post_lang->title = $plang['title']; $post_lang->uri = PostLang::uniqURI($plang_id, $plang['uri'] ? $plang['uri'] : $plang['title']); $post_lang->text = $plang['text']; $post_lang->enabled = isset($plang['enabled']) ? 1 : 0; $post_lang->save(); Log::info("Edit PostLang (article) #{$plang_id}"); } else { throw new Exception("Undefined PostLang #{$plang_id} DATA: " . serialize($plang)); } } } // update dinamic lang fields $dinamic_lang_fields = Input::get("dinamic_lang.{$lang_id}"); FeedFieldValue::where('post_id', $id)->where('lang_id', $lang_id)->delete(); if (is_array($dinamic_lang_fields) && $dinamic_lang_fields) { foreach ($dinamic_lang_fields as $field_id => $field_value) { $field = FeedField::find($field_id); $fieldValue = new FeedFieldValue(); $fieldValue->feed_field_id = $field_id; $fieldValue->post_id = $id; $fieldValue->lang_id = $lang_id; if ($field->check_filter && method_exists('DinamicFields', $field->check_filter)) { $fieldValue->value = call_user_func(array('DinamicFields', $field->check_filter), $field_value); } else { $fieldValue->value = $field_value; } $fieldValue->save(); } } return $response; }
public function getImport() { $xsdstring = $_SERVER['DOCUMENT_ROOT'] . "/import.xml"; $excel = new XML2003Parser($xsdstring); $table = $excel->getTableData(); function mb_ucfirst($str, $enc = 'utf-8') { return mb_strtoupper(mb_substr($str, 0, 1, $enc), $enc) . mb_substr($str, 1, mb_strlen($str, $enc), $enc); } foreach ($table["table_contents"] as $row) { if (isset($row["row_contents"][2]) && isset($row["row_contents"][0])) { $id = $row["row_contents"][0]['value']; $value = trim(mb_ucfirst(mb_strtolower($row["row_contents"][2]['value']))); $postlang = PostLang::find($id); if ($postlang) { $postlang->title = $value; $postlang->uri = PostLang::uniqURI($id, $value); $postlang->save(); } else { echo "undefined {$id} <br>"; } //echo "$id $value<br><br><br>"; } } return []; }