public function postSave($id = false) { #Helper::dd($entity); if (@$id) { Allow::permission($this->module['group'], 'edit'); } else { Allow::permission($this->module['group'], 'create'); } if (!Request::ajax()) { App::abort(404); } #$id = Input::get('id'); $input = Input::all(); if (Allow::action($this->module['group'], 'settings')) { $input['entity'] = Input::get('entity') ? 1 : NULL; $input['hide_slug'] = Input::get('hide_slug') ? 1 : NULL; $input['make_slug_from_name'] = Input::get('make_slug_from_name') > 0 ? (int) Input::get('make_slug_from_name') : NULL; $input['name_title'] = Input::get('name_title') ?: NULL; $input['view_access'] = is_numeric(Input::get('view_access')) ? (int) Input::get('view_access') : NULL; $input['sortable'] = Input::get('sortable') ? (int) Input::get('sortable') : 0; $input['sort_by'] = Input::get('sort_by') != 'order' ? Input::get('sort_by') : NULL; } $json_request['responseText'] = "<pre>" . print_r($_POST, 1) . "</pre>"; #return Response::json($json_request,200); $json_request = array('status' => FALSE, 'responseText' => '', 'responseErrorText' => '', 'redirect' => FALSE); $validator = Validator::make($input, array('name' => 'required')); if ($validator->passes()) { $redirect = false; if ($id > 0 && NULL !== ($element = Dictionary::find($id))) { #$json_request['responseText'] = "<pre>" . print_r($_POST, 1) . "</pre>"; #return Response::json($json_request,200); $element->update($input); $redirect = false; } else { $element = new Dictionary(); $element->save(); $element->update($input); $dic_id = $element->id; $redirect = action('dicval.index', array('dic_id' => $dic_id)); } ## Clear & reload dics cache Dic::drop_cache(); Dic::preload(); $json_request['responseText'] = 'Сохранено'; if ($redirect) { $json_request['redirect'] = $redirect; } $json_request['status'] = TRUE; } else { $json_request['responseText'] = 'Неверно заполнены поля'; $json_request['responseErrorText'] = $validator->messages()->all(); } return Response::json($json_request, 200); }
public function translateStrings(&$arr) { if (CLI) { echo "Translation language package strings:" . PHP_EOL; } //$orgArr = $arr; //$this->loadPack($orgArr); require_once 'Dictionary.php'; $lang = $this->lang; $locale = explode("_", $lang); $target_lang = strtolower($locale[0]); $dictionary = new Dictionary('en', $target_lang); if ($this->systemOnly == false) { foreach (array("Module", "Theme") as $mainKey) { if (!isset($arr[$mainKey])) { continue; } foreach ($arr[$mainKey] as $key => $value) { $module_name = strtolower($key); foreach ($arr[$mainKey][$key] as $section => $value) { $str_count = count($arr[$mainKey][$key][$section]); $i = 0; foreach ($arr[$mainKey][$key][$section] as $str_key => $str_value) { $i++; $str_value_translated = $dictionary->translate($str_value); if ($str_value_translated) { $arr[$mainKey][$key][$section][$str_key] = $str_value_translated; if (CLI) { if ($target_lang == 'zh') { $str_value_translated = iconv("UTF-8", "GB2312", $str_value_translated); } echo " {$key}: (" . sprintf('%0' . strlen($str_count) . 'd', $i) . "/{$str_count}) Translation string : {$str_value} => {$str_value_translated}" . PHP_EOL; } } } } } } } //if ($this->module == '*') { if ($this->systemOnly) { //load system.ini if (CLI) { echo "Translation System strings:" . PHP_EOL; } $module_name = "SYSTEM"; $module_filename = OPENBIZ_APP_PATH . DIRECTORY_SEPARATOR . "languages" . DIRECTORY_SEPARATOR . $this->lang . DIRECTORY_SEPARATOR . "system.ini"; if (is_file($module_filename)) { //$strArr = parse_ini_file($module_filename,1); //foreach($strArr as $key=>$value){ foreach ($arr["System"] as $key => $value) { $i = 0; $str_count = count($arr["System"][$key]); foreach ($value as $str_key => $str_value) { $i++; $str_value_translated = $dictionary->translate($str_value); if ($str_value_translated) { $arr["System"][$key][$str_key] = $str_value_translated; if ($target_lang == 'zh') { $str_value_translated = iconv("UTF-8", "GB2312", $str_value_translated); } echo " {$key}: (" . sprintf('%0' . strlen($str_count) . 'd', $i) . "/{$str_count}) Translation string : {$str_value} => {$str_value_translated}" . PHP_EOL; } } } } } if (CLI) { echo PHP_EOL; } // update dictionary file $dictionary->update(); return $arr; }