/** * module=menuwrite * * @param object $menu * @return string */ public function render($menu) { // form $form = Html::create('form', array('id' => 'setup_frm', 'class' => 'setup_frm', 'autocomplete' => 'off', 'action' => 'index.php/index/model/menuwrite/save', 'onsubmit' => 'doFormSubmit', 'ajax' => true)); $fieldset = $form->add('fieldset', array('title' => '{LNG_Menu details}')); $groups = $fieldset->add('groups-table', array('label' => '{LNG_Language}', 'id' => 'language', 'comment' => '{LNG_Select the language of this item (Select the first Is present in every language)}')); // language $groups->add('select', array('id' => 'language', 'labelClass' => 'g-input icon-language', 'itemClass' => 'width', 'options' => ArrayTool::replace(array('' => '{LNG_all languages}'), Language::installedLanguage()), 'value' => empty($menu->id) ? '' : $menu->language)); $groups->add('a', array('id' => 'copy_menu', 'class' => 'button icon-copy copy', 'title' => '{LNG_Copy this item to the selected language}')); // menu_text $fieldset->add('text', array('id' => 'menu_text', 'labelClass' => 'g-input icon-menus', 'itemClass' => 'item', 'label' => '{LNG_Text}', 'comment' => '{LNG_Text displayed on the menu}', 'maxlength' => 100, 'value' => $menu->menu_text)); // menu_tooltip $fieldset->add('text', array('id' => 'menu_tooltip', 'labelClass' => 'g-input icon-edit', 'itemClass' => 'item', 'label' => '{LNG_Tooltip}', 'comment' => '{LNG_Message when mouse over the menu}', 'maxlength' => 100, 'value' => $menu->menu_tooltip)); // accesskey $fieldset->add('text', array('id' => 'accesskey', 'labelClass' => 'g-input icon-keyboard', 'itemClass' => 'item', 'label' => '{LNG_Accesskey}', 'comment' => '{LNG_Enter lowercase English letters or numbers to be used as a shortcut to this menu. (Sub-menus do not support the shortcut menu. Do not duplicate keys of the system shortcut)}', 'value' => $menu->accesskey)); $fieldset = $form->add('fieldset', array('title' => '{LNG_Installation and position of the menu}')); // alias $fieldset->add('text', array('id' => 'alias', 'labelClass' => 'g-input icon-edit', 'itemClass' => 'item', 'label' => '{LNG_Alias}', 'comment' => '{LNG_The name of the menu (the default is the name of the module is installed)}', 'value' => $menu->alias)); // parent $fieldset->add('select', array('id' => 'parent', 'labelClass' => 'g-input icon-config', 'itemClass' => 'item', 'label' => '{LNG_Menu position}', 'comment' => '{LNG_Select the menu position. The menu will be displayed on the website at the selected position. (Based on templates you are using)}', 'options' => Language::find('MENU_PARENTS', array('MAINMENU' => 'Main menu')), 'value' => $menu->parent)); // type if ($menu->menu_order == 1) { $m = 0; } elseif ($menu->level == 0) { $m = 1; } elseif ($menu->level == 1) { $m = 2; } else { $m = 3; } $fieldset->add('select', array('id' => 'type', 'labelClass' => 'g-input icon-config', 'itemClass' => 'item', 'label' => '{LNG_Menu type}', 'comment' => '{LNG_Select the type of menu}', 'options' => Language::get('MENU_TYPES'), 'value' => $m)); // menu_order $fieldset->add('select', array('id' => 'menu_order', 'labelClass' => 'g-input icon-config', 'itemClass' => 'item', 'label' => '{LNG_Menu order}', 'size' => 8, 'comment' => '{LNG_The sequence of the desired menu. The menu will be displayed next from the selected item}')); // published $fieldset->add('select', array('id' => 'published', 'labelClass' => 'g-input icon-published1', 'itemClass' => 'item', 'label' => '{LNG_Status}', 'comment' => '{LNG_Publish this item}', 'options' => Language::get('MENU_PUBLISHEDS'), 'value' => $menu->published)); $fieldset = $form->add('fieldset', array('id' => 'menu_action', 'title' => '{LNG_Action when click on menu}')); // action if ($menu->menu_url != '') { $m = 2; } elseif ($menu->index_id == 0) { $m = 0; } else { $m = 1; } $fieldset->add('select', array('id' => 'action', 'labelClass' => 'g-input icon-config', 'itemClass' => 'item', 'label' => '{LNG_When choosing the menu}', 'comment' => '{LNG_Choose how to proceed. When you click on the menu}', 'options' => Language::get('MENU_ACTIONS'), 'value' => $m)); // index_id $fieldset->add('select', array('id' => 'index_id', 'labelClass' => 'g-input icon-modules', 'itemClass' => 'item action 1', 'label' => '{LNG_installed module}', 'comment' => '{LNG_Choose the page you want to open when you click a menu item from a list of web pages or modules already installed}', 'optgroup' => \Index\Menuwrite\Model::getModules(), 'value' => $menu->owner . '_' . $menu->index_id)); // menu_url $fieldset->add('text', array('id' => 'menu_url', 'labelClass' => 'g-input icon-world', 'itemClass' => 'item action 2', 'label' => '{LNG_URL}', 'comment' => '{LNG_Links for this item, which will open this page when click on it}', 'value' => str_replace(array('{', '}'), array('{', '}'), $menu->menu_url))); // menu_target $fieldset->add('select', array('id' => 'menu_target', 'labelClass' => 'g-input icon-forward', 'itemClass' => 'item action 1 2', 'label' => '{LNG_The opening page of links}', 'comment' => '{LNG_Determine how to turn the page when a link is clicked}', 'options' => Language::get('MENU_TARGET'), 'value' => $menu->menu_target)); $fieldset = $form->add('fieldset', array('class' => 'submit')); // submit $fieldset->add('submit', array('class' => 'button ok large', 'value' => '{LNG_Save}')); // id $fieldset->add('hidden', array('id' => 'id', 'value' => $menu->id)); $form->script('initMenuwrite();'); return $form->render(); }
/** * จัดการแสดงผลแถวของตาราง * * @param array $item * @return array */ public function onRow($item) { $item['key'] = Form::text(array('name' => 'save_array[]', 'labelClass' => 'g-input', 'value' => $item['key']))->render(); foreach (Language::installedLanguage() as $key) { $item[$key] = Form::textarea(array('name' => 'language_' . $key . '[]', 'labelClass' => 'g-input', 'value' => isset($item[$key]) ? $item[$key] : ''))->render(); } return $item; }
/** * module=maintenance * * @param string $language * @param string $template * @return string */ public function render($language, $template) { // form $form = Html::create('form', array('id' => 'setup_frm', 'class' => 'setup_frm', 'autocomplete' => 'off', 'action' => 'index.php/index/model/maintenance/save', 'onsubmit' => 'doFormSubmit', 'ajax' => true)); $fieldset = $form->add('fieldset', array('title' => '{LNG_The page will appear on your site is in maintenance mode}')); // maintenance_mode $fieldset->add('select', array('id' => 'maintenance_mode', 'labelClass' => 'g-input icon-config', 'itemClass' => 'item', 'label' => '{LNG_Settings}', 'options' => Language::get('BOOLEANS'), 'value' => isset(self::$cfg->maintenance_mode) ? self::$cfg->maintenance_mode : 0)); $div = $fieldset->add('groups-table', array('label' => '{LNG_Language}')); // language $div->add('select', array('id' => 'language', 'labelClass' => 'g-input icon-language', 'itemClass' => 'width', 'options' => Language::installedLanguage(), 'value' => $language)); $div->add('button', array('id' => 'btn_go', 'itemClass' => 'width', 'class' => 'button go', 'value' => '{LNG_Go}')); // detail $fieldset->add('ckeditor', array('id' => 'detail', 'itemClass' => 'item', 'height' => 300, 'language' => Language::name(), 'toolbar' => 'Document', 'label' => '{LNG_Detail}', 'value' => $template, 'upload' => true)); $fieldset = $form->add('fieldset', array('class' => 'submit')); // submit $fieldset->add('submit', array('class' => 'button ok large', 'value' => '{LNG_Save}')); $form->script('doChangeLanguage("btn_go", "index.php?module=maintenance");'); return $form->render(); }
/** * ตารางภาษา * * @return string */ public function render() { // ชนิดของภาษาที่เลือก php,js $type = self::$request->get('type')->toString(); $type = $type == 'js' ? 'js' : 'php'; // โหลดภาษา $datas = Language::installed($type); $installed_language = Language::installedLanguage(); // Uri $uri = self::$request->getUri(); // ตารางภาษา $table = new DataTable(array('datas' => $datas, 'onRow' => array($this, 'onRow'), 'perPage' => max(10, self::$request->cookie('language_perPage', 30)->toInt()), 'sort' => self::$request->cookie('language_sort', 'key')->toString(), 'searchColumns' => array_merge(array('key'), $installed_language), 'headers' => array('id' => array('text' => '{LNG_ID}', 'sort' => 'id'), 'key' => array('text' => '{LNG_Key}', 'sort' => 'key')), 'action' => 'index.php/index/model/language/action?type=' . $type, 'actionCallback' => 'doFormSubmit', 'actionConfirm' => 'confirmAction', 'actions' => array(array('id' => 'action', 'class' => 'ok', 'text' => '{LNG_With selected}', 'options' => array('delete' => '{LNG_Delete}')), array('class' => 'button add icon-plus', 'href' => $uri->createBackUri(array('module' => 'languageedit', 'id' => null, 'type' => $type)), 'text' => '{LNG_Add New}')), 'buttons' => array(array('class' => 'icon-edit button green', 'href' => $uri->createBackUri(array('module' => 'languageedit', 'id' => ':id', 'type' => $type)), 'text' => '{LNG_Edit}')), 'filters' => array('type' => array('name' => 'type', 'text' => '{LNG_Type}', 'options' => array('php' => 'php', 'js' => 'js'), 'value' => $type)))); foreach ($installed_language as $lng) { $table->headers[$lng]['sort'] = $lng; } // save cookie setcookie('language_perPage', $table->perPage, time() + 3600 * 24 * 365, '/'); setcookie('language_sort', $table->sort, time() + 3600 * 24 * 365, '/'); return $table->render(); }
/** * แสดงผลหน้าหลักเว็บไซต์ * * @param Request $request */ public function index(Request $request) { // ตัวแปรป้องกันการเรียกหน้าเพจโดยตรง define('MAIN_INIT', __FILE__); // session cookie $request->initSession(); // ตรวจสอบการ login Login::create(); // กำหนด skin ให้กับ template Template::init($request->get('skin', self::$cfg->skin)->toString()); // backend Gcms::$view = new \Kotchasan\View(); if ($login = Login::adminAccess()) { // โหลดโมดูลที่ติดตั้งแล้ว \Index\Index\Model::installedmodules(); // Controller หลัก $main = new \Index\Main\Controller(); } else { // forgot or login if ($request->request('action')->toString() === 'forgot') { $main = new \Index\Forgot\Controller(); } else { $main = new \Index\Login\Controller(); } } $languages = array(); $uri = $request->getUri(); foreach (array_merge(self::$cfg->languages, Language::installedLanguage()) as $i => $item) { $languages[$item] = '<a id=lang_' . $item . ' href="' . $uri->withParams(array('lang' => $item), true) . '" title="{LNG_Language} ' . strtoupper($item) . '" style="background-image:url(' . WEB_URL . 'language/' . $item . '.gif)" tabindex=1> </a>'; } // เนื้อหา Gcms::$view->setContents(array('/{MAIN}/' => $main->execute($request), '/{VERSION}/' => self::$cfg->version, '/{LANGUAGES}/' => implode('', $languages), '/{TITLE}/' => $main->title() . ' (Admin)', '/{BACKURL(\\?([a-zA-Z0-9=&\\-_@\\.]+))?}/e' => '\\Kotchasan\\View::back')); if ($login) { $name = trim($login['fname'] . ' ' . $login['lname']); Gcms::$view->setContents(array('/{LOGINID}/' => $login['id'], '/{LOGINNAME}/' => empty($name) ? $login['email'] : $name, '/{STATUS}/' => $login['status'], '/{MENUS}/' => \Index\Menu\View::render())); } // ส่งออก เป็น HTML $response = new Response(); $response->withContent(Gcms::$view->renderHTML())->send(); }
/** * module=languageadd * * @param string $id * @return string */ public function render($id) { // form $form = Html::create('form', array('id' => 'setup_frm', 'class' => 'setup_frm', 'autocomplete' => 'off', 'action' => 'index.php/index/model/languageadd/save', 'onsubmit' => 'doFormSubmit', 'ajax' => true)); $fieldset = $form->add('fieldset', array('title' => '{LNG_Details of} {LNG_Language}')); // language_name $fieldset->add('text', array('id' => 'language_name', 'labelClass' => 'g-input icon-language', 'itemClass' => 'item', 'label' => '{LNG_Language}', 'comment' => '{LNG_Language name English lowercase two letters}', 'maxlength' => 2, 'value' => $id)); if (empty($id)) { // copy $fieldset->add('select', array('id' => 'lang_copy', 'labelClass' => 'g-input icon-copy', 'itemClass' => 'item', 'label' => '{LNG_Copy}', 'comment' => '{LNG_Copy language from the installation}', 'options' => Language::installedLanguage())); } // lang_icon $img = is_file(ROOT_PATH . "language/{$id}.gif") ? WEB_URL . "language/{$id}.gif" : "../skin/img/blank.gif"; $fieldset->add('file', array('id' => 'lang_icon', 'labelClass' => 'g-input icon-upload', 'itemClass' => 'item', 'label' => '{LNG_Icon}', 'comment' => '{LNG_Image upload types :type only, should be prepared to have the same size}', 'dataPreview' => 'icoImage', 'previewSrc' => $img)); $fieldset = $form->add('fieldset', array('class' => 'submit')); // submit $fieldset->add('submit', array('class' => 'button ok large', 'value' => '{LNG_Save}')); // language $fieldset->add('hidden', array('id' => 'language', 'value' => $id)); Gcms::$view->setContents(array('/:type/' => 'gif'), false); return $form->render(); }
/** * module=mailwrite * * @param object $index * @return string */ public function render($index) { // form $form = Html::create('form', array('id' => 'setup_frm', 'class' => 'setup_frm', 'autocomplete' => 'off', 'action' => 'index.php/index/model/mailwrite/save', 'onsubmit' => 'doFormSubmit', 'ajax' => true)); $fieldset = $form->add('fieldset', array('title' => '{LNG_Details of} {LNG_Email}')); // from_email $fieldset->add('text', array('id' => 'from_email', 'labelClass' => 'g-input icon-email', 'itemClass' => 'item', 'label' => '{LNG_Sender}', 'comment' => '{LNG_E-mail address for replies. If you do not want a response, please leave blank.}', 'maxlength' => 255, 'value' => $index->from_email)); // copy_to $fieldset->add('text', array('id' => 'copy_to', 'labelClass' => 'g-input icon-cc', 'itemClass' => 'item', 'label' => '{LNG_Copy to}', 'comment' => '{LNG_More email addresses to send a copy of the email. Separate each item with comma (,)}', 'value' => $index->copy_to)); // subject $fieldset->add('text', array('id' => 'subject', 'labelClass' => 'g-input icon-edit', 'itemClass' => 'item', 'label' => '{LNG_Subject}', 'title' => '{LNG_Please fill in} {LNG_Subject}', 'maxlength' => 64, 'value' => $index->subject)); // language $fieldset->add('select', array('id' => 'language', 'labelClass' => 'g-input icon-language', 'itemClass' => 'item', 'label' => '{LNG_Language}', 'comment' => '{LNG_The system will e-mail the selected language. If you do not use the default language.}', 'options' => Language::installedLanguage(), 'value' => $index->language)); // detail $fieldset->add('ckeditor', array('id' => 'detail', 'itemClass' => 'item', 'height' => 300, 'language' => Language::name(), 'toolbar' => 'Document', 'upload' => true, 'label' => '{LNG_Detail}', 'value' => $index->detail)); $fieldset = $form->add('fieldset', array('class' => 'submit')); // submit $fieldset->add('submit', array('class' => 'button ok large', 'value' => '{LNG_Save}')); // id $fieldset->add('hidden', array('id' => 'id', 'value' => $index->id)); return $form->render(); }
/** * module=pagewrite * * @param string $id * @return string */ public function render($index) { // form $form = Html::create('form', array('id' => 'setup_frm', 'class' => 'setup_frm', 'autocomplete' => 'off', 'action' => 'index.php/index/model/pagewrite/save', 'onsubmit' => 'doFormSubmit', 'ajax' => true, 'upload' => true)); $fieldset = $form->add('fieldset', array('title' => '{LNG_Details of} ' . Language::get($index->owner === 'index' ? 'Page' : 'Module'))); $groups = $fieldset->add('groups-table', array('label' => '{LNG_Language}', 'id' => 'language', 'comment' => '{LNG_Select the language of this item (Select the first Is present in every language)}')); // language $groups->add('select', array('id' => 'language', 'labelClass' => 'g-input icon-language', 'itemClass' => 'width', 'options' => ArrayTool::replace(array('' => '{LNG_all languages}'), Language::installedLanguage()), 'value' => $index->language)); $groups->add('a', array('id' => 'btn_copy', 'class' => 'button icon-copy copy', 'title' => '{LNG_Copy this item to the selected language}')); // module $fieldset->add('text', array('id' => 'module', 'labelClass' => 'g-input icon-modules', 'itemClass' => 'item', 'label' => '{LNG_Module}', 'comment' => '{LNG_Name of this module. English lowercase and number only, short. (Can not use a reserve or a duplicate)}', 'maxlength' => 64, 'value' => $index->module)); // topic $fieldset->add('text', array('id' => 'topic', 'labelClass' => 'g-input icon-edit', 'itemClass' => 'item', 'label' => '{LNG_Topic}', 'comment' => '{LNG_Text displayed on the Title Bar of the browser (3 - 255 characters)}', 'maxlength' => 255, 'value' => $index->topic)); // keywords $fieldset->add('textarea', array('id' => 'keywords', 'labelClass' => 'g-input icon-tags', 'itemClass' => 'item', 'label' => '{LNG_Keywords}', 'comment' => '{LNG_Text keywords for SEO or Search Engine to search}', 'value' => $index->keywords)); // description $fieldset->add('textarea', array('id' => 'description', 'labelClass' => 'g-input icon-file', 'itemClass' => 'item', 'label' => '{LNG_Description}', 'comment' => '{LNG_Text short summary of your story. Which can be used to show in your theme. (If not the program will fill in the contents of the first paragraph)}', 'value' => $index->description)); // detail $fieldset->add('ckeditor', array('id' => 'detail', 'itemClass' => 'item', 'height' => 300, 'language' => Language::name(), 'toolbar' => 'Document', 'upload' => true, 'label' => '{LNG_Detail}', 'value' => $index->detail)); // published_date $fieldset->add('date', array('id' => 'published_date', 'labelClass' => 'g-input icon-calendar', 'itemClass' => 'item', 'label' => '{LNG_Published date}', 'comment' => '{LNG_The date of publication of this information. The publisher will start automatically when you log on due date}', 'value' => $index->published_date)); // published $fieldset->add('select', array('id' => 'published', 'labelClass' => 'g-input icon-published1', 'itemClass' => 'item', 'label' => '{LNG_Published}', 'comment' => '{LNG_Publish this item}', 'options' => Language::get('PUBLISHEDS'), 'value' => $index->published)); $fieldset = $form->add('fieldset', array('class' => 'submit')); // submit $fieldset->add('submit', array('class' => 'button ok large', 'value' => '{LNG_Save}')); // preview button if ($index->owner == 'index') { $fieldset->add('button', array('id' => 'btn_preview', 'class' => 'button preview large', 'value' => '{LNG_Preview}')); } // owner $fieldset->add('hidden', array('id' => 'owner', 'value' => $index->owner)); // id $fieldset->add('hidden', array('id' => 'id', 'value' => $index->id)); $form->script('initIndexWrite();'); return $form->render(); }
/** * module=languages * * @return string */ public function render() { $section = Html::create('div', array('class' => 'subtitle', 'innerHTML' => '{LNG_Add, edit, and reorder the language of the site. The first item is the default language of the site.}')); $list = $section->add('ol', array('class' => 'editinplace_list', 'id' => 'languages')); $languages = array(); foreach (array_merge(self::$cfg->languages, Language::installedLanguage()) as $item) { if (empty($languages[$item])) { $languages[$item] = $item; $row = $list->add('li', array('id' => 'L_' . $item, 'class' => 'sort')); $row->add('span', array('class' => 'icon-move')); $row->add('span', array('id' => 'delete_' . $item, 'class' => 'icon-delete', 'title' => '{LNG_Delete}')); $row->add('a', array('class' => 'icon-edit', 'href' => '?module=languageadd&id=' . $item, 'title' => '{LNG_Edit}')); $chk = in_array($item, self::$cfg->languages) ? 'check' : 'uncheck'; $row->add('span', array('id' => 'check_' . $item, 'class' => 'icon-' . $chk)); $row->add('span', array('style' => 'background-image:url(' . WEB_URL . 'language/' . $item . '.gif)')); $row->add('span', array('innerHTML' => $item)); } } $div = $section->add('div', array('class' => 'submit')); $a = $div->add('a', array('class' => 'button add large', 'href' => '?module=languageadd')); $a->add('span', array('class' => 'icon-plus', 'innerHTML' => '{LNG_Add New} {LNG_Language}')); $section->script('initLanguages("languages");'); return $section->render(); }
/** * form submit */ public function save() { $ret = array(); // referer, session, member if (self::$request->initSession() && self::$request->isReferer() && ($login = Login::isAdmin())) { if ($login['email'] == 'demo') { $ret['alert'] = Language::get('Unable to complete the transaction'); } else { // ชนิดของภาษาที่เลือก php,js $type = self::$request->post('write_type')->toString(); $type = $type == 'js' ? 'js' : 'php'; // โหลดไฟล์ภาษา ที่ติดตั้ง $languages = Language::installed($type); // -1 ใหม่ มากกว่า -1แก้ไข $write_id = self::$request->post('write_id', -1)->toInt(); $id = $write_id >= 0 ? $write_id : sizeof($languages); // ข้อมูลที่ POST มา $key = self::$request->post('write_topic')->quote(); // ตรวจสอบข้อมูลซ้ำ $search = Language::keyExists($languages, $key); if ($search == -1 || $search == $id) { $save = array(); $languages[$id] = array('key' => $key); foreach (self::$request->post('save_array')->toString() as $key => $value) { foreach (Language::installedLanguage() as $lng) { $v = self::$request->post('language_' . $lng)->get($key)->quote(); if ($type == 'php') { if ($v != '' && $v != $languages[$id]['key']) { $languages[$id][$lng]["{$value}"] = $v; } } elseif ($type == 'js') { if ($v == '' || $v == $languages[$id]['key']) { if ($v == '') { $v = $languages[$id]['key']; } $languages[$id]['key'] = strtoupper(trim(preg_replace(array('/[\\s_\\!]{1,}/', '/[\\?\\[\\]<>\\{\\}%]/', '/_$/'), array('_', '', ''), $languages[$id]['key']))); } $languages[$id][$lng][''] = $v; } } } foreach ($languages[$id] as $lng => $value) { if ($lng != 'key' && sizeof($value) == 1) { $keys = array_keys($value); if (reset($keys) === '') { $languages[$id][$lng] = $value[$keys[0]]; } } } // บันทึกเป็นไฟล์ $result = Language::save($languages, $type); // คืนค่า if (empty($result)) { $ret['alert'] = Language::get('Saved successfully'); if ($write_id >= 0) { $ret['location'] = self::$request->getUri()->postBack('index.php', array('module' => 'language', 'type' => $type)) . '#datatable_' . $id; } else { $ret['location'] = self::$request->getUri()->postBack('index.php', array('module' => 'language', 'type' => $type, 'sort' => 'id', 'sort_type' => 'desc')) . '#datatable_' . $id; } } else { $ret['alert'] = $result; } } else { $ret['alert'] = Language::get('This message already exist'); } } } else { $ret['alert'] = Language::get('Unable to complete the transaction'); } // คืนค่า json echo json_encode($ret); }
/** * แสดงผล */ public function render() { // แอดมิน if (Login::isAdmin()) { // ชนิดของภาษาที่เลือก php,js $this->type = self::$request->get('type')->toString(); $this->type = $this->type == 'js' ? 'js' : 'php'; // รายการที่แก้ไข (id) $this->id = self::$request->get('id', -1)->toInt(); // โหลดไฟล์ภาษา ที่ติดตั้ง $languages = Language::installed($this->type); $installed_languages = Language::installedLanguage(); $this->languages = array(); if ($this->id > -1) { $this->language = $languages[$this->id]; foreach ($installed_languages as $item) { if (isset($this->language['array'])) { if (isset($this->language[$item])) { foreach ($this->language[$item] as $k => $v) { if (!isset($this->languages[$k]['key'])) { $this->languages[$k]['key'] = $k; foreach ($installed_languages as $a) { $this->languages[$k][$a] = ''; } } $this->languages[$k][$item] = $v; } } } else { if (!isset($this->languages[0]['key'])) { $this->languages[0]['key'] = ''; foreach ($installed_languages as $a) { $this->languages[0][$a] = ''; } } if (isset($this->language[$item])) { $this->languages[0][$item] = $this->language[$item]; } } } } else { // ใหม่ $this->language = array('key' => ''); $this->languages[0]['key'] = ''; foreach ($installed_languages as $item) { $this->languages[0][$item] = ''; } } // แสดงผล $section = Html::create('section'); // breadcrumbs $breadcrumbs = $section->add('div', array('class' => 'breadcrumbs')); $ul = $breadcrumbs->add('ul'); $ul->appendChild('<li><span class="icon-tools">{LNG_Tools}</span></li>'); $ul->appendChild('<li><a href="{BACKURL?module=language}">{LNG_Language}</a></li>'); $ul->appendChild('<li><span>{LNG_' . ($this->id > -1 ? 'Edit' : 'Create') . '}</span></li>'); $section->add('header', array('innerHTML' => '<h1 class="icon-language">' . $this->title() . '</h1>')); // แสดงฟอร์ม $section->appendChild(createClass('Index\\Languageedit\\View')->render($this)); return $section->render(); } else { // 404.html return \Index\Error\Controller::page404(); } }