set svn property - svn:eol-style LF

git-svn-id: http://xe-core.googlecode.com/svn/branches/1.5.0@8253 201d5d3c-b55e-5fd7-737f-ddc643e51545
This commit is contained in:
taggon 2011-04-01 06:51:30 +00:00
parent 9802eaa60a
commit 620b03d184
763 changed files with 114595 additions and 114595 deletions

View file

@ -1,36 +1,36 @@
<?xml version="1.0" encoding="UTF-8"?>
<module version="0.2">
<title xml:lang="ko">모듈</title>
<title xml:lang="zh-CN">模块列表</title>
<title xml:lang="jp">モジュール</title>
<title xml:lang="en">Module</title>
<title xml:lang="vi">Module</title>
<title xml:lang="es">Módulo</title>
<title xml:lang="ru">Модули</title>
<title xml:lang="zh-TW">模組</title>
<title xml:lang="tr">Modül</title>
<description xml:lang="ko">모듈 생성 및 관리하는 모듈입니다.</description>
<description xml:lang="zh-CN">生成及管理模块的模块。</description>
<description xml:lang="jp">モジュールの生成、管理するモジュールです。</description>
<description xml:lang="en">This module is for creating/managering the other modules.</description>
<description xml:lang="vi">Module cho phép tạo và quản lý những Module khác.</description>
<description xml:lang="es">Este módulo is para crear y manejar los otros módulos.</description>
<description xml:lang="ru">Этот модуль служит для создания/управления другими модулями.</description>
<description xml:lang="zh-TW">用於建立與管理其他模組。</description>
<description xml:lang="tr">Bu modül, başka modüller oluşturmak ve yönetmek içindir.</description>
<version>0.1</version>
<date>2007-02-28</date>
<category>system</category>
<author email_address="developers@xpressengine.com" link="http://xpressengine.com/">
<name xml:lang="ko">NHN</name>
<name xml:lang="vi">NHN</name>
<name xml:lang="zh-CN">NHN</name>
<name xml:lang="jp">NHN</name>
<name xml:lang="en">NHN</name>
<name xml:lang="es">NHN</name>
<name xml:lang="ru">NHN</name>
<name xml:lang="zh-TW">NHN</name>
<name xml:lang="tr">NHN</name>
</author>
</module>
<?xml version="1.0" encoding="UTF-8"?>
<module version="0.2">
<title xml:lang="ko">모듈</title>
<title xml:lang="zh-CN">模块列表</title>
<title xml:lang="jp">モジュール</title>
<title xml:lang="en">Module</title>
<title xml:lang="vi">Module</title>
<title xml:lang="es">Módulo</title>
<title xml:lang="ru">Модули</title>
<title xml:lang="zh-TW">模組</title>
<title xml:lang="tr">Modül</title>
<description xml:lang="ko">모듈 생성 및 관리하는 모듈입니다.</description>
<description xml:lang="zh-CN">生成及管理模块的模块。</description>
<description xml:lang="jp">モジュールの生成、管理するモジュールです。</description>
<description xml:lang="en">This module is for creating/managering the other modules.</description>
<description xml:lang="vi">Module cho phép tạo và quản lý những Module khác.</description>
<description xml:lang="es">Este módulo is para crear y manejar los otros módulos.</description>
<description xml:lang="ru">Этот модуль служит для создания/управления другими модулями.</description>
<description xml:lang="zh-TW">用於建立與管理其他模組。</description>
<description xml:lang="tr">Bu modül, başka modüller oluşturmak ve yönetmek içindir.</description>
<version>0.1</version>
<date>2007-02-28</date>
<category>system</category>
<author email_address="developers@xpressengine.com" link="http://xpressengine.com/">
<name xml:lang="ko">NHN</name>
<name xml:lang="vi">NHN</name>
<name xml:lang="zh-CN">NHN</name>
<name xml:lang="jp">NHN</name>
<name xml:lang="en">NHN</name>
<name xml:lang="es">NHN</name>
<name xml:lang="ru">NHN</name>
<name xml:lang="zh-TW">NHN</name>
<name xml:lang="tr">NHN</name>
</author>
</module>

View file

@ -1,99 +1,99 @@
<?php
/**
* @file modules/module/lang/en.lang.php
* @author NHN (developers@xpressengine.com)
* @brief English language pack
**/
$lang->virtual_site = "Virtual Site";
$lang->module_list = "Modules List";
$lang->module_index = "Modules List";
$lang->module_category = "Module Category";
$lang->module_info = "Module Info";
$lang->add_shortcut = "Add Shortcuts";
$lang->module_action = "Actions";
$lang->module_maker = "Module Developer";
$lang->module_license = 'License';
$lang->module_history = "Update history";
$lang->category_title = "Category Title";
$lang->header_text = 'Header Text';
$lang->footer_text = 'Footer Text';
$lang->use_category = 'Enable Category';
$lang->category_title = 'Category Title';
$lang->checked_count = 'Number of Checked Articles';
$lang->skin_default_info = 'Default Skin Info';
$lang->skin_author = 'Skin Developer';
$lang->skin_license = 'License';
$lang->skin_history = 'Update history';
$lang->module_copy = "Duplicate Module";
$lang->module_selector = "Module Selector";
$lang->do_selected = "I want to";
$lang->bundle_setup = "Bundle Setup";
$lang->bundle_addition_setup = "Bundle Additional Setup";
$lang->bundle_grant_setup = "Bundle Permission Setup";
$lang->lang_code = "Language Code";
$lang->filebox = "FileBox";
$lang->access_type = 'Access Type';
$lang->access_domain = 'With Domain Name';
$lang->access_vid = 'With Site ID';
$lang->about_domain = "In order to create more than one virtual site, every club needs to have its own domain name.<br />Sub-domain (e.g., aaa.bbb.com of bbb.com) also can be used. Input the address including the path where XE is installed. <br /> ex) www.xpressengine.com/xe";
$lang->about_vid = 'Users can access via http://XEaddress/ID. You cannot use same site id as the existing module name(mid).<br />Site id should start with an alphabet character . Alphabet characters, numbers and _ can be used for the site id.';
$lang->msg_already_registed_vid = 'Already registered site id. Please input another ID.';
$lang->msg_already_registed_domain = "Domain name has already been used. Please input another domain name.";
$lang->header_script = "Header Script";
$lang->about_header_script = "You can input the html script between &lt;header&gt; and &lt;/header&gt; by yourself.<br />You can use &lt;script, &lt;style or &lt;meta tag";
$lang->grant_access = "Access";
$lang->grant_manager = "Management";
$lang->grant_to_all = "All users";
$lang->grant_to_login_user = "Logged users";
$lang->grant_to_site_user = "Registered users";
$lang->grant_to_group = "Specification group users";
$lang->cmd_add_shortcut = "Add Shortcut";
$lang->cmd_install = "Install";
$lang->cmd_update = "Update";
$lang->cmd_manage_category = 'Manage Categories';
$lang->cmd_manage_grant = 'Manage Permission';
$lang->cmd_manage_skin = 'Manage Skins';
$lang->cmd_manage_document = 'Manage Articles';
$lang->cmd_find_module = 'Find Module';
$lang->cmd_find_langcode = 'Find lang code';
$lang->msg_new_module = "Create new module";
$lang->msg_update_module = "Modify module";
$lang->msg_module_name_exists = "The name already exists. Please try another name.";
$lang->msg_category_is_null = 'There is no registered category.';
$lang->msg_grant_is_null = 'There is no permission list.';
$lang->msg_no_checked_document = 'No checked articles exist.';
$lang->msg_move_failed = 'Failed to move';
$lang->msg_cannot_delete_for_child = 'Cannot delete a category having child categories.';
$lang->msg_limit_mid ="Only alphabets+[alphabets+numbers+_] can be used as module name.";
$lang->msg_extra_name_exists = 'Already registered extra variable name. Please input another name.';
$lang->about_browser_title = "It will be shown in the browser title. It will be also used in a RSS/Trackback.";
$lang->about_mid = "The module name will be used like http://address/?mid=ModuleName.\n(Only english alphabet + [english alphabet, numbers, and underscore(_)] are allowed. The maximum length is 40.)";
$lang->about_default = "If checked, the default will be shown when access to the site without no mid value(mid=NoValue).";
$lang->about_module_category = "It enables you to manage it through module category.\n The URL for the module manager is <a href=\"./?module=admin&amp;act=dispModuleAdminCategory\">Manage module > Module category </a>.";
$lang->about_description= 'It is the description only for a manager.';
$lang->about_default = 'If checked, this module will be shown when users access to the site without mid value (mid=NoValue).';
$lang->about_header_text = 'The contents will be shown on the top of the module.(html tags available)';
$lang->about_footer_text = 'The contents will be shown on the bottom of the module.(html tags available)';
$lang->about_skin = 'You may choose a module skin.';
$lang->about_use_category = 'If checked, category function will be enabled.';
$lang->about_list_count = 'You can set the number of limit to show article in a page.(default is 20)';
$lang->about_search_list_count = 'You may set the number of articles to be exposed when you use search or category function. (default is 20)';
$lang->about_page_count = 'You can set the number of page link to move pages in a bottom of page.(default is 10)';
$lang->about_admin_id = 'You can grant a manager to have all permissions to the module.';
$lang->about_grant = 'If you disable all permissions for a specific object, members who has not logged in would get permission.';
$lang->about_grant_deatil = 'Registered users mean users who signed-up to the virtual sites (e.g., cafeXE).';
$lang->about_module = "XE consists of modules except basic library.\n [Module Manage] module will show all installed modules and help you to manage them.";
$lang->about_extra_vars_default_value = 'If multiple default values are needed, you can link them with comma(,).';
$lang->about_search_virtual_site = "Input domain of virtual sites.<br />To search modules of non-virtual site, search with blank";
$lang->about_langcode = "If you want to configure seperately, use 'find language code'";
$lang->about_file_extension= "Only %s extension(s) is available.";
?>
<?php
/**
* @file modules/module/lang/en.lang.php
* @author NHN (developers@xpressengine.com)
* @brief English language pack
**/
$lang->virtual_site = "Virtual Site";
$lang->module_list = "Modules List";
$lang->module_index = "Modules List";
$lang->module_category = "Module Category";
$lang->module_info = "Module Info";
$lang->add_shortcut = "Add Shortcuts";
$lang->module_action = "Actions";
$lang->module_maker = "Module Developer";
$lang->module_license = 'License';
$lang->module_history = "Update history";
$lang->category_title = "Category Title";
$lang->header_text = 'Header Text';
$lang->footer_text = 'Footer Text';
$lang->use_category = 'Enable Category';
$lang->category_title = 'Category Title';
$lang->checked_count = 'Number of Checked Articles';
$lang->skin_default_info = 'Default Skin Info';
$lang->skin_author = 'Skin Developer';
$lang->skin_license = 'License';
$lang->skin_history = 'Update history';
$lang->module_copy = "Duplicate Module";
$lang->module_selector = "Module Selector";
$lang->do_selected = "I want to";
$lang->bundle_setup = "Bundle Setup";
$lang->bundle_addition_setup = "Bundle Additional Setup";
$lang->bundle_grant_setup = "Bundle Permission Setup";
$lang->lang_code = "Language Code";
$lang->filebox = "FileBox";
$lang->access_type = 'Access Type';
$lang->access_domain = 'With Domain Name';
$lang->access_vid = 'With Site ID';
$lang->about_domain = "In order to create more than one virtual site, every club needs to have its own domain name.<br />Sub-domain (e.g., aaa.bbb.com of bbb.com) also can be used. Input the address including the path where XE is installed. <br /> ex) www.xpressengine.com/xe";
$lang->about_vid = 'Users can access via http://XEaddress/ID. You cannot use same site id as the existing module name(mid).<br />Site id should start with an alphabet character . Alphabet characters, numbers and _ can be used for the site id.';
$lang->msg_already_registed_vid = 'Already registered site id. Please input another ID.';
$lang->msg_already_registed_domain = "Domain name has already been used. Please input another domain name.";
$lang->header_script = "Header Script";
$lang->about_header_script = "You can input the html script between &lt;header&gt; and &lt;/header&gt; by yourself.<br />You can use &lt;script, &lt;style or &lt;meta tag";
$lang->grant_access = "Access";
$lang->grant_manager = "Management";
$lang->grant_to_all = "All users";
$lang->grant_to_login_user = "Logged users";
$lang->grant_to_site_user = "Registered users";
$lang->grant_to_group = "Specification group users";
$lang->cmd_add_shortcut = "Add Shortcut";
$lang->cmd_install = "Install";
$lang->cmd_update = "Update";
$lang->cmd_manage_category = 'Manage Categories';
$lang->cmd_manage_grant = 'Manage Permission';
$lang->cmd_manage_skin = 'Manage Skins';
$lang->cmd_manage_document = 'Manage Articles';
$lang->cmd_find_module = 'Find Module';
$lang->cmd_find_langcode = 'Find lang code';
$lang->msg_new_module = "Create new module";
$lang->msg_update_module = "Modify module";
$lang->msg_module_name_exists = "The name already exists. Please try another name.";
$lang->msg_category_is_null = 'There is no registered category.';
$lang->msg_grant_is_null = 'There is no permission list.';
$lang->msg_no_checked_document = 'No checked articles exist.';
$lang->msg_move_failed = 'Failed to move';
$lang->msg_cannot_delete_for_child = 'Cannot delete a category having child categories.';
$lang->msg_limit_mid ="Only alphabets+[alphabets+numbers+_] can be used as module name.";
$lang->msg_extra_name_exists = 'Already registered extra variable name. Please input another name.';
$lang->about_browser_title = "It will be shown in the browser title. It will be also used in a RSS/Trackback.";
$lang->about_mid = "The module name will be used like http://address/?mid=ModuleName.\n(Only english alphabet + [english alphabet, numbers, and underscore(_)] are allowed. The maximum length is 40.)";
$lang->about_default = "If checked, the default will be shown when access to the site without no mid value(mid=NoValue).";
$lang->about_module_category = "It enables you to manage it through module category.\n The URL for the module manager is <a href=\"./?module=admin&amp;act=dispModuleAdminCategory\">Manage module > Module category </a>.";
$lang->about_description= 'It is the description only for a manager.';
$lang->about_default = 'If checked, this module will be shown when users access to the site without mid value (mid=NoValue).';
$lang->about_header_text = 'The contents will be shown on the top of the module.(html tags available)';
$lang->about_footer_text = 'The contents will be shown on the bottom of the module.(html tags available)';
$lang->about_skin = 'You may choose a module skin.';
$lang->about_use_category = 'If checked, category function will be enabled.';
$lang->about_list_count = 'You can set the number of limit to show article in a page.(default is 20)';
$lang->about_search_list_count = 'You may set the number of articles to be exposed when you use search or category function. (default is 20)';
$lang->about_page_count = 'You can set the number of page link to move pages in a bottom of page.(default is 10)';
$lang->about_admin_id = 'You can grant a manager to have all permissions to the module.';
$lang->about_grant = 'If you disable all permissions for a specific object, members who has not logged in would get permission.';
$lang->about_grant_deatil = 'Registered users mean users who signed-up to the virtual sites (e.g., cafeXE).';
$lang->about_module = "XE consists of modules except basic library.\n [Module Manage] module will show all installed modules and help you to manage them.";
$lang->about_extra_vars_default_value = 'If multiple default values are needed, you can link them with comma(,).';
$lang->about_search_virtual_site = "Input domain of virtual sites.<br />To search modules of non-virtual site, search with blank";
$lang->about_langcode = "If you want to configure seperately, use 'find language code'";
$lang->about_file_extension= "Only %s extension(s) is available.";
?>

View file

@ -1,99 +1,99 @@
<?php
/**
* @archivo modules/module/lang/es.lang.php
* @autor NHN (developers@xpressengine.com)
* @sumario Paquete del idioma español
**/
$lang->virtual_site = "Virtual Site";
$lang->module_list = "Lista de Módulos";
$lang->module_index = "Lista de Módulos";
$lang->module_category = "Categoría de Módulos ";
$lang->module_info = "Información";
$lang->add_shortcut = "Añadir en el menú del administrador";
$lang->module_action = "Acción";
$lang->module_maker = "Módulo del desarrollador";
$lang->module_license = 'License';
$lang->module_history = "Historia de actualización";
$lang->category_title = "Título de categoría";
$lang->header_text = 'Encabezado';
$lang->footer_text = 'Pie de página';
$lang->use_category = 'Usar categoría';
$lang->category_title = 'Título de categoría';
$lang->checked_count = 'Múmero de los documentos selecionados';
$lang->skin_default_info = 'información del tema predefinido';
$lang->skin_author = 'Desarrollador de tema';
$lang->skin_license = 'License';
$lang->skin_history = 'Historia de actualización';
$lang->module_copy = "Copy Module";
$lang->module_selector = "Module Selector";
$lang->do_selected = "선택된 것들을...";
$lang->bundle_setup = "일괄 기본 설정";
$lang->bundle_addition_setup = "일괄 추가 설정";
$lang->bundle_grant_setup = "일괄 권한 설정";
$lang->lang_code = "언어 코드";
$lang->filebox = "파일박스";
$lang->access_type = '접속 방법';
$lang->access_domain = 'Domain 접속';
$lang->access_vid = 'Site ID 접속';
$lang->about_domain = 'Para crear un dominio privado de la site requiere. <br/> Independiente de dominio o subdominio, y XE está instalado, el camino que en su conjunto. <br /> Ej.) www.xpressengine.com / zbxe';
$lang->about_vid = '별도의 도메인이 아닌 http://XE주소/ID 로 접속할 수 있습니다. 모듈명(mid)와 중복될 수 없습니다.<br/>첫글자는 영문으로 시작해야 하고 영문과 숫자 그리고 _ 만 사용할 수 있습니다';
$lang->msg_already_registed_vid = '이미 등록된 사이트 ID 입니다. 게시판등의 mid와도 중복이 되지 않습니다. 다른 ID를 입력해주세요.';
$lang->msg_already_registed_domain = 'Ya es de dominio registrado. Por favor, use un dominio diferente';
$lang->header_script = "헤더 스크립트";
$lang->about_header_script = "html의 &lt;header&gt;와 &lt;/header&gt; 사이에 들어가는 코드를 직접 입력할 수 있습니다.<br />&lt;script, &lt;style 또는 &lt;meta 태그등을 이용하실 수 있습니다";
$lang->grant_access = "Access";
$lang->grant_manager = "Management";
$lang->grant_to_all = "All users";
$lang->grant_to_login_user = "Logged users";
$lang->grant_to_site_user = "Joined users";
$lang->grant_to_group = "Specification group users";
$lang->cmd_add_shortcut = "añadir acceso directo";
$lang->cmd_install = "Instalar";
$lang->cmd_update = "Actualizar";
$lang->cmd_manage_category = 'Manejo de categorías';
$lang->cmd_manage_grant = 'Manejo de atribuciones';
$lang->cmd_manage_skin = 'Manejo de temas';
$lang->cmd_manage_document = 'Manejo de documentos';
$lang->cmd_find_module = '모듈 찾기';
$lang->cmd_find_langcode = 'Find lang code';
$lang->msg_new_module = "Crear un nuevo módulo";
$lang->msg_update_module = "Modificar el módulo";
$lang->msg_module_name_exists = "El nombre ya existe. Por favor tratar con otro nombre.";
$lang->msg_category_is_null = 'No existe categoría registrada.';
$lang->msg_grant_is_null = 'No existe el objetivo de atribución registrado.';
$lang->msg_no_checked_document = 'No existe documento seleccionado.';
$lang->msg_move_failed = 'No pudo moverse';
$lang->msg_cannot_delete_for_child = 'No puede eliminar la categoría si posee subcategoría.';
$lang->msg_limit_mid ='모듈이름은 영문+[영문+숫자+_] 만 가능합니다.';
$lang->msg_extra_name_exists = '이미 존재하는 확장변수 이름입니다. 다른 이름을 입력해주세요.';
$lang->about_browser_title = "Esto es el valor que se mostrará en el título del navegador. También es usado en RSS/Trackback.";
$lang->about_mid = "El nombre del módulo será usado como http://direccion/?mid=NombreMódulo.\n(sólo alfabeto español+[alfabeto español, números y el gión abajo(_)] son permitidos. The maximum length is 40.)";
$lang->about_default = "Si selecciona esta opción, se mostrara de manera predefinida sin el valor de mid.";
$lang->about_module_category = "Es posible manejar a traves de categoría.\n EL URL para en manejo del módulo de categoría es <a href=\"./?module=admin&amp;act=dispModuleAdminCategory\">Manejo de módulo > Módulo de categoría </a>.";
$lang->about_description= 'Descripción usada para la administración.';
$lang->about_default = 'Si selecciona esta opción, se mostrará de manera predefinida sin el valor de mid.';
$lang->about_header_text = 'El contenido se mostrará en la parte superior del módulo.(tags de html permitido)';
$lang->about_footer_text = 'El contenido se mostrará en la parte inferior del módulo.(tags de html permitido)';
$lang->about_skin = 'Usted puede elegir un tema del módulo.';
$lang->about_use_category = 'Si selecciona esta opción, la función de categoría sera activada.';
$lang->about_list_count = 'Usted puede definir el número límite de los documentos a mostrar en una página.(Predefinido es 20)';
$lang->about_search_list_count = 'Usted puede configurar el número de artículos que se exponen cuando se utiliza la función de búsqueda o categoría. (Por defecto es 20)';
$lang->about_page_count = 'Usted puede definir el número de página enlazada para mover páginas en un botón de la página.(Predefinido es 10)';
$lang->about_admin_id = 'Usted puede definir el administrador de atribuciones superiores al módulo.\n Usted puede asignar múltiples IDs.';
$lang->about_grant = 'Si usted desea desactivar a todos los objetos teniendo atribuciones especificas, incluso el usuario no conectado pueden tener atribuciones.';
$lang->about_grant_deatil = '가입한 사용자는 cafeXE등 분양형 가상 사이트에 가입을 한 로그인 사용자를 의미합니다';
$lang->about_module = "XE consiste de módulos excepto la librería básica.\n Módulo del Manejo del Módulo muestra todos los módulos instalados y ayuda el manejo de ellos.";
$lang->about_extra_vars_default_value = 'Si múltiples valores predefinidos son requeridos, usted puede enlazar con la coma(,).';
$lang->about_search_virtual_site = "가상 사이트(카페XE등)의 도메인을 입력하신 후 검색하세요.<br/>가상 사이트이외의 모듈은 내용을 비우고 검색하시면 됩니다. (http:// 는 제외)";
$lang->about_langcode = "언어별로 다르게 설정하고 싶으시면 언어코드 찾기를 이용해주세요";
$lang->about_file_extension= "%s 파일만 가능합니다.";
?>
<?php
/**
* @archivo modules/module/lang/es.lang.php
* @autor NHN (developers@xpressengine.com)
* @sumario Paquete del idioma español
**/
$lang->virtual_site = "Virtual Site";
$lang->module_list = "Lista de Módulos";
$lang->module_index = "Lista de Módulos";
$lang->module_category = "Categoría de Módulos ";
$lang->module_info = "Información";
$lang->add_shortcut = "Añadir en el menú del administrador";
$lang->module_action = "Acción";
$lang->module_maker = "Módulo del desarrollador";
$lang->module_license = 'License';
$lang->module_history = "Historia de actualización";
$lang->category_title = "Título de categoría";
$lang->header_text = 'Encabezado';
$lang->footer_text = 'Pie de página';
$lang->use_category = 'Usar categoría';
$lang->category_title = 'Título de categoría';
$lang->checked_count = 'Múmero de los documentos selecionados';
$lang->skin_default_info = 'información del tema predefinido';
$lang->skin_author = 'Desarrollador de tema';
$lang->skin_license = 'License';
$lang->skin_history = 'Historia de actualización';
$lang->module_copy = "Copy Module";
$lang->module_selector = "Module Selector";
$lang->do_selected = "선택된 것들을...";
$lang->bundle_setup = "일괄 기본 설정";
$lang->bundle_addition_setup = "일괄 추가 설정";
$lang->bundle_grant_setup = "일괄 권한 설정";
$lang->lang_code = "언어 코드";
$lang->filebox = "파일박스";
$lang->access_type = '접속 방법';
$lang->access_domain = 'Domain 접속';
$lang->access_vid = 'Site ID 접속';
$lang->about_domain = 'Para crear un dominio privado de la site requiere. <br/> Independiente de dominio o subdominio, y XE está instalado, el camino que en su conjunto. <br /> Ej.) www.xpressengine.com / zbxe';
$lang->about_vid = '별도의 도메인이 아닌 http://XE주소/ID 로 접속할 수 있습니다. 모듈명(mid)와 중복될 수 없습니다.<br/>첫글자는 영문으로 시작해야 하고 영문과 숫자 그리고 _ 만 사용할 수 있습니다';
$lang->msg_already_registed_vid = '이미 등록된 사이트 ID 입니다. 게시판등의 mid와도 중복이 되지 않습니다. 다른 ID를 입력해주세요.';
$lang->msg_already_registed_domain = 'Ya es de dominio registrado. Por favor, use un dominio diferente';
$lang->header_script = "헤더 스크립트";
$lang->about_header_script = "html의 &lt;header&gt;와 &lt;/header&gt; 사이에 들어가는 코드를 직접 입력할 수 있습니다.<br />&lt;script, &lt;style 또는 &lt;meta 태그등을 이용하실 수 있습니다";
$lang->grant_access = "Access";
$lang->grant_manager = "Management";
$lang->grant_to_all = "All users";
$lang->grant_to_login_user = "Logged users";
$lang->grant_to_site_user = "Joined users";
$lang->grant_to_group = "Specification group users";
$lang->cmd_add_shortcut = "añadir acceso directo";
$lang->cmd_install = "Instalar";
$lang->cmd_update = "Actualizar";
$lang->cmd_manage_category = 'Manejo de categorías';
$lang->cmd_manage_grant = 'Manejo de atribuciones';
$lang->cmd_manage_skin = 'Manejo de temas';
$lang->cmd_manage_document = 'Manejo de documentos';
$lang->cmd_find_module = '모듈 찾기';
$lang->cmd_find_langcode = 'Find lang code';
$lang->msg_new_module = "Crear un nuevo módulo";
$lang->msg_update_module = "Modificar el módulo";
$lang->msg_module_name_exists = "El nombre ya existe. Por favor tratar con otro nombre.";
$lang->msg_category_is_null = 'No existe categoría registrada.';
$lang->msg_grant_is_null = 'No existe el objetivo de atribución registrado.';
$lang->msg_no_checked_document = 'No existe documento seleccionado.';
$lang->msg_move_failed = 'No pudo moverse';
$lang->msg_cannot_delete_for_child = 'No puede eliminar la categoría si posee subcategoría.';
$lang->msg_limit_mid ='모듈이름은 영문+[영문+숫자+_] 만 가능합니다.';
$lang->msg_extra_name_exists = '이미 존재하는 확장변수 이름입니다. 다른 이름을 입력해주세요.';
$lang->about_browser_title = "Esto es el valor que se mostrará en el título del navegador. También es usado en RSS/Trackback.";
$lang->about_mid = "El nombre del módulo será usado como http://direccion/?mid=NombreMódulo.\n(sólo alfabeto español+[alfabeto español, números y el gión abajo(_)] son permitidos. The maximum length is 40.)";
$lang->about_default = "Si selecciona esta opción, se mostrara de manera predefinida sin el valor de mid.";
$lang->about_module_category = "Es posible manejar a traves de categoría.\n EL URL para en manejo del módulo de categoría es <a href=\"./?module=admin&amp;act=dispModuleAdminCategory\">Manejo de módulo > Módulo de categoría </a>.";
$lang->about_description= 'Descripción usada para la administración.';
$lang->about_default = 'Si selecciona esta opción, se mostrará de manera predefinida sin el valor de mid.';
$lang->about_header_text = 'El contenido se mostrará en la parte superior del módulo.(tags de html permitido)';
$lang->about_footer_text = 'El contenido se mostrará en la parte inferior del módulo.(tags de html permitido)';
$lang->about_skin = 'Usted puede elegir un tema del módulo.';
$lang->about_use_category = 'Si selecciona esta opción, la función de categoría sera activada.';
$lang->about_list_count = 'Usted puede definir el número límite de los documentos a mostrar en una página.(Predefinido es 20)';
$lang->about_search_list_count = 'Usted puede configurar el número de artículos que se exponen cuando se utiliza la función de búsqueda o categoría. (Por defecto es 20)';
$lang->about_page_count = 'Usted puede definir el número de página enlazada para mover páginas en un botón de la página.(Predefinido es 10)';
$lang->about_admin_id = 'Usted puede definir el administrador de atribuciones superiores al módulo.\n Usted puede asignar múltiples IDs.';
$lang->about_grant = 'Si usted desea desactivar a todos los objetos teniendo atribuciones especificas, incluso el usuario no conectado pueden tener atribuciones.';
$lang->about_grant_deatil = '가입한 사용자는 cafeXE등 분양형 가상 사이트에 가입을 한 로그인 사용자를 의미합니다';
$lang->about_module = "XE consiste de módulos excepto la librería básica.\n Módulo del Manejo del Módulo muestra todos los módulos instalados y ayuda el manejo de ellos.";
$lang->about_extra_vars_default_value = 'Si múltiples valores predefinidos son requeridos, usted puede enlazar con la coma(,).';
$lang->about_search_virtual_site = "가상 사이트(카페XE등)의 도메인을 입력하신 후 검색하세요.<br/>가상 사이트이외의 모듈은 내용을 비우고 검색하시면 됩니다. (http:// 는 제외)";
$lang->about_langcode = "언어별로 다르게 설정하고 싶으시면 언어코드 찾기를 이용해주세요";
$lang->about_file_extension= "%s 파일만 가능합니다.";
?>

View file

@ -1,98 +1,98 @@
<?php
/**
* @file modules/module/lang/fr.lang.php
* @author NHN (developers@xpressengine.com) traduit par Pierre duvent <PierreDuvent@gmail.com>
* @brief Paque du langage en français pour le module de Module
**/
$lang->virtual_site = "Virtual Site";
$lang->module_list = "Liste des Modules";
$lang->module_index = "Liste des Modules";
$lang->module_category = "Catégorie des Modules";
$lang->module_info = "Information de Module";
$lang->add_shortcut = "Ajouter un raccourci dans le menu pour l'administrateur";
$lang->module_action = "Actions";
$lang->module_maker = "Développeur du Module";
$lang->module_license = 'Licence';
$lang->module_history = "Histoire de Mise à Jour";
$lang->category_title = "Titre de la Catégorie";
$lang->header_text = 'Texte en-tête';
$lang->footer_text = 'Text au bas de page';
$lang->use_category = 'Utiliser catégorie';
$lang->category_title = 'Titre de la Catégorie';
$lang->checked_count = 'somme des Articles choisis';
$lang->skin_default_info = 'Information fondamental de l\'habillage';
$lang->skin_author = 'Developpeur de l\'habillage';
$lang->skin_license = 'Licence';
$lang->skin_history = 'Histoire des Mises à jour';
$lang->module_copy = "Copier un Module";
$lang->module_selector = "Module Selector";
$lang->do_selected = "선택된 것들을...";
$lang->bundle_setup = "일괄 기본 설정";
$lang->bundle_addition_setup = "일괄 추가 설정";
$lang->bundle_grant_setup = "일괄 권한 설정";
$lang->lang_code = "언어 코드";
$lang->filebox = "파일박스";
$lang->access_type = '접속 방법';
$lang->access_domain = 'Domain 접속';
$lang->access_vid = 'Site ID 접속';
$lang->about_vid = '별도의 도메인이 아닌 http://XE주소/ID 로 접속할 수 있습니다. 모듈명(mid)와 중복될 수 없습니다.<br/>첫글자는 영문으로 시작해야 하고 영문과 숫자 그리고 _ 만 사용할 수 있습니다';
$lang->msg_already_registed_vid = '이미 등록된 사이트 ID 입니다. 게시판등의 mid와도 중복이 되지 않습니다. 다른 ID를 입력해주세요.';
$lang->msg_already_registed_domain = '이미 등록된 도메인입니다. 다른 도메인을 사용해주세요';
$lang->header_script = "Script en-tête";
$lang->about_header_script = "Vous pouvez entrer un script en html par vous-même entre &lt;header&gt; et &lt;/header&gt;.<br />Vous pouvez utiliser &lt;script, &lt;style ou &lt;meta tag";
$lang->grant_access = "Access";
$lang->grant_manager = "Management";
$lang->grant_to_all = "All users";
$lang->grant_to_login_user = "Logged users";
$lang->grant_to_site_user = "Joined users";
$lang->grant_to_group = "Specification group users";
$lang->cmd_add_shortcut = "Ajouter un raccourci";
$lang->cmd_install = "Installer";
$lang->cmd_update = "Mettre à Jour";
$lang->cmd_manage_category = 'Administrer des Catégories';
$lang->cmd_manage_grant = 'Administrer des Permissions';
$lang->cmd_manage_skin = 'Administrer des Habillages';
$lang->cmd_manage_document = 'Administrer des Articles';
$lang->cmd_find_module = '모듈 찾기';
$lang->cmd_find_langcode = 'Find lang code';
$lang->msg_new_module = "Créer un module";
$lang->msg_update_module = "Modifier un module";
$lang->msg_module_name_exists = "Le nom existe déjà. Essayez un autre nom, S.V.P.";
$lang->msg_category_is_null = 'Il n\'y a pas de catégorie enrégistrée.';
$lang->msg_grant_is_null = 'Il n\'y a pas de liste de permission.';
$lang->msg_no_checked_document = 'Pas un article est choisi.';
$lang->msg_move_failed = 'Echoué de bouger';
$lang->msg_cannot_delete_for_child = 'On ne peut pas supprimer une catégorie qui a des catégories inférieures.';
$lang->msg_limit_mid ='모듈이름은 영문+[영문+숫자+_] 만 가능합니다.';
$lang->msg_extra_name_exists = '이미 존재하는 확장변수 이름입니다. 다른 이름을 입력해주세요.';
$lang->about_browser_title = "C'est la valeur qui se représentera dans le titre de navigateur Web. Ce sera encore utilisé dans RSS/Rétrolien.";
$lang->about_mid = "Le nom de module sera utilisé comme http://adresse/?mid=ModuleName.\n(alphabet anglais + [alphabet anglais, nombres, et soulignement(_)] sont seulement permis. The maximum length is 40.)";
$lang->about_default = "Si c'est coché, on verra ce module quand on connecte ce site sans aucune valeur de mid(mid=Nulle Valeur).";
$lang->about_module_category = "Ça vous permet d'administrer le module par la catégorie.\nOn peut administrer la classification des modules à <a href=\"./?module=admin&amp;act=dispModuleAdminCategory\">Administration des modules > Catégorie des Modules </a>.";
$lang->about_description= 'C\'est la description pour la facilité à administrer.';
$lang->about_default = 'Si c\'est coché, on verra ce module quand on connecte ce site sans aucune valeur de mid(mid=Nulle Valeur).';
$lang->about_header_text = 'Ce contenu sera exposé en tête du module.(balise en html est disponible)';
$lang->about_footer_text = 'Ce contenu sera exposé en bas du module.(balise en html est disponible)';
$lang->about_skin = 'Vous pouvez choisir un habillage pour le module.';
$lang->about_use_category = 'Cochez pour utiliser la fonction de catégorie, .';
$lang->about_list_count = 'Vous pouvez configurer combien d\'articles soient exposés dans une page.(20 par défaut)';
$lang->about_search_list_count = 'Vous pouvez configurer combien d\'articles soient exposés quand vous utilisez la fonction de recherche ou de catégorie. (20 par défaut)';
$lang->about_page_count = 'Vous pouvez configurer combien de liens pour les Pages à Bouger en bas de chaque page.(10 par défaut)';
$lang->about_admin_id = 'Vous pouvez désigner un directeur qui aura tous les permissions sur le module.\nVous pouvez entrer plusieurs compte en utilisant.';
$lang->about_grant = 'Si vous ne donnez pas la permission à aucune personne, même les membres qui n\'a pas ouvert la connexion auront la permission. ';
$lang->about_grant_deatil = '가입한 사용자는 cafeXE등 분양형 가상 사이트에 가입을 한 로그인 사용자를 의미합니다';
$lang->about_module = "XE se compose des modules sauf la bibliothèque fondamental.\nLe module [Administration des Modules] montera tous les modules installés et vous aidera les administrer.";
$lang->about_extra_vars_default_value = 'Si plusieurs valeurs sont nécessaires, vous pouvez les connecter avec la virgule(,).';
$lang->about_search_virtual_site = "가상 사이트(카페XE등)의 도메인을 입력하신 후 검색하세요.<br/>가상 사이트이외의 모듈은 내용을 비우고 검색하시면 됩니다. (http:// 는 제외)";
$lang->about_langcode = "언어별로 다르게 설정하고 싶으시면 언어코드 찾기를 이용해주세요";
$lang->about_file_extension= "%s 파일만 가능합니다.";
?>
<?php
/**
* @file modules/module/lang/fr.lang.php
* @author NHN (developers@xpressengine.com) traduit par Pierre duvent <PierreDuvent@gmail.com>
* @brief Paque du langage en français pour le module de Module
**/
$lang->virtual_site = "Virtual Site";
$lang->module_list = "Liste des Modules";
$lang->module_index = "Liste des Modules";
$lang->module_category = "Catégorie des Modules";
$lang->module_info = "Information de Module";
$lang->add_shortcut = "Ajouter un raccourci dans le menu pour l'administrateur";
$lang->module_action = "Actions";
$lang->module_maker = "Développeur du Module";
$lang->module_license = 'Licence';
$lang->module_history = "Histoire de Mise à Jour";
$lang->category_title = "Titre de la Catégorie";
$lang->header_text = 'Texte en-tête';
$lang->footer_text = 'Text au bas de page';
$lang->use_category = 'Utiliser catégorie';
$lang->category_title = 'Titre de la Catégorie';
$lang->checked_count = 'somme des Articles choisis';
$lang->skin_default_info = 'Information fondamental de l\'habillage';
$lang->skin_author = 'Developpeur de l\'habillage';
$lang->skin_license = 'Licence';
$lang->skin_history = 'Histoire des Mises à jour';
$lang->module_copy = "Copier un Module";
$lang->module_selector = "Module Selector";
$lang->do_selected = "선택된 것들을...";
$lang->bundle_setup = "일괄 기본 설정";
$lang->bundle_addition_setup = "일괄 추가 설정";
$lang->bundle_grant_setup = "일괄 권한 설정";
$lang->lang_code = "언어 코드";
$lang->filebox = "파일박스";
$lang->access_type = '접속 방법';
$lang->access_domain = 'Domain 접속';
$lang->access_vid = 'Site ID 접속';
$lang->about_vid = '별도의 도메인이 아닌 http://XE주소/ID 로 접속할 수 있습니다. 모듈명(mid)와 중복될 수 없습니다.<br/>첫글자는 영문으로 시작해야 하고 영문과 숫자 그리고 _ 만 사용할 수 있습니다';
$lang->msg_already_registed_vid = '이미 등록된 사이트 ID 입니다. 게시판등의 mid와도 중복이 되지 않습니다. 다른 ID를 입력해주세요.';
$lang->msg_already_registed_domain = '이미 등록된 도메인입니다. 다른 도메인을 사용해주세요';
$lang->header_script = "Script en-tête";
$lang->about_header_script = "Vous pouvez entrer un script en html par vous-même entre &lt;header&gt; et &lt;/header&gt;.<br />Vous pouvez utiliser &lt;script, &lt;style ou &lt;meta tag";
$lang->grant_access = "Access";
$lang->grant_manager = "Management";
$lang->grant_to_all = "All users";
$lang->grant_to_login_user = "Logged users";
$lang->grant_to_site_user = "Joined users";
$lang->grant_to_group = "Specification group users";
$lang->cmd_add_shortcut = "Ajouter un raccourci";
$lang->cmd_install = "Installer";
$lang->cmd_update = "Mettre à Jour";
$lang->cmd_manage_category = 'Administrer des Catégories';
$lang->cmd_manage_grant = 'Administrer des Permissions';
$lang->cmd_manage_skin = 'Administrer des Habillages';
$lang->cmd_manage_document = 'Administrer des Articles';
$lang->cmd_find_module = '모듈 찾기';
$lang->cmd_find_langcode = 'Find lang code';
$lang->msg_new_module = "Créer un module";
$lang->msg_update_module = "Modifier un module";
$lang->msg_module_name_exists = "Le nom existe déjà. Essayez un autre nom, S.V.P.";
$lang->msg_category_is_null = 'Il n\'y a pas de catégorie enrégistrée.';
$lang->msg_grant_is_null = 'Il n\'y a pas de liste de permission.';
$lang->msg_no_checked_document = 'Pas un article est choisi.';
$lang->msg_move_failed = 'Echoué de bouger';
$lang->msg_cannot_delete_for_child = 'On ne peut pas supprimer une catégorie qui a des catégories inférieures.';
$lang->msg_limit_mid ='모듈이름은 영문+[영문+숫자+_] 만 가능합니다.';
$lang->msg_extra_name_exists = '이미 존재하는 확장변수 이름입니다. 다른 이름을 입력해주세요.';
$lang->about_browser_title = "C'est la valeur qui se représentera dans le titre de navigateur Web. Ce sera encore utilisé dans RSS/Rétrolien.";
$lang->about_mid = "Le nom de module sera utilisé comme http://adresse/?mid=ModuleName.\n(alphabet anglais + [alphabet anglais, nombres, et soulignement(_)] sont seulement permis. The maximum length is 40.)";
$lang->about_default = "Si c'est coché, on verra ce module quand on connecte ce site sans aucune valeur de mid(mid=Nulle Valeur).";
$lang->about_module_category = "Ça vous permet d'administrer le module par la catégorie.\nOn peut administrer la classification des modules à <a href=\"./?module=admin&amp;act=dispModuleAdminCategory\">Administration des modules > Catégorie des Modules </a>.";
$lang->about_description= 'C\'est la description pour la facilité à administrer.';
$lang->about_default = 'Si c\'est coché, on verra ce module quand on connecte ce site sans aucune valeur de mid(mid=Nulle Valeur).';
$lang->about_header_text = 'Ce contenu sera exposé en tête du module.(balise en html est disponible)';
$lang->about_footer_text = 'Ce contenu sera exposé en bas du module.(balise en html est disponible)';
$lang->about_skin = 'Vous pouvez choisir un habillage pour le module.';
$lang->about_use_category = 'Cochez pour utiliser la fonction de catégorie, .';
$lang->about_list_count = 'Vous pouvez configurer combien d\'articles soient exposés dans une page.(20 par défaut)';
$lang->about_search_list_count = 'Vous pouvez configurer combien d\'articles soient exposés quand vous utilisez la fonction de recherche ou de catégorie. (20 par défaut)';
$lang->about_page_count = 'Vous pouvez configurer combien de liens pour les Pages à Bouger en bas de chaque page.(10 par défaut)';
$lang->about_admin_id = 'Vous pouvez désigner un directeur qui aura tous les permissions sur le module.\nVous pouvez entrer plusieurs compte en utilisant.';
$lang->about_grant = 'Si vous ne donnez pas la permission à aucune personne, même les membres qui n\'a pas ouvert la connexion auront la permission. ';
$lang->about_grant_deatil = '가입한 사용자는 cafeXE등 분양형 가상 사이트에 가입을 한 로그인 사용자를 의미합니다';
$lang->about_module = "XE se compose des modules sauf la bibliothèque fondamental.\nLe module [Administration des Modules] montera tous les modules installés et vous aidera les administrer.";
$lang->about_extra_vars_default_value = 'Si plusieurs valeurs sont nécessaires, vous pouvez les connecter avec la virgule(,).';
$lang->about_search_virtual_site = "가상 사이트(카페XE등)의 도메인을 입력하신 후 검색하세요.<br/>가상 사이트이외의 모듈은 내용을 비우고 검색하시면 됩니다. (http:// 는 제외)";
$lang->about_langcode = "언어별로 다르게 설정하고 싶으시면 언어코드 찾기를 이용해주세요";
$lang->about_file_extension= "%s 파일만 가능합니다.";
?>

View file

@ -1,98 +1,98 @@
<?php
/**
* @file modules/module/lang/jp.lang.php
* @author NHN (developers@xpressengine.com) 翻訳RisaPapa、liahona、ミニミ
* @brief 日本語言語パッケージ
**/
$lang->virtual_site = 'バーチャルVirtualサイト';
$lang->module_list = 'モジュールリスト';
$lang->module_index = 'モジュールインデックス';
$lang->module_category = 'モジュールカテゴリ';
$lang->module_info = '詳細';
$lang->add_shortcut = '管理者メニューに追加する';
$lang->module_action = '動作';
$lang->module_maker = 'モジュール作者';
$lang->module_license = 'ライセンス';
$lang->module_history = '変更履歴 ';
$lang->category_title = 'カテゴリ名';
$lang->header_text = 'ヘッダー内容';
$lang->footer_text = 'フッター内容';
$lang->use_category = 'カテゴリ使用';
$lang->category_title = 'カテゴリ名';
$lang->checked_count = '選択された書き込み数';
$lang->skin_default_info = 'スキン基本情報';
$lang->skin_author = 'スキン作者';
$lang->skin_license = 'ライセンス';
$lang->skin_history = '変更内容';
$lang->module_copy = 'モジュールコピー';
$lang->module_selector = 'モジュールセレクター';
$lang->do_selected = '選択したものを...';
$lang->bundle_setup = '一括基本設定';
$lang->bundle_addition_setup = '一括追加設定';
$lang->bundle_grant_setup = '一括権限設定';
$lang->lang_code = '言語コード';
$lang->filebox = 'ファイルボックス';
$lang->access_type = 'アクセスタイプ';
$lang->access_domain = 'Doaminアクセス';
$lang->access_vid = 'Site IDアクセス';
$lang->about_domain = '複数のホームページを作成するためには、「オリジナルドメイン」や「サブ ドメイン」のような専用のドメインが必要です。<br />また、 XEのインストールパスも一緒に記入して下さい。<br />ex) www.xpressengine.com/xe';
$lang->about_vid = '別の違うドメインではなく、「http://XEアドレス/ID」へのアクセスが可能です。この際、モジュール名(mid)と重複しないように登録して下さい。<br/>必ず、頭文字は半角英文字にし、「すべて半角の英数字・_ 」 だけの組み合わせで入力して下さい。';
$lang->msg_already_registed_vid = '既に登録されたサイトIDです。掲示板などのmidと重複は不可です。異なるIDを入力して下さい。';
$lang->msg_already_registed_domain = '既に登録されているドメインです。異なるドメインを利用して下さい。';
$lang->header_script = 'ヘッダースクリプト';
$lang->about_header_script = 'HTMLの&lt;header&gt;と&lt;/header&gt;の間に入れるコードを直接入力出来ます。<br />&lt;script、&lt;styleまたは&lt;metaタグなどが利用出来ます。';
$lang->grant_access = 'アクセス権限';
$lang->grant_manager = '管理権限';
$lang->grant_to_all = 'すべてのユーザー';
$lang->grant_to_login_user = 'ログインユーザー';
$lang->grant_to_site_user = '登録ユーザー';
$lang->grant_to_group = '特定グループのユーザー';
$lang->cmd_add_shortcut = 'ショットカット追加';
$lang->cmd_install = 'インストール';
$lang->cmd_update = 'アップデート';
$lang->cmd_manage_category = 'カテゴリ管理';
$lang->cmd_manage_grant = '権限管理';
$lang->cmd_manage_skin = 'スキン管理';
$lang->cmd_manage_document = '書き込み管理';
$lang->cmd_find_module = 'モジュール検索';
$lang->cmd_find_langcode = '言語コード検索';
$lang->msg_new_module = 'モジュール作成';
$lang->msg_update_module = 'モジュール修正';
$lang->msg_module_name_exists = '既に存在するモジュール名です。他の名前を入力して下さい。';
$lang->msg_category_is_null = '登録されているカテゴリがありません。';
$lang->msg_grant_is_null = '登録された権限がありません。';
$lang->msg_no_checked_document = '選択された書き込みがありません。';
$lang->msg_move_failed = '移動することが出来ませんでした。';
$lang->msg_cannot_delete_for_child = '下位カテゴリのカテゴリは削除することが出来ません。';
$lang->msg_limit_mid ='モジュール名は「 半角英小文字+[半角英小文字+半角数字+_] 」のみ出来ます。';
$lang->msg_extra_name_exists = '既に存在する拡張変数名です。他の拡張変数名を入力して下さい。';
$lang->about_browser_title = 'ブラウザのタイトルバーに表示される内容です。RSS/Trackbackでも使用します。';
$lang->about_mid = 'モジュール名は「http://アドレス/?mid=モジュール名」のように直接呼び出せるパラメーター値です。<br />※英数の頭文字と[英数と_のみ]の組み合わせ すべて半角、最大40文字 ';
$lang->about_default = 'チェックすると、サイトに「mid値」なしでアクセスした場合、デフォルトで表示します。';
$lang->about_module_category = "カテゴリで管理出来るようにします。モジュールのカテゴリの管理は、「<a href=\"./?module=admin&amp;act=dispModuleAdminCategory\">モジュール管理 &gt; モジュールカテゴリ</a>」にて行います。";
$lang->about_description= '管理用として用いられる説明です。';
$lang->about_header_text = 'モジュールのヘッダーに表示される内容です。HTMLタグの使用可能';
$lang->about_footer_text = 'モジュールのフッターに表示される内容です。HTMLタグの使用可能';
$lang->about_skin = 'モジュールのスキンを選択します。';
$lang->about_use_category = 'チェックするとカテゴリ機能が使用出来ます。';
$lang->about_list_count = 'ページ当たりに表示される書き込みの数が指定出来ますデフォルト20個。';
$lang->about_search_list_count = 'お勧めの記事数を設定するにさらされるかのカテゴリ検索機能を使用する場合です。 デフォルトは20 ';
$lang->about_page_count = 'リストの下段に移動出来るページのリンク数が指定出来ますデフォルト10個。';
$lang->about_admin_id = '該当するモジュールに対して最高権限を持つ管理者を指定することが出来ます。';
$lang->about_grant = '特定権限の対象をすべて解除するとログインしていない会員ユーザまで権限が与えられます。';
$lang->about_grant_deatil = '登録ユーザーとはcafeXEなど分譲型バーチャル(Virtual)サイトに登録した、ログインユーザーを意味します。';
$lang->about_module = "XEは、基本ライブラリの他は、すべてモジュールで構成されています。モジュール管理用のモジュールはインストールされたすべてを表示し、管理出来るようにします。";
$lang->about_extra_vars_default_value = '多重・単一選択などのデフォルト値が、複数必要な場合は、「, (コンマ)」で区切って追加することが出来ます。';
$lang->about_search_virtual_site = 'バーチャル(Virtual)サイトcafeXEなどのドメインを入力して検索して下さい。<br />バーチャル(Virtual)サイト以外のモジュールは内容を空にしてから検索します。http://は省く)';
$lang->about_extra_vars_eid_value = '拡張変数名を入力して下さい。 (英字+[英字+数字+_]のみ可能(全て半角))';
$lang->about_langcode = '言語ごとに異なる設定をする場合、言語コード検索を利用して下さい。';
$lang->about_file_extension= "%s ファイルのみ可能です。";
?>
<?php
/**
* @file modules/module/lang/jp.lang.php
* @author NHN (developers@xpressengine.com) 翻訳RisaPapa、liahona、ミニミ
* @brief 日本語言語パッケージ
**/
$lang->virtual_site = 'バーチャルVirtualサイト';
$lang->module_list = 'モジュールリスト';
$lang->module_index = 'モジュールインデックス';
$lang->module_category = 'モジュールカテゴリ';
$lang->module_info = '詳細';
$lang->add_shortcut = '管理者メニューに追加する';
$lang->module_action = '動作';
$lang->module_maker = 'モジュール作者';
$lang->module_license = 'ライセンス';
$lang->module_history = '変更履歴 ';
$lang->category_title = 'カテゴリ名';
$lang->header_text = 'ヘッダー内容';
$lang->footer_text = 'フッター内容';
$lang->use_category = 'カテゴリ使用';
$lang->category_title = 'カテゴリ名';
$lang->checked_count = '選択された書き込み数';
$lang->skin_default_info = 'スキン基本情報';
$lang->skin_author = 'スキン作者';
$lang->skin_license = 'ライセンス';
$lang->skin_history = '変更内容';
$lang->module_copy = 'モジュールコピー';
$lang->module_selector = 'モジュールセレクター';
$lang->do_selected = '選択したものを...';
$lang->bundle_setup = '一括基本設定';
$lang->bundle_addition_setup = '一括追加設定';
$lang->bundle_grant_setup = '一括権限設定';
$lang->lang_code = '言語コード';
$lang->filebox = 'ファイルボックス';
$lang->access_type = 'アクセスタイプ';
$lang->access_domain = 'Doaminアクセス';
$lang->access_vid = 'Site IDアクセス';
$lang->about_domain = '複数のホームページを作成するためには、「オリジナルドメイン」や「サブ ドメイン」のような専用のドメインが必要です。<br />また、 XEのインストールパスも一緒に記入して下さい。<br />ex) www.xpressengine.com/xe';
$lang->about_vid = '別の違うドメインではなく、「http://XEアドレス/ID」へのアクセスが可能です。この際、モジュール名(mid)と重複しないように登録して下さい。<br/>必ず、頭文字は半角英文字にし、「すべて半角の英数字・_ 」 だけの組み合わせで入力して下さい。';
$lang->msg_already_registed_vid = '既に登録されたサイトIDです。掲示板などのmidと重複は不可です。異なるIDを入力して下さい。';
$lang->msg_already_registed_domain = '既に登録されているドメインです。異なるドメインを利用して下さい。';
$lang->header_script = 'ヘッダースクリプト';
$lang->about_header_script = 'HTMLの&lt;header&gt;と&lt;/header&gt;の間に入れるコードを直接入力出来ます。<br />&lt;script、&lt;styleまたは&lt;metaタグなどが利用出来ます。';
$lang->grant_access = 'アクセス権限';
$lang->grant_manager = '管理権限';
$lang->grant_to_all = 'すべてのユーザー';
$lang->grant_to_login_user = 'ログインユーザー';
$lang->grant_to_site_user = '登録ユーザー';
$lang->grant_to_group = '特定グループのユーザー';
$lang->cmd_add_shortcut = 'ショットカット追加';
$lang->cmd_install = 'インストール';
$lang->cmd_update = 'アップデート';
$lang->cmd_manage_category = 'カテゴリ管理';
$lang->cmd_manage_grant = '権限管理';
$lang->cmd_manage_skin = 'スキン管理';
$lang->cmd_manage_document = '書き込み管理';
$lang->cmd_find_module = 'モジュール検索';
$lang->cmd_find_langcode = '言語コード検索';
$lang->msg_new_module = 'モジュール作成';
$lang->msg_update_module = 'モジュール修正';
$lang->msg_module_name_exists = '既に存在するモジュール名です。他の名前を入力して下さい。';
$lang->msg_category_is_null = '登録されているカテゴリがありません。';
$lang->msg_grant_is_null = '登録された権限がありません。';
$lang->msg_no_checked_document = '選択された書き込みがありません。';
$lang->msg_move_failed = '移動することが出来ませんでした。';
$lang->msg_cannot_delete_for_child = '下位カテゴリのカテゴリは削除することが出来ません。';
$lang->msg_limit_mid ='モジュール名は「 半角英小文字+[半角英小文字+半角数字+_] 」のみ出来ます。';
$lang->msg_extra_name_exists = '既に存在する拡張変数名です。他の拡張変数名を入力して下さい。';
$lang->about_browser_title = 'ブラウザのタイトルバーに表示される内容です。RSS/Trackbackでも使用します。';
$lang->about_mid = 'モジュール名は「http://アドレス/?mid=モジュール名」のように直接呼び出せるパラメーター値です。<br />※英数の頭文字と[英数と_のみ]の組み合わせ すべて半角、最大40文字 ';
$lang->about_default = 'チェックすると、サイトに「mid値」なしでアクセスした場合、デフォルトで表示します。';
$lang->about_module_category = "カテゴリで管理出来るようにします。モジュールのカテゴリの管理は、「<a href=\"./?module=admin&amp;act=dispModuleAdminCategory\">モジュール管理 &gt; モジュールカテゴリ</a>」にて行います。";
$lang->about_description= '管理用として用いられる説明です。';
$lang->about_header_text = 'モジュールのヘッダーに表示される内容です。HTMLタグの使用可能';
$lang->about_footer_text = 'モジュールのフッターに表示される内容です。HTMLタグの使用可能';
$lang->about_skin = 'モジュールのスキンを選択します。';
$lang->about_use_category = 'チェックするとカテゴリ機能が使用出来ます。';
$lang->about_list_count = 'ページ当たりに表示される書き込みの数が指定出来ますデフォルト20個。';
$lang->about_search_list_count = 'お勧めの記事数を設定するにさらされるかのカテゴリ検索機能を使用する場合です。 デフォルトは20 ';
$lang->about_page_count = 'リストの下段に移動出来るページのリンク数が指定出来ますデフォルト10個。';
$lang->about_admin_id = '該当するモジュールに対して最高権限を持つ管理者を指定することが出来ます。';
$lang->about_grant = '特定権限の対象をすべて解除するとログインしていない会員ユーザまで権限が与えられます。';
$lang->about_grant_deatil = '登録ユーザーとはcafeXEなど分譲型バーチャル(Virtual)サイトに登録した、ログインユーザーを意味します。';
$lang->about_module = "XEは、基本ライブラリの他は、すべてモジュールで構成されています。モジュール管理用のモジュールはインストールされたすべてを表示し、管理出来るようにします。";
$lang->about_extra_vars_default_value = '多重・単一選択などのデフォルト値が、複数必要な場合は、「, (コンマ)」で区切って追加することが出来ます。';
$lang->about_search_virtual_site = 'バーチャル(Virtual)サイトcafeXEなどのドメインを入力して検索して下さい。<br />バーチャル(Virtual)サイト以外のモジュールは内容を空にしてから検索します。http://は省く)';
$lang->about_extra_vars_eid_value = '拡張変数名を入力して下さい。 (英字+[英字+数字+_]のみ可能(全て半角))';
$lang->about_langcode = '言語ごとに異なる設定をする場合、言語コード検索を利用して下さい。';
$lang->about_file_extension= "%s ファイルのみ可能です。";
?>

View file

@ -1,98 +1,98 @@
<?php
/**
* @file modules/module/lang/ko.lang.php
* @author NHN (developers@xpressengine.com)
* @brief 한국어 언어팩
**/
$lang->virtual_site = '가상 사이트';
$lang->module_list = '모듈 목록';
$lang->module_index = '모듈 목록';
$lang->module_category = '모듈 분류';
$lang->module_info = '모듈 정보';
$lang->add_shortcut = '관리자 메뉴에 추가';
$lang->module_action = '동작';
$lang->module_maker = '모듈 제작자';
$lang->module_license = '라이선스';
$lang->module_history = '변경 이력 ';
$lang->category_title = '분류 이름';
$lang->header_text = '상단 내용';
$lang->footer_text = '하단 내용';
$lang->use_category = '분류 사용';
$lang->category_title = '분류명';
$lang->checked_count = '선택된 글 수';
$lang->skin_default_info = '스킨 기본정보';
$lang->skin_author = '스킨 제작자';
$lang->skin_license = '라이선스';
$lang->skin_history = '변경 이력';
$lang->module_copy = '모듈 복사';
$lang->module_selector = '모듈 선택기';
$lang->do_selected = '선택된 것들을...';
$lang->bundle_setup = '일괄 기본 설정';
$lang->bundle_addition_setup = '일괄 추가 설정';
$lang->bundle_grant_setup = '일괄 권한 설정';
$lang->lang_code = '언어 코드';
$lang->filebox = '파일박스';
$lang->access_type = '접속 방법';
$lang->access_domain = 'Domain 접속';
$lang->access_vid = 'Site ID 접속';
$lang->about_domain = '1개 이상의 사이트를 만들기 위해서는 전용 도메인이 있어야 합니다.<br/>독립 도메인이나 서브 도메인이 있으면 되고 XE가 설치된 경로까지 같이 넣어주세요.<br />예) www.xpressengine.com/xe';
$lang->about_vid = '별도의 도메인이 아닌 http://XE주소/ID 로 접속할 수 있습니다. 모듈명(mid)과 중복될 수 없습니다.<br/>첫 글자는 영문으로 시작해야 하고 영문과 숫자 그리고 _ 만 사용할 수 있습니다';
$lang->msg_already_registed_vid = '이미 등록된 사이트 ID 입니다. 게시판 등의 mid와도 중복이 되지 않습니다. 다른 ID를 입력해주세요.';
$lang->msg_already_registed_domain = '이미 등록된 도메인입니다. 다른 도메인을 사용해주세요';
$lang->header_script = '헤더 스크립트';
$lang->about_header_script = 'HTML의 &lt;head&gt;와 &lt;/head&gt; 사이에 들어가는 코드를 직접 입력할 수 있습니다.<br />&lt;script, &lt;style 또는 &lt;meta 태그 등을 이용하실 수 있습니다';
$lang->grant_access = '접근 권한';
$lang->grant_manager = '관리 권한';
$lang->grant_to_all = '모든 사용자';
$lang->grant_to_login_user = '로그인 사용자';
$lang->grant_to_site_user = '가입한 사용자';
$lang->grant_to_group = '특정 그룹 사용자';
$lang->cmd_add_shortcut = '바로가기 추가';
$lang->cmd_install = '설치';
$lang->cmd_update = '업데이트';
$lang->cmd_manage_category = '분류 관리';
$lang->cmd_manage_grant = '권한 관리';
$lang->cmd_manage_skin = '스킨 관리';
$lang->cmd_manage_document = '게시글 관리';
$lang->cmd_find_module = '모듈 찾기';
$lang->cmd_find_langcode = '언어 코드 찾기';
$lang->msg_new_module = '모듈 생성';
$lang->msg_update_module = '모듈 수정';
$lang->msg_module_name_exists = '이미 존재하는 모듈 이름입니다. 다른 이름을 입력해주세요.';
$lang->msg_category_is_null = '등록된 분류가 없습니다.';
$lang->msg_grant_is_null = '등록된 권한 대상이 없습니다.';
$lang->msg_no_checked_document = '선택된 게시물이 없습니다.';
$lang->msg_move_failed = '이동 실패하였습니다.';
$lang->msg_cannot_delete_for_child = '하부 분류가 있는 분류는 삭제하실 수 없습니다.';
$lang->msg_limit_mid ='모듈 이름은 영문+[영문+숫자+_] 만 가능합니다.';
$lang->msg_extra_name_exists = '이미 존재하는 확장 변수 이름입니다. 다른 이름을 입력해주세요.';
$lang->about_browser_title = '브라우저 제목에 나타나는 값입니다. RSS/Trackback에서도 사용됩니다.';
$lang->about_mid = '모듈 이름은 http://주소/?mid=모듈이름 처럼 직접 호출할 수 있는 값입니다. (영문+[영문+숫자+_] 만 가능. 최대 40 글자)';
$lang->about_default = '선택하시면 사이트에 mid값 없이 접속하였을 경우 기본으로 보여줍니다.';
$lang->about_module_category = "분류를 통한 관리를 할 수 있도록 합니다. 모듈 분류 관리는 <a href=\"./?module=admin&amp;act=dispModuleAdminCategory\">모듈관리 > 모듈분류</a>에서 하실 수 있습니다.";
$lang->about_description= '관리용으로 사용되는 설명입니다.';
$lang->about_header_text = '모듈 상단에 표시되는 내용입니다. (HTML 태그 사용 가능)';
$lang->about_footer_text = '모듈 하단에 표시되는 내용입니다. (HTML 태그 사용 가능)';
$lang->about_skin = '모듈 스킨을 선택하실 수 있습니다.';
$lang->about_use_category = '선택하시면 분류 기능을 사용할 수 있습니다.';
$lang->about_list_count = '한 페이지에 표시될 글 수를 지정하실 수 있습니다. (기본 20개)';
$lang->about_search_list_count = '검색, 카테고리 선택 등을 할 경우 표시될 글 수를 지정하실 수 있습니다. (기본 20개)';
$lang->about_page_count = '목록 하단, 페이지를 이동하는 링크 수를 지정하실 수 있습니다. (기본 10개)';
$lang->about_admin_id = '해당 모듈에 대해 최고 권한을 가지는 관리자를 지정할 수 있습니다.';
$lang->about_grant = '특정 권한의 대상을 모두 해제하면 로그인하지 않은 회원까지 권한을 가질 수 있습니다.';
$lang->about_grant_deatil = '가입한 사용자는 cafeXE 등 분양형 가상 사이트에 가입을 한 로그인 사용자를 의미합니다.';
$lang->about_module = "XE는 기본 라이브러리를 제외한 나머지는 모두 모듈로 구성되어 있습니다.\n모듈 관리 모듈은 설치된 모든 모듈을 보여주고 관리를 돕습니다.";
$lang->about_extra_vars_default_value = '다중/단일 선택 등 기본 값이 여러 개가 필요한 경우 , (콤마)로 연결하시면 됩니다.';
$lang->about_search_virtual_site = '가상 사이트(예:cafeXE) 도메인을 입력하신 후 검색하세요.<br/>가상 사이트 이외의 모듈은 내용을 비우고 검색하시면 됩니다. (http:// 는 제외)';
$lang->about_extra_vars_eid_value = '확장 변수의 이름을 적어주세요. (영문+[영문+숫자+_] 만 가능)';
$lang->about_langcode = '언어별로 다르게 설정하고 싶으시면 언어 코드 찾기를 이용해주세요.';
$lang->about_file_extension= "%s 파일만 가능합니다.";
?>
<?php
/**
* @file modules/module/lang/ko.lang.php
* @author NHN (developers@xpressengine.com)
* @brief 한국어 언어팩
**/
$lang->virtual_site = '가상 사이트';
$lang->module_list = '모듈 목록';
$lang->module_index = '모듈 목록';
$lang->module_category = '모듈 분류';
$lang->module_info = '모듈 정보';
$lang->add_shortcut = '관리자 메뉴에 추가';
$lang->module_action = '동작';
$lang->module_maker = '모듈 제작자';
$lang->module_license = '라이선스';
$lang->module_history = '변경 이력 ';
$lang->category_title = '분류 이름';
$lang->header_text = '상단 내용';
$lang->footer_text = '하단 내용';
$lang->use_category = '분류 사용';
$lang->category_title = '분류명';
$lang->checked_count = '선택된 글 수';
$lang->skin_default_info = '스킨 기본정보';
$lang->skin_author = '스킨 제작자';
$lang->skin_license = '라이선스';
$lang->skin_history = '변경 이력';
$lang->module_copy = '모듈 복사';
$lang->module_selector = '모듈 선택기';
$lang->do_selected = '선택된 것들을...';
$lang->bundle_setup = '일괄 기본 설정';
$lang->bundle_addition_setup = '일괄 추가 설정';
$lang->bundle_grant_setup = '일괄 권한 설정';
$lang->lang_code = '언어 코드';
$lang->filebox = '파일박스';
$lang->access_type = '접속 방법';
$lang->access_domain = 'Domain 접속';
$lang->access_vid = 'Site ID 접속';
$lang->about_domain = '1개 이상의 사이트를 만들기 위해서는 전용 도메인이 있어야 합니다.<br/>독립 도메인이나 서브 도메인이 있으면 되고 XE가 설치된 경로까지 같이 넣어주세요.<br />예) www.xpressengine.com/xe';
$lang->about_vid = '별도의 도메인이 아닌 http://XE주소/ID 로 접속할 수 있습니다. 모듈명(mid)과 중복될 수 없습니다.<br/>첫 글자는 영문으로 시작해야 하고 영문과 숫자 그리고 _ 만 사용할 수 있습니다';
$lang->msg_already_registed_vid = '이미 등록된 사이트 ID 입니다. 게시판 등의 mid와도 중복이 되지 않습니다. 다른 ID를 입력해주세요.';
$lang->msg_already_registed_domain = '이미 등록된 도메인입니다. 다른 도메인을 사용해주세요';
$lang->header_script = '헤더 스크립트';
$lang->about_header_script = 'HTML의 &lt;head&gt;와 &lt;/head&gt; 사이에 들어가는 코드를 직접 입력할 수 있습니다.<br />&lt;script, &lt;style 또는 &lt;meta 태그 등을 이용하실 수 있습니다';
$lang->grant_access = '접근 권한';
$lang->grant_manager = '관리 권한';
$lang->grant_to_all = '모든 사용자';
$lang->grant_to_login_user = '로그인 사용자';
$lang->grant_to_site_user = '가입한 사용자';
$lang->grant_to_group = '특정 그룹 사용자';
$lang->cmd_add_shortcut = '바로가기 추가';
$lang->cmd_install = '설치';
$lang->cmd_update = '업데이트';
$lang->cmd_manage_category = '분류 관리';
$lang->cmd_manage_grant = '권한 관리';
$lang->cmd_manage_skin = '스킨 관리';
$lang->cmd_manage_document = '게시글 관리';
$lang->cmd_find_module = '모듈 찾기';
$lang->cmd_find_langcode = '언어 코드 찾기';
$lang->msg_new_module = '모듈 생성';
$lang->msg_update_module = '모듈 수정';
$lang->msg_module_name_exists = '이미 존재하는 모듈 이름입니다. 다른 이름을 입력해주세요.';
$lang->msg_category_is_null = '등록된 분류가 없습니다.';
$lang->msg_grant_is_null = '등록된 권한 대상이 없습니다.';
$lang->msg_no_checked_document = '선택된 게시물이 없습니다.';
$lang->msg_move_failed = '이동 실패하였습니다.';
$lang->msg_cannot_delete_for_child = '하부 분류가 있는 분류는 삭제하실 수 없습니다.';
$lang->msg_limit_mid ='모듈 이름은 영문+[영문+숫자+_] 만 가능합니다.';
$lang->msg_extra_name_exists = '이미 존재하는 확장 변수 이름입니다. 다른 이름을 입력해주세요.';
$lang->about_browser_title = '브라우저 제목에 나타나는 값입니다. RSS/Trackback에서도 사용됩니다.';
$lang->about_mid = '모듈 이름은 http://주소/?mid=모듈이름 처럼 직접 호출할 수 있는 값입니다. (영문+[영문+숫자+_] 만 가능. 최대 40 글자)';
$lang->about_default = '선택하시면 사이트에 mid값 없이 접속하였을 경우 기본으로 보여줍니다.';
$lang->about_module_category = "분류를 통한 관리를 할 수 있도록 합니다. 모듈 분류 관리는 <a href=\"./?module=admin&amp;act=dispModuleAdminCategory\">모듈관리 > 모듈분류</a>에서 하실 수 있습니다.";
$lang->about_description= '관리용으로 사용되는 설명입니다.';
$lang->about_header_text = '모듈 상단에 표시되는 내용입니다. (HTML 태그 사용 가능)';
$lang->about_footer_text = '모듈 하단에 표시되는 내용입니다. (HTML 태그 사용 가능)';
$lang->about_skin = '모듈 스킨을 선택하실 수 있습니다.';
$lang->about_use_category = '선택하시면 분류 기능을 사용할 수 있습니다.';
$lang->about_list_count = '한 페이지에 표시될 글 수를 지정하실 수 있습니다. (기본 20개)';
$lang->about_search_list_count = '검색, 카테고리 선택 등을 할 경우 표시될 글 수를 지정하실 수 있습니다. (기본 20개)';
$lang->about_page_count = '목록 하단, 페이지를 이동하는 링크 수를 지정하실 수 있습니다. (기본 10개)';
$lang->about_admin_id = '해당 모듈에 대해 최고 권한을 가지는 관리자를 지정할 수 있습니다.';
$lang->about_grant = '특정 권한의 대상을 모두 해제하면 로그인하지 않은 회원까지 권한을 가질 수 있습니다.';
$lang->about_grant_deatil = '가입한 사용자는 cafeXE 등 분양형 가상 사이트에 가입을 한 로그인 사용자를 의미합니다.';
$lang->about_module = "XE는 기본 라이브러리를 제외한 나머지는 모두 모듈로 구성되어 있습니다.\n모듈 관리 모듈은 설치된 모든 모듈을 보여주고 관리를 돕습니다.";
$lang->about_extra_vars_default_value = '다중/단일 선택 등 기본 값이 여러 개가 필요한 경우 , (콤마)로 연결하시면 됩니다.';
$lang->about_search_virtual_site = '가상 사이트(예:cafeXE) 도메인을 입력하신 후 검색하세요.<br/>가상 사이트 이외의 모듈은 내용을 비우고 검색하시면 됩니다. (http:// 는 제외)';
$lang->about_extra_vars_eid_value = '확장 변수의 이름을 적어주세요. (영문+[영문+숫자+_] 만 가능)';
$lang->about_langcode = '언어별로 다르게 설정하고 싶으시면 언어 코드 찾기를 이용해주세요.';
$lang->about_file_extension= "%s 파일만 가능합니다.";
?>

View file

@ -1,99 +1,99 @@
<?php
/**
* @file ru.lang.php
* @author NHN (developers@xpressengine.com) | translation by Maslennikov Evgeny aka X-[Vr]bL1s5 | e-mail: x-bliss[a]tut.by; ICQ: 225035467;
* @brief Russian basic language pack
**/
$lang->virtual_site = "Virtual Site";
$lang->module_list = "Список модулей";
$lang->module_index = "Список модулей";
$lang->module_category = "Категория модуля";
$lang->module_info = "Информация";
$lang->add_shortcut = "Добавить ярлыки";
$lang->module_action = "Действия";
$lang->module_maker = "Разработчик модуля";
$lang->module_license = 'Лицензия';
$lang->module_history = "История обновлений";
$lang->category_title = "Название категории";
$lang->header_text = 'Верхний колонтитул';
$lang->footer_text = 'Нижний колонтитул';
$lang->use_category = 'Включить категорию';
$lang->category_title = 'Название категории';
$lang->checked_count = 'Число выбранных статей'; // translator's note: возможно "checked" следует перевести как "проверенных"
$lang->skin_default_info = 'Информация стандартного скина';
$lang->skin_author = 'Разработчик скина';
$lang->skin_license = 'License';
$lang->skin_history = 'История обновлений';
$lang->module_selector = "Module Selector";
$lang->do_selected = "Выбранные...";
$lang->bundle_setup = "일괄 기본 설정";
$lang->bundle_addition_setup = "일괄 추가 설정";
$lang->bundle_grant_setup = "일괄 권한 설정";
$lang->lang_code = "Код языка";
$lang->filebox = "Файлбокс";
$lang->access_type = 'Способ соединения';
$lang->access_domain = 'Domain соединения';
$lang->access_vid = 'Site ID соединение';
$lang->about_vid = '별도의 도메인이 아닌 http://XE주소/ID 로 접속할 수 있습니다. 모듈명(mid)와 중복될 수 없습니다.<br/>첫글자는 영문으로 시작해야 하고 영문과 숫자 그리고 _ 만 사용할 수 있습니다';
$lang->msg_already_registed_vid = '이미 등록된 사이트 ID 입니다. 게시판등의 mid와도 중복이 되지 않습니다. 다른 ID를 입력해주세요.';
$lang->msg_already_registed_domain = '이미 등록된 도메인입니다. 다른 도메인을 사용해주세요';
$lang->module_copy = "Копировать модуль";
$lang->header_script = "Скрипт Header";
$lang->about_header_script = "html의 &lt;header&gt;와 &lt;/header&gt; 사이에 들어가는 코드를 직접 입력할 수 있습니다.<br />&lt;script, &lt;style 또는 &lt;meta 태그등을 이용하실 수 있습니다";
$lang->grant_access = "Access";
$lang->grant_manager = "Management";
$lang->grant_to_all = "All users";
$lang->grant_to_login_user = "Logged users";
$lang->grant_to_site_user = "Joined users";
$lang->grant_to_group = "Specification group users";
$lang->cmd_add_shortcut = "Добавить ярлык";
$lang->cmd_install = "Установить";
$lang->cmd_update = "Обновить";
$lang->cmd_manage_category = 'Управление категориями';
$lang->cmd_manage_grant = 'Управление правами доступа';
$lang->cmd_manage_skin = 'Управление скинами';
$lang->cmd_manage_document = 'Управление статьями';
$lang->cmd_find_module = 'Искать модуль';
$lang->cmd_find_langcode = 'Find lang code';
$lang->msg_new_module = "Создать новый модуль";
$lang->msg_update_module = "Изменить модуль";
$lang->msg_module_name_exists = "Имя уже существует. Пожалуйста, попробуйте другое";
$lang->msg_category_is_null = 'Зарегистрированной категории не существует.';
$lang->msg_grant_is_null = 'Списка для управления правами доступа не существует.';
$lang->msg_no_checked_document = 'Нет выбранных статей.'; // translator's note: выше...
$lang->msg_move_failed = 'Невозможно переместить';
$lang->msg_cannot_delete_for_child = 'Невозможно удалить категорию, имеющую дочерние категории.';
$lang->msg_limit_mid ='모듈이름은 영문+[영문+숫자+_] 만 가능합니다.';
$lang->msg_extra_name_exists = '이미 존재하는 확장변수 이름입니다. 다른 이름을 입력해주세요.';
$lang->about_browser_title = "Это будет показано в заголовке браузера. Также, это будет использоваться в RSS/Трекбеке.";
$lang->about_mid = "Имя модуля будет использовано как http://address/?mid=Имя_модуля.\n(только латиница, цифры и символ подчеркивания(_) разрешены. The maximum length is 40.)";
$lang->about_default = "Если выбрано, модуль будет главным на сайте. Для доступа не нужен будет идентификатор модуля.";
$lang->about_module_category = "Это позволяет Вам управлять посредством категорий модулей.\nURL для менеджера модулей <a href=\"./?module=admin&amp;act=dispModuleAdminCategory\">Manage module > Категория Модуля </a>.";
$lang->about_description= 'Это описание только для менеджера.';
$lang->about_default = 'Если выбрано, этот модуль будет показан, когда пользователи входят на сайт без идентификатора модуля (mid=NoValue).';
$lang->about_header_text = 'Это содержимое будет показано сверху модуля. (HTML разрешен)';
$lang->about_footer_text = 'Это содержимое будет показано снизу модуля. (HTML разрешен)';
$lang->about_skin = 'Вы можете выбрать скин модуля.';
$lang->about_use_category = 'Если выбрано, функция категорий будет включена.';
$lang->about_list_count = 'Вы можете установить лимит показа статей на страницу. (по умолчанию: 20)';
$lang->about_search_list_count = '검색 또는 카테고리 선택등을 할 경우 표시될 글의 수를 지정하실 수 있습니다. 기본(20개)';
$lang->about_page_count = 'Вы можете установить число страниц внизу. (по умолчанию: 10)';
$lang->about_admin_id = 'Вы можете разрешить менеджеру иметь полные права доступа к этому модулю.\nВы можете ввести несколько ID, используя ';
$lang->about_grant = 'Если Вы отключите все права доступа для отдельного объекта, не прошедшие процедуру входа на сайт пользователи получат доступ.';
$lang->about_grant_deatil = '가입한 사용자는 cafeXE등 분양형 가상 사이트에 가입을 한 로그인 사용자를 의미합니다';
$lang->about_module = "XE состоит из модулей, за исключением базовой библиотеки.\n Управление модулем покажет все установленные модули и поможет управлять ими.";
$lang->about_extra_vars_default_value = 'Если нужно несколько значений по умолчанию, разделите их запятыми(,).';
$lang->about_search_virtual_site = "가상 사이트(카페XE등)의 도메인을 입력하신 후 검색하세요.<br/>가상 사이트이외의 모듈은 내용을 비우고 검색하시면 됩니다. (http:// 는 제외)";
$lang->about_langcode = "언어별로 다르게 설정하고 싶으시면 언어코드 찾기를 이용해주세요";
$lang->about_file_extension= "%s 파일만 가능합니다.";
?>
<?php
/**
* @file ru.lang.php
* @author NHN (developers@xpressengine.com) | translation by Maslennikov Evgeny aka X-[Vr]bL1s5 | e-mail: x-bliss[a]tut.by; ICQ: 225035467;
* @brief Russian basic language pack
**/
$lang->virtual_site = "Virtual Site";
$lang->module_list = "Список модулей";
$lang->module_index = "Список модулей";
$lang->module_category = "Категория модуля";
$lang->module_info = "Информация";
$lang->add_shortcut = "Добавить ярлыки";
$lang->module_action = "Действия";
$lang->module_maker = "Разработчик модуля";
$lang->module_license = 'Лицензия';
$lang->module_history = "История обновлений";
$lang->category_title = "Название категории";
$lang->header_text = 'Верхний колонтитул';
$lang->footer_text = 'Нижний колонтитул';
$lang->use_category = 'Включить категорию';
$lang->category_title = 'Название категории';
$lang->checked_count = 'Число выбранных статей'; // translator's note: возможно "checked" следует перевести как "проверенных"
$lang->skin_default_info = 'Информация стандартного скина';
$lang->skin_author = 'Разработчик скина';
$lang->skin_license = 'License';
$lang->skin_history = 'История обновлений';
$lang->module_selector = "Module Selector";
$lang->do_selected = "Выбранные...";
$lang->bundle_setup = "일괄 기본 설정";
$lang->bundle_addition_setup = "일괄 추가 설정";
$lang->bundle_grant_setup = "일괄 권한 설정";
$lang->lang_code = "Код языка";
$lang->filebox = "Файлбокс";
$lang->access_type = 'Способ соединения';
$lang->access_domain = 'Domain соединения';
$lang->access_vid = 'Site ID соединение';
$lang->about_vid = '별도의 도메인이 아닌 http://XE주소/ID 로 접속할 수 있습니다. 모듈명(mid)와 중복될 수 없습니다.<br/>첫글자는 영문으로 시작해야 하고 영문과 숫자 그리고 _ 만 사용할 수 있습니다';
$lang->msg_already_registed_vid = '이미 등록된 사이트 ID 입니다. 게시판등의 mid와도 중복이 되지 않습니다. 다른 ID를 입력해주세요.';
$lang->msg_already_registed_domain = '이미 등록된 도메인입니다. 다른 도메인을 사용해주세요';
$lang->module_copy = "Копировать модуль";
$lang->header_script = "Скрипт Header";
$lang->about_header_script = "html의 &lt;header&gt;와 &lt;/header&gt; 사이에 들어가는 코드를 직접 입력할 수 있습니다.<br />&lt;script, &lt;style 또는 &lt;meta 태그등을 이용하실 수 있습니다";
$lang->grant_access = "Access";
$lang->grant_manager = "Management";
$lang->grant_to_all = "All users";
$lang->grant_to_login_user = "Logged users";
$lang->grant_to_site_user = "Joined users";
$lang->grant_to_group = "Specification group users";
$lang->cmd_add_shortcut = "Добавить ярлык";
$lang->cmd_install = "Установить";
$lang->cmd_update = "Обновить";
$lang->cmd_manage_category = 'Управление категориями';
$lang->cmd_manage_grant = 'Управление правами доступа';
$lang->cmd_manage_skin = 'Управление скинами';
$lang->cmd_manage_document = 'Управление статьями';
$lang->cmd_find_module = 'Искать модуль';
$lang->cmd_find_langcode = 'Find lang code';
$lang->msg_new_module = "Создать новый модуль";
$lang->msg_update_module = "Изменить модуль";
$lang->msg_module_name_exists = "Имя уже существует. Пожалуйста, попробуйте другое";
$lang->msg_category_is_null = 'Зарегистрированной категории не существует.';
$lang->msg_grant_is_null = 'Списка для управления правами доступа не существует.';
$lang->msg_no_checked_document = 'Нет выбранных статей.'; // translator's note: выше...
$lang->msg_move_failed = 'Невозможно переместить';
$lang->msg_cannot_delete_for_child = 'Невозможно удалить категорию, имеющую дочерние категории.';
$lang->msg_limit_mid ='모듈이름은 영문+[영문+숫자+_] 만 가능합니다.';
$lang->msg_extra_name_exists = '이미 존재하는 확장변수 이름입니다. 다른 이름을 입력해주세요.';
$lang->about_browser_title = "Это будет показано в заголовке браузера. Также, это будет использоваться в RSS/Трекбеке.";
$lang->about_mid = "Имя модуля будет использовано как http://address/?mid=Имя_модуля.\n(только латиница, цифры и символ подчеркивания(_) разрешены. The maximum length is 40.)";
$lang->about_default = "Если выбрано, модуль будет главным на сайте. Для доступа не нужен будет идентификатор модуля.";
$lang->about_module_category = "Это позволяет Вам управлять посредством категорий модулей.\nURL для менеджера модулей <a href=\"./?module=admin&amp;act=dispModuleAdminCategory\">Manage module > Категория Модуля </a>.";
$lang->about_description= 'Это описание только для менеджера.';
$lang->about_default = 'Если выбрано, этот модуль будет показан, когда пользователи входят на сайт без идентификатора модуля (mid=NoValue).';
$lang->about_header_text = 'Это содержимое будет показано сверху модуля. (HTML разрешен)';
$lang->about_footer_text = 'Это содержимое будет показано снизу модуля. (HTML разрешен)';
$lang->about_skin = 'Вы можете выбрать скин модуля.';
$lang->about_use_category = 'Если выбрано, функция категорий будет включена.';
$lang->about_list_count = 'Вы можете установить лимит показа статей на страницу. (по умолчанию: 20)';
$lang->about_search_list_count = '검색 또는 카테고리 선택등을 할 경우 표시될 글의 수를 지정하실 수 있습니다. 기본(20개)';
$lang->about_page_count = 'Вы можете установить число страниц внизу. (по умолчанию: 10)';
$lang->about_admin_id = 'Вы можете разрешить менеджеру иметь полные права доступа к этому модулю.\nВы можете ввести несколько ID, используя ';
$lang->about_grant = 'Если Вы отключите все права доступа для отдельного объекта, не прошедшие процедуру входа на сайт пользователи получат доступ.';
$lang->about_grant_deatil = '가입한 사용자는 cafeXE등 분양형 가상 사이트에 가입을 한 로그인 사용자를 의미합니다';
$lang->about_module = "XE состоит из модулей, за исключением базовой библиотеки.\n Управление модулем покажет все установленные модули и поможет управлять ими.";
$lang->about_extra_vars_default_value = 'Если нужно несколько значений по умолчанию, разделите их запятыми(,).';
$lang->about_search_virtual_site = "가상 사이트(카페XE등)의 도메인을 입력하신 후 검색하세요.<br/>가상 사이트이외의 모듈은 내용을 비우고 검색하시면 됩니다. (http:// 는 제외)";
$lang->about_langcode = "언어별로 다르게 설정하고 싶으시면 언어코드 찾기를 이용해주세요";
$lang->about_file_extension= "%s 파일만 가능합니다.";
?>

View file

@ -1,99 +1,99 @@
<?php
/**
* @file modules/module/lang/en.lang.php
* @author NHN (developers@xpressengine.com)
* @brief English language pack
**/
$lang->virtual_site = "Sanal Siteler";
$lang->module_list = "Modül Listesi";
$lang->module_index = "Modül Listesi";
$lang->module_category = "Modül Kategorisi";
$lang->module_info = "Modül Bilgisi";
$lang->add_shortcut = "Kısayol Ekle";
$lang->module_action = "Eylemler";
$lang->module_maker = "Modül Geliştirici";
$lang->module_license = 'Lisans';
$lang->module_history = "Güncelleştirme Geçmişi";
$lang->category_title = "Kategori Başlığı";
$lang->header_text = 'Başlık Metni';
$lang->footer_text = 'Sayfa Altlığı Metni';
$lang->use_category = 'Kategoriyi Etkinleştir';
$lang->category_title = 'Kategori Başlığı';
$lang->checked_count = 'Denetlenen Makale Sayısı';
$lang->skin_default_info = 'Varsayılan Dış Görünüm Bilgisi';
$lang->skin_author = 'Dış Görünüm Geliştiricisi';
$lang->skin_license = 'Lisans';
$lang->skin_history = 'Güncelleştirme Geçmişi';
$lang->module_copy = "Çoğaltma Modülü";
$lang->module_selector = "Modül Seçini";
$lang->do_selected = "Şunu yap";
$lang->bundle_setup = "Toplu Ayar";
$lang->bundle_addition_setup = "Toplu Ek Ayar";
$lang->bundle_grant_setup = "Toplu Yetki Ayarı";
$lang->lang_code = "Dil Kodu";
$lang->filebox = "Dosya Kutusu";
$lang->access_type = 'Erişim Türü';
$lang->access_domain = 'Alan adıyla';
$lang->access_vid = 'Site kimliğiyle';
$lang->about_domain = "Birden fazla sanal website oluşturabilmek için, her birinin kendi alanadına ihtiyacı vardır.<br />Alt-alanadı (örn., aaa.bbb.com of bbb.com) da kullanılabilir. XE'nin de içinde kurulu olduğu yolun adresini giriniz. <br /> örn.) www.xpressengine.com/xe";
$lang->about_vid = 'Kullanıcılar, http://XEaddress/ID adresiyle ulaşabilirler. Varolan bir modül adıyla(mid) aynı olan site kimliği kullanamazsınız .<br />Site kimliği bir harfle başlamaladır . Alfabetik karakterler, sayılar ve _ işareti site kimliği için kullanılabilir.';
$lang->msg_already_registed_vid = 'Önceden kaydedilmiş site kimliği. Lütfen başka bir kimlik giriniz.';
$lang->msg_already_registed_domain = "Bu alanadı önceden kullanıldı. Lütfen farklı bir alanadı giriniz.";
$lang->header_script = "Başlık Betiği(script)";
$lang->about_header_script = "Html betiğini(script) &lt;header&gt; ile &lt;/header&gt; arasına kendiniz ekleyebilirsiniz.<br /> &lt;script, &lt;style or &lt;meta tag kullanabilirsiniz";
$lang->grant_access = "Yetki";
$lang->grant_manager = "Yönetim";
$lang->grant_to_all = "Tüm kullanıcılar";
$lang->grant_to_login_user = "Oturum açmış kullanıcılar";
$lang->grant_to_site_user = "Kayıtlı kullanıcılar";
$lang->grant_to_group = "Belirli grup kullanıcıları";
$lang->cmd_add_shortcut = "Kısayol Ekle";
$lang->cmd_install = "Kur";
$lang->cmd_update = "Güncelleştir";
$lang->cmd_manage_category = 'Kategorileri Yönet';
$lang->cmd_manage_grant = 'Yetkileri Yönet';
$lang->cmd_manage_skin = 'Dış Görünümleri Yönet';
$lang->cmd_manage_document = 'Makaleleri Yönet';
$lang->cmd_find_module = 'Modül Bul';
$lang->cmd_find_langcode = 'Dil kodu bul';
$lang->msg_new_module = "Yeni modül oluştur";
$lang->msg_update_module = "Modül Düzelt";
$lang->msg_module_name_exists = "Bu isim önceden zaten alınmış. Lütfen başka bir tane deneyiniz.";
$lang->msg_category_is_null = 'Kayıtlı kategori yok.';
$lang->msg_grant_is_null = 'Yetki listesi yok.';
$lang->msg_no_checked_document = 'Denetlenmiş makaleler bulunmamakta.';
$lang->msg_move_failed = 'Taşıma hatası';
$lang->msg_cannot_delete_for_child = 'Alt kategorileri olan kategoriler silinemez.';
$lang->msg_limit_mid ="Sadece harfler+[harfler+sayılar+_] modül ismi olarak kullanılabilir.";
$lang->msg_extra_name_exists = 'Önceden kayıtlı değişken isim. Lütfen başka bir tane giriniz.';
$lang->about_browser_title = "Bu girdi tarayıcı başlığında gösterilecektir. Aynı zamanda RSS/Geri İzleme(trackback)\'de de kullanılacaktır.";
$lang->about_mid = "Modül ismi, http://adres/?mid=Modulismi şeklinde kullanılacaktır.\n(Sadece ingilizce harflere + [ingilizce harflere, sayılara, ve altçizgiye (_)] izin verilmiştir. Azami uzunluk 40 karakterdir.)";
$lang->about_default = "İşaretlenmişse, modül kimlik değeri(mid=Değer Yok) olmadan siteye erişirken varsayılan kullanılacaktır.";
$lang->about_module_category = "Size, modül kategorisi yoluyla yönetme imkanı sunar.\n Modül Yöneticisi için URL: <a href=\"./?module=admin&amp;act=dispModuleAdminCategory\">Manage module > Modül Kategorisi</a>dir.";
$lang->about_description= 'Sadece yöneticilerin görebileceği açıklamadır.';
$lang->about_default = 'Eğer işaretlenmişse, kullanıcılar siteye modül kimlik değeri (mid=değer yok) olmadan erişirken bu modül görüntülenecektir .';
$lang->about_header_text = 'Modülün üst kısmında gösterilecek içeriklerdir.(html etiketleri etkin)';
$lang->about_footer_text = 'Modülün alt kısmında gösterilecek içeriklerdir.(html etiketleri etkin)';
$lang->about_skin = 'Modül dış görünümünü seçebilirsiniz.';
$lang->about_use_category = 'İşaretlediğiniz taktirde, kategori özelliği etkinleştirilecektir.';
$lang->about_list_count = 'Sayfada gösterilecek makalelerin sayı üstsınırını ayarlayabilirsiniz.(varsayılan : 20)';
$lang->about_search_list_count = 'Kategori veya arama özelliğini kullanırken gösterilecek makalelerin sayısını ayarlayabilirsiniz. (varsayılan : 20)';
$lang->about_page_count = 'Sayfanın alt kısmında sayfa geçiş linklerinin sayısını ayarlayabilirsiniz.(varsayılan : 10)';
$lang->about_admin_id = 'Modüle tam yetkisi olan bir yönetici atayabilirsiniz.';
$lang->about_grant = 'Belirli bir nesne için tüm yetkileri kapatırsanız, siteye üye girişi yapmamış üyeler yetki sahibi olacaklardır.';
$lang->about_grant_deatil = 'Kayıtlı kullanıcı, sanal sitelere (örn., cafeXE) kayıt olmuş kullanıcı demektir .';
$lang->about_module = "XE, temel kitaplık dışında, modüllerden oluşmaktadır.\n [Modül Yönetimi] modülü, size kurulu tüm modülleri gösterecek ve onları yönetmenize yardımcı olacaktır.";
$lang->about_extra_vars_default_value = 'Eğer çoklu varsayılan değerler gerekiyorsa, onları virgülle(,) köprüleyebilirsiniz.';
$lang->about_search_virtual_site = "Sanal sitelerin alanadlarını giriniz.<br />Sanal olmayan sitelerin modüllerini aramak için, boş arama yapınız";
$lang->about_langcode = "Eğer tek tek yapılandırma yapmak istiyorsanız, 'dil kodu bul'\' u kullanınız.";
$lang->about_file_extension= "Yalnızca %s uzantı(ları) mevucut.";
?>
<?php
/**
* @file modules/module/lang/en.lang.php
* @author NHN (developers@xpressengine.com)
* @brief English language pack
**/
$lang->virtual_site = "Sanal Siteler";
$lang->module_list = "Modül Listesi";
$lang->module_index = "Modül Listesi";
$lang->module_category = "Modül Kategorisi";
$lang->module_info = "Modül Bilgisi";
$lang->add_shortcut = "Kısayol Ekle";
$lang->module_action = "Eylemler";
$lang->module_maker = "Modül Geliştirici";
$lang->module_license = 'Lisans';
$lang->module_history = "Güncelleştirme Geçmişi";
$lang->category_title = "Kategori Başlığı";
$lang->header_text = 'Başlık Metni';
$lang->footer_text = 'Sayfa Altlığı Metni';
$lang->use_category = 'Kategoriyi Etkinleştir';
$lang->category_title = 'Kategori Başlığı';
$lang->checked_count = 'Denetlenen Makale Sayısı';
$lang->skin_default_info = 'Varsayılan Dış Görünüm Bilgisi';
$lang->skin_author = 'Dış Görünüm Geliştiricisi';
$lang->skin_license = 'Lisans';
$lang->skin_history = 'Güncelleştirme Geçmişi';
$lang->module_copy = "Çoğaltma Modülü";
$lang->module_selector = "Modül Seçini";
$lang->do_selected = "Şunu yap";
$lang->bundle_setup = "Toplu Ayar";
$lang->bundle_addition_setup = "Toplu Ek Ayar";
$lang->bundle_grant_setup = "Toplu Yetki Ayarı";
$lang->lang_code = "Dil Kodu";
$lang->filebox = "Dosya Kutusu";
$lang->access_type = 'Erişim Türü';
$lang->access_domain = 'Alan adıyla';
$lang->access_vid = 'Site kimliğiyle';
$lang->about_domain = "Birden fazla sanal website oluşturabilmek için, her birinin kendi alanadına ihtiyacı vardır.<br />Alt-alanadı (örn., aaa.bbb.com of bbb.com) da kullanılabilir. XE'nin de içinde kurulu olduğu yolun adresini giriniz. <br /> örn.) www.xpressengine.com/xe";
$lang->about_vid = 'Kullanıcılar, http://XEaddress/ID adresiyle ulaşabilirler. Varolan bir modül adıyla(mid) aynı olan site kimliği kullanamazsınız .<br />Site kimliği bir harfle başlamaladır . Alfabetik karakterler, sayılar ve _ işareti site kimliği için kullanılabilir.';
$lang->msg_already_registed_vid = 'Önceden kaydedilmiş site kimliği. Lütfen başka bir kimlik giriniz.';
$lang->msg_already_registed_domain = "Bu alanadı önceden kullanıldı. Lütfen farklı bir alanadı giriniz.";
$lang->header_script = "Başlık Betiği(script)";
$lang->about_header_script = "Html betiğini(script) &lt;header&gt; ile &lt;/header&gt; arasına kendiniz ekleyebilirsiniz.<br /> &lt;script, &lt;style or &lt;meta tag kullanabilirsiniz";
$lang->grant_access = "Yetki";
$lang->grant_manager = "Yönetim";
$lang->grant_to_all = "Tüm kullanıcılar";
$lang->grant_to_login_user = "Oturum açmış kullanıcılar";
$lang->grant_to_site_user = "Kayıtlı kullanıcılar";
$lang->grant_to_group = "Belirli grup kullanıcıları";
$lang->cmd_add_shortcut = "Kısayol Ekle";
$lang->cmd_install = "Kur";
$lang->cmd_update = "Güncelleştir";
$lang->cmd_manage_category = 'Kategorileri Yönet';
$lang->cmd_manage_grant = 'Yetkileri Yönet';
$lang->cmd_manage_skin = 'Dış Görünümleri Yönet';
$lang->cmd_manage_document = 'Makaleleri Yönet';
$lang->cmd_find_module = 'Modül Bul';
$lang->cmd_find_langcode = 'Dil kodu bul';
$lang->msg_new_module = "Yeni modül oluştur";
$lang->msg_update_module = "Modül Düzelt";
$lang->msg_module_name_exists = "Bu isim önceden zaten alınmış. Lütfen başka bir tane deneyiniz.";
$lang->msg_category_is_null = 'Kayıtlı kategori yok.';
$lang->msg_grant_is_null = 'Yetki listesi yok.';
$lang->msg_no_checked_document = 'Denetlenmiş makaleler bulunmamakta.';
$lang->msg_move_failed = 'Taşıma hatası';
$lang->msg_cannot_delete_for_child = 'Alt kategorileri olan kategoriler silinemez.';
$lang->msg_limit_mid ="Sadece harfler+[harfler+sayılar+_] modül ismi olarak kullanılabilir.";
$lang->msg_extra_name_exists = 'Önceden kayıtlı değişken isim. Lütfen başka bir tane giriniz.';
$lang->about_browser_title = "Bu girdi tarayıcı başlığında gösterilecektir. Aynı zamanda RSS/Geri İzleme(trackback)\'de de kullanılacaktır.";
$lang->about_mid = "Modül ismi, http://adres/?mid=Modulismi şeklinde kullanılacaktır.\n(Sadece ingilizce harflere + [ingilizce harflere, sayılara, ve altçizgiye (_)] izin verilmiştir. Azami uzunluk 40 karakterdir.)";
$lang->about_default = "İşaretlenmişse, modül kimlik değeri(mid=Değer Yok) olmadan siteye erişirken varsayılan kullanılacaktır.";
$lang->about_module_category = "Size, modül kategorisi yoluyla yönetme imkanı sunar.\n Modül Yöneticisi için URL: <a href=\"./?module=admin&amp;act=dispModuleAdminCategory\">Manage module > Modül Kategorisi</a>dir.";
$lang->about_description= 'Sadece yöneticilerin görebileceği açıklamadır.';
$lang->about_default = 'Eğer işaretlenmişse, kullanıcılar siteye modül kimlik değeri (mid=değer yok) olmadan erişirken bu modül görüntülenecektir .';
$lang->about_header_text = 'Modülün üst kısmında gösterilecek içeriklerdir.(html etiketleri etkin)';
$lang->about_footer_text = 'Modülün alt kısmında gösterilecek içeriklerdir.(html etiketleri etkin)';
$lang->about_skin = 'Modül dış görünümünü seçebilirsiniz.';
$lang->about_use_category = 'İşaretlediğiniz taktirde, kategori özelliği etkinleştirilecektir.';
$lang->about_list_count = 'Sayfada gösterilecek makalelerin sayı üstsınırını ayarlayabilirsiniz.(varsayılan : 20)';
$lang->about_search_list_count = 'Kategori veya arama özelliğini kullanırken gösterilecek makalelerin sayısını ayarlayabilirsiniz. (varsayılan : 20)';
$lang->about_page_count = 'Sayfanın alt kısmında sayfa geçiş linklerinin sayısını ayarlayabilirsiniz.(varsayılan : 10)';
$lang->about_admin_id = 'Modüle tam yetkisi olan bir yönetici atayabilirsiniz.';
$lang->about_grant = 'Belirli bir nesne için tüm yetkileri kapatırsanız, siteye üye girişi yapmamış üyeler yetki sahibi olacaklardır.';
$lang->about_grant_deatil = 'Kayıtlı kullanıcı, sanal sitelere (örn., cafeXE) kayıt olmuş kullanıcı demektir .';
$lang->about_module = "XE, temel kitaplık dışında, modüllerden oluşmaktadır.\n [Modül Yönetimi] modülü, size kurulu tüm modülleri gösterecek ve onları yönetmenize yardımcı olacaktır.";
$lang->about_extra_vars_default_value = 'Eğer çoklu varsayılan değerler gerekiyorsa, onları virgülle(,) köprüleyebilirsiniz.';
$lang->about_search_virtual_site = "Sanal sitelerin alanadlarını giriniz.<br />Sanal olmayan sitelerin modüllerini aramak için, boş arama yapınız";
$lang->about_langcode = "Eğer tek tek yapılandırma yapmak istiyorsanız, 'dil kodu bul'\' u kullanınız.";
$lang->about_file_extension= "Yalnızca %s uzantı(ları) mevucut.";
?>

View file

@ -1,101 +1,101 @@
<?php
/* ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░ * @File : common/lang/vi.lang.php ░░
░░ * @Author : NHN (developers@xpressengine.com) ░░
░░ * @Trans : Đào Đức Duy (ducduy.dao.vn@vietxe.net) ░░
░░ * @Website: http://vietxe.net ░░
░░ * @Brief : Vietnamese Language Pack (Only basic words are included here) ░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ */
$lang->virtual_site = "Site thực";
$lang->module_list = "Danh sách Module";
$lang->module_index = "Danh sách Module";
$lang->module_category = "Thể loại";
$lang->module_info = "Thông tin Module";
$lang->add_shortcut = "Thêm phím tắt";
$lang->module_action = "Hoạt động";
$lang->module_maker = "Người thiết kế";
$lang->module_license = 'Giấy phép';
$lang->module_history = "Lịch sử cập nhật";
$lang->category_title = "Tiêu đề phân loại";
$lang->header_text = 'Nội dung Header';
$lang->footer_text = 'Nội dung Footer';
$lang->use_category = 'Mở phân loại';
$lang->category_title = 'Tiêu đề phân loại';
$lang->checked_count = 'Số bài viết đã chọn';
$lang->skin_default_info = 'Thông tin Skin mặc định';
$lang->skin_author = 'Thiết kế';
$lang->skin_license = 'Giấy phép';
$lang->skin_history = 'Lịch sử cập nhật';
$lang->module_copy = "Nhân bản Module";
$lang->module_selector = "Chọn lọc Module";
$lang->do_selected = "Bình chọn / Phê bình.";
$lang->bundle_setup = "Gói cài đặt";
$lang->bundle_addition_setup = "Gói cài đặt bổ xung";
$lang->bundle_grant_setup = "Gói cài đặt cho phép";
$lang->lang_code = "Mã ngôn ngữ";
$lang->filebox = "FileBox";
$lang->access_type = 'Kiểu truy cập';
$lang->access_domain = 'Với tên miền';
$lang->access_vid = 'Với ID Website';
$lang->about_domain = "Để tạo nhiều Website nhỏ, các Website nhỏ này cần những tên miền riêng của mình.<br />Có thể sử dụng những Subdomain dạng aaa.bbb.com của bbb.com. Hãy nhập địa chỉ bao gồm cả Domain cài đặt XE. <br /> Ví dụ: www.vietxe.net/xe";
$lang->about_vid = 'Người sử dụng có thể truy cập qua http://XEaddress/ID. Bạn không thể sử dụng ID giống nhau và giống tên Module đã có.<br />Teen ID có dạng là các chữ cái, số và dấu gạch dưới (_).';
$lang->msg_already_registed_vid = 'Tên ID này đã được đăng kí. Xin hãy chọn tên khác.';
$lang->msg_already_registed_domain = "Tên miền đã được sử dụng. Xin hãy chọn tên khác.";
$lang->header_script = "Header Script";
$lang->about_header_script = "Bạn co thể nhập mã dang HTML vào giữa &lt;header&gt; và &lt;/header&gt;.<br />Bạn có thể sử dụng &lt;script, &lt;style hay &lt;meta tag";
$lang->grant_access = "Truy cập";
$lang->grant_manager = "Quản lý";
$lang->grant_to_all = "Tất cả";
$lang->grant_to_login_user = "Đã đăng nhập";
$lang->grant_to_site_user = "Đã đăng kí";
$lang->grant_to_group = "Nhóm chỉ định";
$lang->cmd_add_shortcut = "Thêm phím tắt";
$lang->cmd_install = "Cài đặt";
$lang->cmd_update = "Cập nhật";
$lang->cmd_manage_category = 'Quản lý thể loại';
$lang->cmd_manage_grant = 'Quản lý quyền';
$lang->cmd_manage_skin = 'Quản lý Skin';
$lang->cmd_manage_document = 'Quản lý bài viết';
$lang->cmd_find_module = 'Tìm Module';
$lang->cmd_find_langcode = 'Tìm mã ngôn ngữ';
$lang->msg_new_module = "Tạo Module mới";
$lang->msg_update_module = "Sửa Module";
$lang->msg_module_name_exists = "Tên này đã được sử dụng. Hãy thử lại với tên khác.";
$lang->msg_category_is_null = 'Không có phân loại nào được tạo.';
$lang->msg_grant_is_null = 'Không có danh sách quyền nào.';
$lang->msg_no_checked_document = 'Không có bài viết nào được kiểm tra.';
$lang->msg_move_failed = 'Không thể di chuyển';
$lang->msg_cannot_delete_for_child = 'Không thể xóa được phân loại khi có những phân loại con.';
$lang->msg_limit_mid ="Tên Module chỉ hỗ trợ định dạng [Kí tự], [Kí tự+Số], [Kí tự+Số+_].";
$lang->msg_extra_name_exists = 'Tên biến đã được sử dụng. Xin hãy chọn tên khác.';
$lang->about_browser_title = "Nó sẽ hiển thị trên tiêu đề của trình duyệt và trong RSS/Trackback.";
$lang->about_mid = "Tên Module được sử dụng dạng http://address/?mid=<b>ModuleName</b>.\n(Chỉ cho phép chữ cái tiếng Anh + [chữ cái tiếng Anh, số, và dấu gạch dưới (_)] và tối đa 40 kí tự.)";
$lang->about_default = "Nếu chọn, Sẽ hiển thị mặc định là (mid=NoValue) khi truy cập tên Module không đúng.";
$lang->about_module_category = "Nó cho phép bạn quản lý thông qua Module thể loại.\n URL quản lý có dạng <a href=\"./?module=admin&amp;act=dispModuleAdminCategory\">Quản lý Module > Module thể loại </a>.";
$lang->about_description= 'Mô tả cho một quản lý.';
$lang->about_default = 'Nếu chọn, Sẽ hiển thị mặc định là (mid=NoValue) khi truy cập tên Module không đúng.';
$lang->about_header_text = 'Nội dung sẽ hiển thị trên đầu Module.(sau http tag có sẵn)';
$lang->about_footer_text = 'Nội dung sẽ hiển thị phía dưới Module.(trước http tag có sẵn)';
$lang->about_skin = 'Banj có thể chọn Skin cho Module.';
$lang->about_use_category = 'Nếu chon, chức năng thể loại sẽ hoạt động.';
$lang->about_list_count = 'Bạn có thể giới hạn bài viết hiển thị trên một trang.(Mặc định là 20)';
$lang->about_search_list_count = 'Bạn có thể đặt giới hạn số bài viết sẽ hiển thị khi tìm kiếm hay chọn thể loại. (Mặc định là 20)';
$lang->about_page_count = 'bạn có thể giới hạn số trang liên kết hiển thị phía dưới.(Mặc định là 10)';
$lang->about_admin_id = 'Bạn có thể đặt quyền hạn cho người sử dụng khi truy cập tới Module.';
$lang->about_grant = 'Nếu bạn khóa tất cả quyền hạn cho một thành viên đặc biệt nào đó, những thành viên đó sẽ không được phép đăng nhập.';
$lang->about_grant_deatil = 'Khi thành viên dăng kí tại trang chủ, nghĩa là họ cũng là thành viên của những trang khác (Ví dụ: cafeXE,...).';
$lang->about_module = "Khu vực Module trong XE ngoại trừ Library là tại [Module Manage]. Tất cả những Module đang có sẽ hiển thị, giúp bạn quản lý một cách dễ dàng.";
$lang->about_extra_vars_default_value = 'Nếu cần nhiều giá trị mặc định, bạn có thể thêm dấu (,) và giữa các kết nối.';
$lang->about_search_virtual_site = "Hãy nhập tên miền thực tế của Website.<br />Để tìm kiếm những Module không thực tế của Website hãy để trống.";
$lang->about_langcode = "Nếu bạn muốn sử dụng định hình riêng, hãy sử dụng 'Tìm kiếm mã ngôn ngữ'";
$lang->about_file_extension= "Chỉ cho phép những phần mở rộng là: %s.";
?>
<?php
/* ░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░
░░ * @File : common/lang/vi.lang.php ░░
░░ * @Author : NHN (developers@xpressengine.com) ░░
░░ * @Trans : Đào Đức Duy (ducduy.dao.vn@vietxe.net) ░░
░░ * @Website: http://vietxe.net ░░
░░ * @Brief : Vietnamese Language Pack (Only basic words are included here) ░░
░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░░ */
$lang->virtual_site = "Site thực";
$lang->module_list = "Danh sách Module";
$lang->module_index = "Danh sách Module";
$lang->module_category = "Thể loại";
$lang->module_info = "Thông tin Module";
$lang->add_shortcut = "Thêm phím tắt";
$lang->module_action = "Hoạt động";
$lang->module_maker = "Người thiết kế";
$lang->module_license = 'Giấy phép';
$lang->module_history = "Lịch sử cập nhật";
$lang->category_title = "Tiêu đề phân loại";
$lang->header_text = 'Nội dung Header';
$lang->footer_text = 'Nội dung Footer';
$lang->use_category = 'Mở phân loại';
$lang->category_title = 'Tiêu đề phân loại';
$lang->checked_count = 'Số bài viết đã chọn';
$lang->skin_default_info = 'Thông tin Skin mặc định';
$lang->skin_author = 'Thiết kế';
$lang->skin_license = 'Giấy phép';
$lang->skin_history = 'Lịch sử cập nhật';
$lang->module_copy = "Nhân bản Module";
$lang->module_selector = "Chọn lọc Module";
$lang->do_selected = "Bình chọn / Phê bình.";
$lang->bundle_setup = "Gói cài đặt";
$lang->bundle_addition_setup = "Gói cài đặt bổ xung";
$lang->bundle_grant_setup = "Gói cài đặt cho phép";
$lang->lang_code = "Mã ngôn ngữ";
$lang->filebox = "FileBox";
$lang->access_type = 'Kiểu truy cập';
$lang->access_domain = 'Với tên miền';
$lang->access_vid = 'Với ID Website';
$lang->about_domain = "Để tạo nhiều Website nhỏ, các Website nhỏ này cần những tên miền riêng của mình.<br />Có thể sử dụng những Subdomain dạng aaa.bbb.com của bbb.com. Hãy nhập địa chỉ bao gồm cả Domain cài đặt XE. <br /> Ví dụ: www.vietxe.net/xe";
$lang->about_vid = 'Người sử dụng có thể truy cập qua http://XEaddress/ID. Bạn không thể sử dụng ID giống nhau và giống tên Module đã có.<br />Teen ID có dạng là các chữ cái, số và dấu gạch dưới (_).';
$lang->msg_already_registed_vid = 'Tên ID này đã được đăng kí. Xin hãy chọn tên khác.';
$lang->msg_already_registed_domain = "Tên miền đã được sử dụng. Xin hãy chọn tên khác.";
$lang->header_script = "Header Script";
$lang->about_header_script = "Bạn co thể nhập mã dang HTML vào giữa &lt;header&gt; và &lt;/header&gt;.<br />Bạn có thể sử dụng &lt;script, &lt;style hay &lt;meta tag";
$lang->grant_access = "Truy cập";
$lang->grant_manager = "Quản lý";
$lang->grant_to_all = "Tất cả";
$lang->grant_to_login_user = "Đã đăng nhập";
$lang->grant_to_site_user = "Đã đăng kí";
$lang->grant_to_group = "Nhóm chỉ định";
$lang->cmd_add_shortcut = "Thêm phím tắt";
$lang->cmd_install = "Cài đặt";
$lang->cmd_update = "Cập nhật";
$lang->cmd_manage_category = 'Quản lý thể loại';
$lang->cmd_manage_grant = 'Quản lý quyền';
$lang->cmd_manage_skin = 'Quản lý Skin';
$lang->cmd_manage_document = 'Quản lý bài viết';
$lang->cmd_find_module = 'Tìm Module';
$lang->cmd_find_langcode = 'Tìm mã ngôn ngữ';
$lang->msg_new_module = "Tạo Module mới";
$lang->msg_update_module = "Sửa Module";
$lang->msg_module_name_exists = "Tên này đã được sử dụng. Hãy thử lại với tên khác.";
$lang->msg_category_is_null = 'Không có phân loại nào được tạo.';
$lang->msg_grant_is_null = 'Không có danh sách quyền nào.';
$lang->msg_no_checked_document = 'Không có bài viết nào được kiểm tra.';
$lang->msg_move_failed = 'Không thể di chuyển';
$lang->msg_cannot_delete_for_child = 'Không thể xóa được phân loại khi có những phân loại con.';
$lang->msg_limit_mid ="Tên Module chỉ hỗ trợ định dạng [Kí tự], [Kí tự+Số], [Kí tự+Số+_].";
$lang->msg_extra_name_exists = 'Tên biến đã được sử dụng. Xin hãy chọn tên khác.';
$lang->about_browser_title = "Nó sẽ hiển thị trên tiêu đề của trình duyệt và trong RSS/Trackback.";
$lang->about_mid = "Tên Module được sử dụng dạng http://address/?mid=<b>ModuleName</b>.\n(Chỉ cho phép chữ cái tiếng Anh + [chữ cái tiếng Anh, số, và dấu gạch dưới (_)] và tối đa 40 kí tự.)";
$lang->about_default = "Nếu chọn, Sẽ hiển thị mặc định là (mid=NoValue) khi truy cập tên Module không đúng.";
$lang->about_module_category = "Nó cho phép bạn quản lý thông qua Module thể loại.\n URL quản lý có dạng <a href=\"./?module=admin&amp;act=dispModuleAdminCategory\">Quản lý Module > Module thể loại </a>.";
$lang->about_description= 'Mô tả cho một quản lý.';
$lang->about_default = 'Nếu chọn, Sẽ hiển thị mặc định là (mid=NoValue) khi truy cập tên Module không đúng.';
$lang->about_header_text = 'Nội dung sẽ hiển thị trên đầu Module.(sau http tag có sẵn)';
$lang->about_footer_text = 'Nội dung sẽ hiển thị phía dưới Module.(trước http tag có sẵn)';
$lang->about_skin = 'Banj có thể chọn Skin cho Module.';
$lang->about_use_category = 'Nếu chon, chức năng thể loại sẽ hoạt động.';
$lang->about_list_count = 'Bạn có thể giới hạn bài viết hiển thị trên một trang.(Mặc định là 20)';
$lang->about_search_list_count = 'Bạn có thể đặt giới hạn số bài viết sẽ hiển thị khi tìm kiếm hay chọn thể loại. (Mặc định là 20)';
$lang->about_page_count = 'bạn có thể giới hạn số trang liên kết hiển thị phía dưới.(Mặc định là 10)';
$lang->about_admin_id = 'Bạn có thể đặt quyền hạn cho người sử dụng khi truy cập tới Module.';
$lang->about_grant = 'Nếu bạn khóa tất cả quyền hạn cho một thành viên đặc biệt nào đó, những thành viên đó sẽ không được phép đăng nhập.';
$lang->about_grant_deatil = 'Khi thành viên dăng kí tại trang chủ, nghĩa là họ cũng là thành viên của những trang khác (Ví dụ: cafeXE,...).';
$lang->about_module = "Khu vực Module trong XE ngoại trừ Library là tại [Module Manage]. Tất cả những Module đang có sẽ hiển thị, giúp bạn quản lý một cách dễ dàng.";
$lang->about_extra_vars_default_value = 'Nếu cần nhiều giá trị mặc định, bạn có thể thêm dấu (,) và giữa các kết nối.';
$lang->about_search_virtual_site = "Hãy nhập tên miền thực tế của Website.<br />Để tìm kiếm những Module không thực tế của Website hãy để trống.";
$lang->about_langcode = "Nếu bạn muốn sử dụng định hình riêng, hãy sử dụng 'Tìm kiếm mã ngôn ngữ'";
$lang->about_file_extension= "Chỉ cho phép những phần mở rộng là: %s.";
?>

View file

@ -1,99 +1,99 @@
<?php
/**
* @file zh-CN.lang.php
* @author NHN (developers@xpressengine.com)
* @brief 简体中文语言包
**/
$lang->virtual_site = "站点";
$lang->module_list = "模块目录";
$lang->module_index = "模块列表";
$lang->module_category = "模块分类";
$lang->module_info = "模块信息";
$lang->add_shortcut = "添加到快捷菜单";
$lang->module_action = "动作";
$lang->module_maker = "模块作者";
$lang->module_license = '版权';
$lang->module_history = "更新事项 ";
$lang->category_title = "分类名称";
$lang->header_text = '头部修饰';
$lang->footer_text = '尾部修饰';
$lang->use_category = '使用分类';
$lang->category_title = '分类名';
$lang->checked_count = '所选主题数';
$lang->skin_default_info = '皮肤默认信息';
$lang->skin_author = '皮肤作者';
$lang->skin_license = '版权';
$lang->skin_history = '更新日志';
$lang->module_copy = "模块复制";
$lang->module_selector = "模块选择器";
$lang->do_selected = "把所选模块...";
$lang->bundle_setup = "批量设置-常规选项";
$lang->bundle_addition_setup = "批量设置-高级选项";
$lang->bundle_grant_setup = "批量设置-权限";
$lang->lang_code = "语言变量";
$lang->filebox = "文件管理";
$lang->access_type = '访问方式';
$lang->access_domain = '域名';
$lang->access_vid = '站点ID';
$lang->about_domain = "要创建一个站点必须有一个专用域名。<br/>一级域名或二级域名皆可。输入的时候请把XE安装路径也一起输入。<br />ex) www.xpressengine.com/xe";
$lang->about_vid = '直接以http://XE安装地址/ID的方式访问。<br/>模块名(mid)不能重复。<br/>模块名要以英文字母开头,且只允许使用英文字母,数字及"_"。';
$lang->msg_already_registed_vid = '重复的站点ID请重新输入(注站点ID不能重复而且也不能与版面mid重复)。';
$lang->msg_already_registed_domain = "对不起!已有相同的域名。请重新输入。";
$lang->header_script = "文件头部脚本";
$lang->about_header_script = "可以直接输入插入到html中&lt;head&gt;区的代码。<br />可使用&lt;script, &lt;style 或 &lt;meta 等标签。";
$lang->grant_access = "访问权限";
$lang->grant_manager = "管理权限";
$lang->grant_to_all = "不限制";
$lang->grant_to_login_user = "已登录用户";
$lang->grant_to_site_user = "子站会员";
$lang->grant_to_group = "特定用户组";
$lang->cmd_add_shortcut = "添加到快捷菜单";
$lang->cmd_install = "安装";
$lang->cmd_update = "升级";
$lang->cmd_manage_category = '分类管理';
$lang->cmd_manage_grant = '权限管理';
$lang->cmd_manage_skin = '皮肤管理';
$lang->cmd_manage_document = '主题管理';
$lang->cmd_find_module = '查找模块';
$lang->cmd_find_langcode = '选择语言变量';
$lang->msg_new_module = "模块生成";
$lang->msg_update_module = "模块修改";
$lang->msg_module_name_exists = "已存在的模块名称。请输入其他名称。";
$lang->msg_category_is_null = '没有登录的分类';
$lang->msg_grant_is_null = '没有登录的权限对象';
$lang->msg_no_checked_document = '没有被选择的主题';
$lang->msg_move_failed = '移动失败!';
$lang->msg_cannot_delete_for_child = '不能删除有下级分类的分类!';
$lang->msg_limit_mid ="模块名称只允许英文字母+[英文字母+数字]。";
$lang->msg_extra_name_exists = '已有的扩展变量名称,请重新输入!';
$lang->about_browser_title = "显示在浏览器窗口的标题值。 在RSS/Trackback也可以使用。";
$lang->about_mid = "模块名称只允许使用英文,数字和下划线(最多不能超过40字节)。";
$lang->about_default = "用没有mid值的网址访问网站时将会显示默认。";
$lang->about_module_category = "可以分类管理模块。 模块分类可以在 <a href=\"./?module=admin&amp;act=dispModuleAdminCategory\">模块管理 > 模块分类 </a>中进行管理。";
$lang->about_description= '管理用使用说明。';
$lang->about_default = '用没有mid值的网址访问网站时将会显示默认。';
$lang->about_header_text = '模块头部修饰内容。(可以使用HTML)';
$lang->about_footer_text = '模块尾部修饰内容。(可以使用HTML)';
$lang->about_skin = '可以选择模块皮肤。';
$lang->about_use_category = '选择此项可以使用分类功能。';
$lang->about_list_count = '可以指定每页显示的主题数。(默认为20个)';
$lang->about_search_list_count = '可以指定搜索或选择分类时每页要显示的帖子数(默认为20个)。';
$lang->about_page_count = '可以指定显示在目录下方的页面数(默认为10个)。 ';
$lang->about_admin_id = '可以对该模块指定拥有最高管理权限的管理员。';
$lang->about_grant = '全部解除特定权限的对象时,没有登录的会员也将具有相关权限。';
$lang->about_grant_deatil = '子站会员是指注册到子站点已在线的用户.';
$lang->about_module = "除基本library以外XE全部由模块组成。\n模块管理中列出所有已安装的模块,因此易于管理。";
$lang->about_extra_vars_default_value = '复选/单选缺省值需要多个时,用,(逗号)来分隔。';
$lang->about_search_virtual_site = "请输入子站点域名后再进行搜索。<br/>子站点以外的模块可以留空搜索。(输入时http://除外)。";
$lang->about_extra_vars_eid_value = '请输入扩展变量名称(只允许英文字母+[英文字母+数字+_])。';
$lang->about_langcode = "要想实现多国语言切换请点击[选择语言变量]按钮。";
$lang->about_file_extension= "只允许%s文件。";
?>
<?php
/**
* @file zh-CN.lang.php
* @author NHN (developers@xpressengine.com)
* @brief 简体中文语言包
**/
$lang->virtual_site = "站点";
$lang->module_list = "模块目录";
$lang->module_index = "模块列表";
$lang->module_category = "模块分类";
$lang->module_info = "模块信息";
$lang->add_shortcut = "添加到快捷菜单";
$lang->module_action = "动作";
$lang->module_maker = "模块作者";
$lang->module_license = '版权';
$lang->module_history = "更新事项 ";
$lang->category_title = "分类名称";
$lang->header_text = '头部修饰';
$lang->footer_text = '尾部修饰';
$lang->use_category = '使用分类';
$lang->category_title = '分类名';
$lang->checked_count = '所选主题数';
$lang->skin_default_info = '皮肤默认信息';
$lang->skin_author = '皮肤作者';
$lang->skin_license = '版权';
$lang->skin_history = '更新日志';
$lang->module_copy = "模块复制";
$lang->module_selector = "模块选择器";
$lang->do_selected = "把所选模块...";
$lang->bundle_setup = "批量设置-常规选项";
$lang->bundle_addition_setup = "批量设置-高级选项";
$lang->bundle_grant_setup = "批量设置-权限";
$lang->lang_code = "语言变量";
$lang->filebox = "文件管理";
$lang->access_type = '访问方式';
$lang->access_domain = '域名';
$lang->access_vid = '站点ID';
$lang->about_domain = "要创建一个站点必须有一个专用域名。<br/>一级域名或二级域名皆可。输入的时候请把XE安装路径也一起输入。<br />ex) www.xpressengine.com/xe";
$lang->about_vid = '直接以http://XE安装地址/ID的方式访问。<br/>模块名(mid)不能重复。<br/>模块名要以英文字母开头,且只允许使用英文字母,数字及"_"。';
$lang->msg_already_registed_vid = '重复的站点ID请重新输入(注站点ID不能重复而且也不能与版面mid重复)。';
$lang->msg_already_registed_domain = "对不起!已有相同的域名。请重新输入。";
$lang->header_script = "文件头部脚本";
$lang->about_header_script = "可以直接输入插入到html中&lt;head&gt;区的代码。<br />可使用&lt;script, &lt;style 或 &lt;meta 等标签。";
$lang->grant_access = "访问权限";
$lang->grant_manager = "管理权限";
$lang->grant_to_all = "不限制";
$lang->grant_to_login_user = "已登录用户";
$lang->grant_to_site_user = "子站会员";
$lang->grant_to_group = "特定用户组";
$lang->cmd_add_shortcut = "添加到快捷菜单";
$lang->cmd_install = "安装";
$lang->cmd_update = "升级";
$lang->cmd_manage_category = '分类管理';
$lang->cmd_manage_grant = '权限管理';
$lang->cmd_manage_skin = '皮肤管理';
$lang->cmd_manage_document = '主题管理';
$lang->cmd_find_module = '查找模块';
$lang->cmd_find_langcode = '选择语言变量';
$lang->msg_new_module = "模块生成";
$lang->msg_update_module = "模块修改";
$lang->msg_module_name_exists = "已存在的模块名称。请输入其他名称。";
$lang->msg_category_is_null = '没有登录的分类';
$lang->msg_grant_is_null = '没有登录的权限对象';
$lang->msg_no_checked_document = '没有被选择的主题';
$lang->msg_move_failed = '移动失败!';
$lang->msg_cannot_delete_for_child = '不能删除有下级分类的分类!';
$lang->msg_limit_mid ="模块名称只允许英文字母+[英文字母+数字]。";
$lang->msg_extra_name_exists = '已有的扩展变量名称,请重新输入!';
$lang->about_browser_title = "显示在浏览器窗口的标题值。 在RSS/Trackback也可以使用。";
$lang->about_mid = "模块名称只允许使用英文,数字和下划线(最多不能超过40字节)。";
$lang->about_default = "用没有mid值的网址访问网站时将会显示默认。";
$lang->about_module_category = "可以分类管理模块。 模块分类可以在 <a href=\"./?module=admin&amp;act=dispModuleAdminCategory\">模块管理 > 模块分类 </a>中进行管理。";
$lang->about_description= '管理用使用说明。';
$lang->about_default = '用没有mid值的网址访问网站时将会显示默认。';
$lang->about_header_text = '模块头部修饰内容。(可以使用HTML)';
$lang->about_footer_text = '模块尾部修饰内容。(可以使用HTML)';
$lang->about_skin = '可以选择模块皮肤。';
$lang->about_use_category = '选择此项可以使用分类功能。';
$lang->about_list_count = '可以指定每页显示的主题数。(默认为20个)';
$lang->about_search_list_count = '可以指定搜索或选择分类时每页要显示的帖子数(默认为20个)。';
$lang->about_page_count = '可以指定显示在目录下方的页面数(默认为10个)。 ';
$lang->about_admin_id = '可以对该模块指定拥有最高管理权限的管理员。';
$lang->about_grant = '全部解除特定权限的对象时,没有登录的会员也将具有相关权限。';
$lang->about_grant_deatil = '子站会员是指注册到子站点已在线的用户.';
$lang->about_module = "除基本library以外XE全部由模块组成。\n模块管理中列出所有已安装的模块,因此易于管理。";
$lang->about_extra_vars_default_value = '复选/单选缺省值需要多个时,用,(逗号)来分隔。';
$lang->about_search_virtual_site = "请输入子站点域名后再进行搜索。<br/>子站点以外的模块可以留空搜索。(输入时http://除外)。";
$lang->about_extra_vars_eid_value = '请输入扩展变量名称(只允许英文字母+[英文字母+数字+_])。';
$lang->about_langcode = "要想实现多国语言切换请点击[选择语言变量]按钮。";
$lang->about_file_extension= "只允许%s文件。";
?>

View file

@ -1,98 +1,98 @@
<?php
/**
* @file modules/module/lang/zh-TW.lang.php
* @author NHN (developers@xpressengine.com) 翻譯royallin
* @brief 模組(module)正體中文語言
**/
$lang->virtual_site = "虛擬網站";
$lang->module_list = "模組列表";
$lang->module_index = "模組列表";
$lang->module_category = "模組分類";
$lang->module_info = "模組資料";
$lang->add_shortcut = "新增到快捷選單";
$lang->module_action = "動作";
$lang->module_maker = "模組作者";
$lang->module_license = '版權';
$lang->module_history = "更新紀錄";
$lang->category_title = "分類名稱";
$lang->header_text = '頂端內容';
$lang->footer_text = '底端內容';
$lang->use_category = '使用分類';
$lang->category_title = '分類名稱';
$lang->checked_count = '所選擇的主題數';
$lang->skin_default_info = '預設面板資料';
$lang->skin_author = '面板作者';
$lang->skin_license = '版權';
$lang->skin_history = '更新事項';
$lang->module_copy = '複製模組';
$lang->module_selector = '模組選擇器';
$lang->do_selected = '選擇項目...';
$lang->bundle_setup = '批次設定-設置';
$lang->bundle_addition_setup = '批次設定-延伸設置';
$lang->bundle_grant_setup = '批次設定-權限管理';
$lang->lang_code = '語言代碼';
$lang->filebox = '檔案管理';
$lang->access_type = '訪問類型';
$lang->access_domain = 'Domain';
$lang->access_vid = 'Site ID';
$lang->about_domain = "要建立網站必須要有個專屬域名。<br/>頂級域名或次級域名都可以。輸入時,請將 XE 安裝路徑也一起輸入。<br />例) www.xpressengine.com/xe";
$lang->about_vid = '直接以 http://程式安裝位址/ID 的方式訪問。模組名稱(mid)不能重複。<br/>必須要以英文字母開頭,只允許使用底線、英文及數字。';
$lang->msg_already_registed_vid = '已註冊的 Site ID。不可與討論板的 mid 相同。請輸入其他 ID 名稱。';
$lang->msg_already_registed_domain = "已註冊的域名。請使用其他的網域。";
$lang->header_script = "Header Script";
$lang->about_header_script = "可以直接輸入,並插入到 HTML 的&lt;head&gt;之間。<br />可使用&lt;script&gt;,&lt;style&gt;或&lt;meta&gt;等標籤。";
$lang->grant_access = "訪問";
$lang->grant_manager = "管理";
$lang->grant_to_all = "所有用戶";
$lang->grant_to_login_user = "已登入用戶";
$lang->grant_to_site_user = "網站用戶";
$lang->grant_to_group = "特定群組";
$lang->cmd_add_shortcut = "新增到快捷選單";
$lang->cmd_install = "安裝";
$lang->cmd_update = "升級";
$lang->cmd_manage_category = '分類管理';
$lang->cmd_manage_grant = '權限管理';
$lang->cmd_manage_skin = '面板管理';
$lang->cmd_manage_document = '主題管理';
$lang->cmd_find_module = '搜尋模組';
$lang->cmd_find_langcode = '搜尋語言代碼';
$lang->msg_new_module = "建立模組";
$lang->msg_update_module = "修改模組";
$lang->msg_module_name_exists = "已存在的模組名稱。請輸入其他名稱。";
$lang->msg_category_is_null = '沒有登錄的分類';
$lang->msg_grant_is_null = '沒有權限';
$lang->msg_no_checked_document = '沒有被選擇的主題';
$lang->msg_move_failed = '移動失敗!';
$lang->msg_cannot_delete_for_child = '無法刪除有子分類的分類!';
$lang->msg_limit_mid ="模組名稱可由英文 + [ 英文,數字及底線 ]等非常多種組合。";
$lang->msg_extra_name_exists = '已存在的延伸變數名稱。請輸入其他名稱。';
$lang->about_browser_title = "顯示在瀏覽器視窗的標題。在 RSS/Trackback 也可以使用。";
$lang->about_mid = "模組名稱只允許使用英文,數字和底線。最大長度 40 個字元。";
$lang->about_default = "用沒有 mid 值的網址訪問網站時,將會顯示預設。";
$lang->about_module_category = "可以分類管理模組。模組分類可以在<a href=\"./?module=admin&amp;act=dispModuleAdminCategory\">模組管理 > 模組分類 </a>中進行管理。";
$lang->about_description= '管理使用說明。';
$lang->about_default = '用沒有 mid 值的網址訪問網站時,將會顯示預設。';
$lang->about_header_text = '顯示在模組頂部的內容。(可使用 HTML)';
$lang->about_footer_text = '顯示在模組底部的內容。(可使用 HTML)';
$lang->about_skin = '可以選擇模組面板。';
$lang->about_use_category = '選擇此項可以使用分類功能。';
$lang->about_list_count = '可以指定每頁顯示的主題數。(預設為 20 個)';
$lang->about_search_list_count = '可以指定搜尋或選擇分類時,每頁要顯示的文章數(預設為 20 個)。';
$lang->about_page_count = '可以指定顯示在清單下方的頁面數(預設為 10 個)。 ';
$lang->about_admin_id = '可以對該模組指定最高管理權限。';
$lang->about_grant = '全部解除特定權限的對象時,沒有登錄的會員也將具有相關權限。';
$lang->about_grant_deatil = '已註冊的用戶是指在虛擬網站註冊的用戶';
$lang->about_module = "除基本函式庫以外 XE 全部由模組組成。\n模組管理中列出所有已安裝的模組,因此易於管理。";
$lang->about_extra_vars_default_value = '當復選或單選的預設值需要很多個時,用逗號(,)區隔。';
$lang->about_search_virtual_site = "請輸入網站域名後再搜尋。<br/>網站以外的模組可直接進行搜尋。(http://不用輸入)。";
$lang->about_extra_vars_eid_value = '請輸入延伸變數名稱。( 只允許使用英文 + [ 英文,數字及底線 ] )';
$lang->about_langcode = "想要實現多國語言功能,請按[語言代碼]按鈕。";
$lang->about_file_extension= "只允許 %s 檔案。";
?>
<?php
/**
* @file modules/module/lang/zh-TW.lang.php
* @author NHN (developers@xpressengine.com) 翻譯royallin
* @brief 模組(module)正體中文語言
**/
$lang->virtual_site = "虛擬網站";
$lang->module_list = "模組列表";
$lang->module_index = "模組列表";
$lang->module_category = "模組分類";
$lang->module_info = "模組資料";
$lang->add_shortcut = "新增到快捷選單";
$lang->module_action = "動作";
$lang->module_maker = "模組作者";
$lang->module_license = '版權';
$lang->module_history = "更新紀錄";
$lang->category_title = "分類名稱";
$lang->header_text = '頂端內容';
$lang->footer_text = '底端內容';
$lang->use_category = '使用分類';
$lang->category_title = '分類名稱';
$lang->checked_count = '所選擇的主題數';
$lang->skin_default_info = '預設面板資料';
$lang->skin_author = '面板作者';
$lang->skin_license = '版權';
$lang->skin_history = '更新事項';
$lang->module_copy = '複製模組';
$lang->module_selector = '模組選擇器';
$lang->do_selected = '選擇項目...';
$lang->bundle_setup = '批次設定-設置';
$lang->bundle_addition_setup = '批次設定-延伸設置';
$lang->bundle_grant_setup = '批次設定-權限管理';
$lang->lang_code = '語言代碼';
$lang->filebox = '檔案管理';
$lang->access_type = '訪問類型';
$lang->access_domain = 'Domain';
$lang->access_vid = 'Site ID';
$lang->about_domain = "要建立網站必須要有個專屬域名。<br/>頂級域名或次級域名都可以。輸入時,請將 XE 安裝路徑也一起輸入。<br />例) www.xpressengine.com/xe";
$lang->about_vid = '直接以 http://程式安裝位址/ID 的方式訪問。模組名稱(mid)不能重複。<br/>必須要以英文字母開頭,只允許使用底線、英文及數字。';
$lang->msg_already_registed_vid = '已註冊的 Site ID。不可與討論板的 mid 相同。請輸入其他 ID 名稱。';
$lang->msg_already_registed_domain = "已註冊的域名。請使用其他的網域。";
$lang->header_script = "Header Script";
$lang->about_header_script = "可以直接輸入,並插入到 HTML 的&lt;head&gt;之間。<br />可使用&lt;script&gt;,&lt;style&gt;或&lt;meta&gt;等標籤。";
$lang->grant_access = "訪問";
$lang->grant_manager = "管理";
$lang->grant_to_all = "所有用戶";
$lang->grant_to_login_user = "已登入用戶";
$lang->grant_to_site_user = "網站用戶";
$lang->grant_to_group = "特定群組";
$lang->cmd_add_shortcut = "新增到快捷選單";
$lang->cmd_install = "安裝";
$lang->cmd_update = "升級";
$lang->cmd_manage_category = '分類管理';
$lang->cmd_manage_grant = '權限管理';
$lang->cmd_manage_skin = '面板管理';
$lang->cmd_manage_document = '主題管理';
$lang->cmd_find_module = '搜尋模組';
$lang->cmd_find_langcode = '搜尋語言代碼';
$lang->msg_new_module = "建立模組";
$lang->msg_update_module = "修改模組";
$lang->msg_module_name_exists = "已存在的模組名稱。請輸入其他名稱。";
$lang->msg_category_is_null = '沒有登錄的分類';
$lang->msg_grant_is_null = '沒有權限';
$lang->msg_no_checked_document = '沒有被選擇的主題';
$lang->msg_move_failed = '移動失敗!';
$lang->msg_cannot_delete_for_child = '無法刪除有子分類的分類!';
$lang->msg_limit_mid ="模組名稱可由英文 + [ 英文,數字及底線 ]等非常多種組合。";
$lang->msg_extra_name_exists = '已存在的延伸變數名稱。請輸入其他名稱。';
$lang->about_browser_title = "顯示在瀏覽器視窗的標題。在 RSS/Trackback 也可以使用。";
$lang->about_mid = "模組名稱只允許使用英文,數字和底線。最大長度 40 個字元。";
$lang->about_default = "用沒有 mid 值的網址訪問網站時,將會顯示預設。";
$lang->about_module_category = "可以分類管理模組。模組分類可以在<a href=\"./?module=admin&amp;act=dispModuleAdminCategory\">模組管理 > 模組分類 </a>中進行管理。";
$lang->about_description= '管理使用說明。';
$lang->about_default = '用沒有 mid 值的網址訪問網站時,將會顯示預設。';
$lang->about_header_text = '顯示在模組頂部的內容。(可使用 HTML)';
$lang->about_footer_text = '顯示在模組底部的內容。(可使用 HTML)';
$lang->about_skin = '可以選擇模組面板。';
$lang->about_use_category = '選擇此項可以使用分類功能。';
$lang->about_list_count = '可以指定每頁顯示的主題數。(預設為 20 個)';
$lang->about_search_list_count = '可以指定搜尋或選擇分類時,每頁要顯示的文章數(預設為 20 個)。';
$lang->about_page_count = '可以指定顯示在清單下方的頁面數(預設為 10 個)。 ';
$lang->about_admin_id = '可以對該模組指定最高管理權限。';
$lang->about_grant = '全部解除特定權限的對象時,沒有登錄的會員也將具有相關權限。';
$lang->about_grant_deatil = '已註冊的用戶是指在虛擬網站註冊的用戶';
$lang->about_module = "除基本函式庫以外 XE 全部由模組組成。\n模組管理中列出所有已安裝的模組,因此易於管理。";
$lang->about_extra_vars_default_value = '當復選或單選的預設值需要很多個時,用逗號(,)區隔。';
$lang->about_search_virtual_site = "請輸入網站域名後再搜尋。<br/>網站以外的模組可直接進行搜尋。(http://不用輸入)。";
$lang->about_extra_vars_eid_value = '請輸入延伸變數名稱。( 只允許使用英文 + [ 英文,數字及底線 ] )';
$lang->about_langcode = "想要實現多國語言功能,請按[語言代碼]按鈕。";
$lang->about_file_extension= "只允許 %s 檔案。";
?>

View file

@ -1,485 +1,485 @@
<?php
/**
* @class moduleAdminController
* @author NHN (developers@xpressengine.com)
* @brief module 모듈의 admin controller class
**/
class moduleAdminController extends module {
/**
* @brief 초기화
**/
function init() {
}
/**
* @brief 모듈 카테고리 추가
**/
function procModuleAdminInsertCategory() {
$args->title = Context::get('title');
$output = executeQuery('module.insertModuleCategory', $args);
if(!$output->toBool()) return $output;
$this->setMessage("success_registed");
}
/**
* @brief 카테고리의 내용 수정
**/
function procModuleAdminUpdateCategory() {
$mode = Context::get('mode');
switch($mode) {
case 'delete' :
$output = $this->doDeleteModuleCategory();
$msg_code = 'success_deleted';
break;
case 'update' :
$output = $this->doUpdateModuleCategory();
$msg_code = 'success_updated';
break;
}
if(!$output->toBool()) return $output;
$this->setMessage($msg_code);
}
/**
* @brief 모듈 카테고리의 제목 변경
**/
function doUpdateModuleCategory() {
$args->title = Context::get('title');
$args->module_category_srl = Context::get('module_category_srl');
return executeQuery('module.updateModuleCategory', $args);
}
/**
* @brief 모듈 카테고리 삭제
**/
function doDeleteModuleCategory() {
$args->module_category_srl = Context::get('module_category_srl');
return executeQuery('module.deleteModuleCategory', $args);
}
/**
* @brief 모듈 복사
**/
function procModuleAdminCopyModule() {
// 복사하려는 대상 모듈의 정보를 구함
$module_srl = Context::get('module_srl');
if(!$module_srl) return;
// 새로 생성하려는 모듈들의 이름/브라우저 제목을 구함
$clones = array();
$args = Context::getAll();
for($i=1;$i<=10;$i++) {
$mid = trim($args->{"mid_".$i});
if(!$mid) continue;
if(!preg_match("/^[a-zA-Z]([a-zA-Z0-9_]*)$/i", $mid)) return new Object(-1, 'msg_limit_mid');
$browser_title = $args->{"browser_title_".$i};
if(!$mid) continue;
if($mid && !$browser_title) $browser_title = $mid;
$clones[$mid] = $browser_title;
}
if(!count($clones)) return;
$oModuleModel = &getModel('module');
$oModuleController = &getController('module');
// 모듈 정보 가져옴
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
// 권한 정보 가져옴
$module_args->module_srl = $module_srl;
$output = executeQueryArray('module.getModuleGrants', $module_args);
$grant = array();
if($output->data) {
foreach($output->data as $key => $val) $grant[$val->name][] = $val->group_srl;
}
$oDB = &DB::getInstance();
$oDB->begin();
// 모듈 복사
foreach($clones as $mid => $browser_title) {
$clone_args = null;
$clone_args = clone($module_info);
$clone_args->module_srl = null;
$clone_args->content = null;
$clone_args->mid = $mid;
$clone_args->browser_title = $browser_title;
$clone_args->is_default = 'N';
// 모듈 생성
$output = $oModuleController->insertModule($clone_args);
$module_srl = $output->get('module_srl');
// 권한 정보 등록
if(count($grant)) $oModuleController->insertModuleGrants($module_srl, $grant);
}
$oDB->commit();
$this->setMessage('success_registed');
}
/**
* @brief 모듈 권한 저장
**/
function procModuleAdminInsertGrant() {
$oModuleController = &getController('module');
$oModuleModel = &getModel('module');
// 모듈 번호 구함
$module_srl = Context::get('module_srl');
// 해당 모듈의 정보를 구함
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
if(!$module_info) return new Object(-1,'msg_invalid_request');
// 관리자 아이디 등록
$oModuleController->deleteAdminId($module_srl);
$admin_member = Context::get('admin_member');
if($admin_member) {
$admin_members = explode(',',$admin_member);
for($i=0;$i<count($admin_members);$i++) {
$admin_id = trim($admin_members[$i]);
if(!$admin_id) continue;
$oModuleController->insertAdminId($module_srl, $admin_id);
}
}
// 권한 정리
$xml_info = $oModuleModel->getModuleActionXML($module_info->module);
$grant_list = $xml_info->grant;
$grant_list->access->default = 'guest';
$grant_list->manager->default = 'manager';
foreach($grant_list as $grant_name => $grant_info) {
// default값을 구함
$default = Context::get($grant_name.'_default');
// -1 = 로그인 사용자만, -2 = 사이트 가입자만, 0 = 모든 사용자
if(strlen($default)){
$grant->{$grant_name}[] = $default;
continue;
// 특정 그룹 사용자
} else {
$group_srls = Context::get($grant_name);
if($group_srls) {
if(strpos($group_srls,'|@|')!==false) $group_srls = explode('|@|',$group_srls);
elseif(strpos($group_srls,',')!==false) $group_srls = explode(',',$group_srls);
else $group_srls = array($group_srls);
$grant->{$grant_name} = $group_srls;
}
continue;
}
$grant->{$group_srls} = array();
}
// DB에 저장
$args->module_srl = $module_srl;
$output = executeQuery('module.deleteModuleGrants', $args);
if(!$output->toBool()) return $output;
// DB에 권한 저장
foreach($grant as $grant_name => $group_srls) {
foreach($group_srls as $key => $val) {
$args = null;
$args->module_srl = $module_srl;
$args->name = $grant_name;
$args->group_srl = $val;
$output = executeQuery('module.insertModuleGrant', $args);
if(!$output->toBool()) return $output;
}
}
$this->setMessage('success_registed');
}
/**
* @brief 스킨 정보 업데이트
**/
function procModuleAdminUpdateSkinInfo() {
// module_srl에 해당하는 정보들을 가져오기
$module_srl = Context::get('module_srl');
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
if($module_info->module_srl) {
$skin = $module_info->skin;
// 스킨의 정보를 구해옴 (extra_vars를 체크하기 위해서)
$module_path = './modules/'.$module_info->module;
$skin_info = $oModuleModel->loadSkinInfo($module_path, $skin);
$skin_vars = $oModuleModel->getModuleSkinVars($module_srl);
// 입력받은 변수들을 체크 (mo, act, module_srl, page등 기본적인 변수들 없앰)
$obj = Context::getRequestVars();
unset($obj->act);
unset($obj->module_srl);
unset($obj->page);
unset($obj->mid);
unset($obj->module);
// 원 skin_info에서 extra_vars의 type이 image일 경우 별도 처리를 해줌
if($skin_info->extra_vars) {
foreach($skin_info->extra_vars as $vars) {
if($vars->type!='image') continue;
$image_obj = $obj->{$vars->name};
// 삭제 요청에 대한 변수를 구함
$del_var = $obj->{"del_".$vars->name};
unset($obj->{"del_".$vars->name});
if($del_var == 'Y') {
FileHandler::removeFile($skin_vars[$vars->name]->value);
continue;
}
// 업로드 되지 않았다면 이전 데이터를 그대로 사용
if(!$image_obj['tmp_name']) {
$obj->{$vars->name} = $skin_vars[$vars->name]->value;
continue;
}
// 정상적으로 업로드된 파일이 아니면 무시
if(!is_uploaded_file($image_obj['tmp_name'])) {
unset($obj->{$vars->name});
continue;
}
// 이미지 파일이 아니어도 무시
if(!preg_match("/\.(jpg|jpeg|gif|png)$/i", $image_obj['name'])) {
unset($obj->{$vars->name});
continue;
}
// 경로를 정해서 업로드
$path = sprintf("./files/attach/images/%s/", $module_srl);
// 디렉토리 생성
if(!FileHandler::makeDir($path)) return false;
$filename = $path.$image_obj['name'];
// 파일 이동
if(!move_uploaded_file($image_obj['tmp_name'], $filename)) {
unset($obj->{$vars->name});
continue;
}
// 정상 파일 업로드
FileHandler::removeFile($skin_vars[$vars->name]->value);
// 변수를 바꿈
unset($obj->{$vars->name});
$obj->{$vars->name} = $filename;
}
}
// 해당 모듈의 전체 스킨 불러와서 이미지는 제거
/*
if($skin_info->extra_vars) {
foreach($skin_info->extra_vars as $vars) {
if($vars->type!='image') continue;
$value = $skin_vars[$vars->name];
if(file_exists($value)) @unlink($value);
}
}
*/
$oModuleController = &getController('module');
$oModuleController->deleteModuleSkinVars($module_srl);
// 등록
$oModuleController->insertModuleSkinVars($module_srl, $obj);
}
$this->setLayoutPath('./common/tpl');
$this->setLayoutFile('default_layout.html');
$this->setTemplatePath('./modules/module/tpl');
$this->setTemplateFile("top_refresh.html");
}
/**
* @brief 모듈 일괄 정리
**/
function procModuleAdminModuleSetup() {
$vars = Context::getRequestVars();
if(!$vars->module_srls) return new Object(-1,'msg_invalid_request');
$module_srls = explode(',',$vars->module_srls);
if(!count($module_srls)) return new Object(-1,'msg_invalid_request');
$oModuleModel = &getModel('module');
$oModuleController= &getController('module');
foreach($module_srls as $module_srl) {
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
$module_info->module_category_srl = $vars->module_category_srl;
$module_info->layout_srl = $vars->layout_srl;
$module_info->skin = $vars->skin;
$module_info->description = $vars->description;
$module_info->header_text = $vars->header_text;
$module_info->footer_text = $vars->footer_text;
$oModuleController->updateModule($module_info);
}
$this->setMessage('success_registed');
}
/**
* @brief 모듈 권한 일괄 정리
**/
function procModuleAdminModuleGrantSetup() {
$module_srls = Context::get('module_srls');
if(!$module_srls) return new Object(-1,'msg_invalid_request');
$modules = explode(',',$module_srls);
if(!count($modules)) return new Object(-1,'msg_invalid_request');
$oModuleController = &getController('module');
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($modules[0]);
$xml_info = $oModuleModel->getModuleActionXml($module_info->module);
$grant_list = $xml_info->grant;
$grant_list->access->default = 'guest';
$grant_list->manager->default = 'manager';
foreach($grant_list as $grant_name => $grant_info) {
// default값을 구함
$default = Context::get($grant_name.'_default');
// -1 = 로그인 사용자만, 0 = 모든 사용자
if(strlen($default)){
$grant->{$grant_name}[] = $default;
continue;
// 특정 그룹 사용자
} else {
$group_srls = Context::get($grant_name);
if($group_srls) {
if(strpos($group_srls,'|@|')!==false) $group_srls = explode('|@|',$group_srls);
elseif(strpos($group_srls,',')!==false) $group_srls = explode(',',$group_srls);
else $group_srls = array($group_srls);
$grant->{$grant_name} = $group_srls;
}
continue;
}
$grant->{$group_srls} = array();
}
// DB에 저장
foreach($modules as $module_srl) {
$args = null;
$args->module_srl = $module_srl;
$output = executeQuery('module.deleteModuleGrants', $args);
if(!$output->toBool()) continue;
// DB에 권한 저장
foreach($grant as $grant_name => $group_srls) {
foreach($group_srls as $key => $val) {
$args = null;
$args->module_srl = $module_srl;
$args->name = $grant_name;
$args->group_srl = $val;
$output = executeQuery('module.insertModuleGrant', $args);
if(!$output->toBool()) return $output;
}
}
}
$this->setMessage('success_registed');
}
/**
* @brief 언어 추가/ 업데이트
**/
function procModuleAdminInsertLang() {
// 언어코드명 가져옴
$site_module_info = Context::get('site_module_info');
$args->site_srl = (int)$site_module_info->site_srl;
$args->name = str_replace(' ','_',Context::get('lang_code'));
if(!$args->name) return new Object(-1,'msg_invalid_request');
// 언어코드가 있는지 조사
$output = executeQueryArray('module.getLang', $args);
if(!$output->toBool()) return $output;
// 있으면 업데이트를 위해 기존 값들을 지움
if($output->data) $output = executeQuery('module.deleteLang', $args);
if(!$output->toBool()) return $output;
// 입력
$lang_supported = Context::get('lang_supported');
foreach($lang_supported as $key => $val) {
$args->lang_code = $key;
$args->value = trim(Context::get($key));
if(!$args->value) {
$args->value = Context::get(strtolower($key));
if(!$args->value) $args->value = $args->name;
}
$output = executeQuery('module.insertLang', $args);
if(!$output->toBool()) return $output;
}
$this->makeCacheDefinedLangCode($args->site_srl);
$this->add('name', $args->name);
}
/**
* @brief 언어 제거
**/
function procModuleAdminDeleteLang() {
// 언어코드명 가져옴
$site_module_info = Context::get('site_module_info');
$args->site_srl = (int)$site_module_info->site_srl;
$args->name = str_replace(' ','_',Context::get('name'));
if(!$args->name) return new Object(-1,'msg_invalid_request');
$output = executeQuery('module.deleteLang', $args);
if(!$output->toBool()) return $output;
$this->makeCacheDefinedLangCode($args->site_srl);
}
/**
* @brief 사용자 정이 언어코드 파일 저장
**/
function makeCacheDefinedLangCode($site_srl = 0) {
// 현재 사이트의 언어파일 가져오기
if(!$site_srl) {
$site_module_info = Context::get('site_module_info');
$args->site_srl = (int)$site_module_info->site_srl;
} else {
$args->site_srl = $site_srl;
}
$output = executeQueryArray('module.getLang', $args);
if(!$output->toBool() || !$output->data) return;
// 캐시 디렉토리 설정
$cache_path = _XE_PATH_.'files/cache/lang_defined/';
if(!is_dir($cache_path)) FileHandler::makeDir($cache_path);
$lang_supported = Context::get('lang_supported');
foreach($lang_supported as $key => $val) {
$fp[$key] = fopen( sprintf('%s/%d.%s.php', $cache_path, $args->site_srl, $key), 'w' );
if(!$fp[$key]) return;
fwrite($fp[$key],"<?php if(!defined('__ZBXE__')) exit(); \r\n");
}
foreach($output->data as $key => $val) {
if($fp[$val->lang_code]) fwrite($fp[$val->lang_code], sprintf('$lang["%s"] = "%s";'."\r\n", $val->name, str_replace('"','\\"',$val->value)));
}
foreach($lang_supported as $key => $val) {
if(!$fp[$key]) continue;
fwrite($fp[$key],"?>");
fclose($fp[$key]);
}
}
}
?>
<?php
/**
* @class moduleAdminController
* @author NHN (developers@xpressengine.com)
* @brief module 모듈의 admin controller class
**/
class moduleAdminController extends module {
/**
* @brief 초기화
**/
function init() {
}
/**
* @brief 모듈 카테고리 추가
**/
function procModuleAdminInsertCategory() {
$args->title = Context::get('title');
$output = executeQuery('module.insertModuleCategory', $args);
if(!$output->toBool()) return $output;
$this->setMessage("success_registed");
}
/**
* @brief 카테고리의 내용 수정
**/
function procModuleAdminUpdateCategory() {
$mode = Context::get('mode');
switch($mode) {
case 'delete' :
$output = $this->doDeleteModuleCategory();
$msg_code = 'success_deleted';
break;
case 'update' :
$output = $this->doUpdateModuleCategory();
$msg_code = 'success_updated';
break;
}
if(!$output->toBool()) return $output;
$this->setMessage($msg_code);
}
/**
* @brief 모듈 카테고리의 제목 변경
**/
function doUpdateModuleCategory() {
$args->title = Context::get('title');
$args->module_category_srl = Context::get('module_category_srl');
return executeQuery('module.updateModuleCategory', $args);
}
/**
* @brief 모듈 카테고리 삭제
**/
function doDeleteModuleCategory() {
$args->module_category_srl = Context::get('module_category_srl');
return executeQuery('module.deleteModuleCategory', $args);
}
/**
* @brief 모듈 복사
**/
function procModuleAdminCopyModule() {
// 복사하려는 대상 모듈의 정보를 구함
$module_srl = Context::get('module_srl');
if(!$module_srl) return;
// 새로 생성하려는 모듈들의 이름/브라우저 제목을 구함
$clones = array();
$args = Context::getAll();
for($i=1;$i<=10;$i++) {
$mid = trim($args->{"mid_".$i});
if(!$mid) continue;
if(!preg_match("/^[a-zA-Z]([a-zA-Z0-9_]*)$/i", $mid)) return new Object(-1, 'msg_limit_mid');
$browser_title = $args->{"browser_title_".$i};
if(!$mid) continue;
if($mid && !$browser_title) $browser_title = $mid;
$clones[$mid] = $browser_title;
}
if(!count($clones)) return;
$oModuleModel = &getModel('module');
$oModuleController = &getController('module');
// 모듈 정보 가져옴
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
// 권한 정보 가져옴
$module_args->module_srl = $module_srl;
$output = executeQueryArray('module.getModuleGrants', $module_args);
$grant = array();
if($output->data) {
foreach($output->data as $key => $val) $grant[$val->name][] = $val->group_srl;
}
$oDB = &DB::getInstance();
$oDB->begin();
// 모듈 복사
foreach($clones as $mid => $browser_title) {
$clone_args = null;
$clone_args = clone($module_info);
$clone_args->module_srl = null;
$clone_args->content = null;
$clone_args->mid = $mid;
$clone_args->browser_title = $browser_title;
$clone_args->is_default = 'N';
// 모듈 생성
$output = $oModuleController->insertModule($clone_args);
$module_srl = $output->get('module_srl');
// 권한 정보 등록
if(count($grant)) $oModuleController->insertModuleGrants($module_srl, $grant);
}
$oDB->commit();
$this->setMessage('success_registed');
}
/**
* @brief 모듈 권한 저장
**/
function procModuleAdminInsertGrant() {
$oModuleController = &getController('module');
$oModuleModel = &getModel('module');
// 모듈 번호 구함
$module_srl = Context::get('module_srl');
// 해당 모듈의 정보를 구함
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
if(!$module_info) return new Object(-1,'msg_invalid_request');
// 관리자 아이디 등록
$oModuleController->deleteAdminId($module_srl);
$admin_member = Context::get('admin_member');
if($admin_member) {
$admin_members = explode(',',$admin_member);
for($i=0;$i<count($admin_members);$i++) {
$admin_id = trim($admin_members[$i]);
if(!$admin_id) continue;
$oModuleController->insertAdminId($module_srl, $admin_id);
}
}
// 권한 정리
$xml_info = $oModuleModel->getModuleActionXML($module_info->module);
$grant_list = $xml_info->grant;
$grant_list->access->default = 'guest';
$grant_list->manager->default = 'manager';
foreach($grant_list as $grant_name => $grant_info) {
// default값을 구함
$default = Context::get($grant_name.'_default');
// -1 = 로그인 사용자만, -2 = 사이트 가입자만, 0 = 모든 사용자
if(strlen($default)){
$grant->{$grant_name}[] = $default;
continue;
// 특정 그룹 사용자
} else {
$group_srls = Context::get($grant_name);
if($group_srls) {
if(strpos($group_srls,'|@|')!==false) $group_srls = explode('|@|',$group_srls);
elseif(strpos($group_srls,',')!==false) $group_srls = explode(',',$group_srls);
else $group_srls = array($group_srls);
$grant->{$grant_name} = $group_srls;
}
continue;
}
$grant->{$group_srls} = array();
}
// DB에 저장
$args->module_srl = $module_srl;
$output = executeQuery('module.deleteModuleGrants', $args);
if(!$output->toBool()) return $output;
// DB에 권한 저장
foreach($grant as $grant_name => $group_srls) {
foreach($group_srls as $key => $val) {
$args = null;
$args->module_srl = $module_srl;
$args->name = $grant_name;
$args->group_srl = $val;
$output = executeQuery('module.insertModuleGrant', $args);
if(!$output->toBool()) return $output;
}
}
$this->setMessage('success_registed');
}
/**
* @brief 스킨 정보 업데이트
**/
function procModuleAdminUpdateSkinInfo() {
// module_srl에 해당하는 정보들을 가져오기
$module_srl = Context::get('module_srl');
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
if($module_info->module_srl) {
$skin = $module_info->skin;
// 스킨의 정보를 구해옴 (extra_vars를 체크하기 위해서)
$module_path = './modules/'.$module_info->module;
$skin_info = $oModuleModel->loadSkinInfo($module_path, $skin);
$skin_vars = $oModuleModel->getModuleSkinVars($module_srl);
// 입력받은 변수들을 체크 (mo, act, module_srl, page등 기본적인 변수들 없앰)
$obj = Context::getRequestVars();
unset($obj->act);
unset($obj->module_srl);
unset($obj->page);
unset($obj->mid);
unset($obj->module);
// 원 skin_info에서 extra_vars의 type이 image일 경우 별도 처리를 해줌
if($skin_info->extra_vars) {
foreach($skin_info->extra_vars as $vars) {
if($vars->type!='image') continue;
$image_obj = $obj->{$vars->name};
// 삭제 요청에 대한 변수를 구함
$del_var = $obj->{"del_".$vars->name};
unset($obj->{"del_".$vars->name});
if($del_var == 'Y') {
FileHandler::removeFile($skin_vars[$vars->name]->value);
continue;
}
// 업로드 되지 않았다면 이전 데이터를 그대로 사용
if(!$image_obj['tmp_name']) {
$obj->{$vars->name} = $skin_vars[$vars->name]->value;
continue;
}
// 정상적으로 업로드된 파일이 아니면 무시
if(!is_uploaded_file($image_obj['tmp_name'])) {
unset($obj->{$vars->name});
continue;
}
// 이미지 파일이 아니어도 무시
if(!preg_match("/\.(jpg|jpeg|gif|png)$/i", $image_obj['name'])) {
unset($obj->{$vars->name});
continue;
}
// 경로를 정해서 업로드
$path = sprintf("./files/attach/images/%s/", $module_srl);
// 디렉토리 생성
if(!FileHandler::makeDir($path)) return false;
$filename = $path.$image_obj['name'];
// 파일 이동
if(!move_uploaded_file($image_obj['tmp_name'], $filename)) {
unset($obj->{$vars->name});
continue;
}
// 정상 파일 업로드
FileHandler::removeFile($skin_vars[$vars->name]->value);
// 변수를 바꿈
unset($obj->{$vars->name});
$obj->{$vars->name} = $filename;
}
}
// 해당 모듈의 전체 스킨 불러와서 이미지는 제거
/*
if($skin_info->extra_vars) {
foreach($skin_info->extra_vars as $vars) {
if($vars->type!='image') continue;
$value = $skin_vars[$vars->name];
if(file_exists($value)) @unlink($value);
}
}
*/
$oModuleController = &getController('module');
$oModuleController->deleteModuleSkinVars($module_srl);
// 등록
$oModuleController->insertModuleSkinVars($module_srl, $obj);
}
$this->setLayoutPath('./common/tpl');
$this->setLayoutFile('default_layout.html');
$this->setTemplatePath('./modules/module/tpl');
$this->setTemplateFile("top_refresh.html");
}
/**
* @brief 모듈 일괄 정리
**/
function procModuleAdminModuleSetup() {
$vars = Context::getRequestVars();
if(!$vars->module_srls) return new Object(-1,'msg_invalid_request');
$module_srls = explode(',',$vars->module_srls);
if(!count($module_srls)) return new Object(-1,'msg_invalid_request');
$oModuleModel = &getModel('module');
$oModuleController= &getController('module');
foreach($module_srls as $module_srl) {
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
$module_info->module_category_srl = $vars->module_category_srl;
$module_info->layout_srl = $vars->layout_srl;
$module_info->skin = $vars->skin;
$module_info->description = $vars->description;
$module_info->header_text = $vars->header_text;
$module_info->footer_text = $vars->footer_text;
$oModuleController->updateModule($module_info);
}
$this->setMessage('success_registed');
}
/**
* @brief 모듈 권한 일괄 정리
**/
function procModuleAdminModuleGrantSetup() {
$module_srls = Context::get('module_srls');
if(!$module_srls) return new Object(-1,'msg_invalid_request');
$modules = explode(',',$module_srls);
if(!count($modules)) return new Object(-1,'msg_invalid_request');
$oModuleController = &getController('module');
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($modules[0]);
$xml_info = $oModuleModel->getModuleActionXml($module_info->module);
$grant_list = $xml_info->grant;
$grant_list->access->default = 'guest';
$grant_list->manager->default = 'manager';
foreach($grant_list as $grant_name => $grant_info) {
// default값을 구함
$default = Context::get($grant_name.'_default');
// -1 = 로그인 사용자만, 0 = 모든 사용자
if(strlen($default)){
$grant->{$grant_name}[] = $default;
continue;
// 특정 그룹 사용자
} else {
$group_srls = Context::get($grant_name);
if($group_srls) {
if(strpos($group_srls,'|@|')!==false) $group_srls = explode('|@|',$group_srls);
elseif(strpos($group_srls,',')!==false) $group_srls = explode(',',$group_srls);
else $group_srls = array($group_srls);
$grant->{$grant_name} = $group_srls;
}
continue;
}
$grant->{$group_srls} = array();
}
// DB에 저장
foreach($modules as $module_srl) {
$args = null;
$args->module_srl = $module_srl;
$output = executeQuery('module.deleteModuleGrants', $args);
if(!$output->toBool()) continue;
// DB에 권한 저장
foreach($grant as $grant_name => $group_srls) {
foreach($group_srls as $key => $val) {
$args = null;
$args->module_srl = $module_srl;
$args->name = $grant_name;
$args->group_srl = $val;
$output = executeQuery('module.insertModuleGrant', $args);
if(!$output->toBool()) return $output;
}
}
}
$this->setMessage('success_registed');
}
/**
* @brief 언어 추가/ 업데이트
**/
function procModuleAdminInsertLang() {
// 언어코드명 가져옴
$site_module_info = Context::get('site_module_info');
$args->site_srl = (int)$site_module_info->site_srl;
$args->name = str_replace(' ','_',Context::get('lang_code'));
if(!$args->name) return new Object(-1,'msg_invalid_request');
// 언어코드가 있는지 조사
$output = executeQueryArray('module.getLang', $args);
if(!$output->toBool()) return $output;
// 있으면 업데이트를 위해 기존 값들을 지움
if($output->data) $output = executeQuery('module.deleteLang', $args);
if(!$output->toBool()) return $output;
// 입력
$lang_supported = Context::get('lang_supported');
foreach($lang_supported as $key => $val) {
$args->lang_code = $key;
$args->value = trim(Context::get($key));
if(!$args->value) {
$args->value = Context::get(strtolower($key));
if(!$args->value) $args->value = $args->name;
}
$output = executeQuery('module.insertLang', $args);
if(!$output->toBool()) return $output;
}
$this->makeCacheDefinedLangCode($args->site_srl);
$this->add('name', $args->name);
}
/**
* @brief 언어 제거
**/
function procModuleAdminDeleteLang() {
// 언어코드명 가져옴
$site_module_info = Context::get('site_module_info');
$args->site_srl = (int)$site_module_info->site_srl;
$args->name = str_replace(' ','_',Context::get('name'));
if(!$args->name) return new Object(-1,'msg_invalid_request');
$output = executeQuery('module.deleteLang', $args);
if(!$output->toBool()) return $output;
$this->makeCacheDefinedLangCode($args->site_srl);
}
/**
* @brief 사용자 정이 언어코드 파일 저장
**/
function makeCacheDefinedLangCode($site_srl = 0) {
// 현재 사이트의 언어파일 가져오기
if(!$site_srl) {
$site_module_info = Context::get('site_module_info');
$args->site_srl = (int)$site_module_info->site_srl;
} else {
$args->site_srl = $site_srl;
}
$output = executeQueryArray('module.getLang', $args);
if(!$output->toBool() || !$output->data) return;
// 캐시 디렉토리 설정
$cache_path = _XE_PATH_.'files/cache/lang_defined/';
if(!is_dir($cache_path)) FileHandler::makeDir($cache_path);
$lang_supported = Context::get('lang_supported');
foreach($lang_supported as $key => $val) {
$fp[$key] = fopen( sprintf('%s/%d.%s.php', $cache_path, $args->site_srl, $key), 'w' );
if(!$fp[$key]) return;
fwrite($fp[$key],"<?php if(!defined('__ZBXE__')) exit(); \r\n");
}
foreach($output->data as $key => $val) {
if($fp[$val->lang_code]) fwrite($fp[$val->lang_code], sprintf('$lang["%s"] = "%s";'."\r\n", $val->name, str_replace('"','\\"',$val->value)));
}
foreach($lang_supported as $key => $val) {
if(!$fp[$key]) continue;
fwrite($fp[$key],"?>");
fclose($fp[$key]);
}
}
}
?>

View file

@ -1,190 +1,190 @@
<?php
/**
* @class moduleAdminModel
* @author NHN (developers@xpressengine.com)
* @version 0.1
* @brief module 모듈의 AdminModel class
**/
class moduleAdminModel extends module {
/**
* @brief 초기화
**/
function init() {
}
/**
* @brief module_srl (,콤마로 연결된) 대상 모듈들의 목록을 return)
* 모듈 선택기(ModuleSelector)에서 사용됨
**/
function getModuleAdminModuleList() {
$args->module_srls = Context::get('module_srls');
$output = executeQueryArray('module.getModulesInfo', $args);
if(!$output->toBool() || !$output->data) return new Object();
foreach($output->data as $key => $val) {
$list[$val->module_srl] = array('module_srl'=>$val->module_srl,'mid'=>$val->mid,'browser_title'=>$val->browser_title);
}
$modules = explode(',',$args->module_srls);
for($i=0;$i<count($modules);$i++) {
$module_list[$modules[$i]] = $list[$modules[$i]];
}
$this->add('id', Context::get('id'));
$this->add('module_list', $module_list);
}
function getModuleMidList($args){
$args->list_count = 20;
$args->page_count = 10;
$output = executeQueryArray('module.getModuleMidList', $args);
if(!$output->toBool()) return $output;
ModuleModel::syncModuleToSite($output->data);
return $output;
}
/**
* @brief 공통 :: 모듈의 모듈 권한 출력 페이지
* 모듈의 모듈 권한 출력은 모든 모듈에서 module instance를 이용할때 사용할 있음
**/
function getModuleGrantHTML($module_srl, $source_grant_list) {
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
// access, manager 권한은 가상 권한으로 설정
$grant_list->access->title = Context::getLang('grant_access');
$grant_list->access->default = 'guest';
if(count($source_grant_list)) {
foreach($source_grant_list as $key => $val) {
if(!$val->default) $val->default = 'guest';
if($val->default == 'root') $val->default = 'manager';
$grant_list->{$key} = $val;
}
}
$grant_list->manager->title = Context::getLang('grant_manager');
$grant_list->manager->default = 'manager';
Context::set('grant_list', $grant_list);
// 현재 모듈에 설정된 권한 그룹을 가져옴
$default_grant = array();
$args->module_srl = $module_srl;
$output = executeQueryArray('module.getModuleGrants', $args);
if($output->data) {
foreach($output->data as $val) {
if($val->group_srl == 0) $default_grant[$val->name] = 'all';
else if($val->group_srl == -1) $default_grant[$val->name] = 'member';
else if($val->group_srl == -2) $default_grant[$val->name] = 'site';
else {
$selected_group[$val->name][] = $val->group_srl;
$default_grant[$val->name] = 'group';
}
}
}
Context::set('selected_group', $selected_group);
Context::set('default_grant', $default_grant);
Context::set('module_srl', $module_srl);
// 현재 모듈에 설정된 관리자 아이디를 추출
$admin_member = $oModuleModel->getAdminId($module_srl);
Context::set('admin_member', $admin_member);
// 그룹을 가져옴
$oMemberModel = &getModel('member');
$group_list = $oMemberModel->getGroups($module_info->site_srl);
Context::set('group_list', $group_list);
// grant 정보를 추출
$oTemplate = &TemplateHandler::getInstance();
return $oTemplate->compile($this->module_path.'tpl', 'module_grants');
}
/**
* @brief 공통 :: 모듈의 스킨 설정 출력 페이지
**/
function getModuleSkinHTML($module_srl) {
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
if(!$module_info) return;
$skin = $module_info->skin;
$module_path = './modules/'.$module_info->module;
// 스킨의 XML 정보를 구함
$skin_info = $oModuleModel->loadSkinInfo($module_path, $skin);
// DB에 설정된 스킨 정보를 구함
$skin_vars = $oModuleModel->getModuleSkinVars($module_srl);
if(count($skin_info->extra_vars)) {
foreach($skin_info->extra_vars as $key => $val) {
$group = $val->group;
$name = $val->name;
$type = $val->type;
if($skin_vars[$name]) $value = $skin_vars[$name]->value;
else $value = '';
if($type=="checkbox") $value = $value?unserialize($value):array();
$skin_info->extra_vars[$key]->value= $value;
}
}
Context::set('module_info', $module_info);
Context::set('mid', $module_info->mid);
Context::set('skin_info', $skin_info);
Context::set('skin_vars', $skin_vars);
$oTemplate = &TemplateHandler::getInstance();
return $oTemplate->compile($this->module_path.'tpl', 'skin_config');
}
/**
* @brief 특정 언어 코드에 대한 값들을 가져오기
* lang_code를 직접 기입하면 해당 언어코드에 대해서만 가져오고 값이 없으면 $name을 그대로 return
**/
function getLangCode($site_srl, $name) {
$lang_supported = Context::get('lang_supported');
if(substr($name,0,12)=='$user_lang->') {
$args->site_srl = (int)$site_srl;
$args->name = substr($name,12);
$output = executeQueryArray('module.getLang', $args);
if($output->data) {
foreach($output->data as $key => $val) {
$selected_lang[$val->lang_code] = $val->value;
}
}
} else {
$tmp = unserialize($name);
if($tmp) {
$selected_lang = array();
$rand_name = $tmp[Context::getLangType()];
if(!$rand_name) $rand_name = array_shift($tmp);
foreach($lang_supported as $key => $val) {
$selected_lang[$key] = $tmp[$key]?$tmp[$key]:$rand_name;
}
}
}
$output = array();
foreach($lang_supported as $key => $val) {
$output[$key] = $selected_lang[$key]?$selected_lang[$key]:$name;
}
return $output;
}
/**
* @brief 모듈 언어를 ajax로 요청시 return
**/
function getModuleAdminLangCode() {
$name = Context::get('name');
if(!$name) return new Object(-1,'msg_invalid_request');
$site_module_info = Context::get('site_module_info');
$this->add('name', $name);
$output = $this->getLangCode($site_module_info->site_srl, '$user_lang->'.$name);
$this->add('langs', $output);
}
}
?>
<?php
/**
* @class moduleAdminModel
* @author NHN (developers@xpressengine.com)
* @version 0.1
* @brief module 모듈의 AdminModel class
**/
class moduleAdminModel extends module {
/**
* @brief 초기화
**/
function init() {
}
/**
* @brief module_srl (,콤마로 연결된) 대상 모듈들의 목록을 return)
* 모듈 선택기(ModuleSelector)에서 사용됨
**/
function getModuleAdminModuleList() {
$args->module_srls = Context::get('module_srls');
$output = executeQueryArray('module.getModulesInfo', $args);
if(!$output->toBool() || !$output->data) return new Object();
foreach($output->data as $key => $val) {
$list[$val->module_srl] = array('module_srl'=>$val->module_srl,'mid'=>$val->mid,'browser_title'=>$val->browser_title);
}
$modules = explode(',',$args->module_srls);
for($i=0;$i<count($modules);$i++) {
$module_list[$modules[$i]] = $list[$modules[$i]];
}
$this->add('id', Context::get('id'));
$this->add('module_list', $module_list);
}
function getModuleMidList($args){
$args->list_count = 20;
$args->page_count = 10;
$output = executeQueryArray('module.getModuleMidList', $args);
if(!$output->toBool()) return $output;
ModuleModel::syncModuleToSite($output->data);
return $output;
}
/**
* @brief 공통 :: 모듈의 모듈 권한 출력 페이지
* 모듈의 모듈 권한 출력은 모든 모듈에서 module instance를 이용할때 사용할 있음
**/
function getModuleGrantHTML($module_srl, $source_grant_list) {
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
// access, manager 권한은 가상 권한으로 설정
$grant_list->access->title = Context::getLang('grant_access');
$grant_list->access->default = 'guest';
if(count($source_grant_list)) {
foreach($source_grant_list as $key => $val) {
if(!$val->default) $val->default = 'guest';
if($val->default == 'root') $val->default = 'manager';
$grant_list->{$key} = $val;
}
}
$grant_list->manager->title = Context::getLang('grant_manager');
$grant_list->manager->default = 'manager';
Context::set('grant_list', $grant_list);
// 현재 모듈에 설정된 권한 그룹을 가져옴
$default_grant = array();
$args->module_srl = $module_srl;
$output = executeQueryArray('module.getModuleGrants', $args);
if($output->data) {
foreach($output->data as $val) {
if($val->group_srl == 0) $default_grant[$val->name] = 'all';
else if($val->group_srl == -1) $default_grant[$val->name] = 'member';
else if($val->group_srl == -2) $default_grant[$val->name] = 'site';
else {
$selected_group[$val->name][] = $val->group_srl;
$default_grant[$val->name] = 'group';
}
}
}
Context::set('selected_group', $selected_group);
Context::set('default_grant', $default_grant);
Context::set('module_srl', $module_srl);
// 현재 모듈에 설정된 관리자 아이디를 추출
$admin_member = $oModuleModel->getAdminId($module_srl);
Context::set('admin_member', $admin_member);
// 그룹을 가져옴
$oMemberModel = &getModel('member');
$group_list = $oMemberModel->getGroups($module_info->site_srl);
Context::set('group_list', $group_list);
// grant 정보를 추출
$oTemplate = &TemplateHandler::getInstance();
return $oTemplate->compile($this->module_path.'tpl', 'module_grants');
}
/**
* @brief 공통 :: 모듈의 스킨 설정 출력 페이지
**/
function getModuleSkinHTML($module_srl) {
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
if(!$module_info) return;
$skin = $module_info->skin;
$module_path = './modules/'.$module_info->module;
// 스킨의 XML 정보를 구함
$skin_info = $oModuleModel->loadSkinInfo($module_path, $skin);
// DB에 설정된 스킨 정보를 구함
$skin_vars = $oModuleModel->getModuleSkinVars($module_srl);
if(count($skin_info->extra_vars)) {
foreach($skin_info->extra_vars as $key => $val) {
$group = $val->group;
$name = $val->name;
$type = $val->type;
if($skin_vars[$name]) $value = $skin_vars[$name]->value;
else $value = '';
if($type=="checkbox") $value = $value?unserialize($value):array();
$skin_info->extra_vars[$key]->value= $value;
}
}
Context::set('module_info', $module_info);
Context::set('mid', $module_info->mid);
Context::set('skin_info', $skin_info);
Context::set('skin_vars', $skin_vars);
$oTemplate = &TemplateHandler::getInstance();
return $oTemplate->compile($this->module_path.'tpl', 'skin_config');
}
/**
* @brief 특정 언어 코드에 대한 값들을 가져오기
* lang_code를 직접 기입하면 해당 언어코드에 대해서만 가져오고 값이 없으면 $name을 그대로 return
**/
function getLangCode($site_srl, $name) {
$lang_supported = Context::get('lang_supported');
if(substr($name,0,12)=='$user_lang->') {
$args->site_srl = (int)$site_srl;
$args->name = substr($name,12);
$output = executeQueryArray('module.getLang', $args);
if($output->data) {
foreach($output->data as $key => $val) {
$selected_lang[$val->lang_code] = $val->value;
}
}
} else {
$tmp = unserialize($name);
if($tmp) {
$selected_lang = array();
$rand_name = $tmp[Context::getLangType()];
if(!$rand_name) $rand_name = array_shift($tmp);
foreach($lang_supported as $key => $val) {
$selected_lang[$key] = $tmp[$key]?$tmp[$key]:$rand_name;
}
}
}
$output = array();
foreach($lang_supported as $key => $val) {
$output[$key] = $selected_lang[$key]?$selected_lang[$key]:$name;
}
return $output;
}
/**
* @brief 모듈 언어를 ajax로 요청시 return
**/
function getModuleAdminLangCode() {
$name = Context::get('name');
if(!$name) return new Object(-1,'msg_invalid_request');
$site_module_info = Context::get('site_module_info');
$this->add('name', $name);
$output = $this->getLangCode($site_module_info->site_srl, '$user_lang->'.$name);
$this->add('langs', $output);
}
}
?>

View file

@ -1,224 +1,224 @@
<?php
/**
* @class moduleAdminView
* @author NHN (developers@xpressengine.com)
* @brief module 모듈의 admin view class
**/
class moduleAdminView extends module {
/**
* @brief 초기화
**/
function init() {
// template path 지정
$this->setTemplatePath($this->module_path.'tpl');
}
/**
* @brief 모듈 관리자 페이지
**/
function dispModuleAdminContent() {
$this->dispModuleAdminList();
}
/**
* @brief 모듈 목록 출력
**/
function dispModuleAdminList() {
// 모듈 목록을 구해서
$oModuleModel = &getModel('module');
$module_list = $oModuleModel->getModuleList();
Context::set('module_list', $module_list);
// 템플릿 파일 지정
$this->setTemplateFile('module_list');
}
/**
* @brief 모듈의 상세 정보(conf/info.xml) 팝업 출력
**/
function dispModuleAdminInfo() {
// 모듈 목록을 구해서
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoXml(Context::get('selected_module'));
Context::set('module_info', $module_info);
// 레이아웃을 팝업으로 지정
$this->setLayoutFile('popup_layout');
// 템플릿 파일 지정
$this->setTemplateFile('module_info');
}
/**
* @brief 모듈 카테고리 목록
**/
function dispModuleAdminCategory() {
$module_category_srl = Context::get('module_category_srl');
// 모듈 목록을 구해서
$oModuleModel = &getModel('module');
// 선택된 카테고리가 있으면 해당 카테고리의 정보 수정 페이지로
if($module_category_srl) {
$selected_category = $oModuleModel->getModuleCategory($module_category_srl);
Context::set('selected_category', $selected_category);
// 템플릿 파일 지정
$this->setTemplateFile('category_update_form');
// 아니면 전체 목록
} else {
$category_list = $oModuleModel->getModuleCategories();
Context::set('category_list', $category_list);
// 템플릿 파일 지정
$this->setTemplateFile('category_list');
}
}
/**
* @brief 모듈 복사 기능
**/
function dispModuleAdminCopyModule() {
// 복사하려는 대상 모듈을 구함
$module_srl = Context::get('module_srl');
// 해당 모듈의 정보를 구함
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
Context::set('module_info', $module_info);
// 레이아웃을 팝업으로 지정
$this->setLayoutFile('popup_layout');
// 템플릿 파일 지정
$this->setTemplateFile('copy_module');
}
/**
* @brief 모듈 기본 설정 일괄 적용
**/
function dispModuleAdminModuleSetup() {
$module_srls = Context::get('module_srls');
$modules = explode(',',$module_srls);
if(!count($modules)) if(!$module_srls) return new Object(-1,'msg_invalid_request');
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($modules[0]);
// 모듈의 스킨 목록을 구함
$skin_list = $oModuleModel->getSkins('./modules/'.$module_info->module);
Context::set('skin_list',$skin_list);
// 레이아웃 목록을 구해옴
$oLayoutMode = &getModel('layout');
$layout_list = $oLayoutMode->getLayoutList();
Context::set('layout_list', $layout_list);
// 모듈 카테고리 목록을 구함
$module_category = $oModuleModel->getModuleCategories();
Context::set('module_category', $module_category);
// 레이아웃을 팝업으로 지정
$this->setLayoutFile('popup_layout');
// 템플릿 파일 지정
$this->setTemplateFile('module_setup');
}
/**
* @brief 모듈 추가 설정 일괄 적용
**/
function dispModuleAdminModuleAdditionSetup() {
$module_srls = Context::get('module_srls');
$modules = explode(',',$module_srls);
if(!count($modules)) if(!$module_srls) return new Object(-1,'msg_invalid_request');
// content는 다른 모듈에서 call by reference로 받아오기에 미리 변수 선언만 해 놓음
$content = '';
// 추가 설정을 위한 트리거 호출
// 게시판 모듈이지만 차후 다른 모듈에서의 사용도 고려하여 trigger 이름을 공용으로 사용할 수 있도록 하였음
$output = ModuleHandler::triggerCall('module.dispAdditionSetup', 'before', $content);
$output = ModuleHandler::triggerCall('module.dispAdditionSetup', 'after', $content);
Context::set('setup_content', $content);
// 레이아웃을 팝업으로 지정
$this->setLayoutFile('popup_layout');
// 템플릿 파일 지정
$this->setTemplateFile('module_addition_setup');
}
/**
* @brief 모듈 권한 설정 일괄 적용
**/
function dispModuleAdminModuleGrantSetup() {
$module_srls = Context::get('module_srls');
$modules = explode(',',$module_srls);
if(!count($modules)) if(!$module_srls) return new Object(-1,'msg_invalid_request');
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($modules[0]);
$xml_info = $oModuleModel->getModuleActionXml($module_info->module);
$source_grant_list = $xml_info->grant;
// access, manager 권한은 가상 권한으로 설정
$grant_list->access->title = Context::getLang('grant_access');
$grant_list->access->default = 'guest';
if(count($source_grant_list)) {
foreach($source_grant_list as $key => $val) {
if(!$val->default) $val->default = 'guest';
if($val->default == 'root') $val->default = 'manager';
$grant_list->{$key} = $val;
}
}
$grant_list->manager->title = Context::getLang('grant_manager');
$grant_list->manager->default = 'manager';
Context::set('grant_list', $grant_list);
// 그룹을 가져옴
$oMemberModel = &getModel('member');
$group_list = $oMemberModel->getGroups($module_info->site_srl);
Context::set('group_list', $group_list);
// 레이아웃을 팝업으로 지정
$this->setLayoutFile('popup_layout');
// 템플릿 파일 지정
$this->setTemplateFile('module_grant_setup');
}
/**
* @brief 언어 코드
**/
function dispModuleAdminLangcode() {
// 현재 사이트의 언어파일 가져오기
$site_module_info = Context::get('site_module_info');
$args->site_srl = (int)$site_module_info->site_srl;
$args->sort_index = 'name';
$args->order_type = 'asc';
$output = executeQueryArray('module.getLangList', $args);
Context::set('lang_list', $output->data);
// 현재 선택된 언어 가져오기
$name = Context::get('name');
if($name) {
$oModuleAdminModel = &getAdminModel('module');
Context::set('selected_lang', $oModuleAdminModel->getLangCode($args->site_srl,'$user_lang->'.$name));
}
// 레이아웃을 팝업으로 지정
$this->setLayoutFile('popup_layout');
// 템플릿 파일 지정
$this->setTemplateFile('module_langcode');
}
}
?>
<?php
/**
* @class moduleAdminView
* @author NHN (developers@xpressengine.com)
* @brief module 모듈의 admin view class
**/
class moduleAdminView extends module {
/**
* @brief 초기화
**/
function init() {
// template path 지정
$this->setTemplatePath($this->module_path.'tpl');
}
/**
* @brief 모듈 관리자 페이지
**/
function dispModuleAdminContent() {
$this->dispModuleAdminList();
}
/**
* @brief 모듈 목록 출력
**/
function dispModuleAdminList() {
// 모듈 목록을 구해서
$oModuleModel = &getModel('module');
$module_list = $oModuleModel->getModuleList();
Context::set('module_list', $module_list);
// 템플릿 파일 지정
$this->setTemplateFile('module_list');
}
/**
* @brief 모듈의 상세 정보(conf/info.xml) 팝업 출력
**/
function dispModuleAdminInfo() {
// 모듈 목록을 구해서
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoXml(Context::get('selected_module'));
Context::set('module_info', $module_info);
// 레이아웃을 팝업으로 지정
$this->setLayoutFile('popup_layout');
// 템플릿 파일 지정
$this->setTemplateFile('module_info');
}
/**
* @brief 모듈 카테고리 목록
**/
function dispModuleAdminCategory() {
$module_category_srl = Context::get('module_category_srl');
// 모듈 목록을 구해서
$oModuleModel = &getModel('module');
// 선택된 카테고리가 있으면 해당 카테고리의 정보 수정 페이지로
if($module_category_srl) {
$selected_category = $oModuleModel->getModuleCategory($module_category_srl);
Context::set('selected_category', $selected_category);
// 템플릿 파일 지정
$this->setTemplateFile('category_update_form');
// 아니면 전체 목록
} else {
$category_list = $oModuleModel->getModuleCategories();
Context::set('category_list', $category_list);
// 템플릿 파일 지정
$this->setTemplateFile('category_list');
}
}
/**
* @brief 모듈 복사 기능
**/
function dispModuleAdminCopyModule() {
// 복사하려는 대상 모듈을 구함
$module_srl = Context::get('module_srl');
// 해당 모듈의 정보를 구함
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($module_srl);
Context::set('module_info', $module_info);
// 레이아웃을 팝업으로 지정
$this->setLayoutFile('popup_layout');
// 템플릿 파일 지정
$this->setTemplateFile('copy_module');
}
/**
* @brief 모듈 기본 설정 일괄 적용
**/
function dispModuleAdminModuleSetup() {
$module_srls = Context::get('module_srls');
$modules = explode(',',$module_srls);
if(!count($modules)) if(!$module_srls) return new Object(-1,'msg_invalid_request');
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($modules[0]);
// 모듈의 스킨 목록을 구함
$skin_list = $oModuleModel->getSkins('./modules/'.$module_info->module);
Context::set('skin_list',$skin_list);
// 레이아웃 목록을 구해옴
$oLayoutMode = &getModel('layout');
$layout_list = $oLayoutMode->getLayoutList();
Context::set('layout_list', $layout_list);
// 모듈 카테고리 목록을 구함
$module_category = $oModuleModel->getModuleCategories();
Context::set('module_category', $module_category);
// 레이아웃을 팝업으로 지정
$this->setLayoutFile('popup_layout');
// 템플릿 파일 지정
$this->setTemplateFile('module_setup');
}
/**
* @brief 모듈 추가 설정 일괄 적용
**/
function dispModuleAdminModuleAdditionSetup() {
$module_srls = Context::get('module_srls');
$modules = explode(',',$module_srls);
if(!count($modules)) if(!$module_srls) return new Object(-1,'msg_invalid_request');
// content는 다른 모듈에서 call by reference로 받아오기에 미리 변수 선언만 해 놓음
$content = '';
// 추가 설정을 위한 트리거 호출
// 게시판 모듈이지만 차후 다른 모듈에서의 사용도 고려하여 trigger 이름을 공용으로 사용할 수 있도록 하였음
$output = ModuleHandler::triggerCall('module.dispAdditionSetup', 'before', $content);
$output = ModuleHandler::triggerCall('module.dispAdditionSetup', 'after', $content);
Context::set('setup_content', $content);
// 레이아웃을 팝업으로 지정
$this->setLayoutFile('popup_layout');
// 템플릿 파일 지정
$this->setTemplateFile('module_addition_setup');
}
/**
* @brief 모듈 권한 설정 일괄 적용
**/
function dispModuleAdminModuleGrantSetup() {
$module_srls = Context::get('module_srls');
$modules = explode(',',$module_srls);
if(!count($modules)) if(!$module_srls) return new Object(-1,'msg_invalid_request');
$oModuleModel = &getModel('module');
$module_info = $oModuleModel->getModuleInfoByModuleSrl($modules[0]);
$xml_info = $oModuleModel->getModuleActionXml($module_info->module);
$source_grant_list = $xml_info->grant;
// access, manager 권한은 가상 권한으로 설정
$grant_list->access->title = Context::getLang('grant_access');
$grant_list->access->default = 'guest';
if(count($source_grant_list)) {
foreach($source_grant_list as $key => $val) {
if(!$val->default) $val->default = 'guest';
if($val->default == 'root') $val->default = 'manager';
$grant_list->{$key} = $val;
}
}
$grant_list->manager->title = Context::getLang('grant_manager');
$grant_list->manager->default = 'manager';
Context::set('grant_list', $grant_list);
// 그룹을 가져옴
$oMemberModel = &getModel('member');
$group_list = $oMemberModel->getGroups($module_info->site_srl);
Context::set('group_list', $group_list);
// 레이아웃을 팝업으로 지정
$this->setLayoutFile('popup_layout');
// 템플릿 파일 지정
$this->setTemplateFile('module_grant_setup');
}
/**
* @brief 언어 코드
**/
function dispModuleAdminLangcode() {
// 현재 사이트의 언어파일 가져오기
$site_module_info = Context::get('site_module_info');
$args->site_srl = (int)$site_module_info->site_srl;
$args->sort_index = 'name';
$args->order_type = 'asc';
$output = executeQueryArray('module.getLangList', $args);
Context::set('lang_list', $output->data);
// 현재 선택된 언어 가져오기
$name = Context::get('name');
if($name) {
$oModuleAdminModel = &getAdminModel('module');
Context::set('selected_lang', $oModuleAdminModel->getLangCode($args->site_srl,'$user_lang->'.$name));
}
// 레이아웃을 팝업으로 지정
$this->setLayoutFile('popup_layout');
// 템플릿 파일 지정
$this->setTemplateFile('module_langcode');
}
}
?>

View file

@ -1,367 +1,367 @@
<?php
/**
* @class module
* @author NHN (developers@xpressengine.com)
* @brief module 모듈의 high class
**/
class module extends ModuleObject {
/**
* @brief 설치시 추가 작업이 필요할시 구현
**/
function moduleInstall() {
// action forward에 등록 (관리자 모드에서 사용하기 위함)
$oModuleController = &getController('module');
$oDB = &DB::getInstance();
$oDB->addIndex("modules","idx_site_mid", array("site_srl","mid"), true);
$oDB->addIndex('sites','unique_domain',array('domain'),true);
// module 모듈에서 사용할 디렉토리 생성
FileHandler::makeDir('./files/cache/module_info');
FileHandler::makeDir('./files/cache/triggers');
// sites 테이블에 기본 사이트 정보 입력
$args->site_srl = 0;
$output = $oDB->executeQuery('module.getSite', $args);
if(!$output->data || !$output->data->index_module_srl) {
$db_info = Context::getDBInfo();
$domain = Context::getDefaultUrl();
$url_info = parse_url($domain);
$domain = $url_info['host'].( (!empty($url_info['port'])&&$url_info['port']!=80)?':'.$url_info['port']:'').$url_info['path'];
$site_args->site_srl = 0;
$site_args->index_module_srl = 0;
$site_args->domain = $domain;
$site_args->default_language = $db_info->lang_type;
$output = executeQuery('module.insertSite', $site_args);
if(!$output->toBool()) return $output;
}
return new Object();
}
/**
* @brief 설치가 이상이 없는지 체크하는 method
**/
function checkUpdate() {
$oDB = &DB::getInstance();
// 2008. 10. 27 module_part_config 테이블의 결합 인덱스 추가
if(!$oDB->isIndexExists("module_part_config","idx_module_part_config")) return true;
// 2008. 11. 13 modules 의 mid를 unique를 없애고 site_srl을 추가 후에 site_srl + mid unique index
if(!$oDB->isIndexExists('modules',"idx_site_mid")) return true;
// 모든 모듈의 권한/스킨정보를 grants 테이블로 이전시키는 업데이트
if($oDB->isColumnExists('modules', 'grants')) return true;
// 모든 모듈의 권한/스킨정보를 grants 테이블로 이전시키는 업데이트
if(!$oDB->isColumnExists('sites', 'default_language')) return true;
// extra_vars* 컬럼 제거
for($i=1;$i<=20;$i++) {
if($oDB->isColumnExists("documents","extra_vars".$i)) return true;
}
// sites 테이블에 기본 사이트 정보 입력
$args->site_srl = 0;
$output = $oDB->executeQuery('module.getSite', $args);
if(!$output->data) return true;
// sites 테이블에서 도메인이 인덱스로 걸린경우
if($oDB->isIndexExists('sites', 'idx_domain')) return true;
if(!$oDB->isIndexExists('sites','unique_domain')) return true;
if(!$oDB->isColumnExists("modules", "use_mobile")) return true;
if(!$oDB->isColumnExists("modules", "mlayout_srl")) return true;
if(!$oDB->isColumnExists("modules", "mcontent")) return true;
if(!$oDB->isColumnExists("modules", "mskin")) return true;
return false;
}
/**
* @brief 업데이트 실행
**/
function moduleUpdate() {
$oDB = &DB::getInstance();
// 2008. 10. 27 module_part_config 테이블의 결합 인덱스 추가하고 기존에 module_config에 몰려 있던 모든 정보를 재점검
if(!$oDB->isIndexExists("module_part_config","idx_module_part_config")) {
$oModuleModel = &getModel('module');
$oModuleController = &getController('module');
$modules = $oModuleModel->getModuleList();
foreach($modules as $key => $module_info) {
$module = $module_info->module;
if(!in_array($module, array('point','trackback','layout','rss','file','comment','editor'))) continue;
$config = $oModuleModel->getModuleConfig($module);
$module_config = null;
switch($module) {
case 'point' :
$module_config = $config->module_point;
unset($config->module_point);
break;
case 'trackback' :
case 'rss' :
case 'file' :
case 'comment' :
case 'editor' :
$module_config = $config->module_config;
unset($config->module_config);
if(is_array($module_config) && count($module_config)) {
foreach($module_config as $key => $val) {
if(isset($module_config[$key]->module_srl)) unset($module_config[$key]->module_srl);
}
}
break;
case 'layout' :
$tmp = $config->header_script;
if(is_array($tmp) && count($tmp)) {
foreach($tmp as $k => $v) {
if(!$v && !trim($v)) continue;
$module_config[$k]->header_script = $v;
}
}
$config = null;
break;
}
$oModuleController->insertModuleConfig($module, $config);
if(is_array($module_config) && count($module_config)) {
foreach($module_config as $module_srl => $module_part_config) {
$oModuleController->insertModulePartConfig($module,$module_srl,$module_part_config);
}
}
}
$oDB->addIndex("module_part_config","idx_module_part_config", array("module","module_srl"));
}
// 2008. 11. 13 modules 의 mid를 unique를 없애고 site_srl을 추가 후에 site_srl + mid unique index
if(!$oDB->isIndexExists('modules',"idx_site_mid")) {
$oDB->dropIndex("modules","unique_mid",true);
$oDB->addColumn('modules','site_srl','number',11,0,true);
$oDB->addIndex("modules","idx_site_mid", array("site_srl","mid"),true);
}
// document 확장변수의 확장을 위한 처리
if(!$oDB->isTableExists('document_extra_vars')) $oDB->createTableByXmlFile('./modules/document/schemas/document_extra_vars.xml');
if(!$oDB->isTableExists('document_extra_keys')) $oDB->createTableByXmlFile('./modules/document/schemas/document_extra_keys.xml');
// 모든 모듈의 권한, 스킨정보, 확장정보, 관리자 아이디를 grants 테이블로 이전시키는 업데이트
if($oDB->isColumnExists('modules', 'grants')) {
$oModuleController = &getController('module');
$oDocumentController = &getController('document');
// 현재 시스템 언어 코드값을 가져옴
$lang_code = Context::getLangType();
// 모든 모듈의 module_info를 가져옴
$output = executeQueryArray('module.getModuleInfos');
if(count($output->data)) {
foreach($output->data as $module_info) {
// 모듈들의 권한/ 확장변수(게시글 확장 포함)/ 스킨 변수/ 최고관리권한 정보 분리
$module_srl = trim($module_info->module_srl);
// 권한 등록
$grants = unserialize($module_info->grants);
if($grants) $oModuleController->insertModuleGrants($module_srl, $grants);
// 스킨 변수 등록
$skin_vars = unserialize($module_info->skin_vars);
if($skin_vars) $oModuleController->insertModuleSkinVars($module_srl, $skin_vars);
// 최고 관리자 아이디 등록
$admin_id = trim($module_info->admin_id);
if($admin_id && $admin_id != 'Array') {
$admin_ids = explode(',',$admin_id);
if(count($admin_id)) {
foreach($admin_ids as $admin_id) {
$oModuleController->insertAdminId($module_srl, $admin_id);
}
}
}
// 모듈별 추가 설정 저장 (기본 modules에 없던 컬럼 데이터)
$extra_vars = unserialize($module_info->extra_vars);
$document_extra_keys = null;
if($extra_vars->extra_vars && count($extra_vars->extra_vars)) {
$document_extra_keys = $extra_vars->extra_vars;
unset($extra_vars->extra_vars);
}
if($extra_vars) $oModuleController->insertModuleExtraVars($module_srl, $extra_vars);
/**
* 게시글 확장변수 이동 (documents모듈에서 해야 하지만 modules 테이블의 추가 변수들이 정리되기에 여기서 )
**/
// 플래닛모듈의 경우 직접 추가 변수 입력
if($module_info->module == 'planet') {
if(!$document_extra_keys || !is_array($document_extra_keys)) $document_extra_keys = array();
$planet_extra_keys->name = 'postscript';
$planet_extra_keys->type = 'text';
$planet_extra_keys->is_required = 'N';
$planet_extra_keys->search = 'N';
$planet_extra_keys->default = '';
$planet_extra_keys->desc = '';
$document_extra_keys[20] = $planet_extra_keys;
}
// 게시글 확장변수 키 등록
if(count($document_extra_keys)) {
foreach($document_extra_keys as $var_idx => $val) {
$oDocumentController->insertDocumentExtraKey($module_srl, $var_idx, $val->name, $val->type, $val->is_required, $val->search, $val->default, $val->desc, 'extra_vars'.$var_idx);
}
// 2009-04-14 #17923809 게시물 100개의 확장 변수만 이전되는 문제점 수정
$oDocumentModel = &getModel('document');
$total_count = $oDocumentModel->getDocumentCount($module_srl);
if ($total_count > 0) {
$per_page = 100;
$total_pages = (int) (($total_count - 1) / $per_page) + 1;
// 확장변수가 존재하면 확장변수 가져오기
$doc_args = null;
$doc_args->module_srl = $module_srl;
$doc_args->list_count = $per_page;
$doc_args->sort_index = 'list_order';
$doc_args->order_type = 'asc';
for ($doc_args->page = 1; $doc_args->page <= $total_pages; $doc_args->page++) {
$output = executeQueryArray('document.getDocumentList', $doc_args);
if ($output->toBool() && $output->data && count($output->data)) {
foreach ($output->data as $document) {
if (!$document) continue;
foreach ($document as $key => $var) {
if (strpos($key, 'extra_vars') !== 0 || !trim($var) || $var == 'N;') continue;
$var_idx = str_replace('extra_vars','',$key);
$oDocumentController->insertDocumentExtraVar($module_srl, $document->document_srl, $var_idx, $var, 'extra_vars'.$var_idx, $lang_code);
}
}
}
} // for total_pages
} // if count
}
// 해당 모듈들의 추가 변수들 제거
$module_info->grant = null;
$module_info->extra_vars = null;
$module_info->skin_vars = null;
$module_info->admin_id = null;
executeQuery('module.updateModule', $module_info);
}
}
// 각종 column drop
$oDB->dropColumn('modules','grants');
$oDB->dropColumn('modules','admin_id');
$oDB->dropColumn('modules','skin_vars');
$oDB->dropColumn('modules','extra_vars');
}
// 모든 모듈의 권한/스킨정보를 grants 테이블로 이전시키는 업데이트
if(!$oDB->isColumnExists('sites', 'default_language')) {
$oDB->addColumn('sites','default_language','varchar',255,0,false);
}
// extra_vars* 컬럼 제거
for($i=1;$i<=20;$i++) {
if(!$oDB->isColumnExists("documents","extra_vars".$i)) continue;
$oDB->dropColumn('documents','extra_vars'.$i);
}
// sites 테이블에 기본 사이트 정보 입력
$args->site_srl = 0;
$output = $oDB->executeQuery('module.getSite', $args);
if(!$output->data) {
// 기본 mid, 언어 구함
$mid_output = $oDB->executeQuery('module.getDefaultMidInfo', $args);
$db_info = Context::getDBInfo();
$domain = Context::getDefaultUrl();
$url_info = parse_url($domain);
$domain = $url_info['host'].( (!empty($url_info['port'])&&$url_info['port']!=80)?':'.$url_info['port']:'').$url_info['path'];
$site_args->site_srl = 0;
$site_args->index_module_srl = $mid_output->data->module_srl;
$site_args->domain = $domain;
$site_args->default_language = $db_info->lang_type;
$output = executeQuery('module.insertSite', $site_args);
if(!$output->toBool()) return $output;
}
if($oDB->isIndexExists('sites','idx_domain')){
$oDB->dropIndex('sites','idx_domain');
}
if(!$oDB->isIndexExists('sites','unique_domain')){
$this->updateForUniqueSiteDomain();
$oDB->addIndex('sites','unique_domain',array('domain'),true);
}
if(!$oDB->isColumnExists("modules", "use_mobile")) {
$oDB->addColumn('modules','use_mobile','char',1,'N');
}
if(!$oDB->isColumnExists("modules", "mlayout_srl")) {
$oDB->addColumn('modules','mlayout_srl','number',11, 0);
}
if(!$oDB->isColumnExists("modules", "mcontent")) {
$oDB->addColumn('modules','mcontent','bigtext');
}
if(!$oDB->isColumnExists("modules", "mskin")) {
$oDB->addColumn('modules','mskin','varchar',250);
}
return new Object(0, 'success_updated');
}
function updateForUniqueSiteDomain()
{
$output = executeQueryArray("module.getNonuniqueDomains");
if(!$output->data) return;
foreach($output->data as $data)
{
if($data->count == 1) continue;
$domain = $data->domain;
$args = null;
$args->domain = $domain;
$output2 = executeQueryArray("module.getSiteByDomain", $args);
$bFirst = true;
foreach($output2->data as $site)
{
if($bFirst)
{
$bFirst = false;
continue;
}
$domain .= "_";
$args = null;
$args->domain = $domain;
$args->site_srl = $site->site_srl;
$output3 = executeQuery("module.updateSite", $args);
}
}
}
/**
* @brief 캐시 파일 재생성
**/
function recompileCache() {
// 모듈 정보 캐시 파일 모두 삭제
FileHandler::removeFilesInDir("./files/cache/module_info");
// 트리거 정보가 있는 파일 모두 삭제
FileHandler::removeFilesInDir("./files/cache/triggers");
// DB캐시 파일을 모두 삭제
FileHandler::removeFilesInDir("./files/cache/db");
// 기타 캐시 삭제
FileHandler::removeDir("./files/cache/tmp");
}
}
?>
<?php
/**
* @class module
* @author NHN (developers@xpressengine.com)
* @brief module 모듈의 high class
**/
class module extends ModuleObject {
/**
* @brief 설치시 추가 작업이 필요할시 구현
**/
function moduleInstall() {
// action forward에 등록 (관리자 모드에서 사용하기 위함)
$oModuleController = &getController('module');
$oDB = &DB::getInstance();
$oDB->addIndex("modules","idx_site_mid", array("site_srl","mid"), true);
$oDB->addIndex('sites','unique_domain',array('domain'),true);
// module 모듈에서 사용할 디렉토리 생성
FileHandler::makeDir('./files/cache/module_info');
FileHandler::makeDir('./files/cache/triggers');
// sites 테이블에 기본 사이트 정보 입력
$args->site_srl = 0;
$output = $oDB->executeQuery('module.getSite', $args);
if(!$output->data || !$output->data->index_module_srl) {
$db_info = Context::getDBInfo();
$domain = Context::getDefaultUrl();
$url_info = parse_url($domain);
$domain = $url_info['host'].( (!empty($url_info['port'])&&$url_info['port']!=80)?':'.$url_info['port']:'').$url_info['path'];
$site_args->site_srl = 0;
$site_args->index_module_srl = 0;
$site_args->domain = $domain;
$site_args->default_language = $db_info->lang_type;
$output = executeQuery('module.insertSite', $site_args);
if(!$output->toBool()) return $output;
}
return new Object();
}
/**
* @brief 설치가 이상이 없는지 체크하는 method
**/
function checkUpdate() {
$oDB = &DB::getInstance();
// 2008. 10. 27 module_part_config 테이블의 결합 인덱스 추가
if(!$oDB->isIndexExists("module_part_config","idx_module_part_config")) return true;
// 2008. 11. 13 modules 의 mid를 unique를 없애고 site_srl을 추가 후에 site_srl + mid unique index
if(!$oDB->isIndexExists('modules',"idx_site_mid")) return true;
// 모든 모듈의 권한/스킨정보를 grants 테이블로 이전시키는 업데이트
if($oDB->isColumnExists('modules', 'grants')) return true;
// 모든 모듈의 권한/스킨정보를 grants 테이블로 이전시키는 업데이트
if(!$oDB->isColumnExists('sites', 'default_language')) return true;
// extra_vars* 컬럼 제거
for($i=1;$i<=20;$i++) {
if($oDB->isColumnExists("documents","extra_vars".$i)) return true;
}
// sites 테이블에 기본 사이트 정보 입력
$args->site_srl = 0;
$output = $oDB->executeQuery('module.getSite', $args);
if(!$output->data) return true;
// sites 테이블에서 도메인이 인덱스로 걸린경우
if($oDB->isIndexExists('sites', 'idx_domain')) return true;
if(!$oDB->isIndexExists('sites','unique_domain')) return true;
if(!$oDB->isColumnExists("modules", "use_mobile")) return true;
if(!$oDB->isColumnExists("modules", "mlayout_srl")) return true;
if(!$oDB->isColumnExists("modules", "mcontent")) return true;
if(!$oDB->isColumnExists("modules", "mskin")) return true;
return false;
}
/**
* @brief 업데이트 실행
**/
function moduleUpdate() {
$oDB = &DB::getInstance();
// 2008. 10. 27 module_part_config 테이블의 결합 인덱스 추가하고 기존에 module_config에 몰려 있던 모든 정보를 재점검
if(!$oDB->isIndexExists("module_part_config","idx_module_part_config")) {
$oModuleModel = &getModel('module');
$oModuleController = &getController('module');
$modules = $oModuleModel->getModuleList();
foreach($modules as $key => $module_info) {
$module = $module_info->module;
if(!in_array($module, array('point','trackback','layout','rss','file','comment','editor'))) continue;
$config = $oModuleModel->getModuleConfig($module);
$module_config = null;
switch($module) {
case 'point' :
$module_config = $config->module_point;
unset($config->module_point);
break;
case 'trackback' :
case 'rss' :
case 'file' :
case 'comment' :
case 'editor' :
$module_config = $config->module_config;
unset($config->module_config);
if(is_array($module_config) && count($module_config)) {
foreach($module_config as $key => $val) {
if(isset($module_config[$key]->module_srl)) unset($module_config[$key]->module_srl);
}
}
break;
case 'layout' :
$tmp = $config->header_script;
if(is_array($tmp) && count($tmp)) {
foreach($tmp as $k => $v) {
if(!$v && !trim($v)) continue;
$module_config[$k]->header_script = $v;
}
}
$config = null;
break;
}
$oModuleController->insertModuleConfig($module, $config);
if(is_array($module_config) && count($module_config)) {
foreach($module_config as $module_srl => $module_part_config) {
$oModuleController->insertModulePartConfig($module,$module_srl,$module_part_config);
}
}
}
$oDB->addIndex("module_part_config","idx_module_part_config", array("module","module_srl"));
}
// 2008. 11. 13 modules 의 mid를 unique를 없애고 site_srl을 추가 후에 site_srl + mid unique index
if(!$oDB->isIndexExists('modules',"idx_site_mid")) {
$oDB->dropIndex("modules","unique_mid",true);
$oDB->addColumn('modules','site_srl','number',11,0,true);
$oDB->addIndex("modules","idx_site_mid", array("site_srl","mid"),true);
}
// document 확장변수의 확장을 위한 처리
if(!$oDB->isTableExists('document_extra_vars')) $oDB->createTableByXmlFile('./modules/document/schemas/document_extra_vars.xml');
if(!$oDB->isTableExists('document_extra_keys')) $oDB->createTableByXmlFile('./modules/document/schemas/document_extra_keys.xml');
// 모든 모듈의 권한, 스킨정보, 확장정보, 관리자 아이디를 grants 테이블로 이전시키는 업데이트
if($oDB->isColumnExists('modules', 'grants')) {
$oModuleController = &getController('module');
$oDocumentController = &getController('document');
// 현재 시스템 언어 코드값을 가져옴
$lang_code = Context::getLangType();
// 모든 모듈의 module_info를 가져옴
$output = executeQueryArray('module.getModuleInfos');
if(count($output->data)) {
foreach($output->data as $module_info) {
// 모듈들의 권한/ 확장변수(게시글 확장 포함)/ 스킨 변수/ 최고관리권한 정보 분리
$module_srl = trim($module_info->module_srl);
// 권한 등록
$grants = unserialize($module_info->grants);
if($grants) $oModuleController->insertModuleGrants($module_srl, $grants);
// 스킨 변수 등록
$skin_vars = unserialize($module_info->skin_vars);
if($skin_vars) $oModuleController->insertModuleSkinVars($module_srl, $skin_vars);
// 최고 관리자 아이디 등록
$admin_id = trim($module_info->admin_id);
if($admin_id && $admin_id != 'Array') {
$admin_ids = explode(',',$admin_id);
if(count($admin_id)) {
foreach($admin_ids as $admin_id) {
$oModuleController->insertAdminId($module_srl, $admin_id);
}
}
}
// 모듈별 추가 설정 저장 (기본 modules에 없던 컬럼 데이터)
$extra_vars = unserialize($module_info->extra_vars);
$document_extra_keys = null;
if($extra_vars->extra_vars && count($extra_vars->extra_vars)) {
$document_extra_keys = $extra_vars->extra_vars;
unset($extra_vars->extra_vars);
}
if($extra_vars) $oModuleController->insertModuleExtraVars($module_srl, $extra_vars);
/**
* 게시글 확장변수 이동 (documents모듈에서 해야 하지만 modules 테이블의 추가 변수들이 정리되기에 여기서 )
**/
// 플래닛모듈의 경우 직접 추가 변수 입력
if($module_info->module == 'planet') {
if(!$document_extra_keys || !is_array($document_extra_keys)) $document_extra_keys = array();
$planet_extra_keys->name = 'postscript';
$planet_extra_keys->type = 'text';
$planet_extra_keys->is_required = 'N';
$planet_extra_keys->search = 'N';
$planet_extra_keys->default = '';
$planet_extra_keys->desc = '';
$document_extra_keys[20] = $planet_extra_keys;
}
// 게시글 확장변수 키 등록
if(count($document_extra_keys)) {
foreach($document_extra_keys as $var_idx => $val) {
$oDocumentController->insertDocumentExtraKey($module_srl, $var_idx, $val->name, $val->type, $val->is_required, $val->search, $val->default, $val->desc, 'extra_vars'.$var_idx);
}
// 2009-04-14 #17923809 게시물 100개의 확장 변수만 이전되는 문제점 수정
$oDocumentModel = &getModel('document');
$total_count = $oDocumentModel->getDocumentCount($module_srl);
if ($total_count > 0) {
$per_page = 100;
$total_pages = (int) (($total_count - 1) / $per_page) + 1;
// 확장변수가 존재하면 확장변수 가져오기
$doc_args = null;
$doc_args->module_srl = $module_srl;
$doc_args->list_count = $per_page;
$doc_args->sort_index = 'list_order';
$doc_args->order_type = 'asc';
for ($doc_args->page = 1; $doc_args->page <= $total_pages; $doc_args->page++) {
$output = executeQueryArray('document.getDocumentList', $doc_args);
if ($output->toBool() && $output->data && count($output->data)) {
foreach ($output->data as $document) {
if (!$document) continue;
foreach ($document as $key => $var) {
if (strpos($key, 'extra_vars') !== 0 || !trim($var) || $var == 'N;') continue;
$var_idx = str_replace('extra_vars','',$key);
$oDocumentController->insertDocumentExtraVar($module_srl, $document->document_srl, $var_idx, $var, 'extra_vars'.$var_idx, $lang_code);
}
}
}
} // for total_pages
} // if count
}
// 해당 모듈들의 추가 변수들 제거
$module_info->grant = null;
$module_info->extra_vars = null;
$module_info->skin_vars = null;
$module_info->admin_id = null;
executeQuery('module.updateModule', $module_info);
}
}
// 각종 column drop
$oDB->dropColumn('modules','grants');
$oDB->dropColumn('modules','admin_id');
$oDB->dropColumn('modules','skin_vars');
$oDB->dropColumn('modules','extra_vars');
}
// 모든 모듈의 권한/스킨정보를 grants 테이블로 이전시키는 업데이트
if(!$oDB->isColumnExists('sites', 'default_language')) {
$oDB->addColumn('sites','default_language','varchar',255,0,false);
}
// extra_vars* 컬럼 제거
for($i=1;$i<=20;$i++) {
if(!$oDB->isColumnExists("documents","extra_vars".$i)) continue;
$oDB->dropColumn('documents','extra_vars'.$i);
}
// sites 테이블에 기본 사이트 정보 입력
$args->site_srl = 0;
$output = $oDB->executeQuery('module.getSite', $args);
if(!$output->data) {
// 기본 mid, 언어 구함
$mid_output = $oDB->executeQuery('module.getDefaultMidInfo', $args);
$db_info = Context::getDBInfo();
$domain = Context::getDefaultUrl();
$url_info = parse_url($domain);
$domain = $url_info['host'].( (!empty($url_info['port'])&&$url_info['port']!=80)?':'.$url_info['port']:'').$url_info['path'];
$site_args->site_srl = 0;
$site_args->index_module_srl = $mid_output->data->module_srl;
$site_args->domain = $domain;
$site_args->default_language = $db_info->lang_type;
$output = executeQuery('module.insertSite', $site_args);
if(!$output->toBool()) return $output;
}
if($oDB->isIndexExists('sites','idx_domain')){
$oDB->dropIndex('sites','idx_domain');
}
if(!$oDB->isIndexExists('sites','unique_domain')){
$this->updateForUniqueSiteDomain();
$oDB->addIndex('sites','unique_domain',array('domain'),true);
}
if(!$oDB->isColumnExists("modules", "use_mobile")) {
$oDB->addColumn('modules','use_mobile','char',1,'N');
}
if(!$oDB->isColumnExists("modules", "mlayout_srl")) {
$oDB->addColumn('modules','mlayout_srl','number',11, 0);
}
if(!$oDB->isColumnExists("modules", "mcontent")) {
$oDB->addColumn('modules','mcontent','bigtext');
}
if(!$oDB->isColumnExists("modules", "mskin")) {
$oDB->addColumn('modules','mskin','varchar',250);
}
return new Object(0, 'success_updated');
}
function updateForUniqueSiteDomain()
{
$output = executeQueryArray("module.getNonuniqueDomains");
if(!$output->data) return;
foreach($output->data as $data)
{
if($data->count == 1) continue;
$domain = $data->domain;
$args = null;
$args->domain = $domain;
$output2 = executeQueryArray("module.getSiteByDomain", $args);
$bFirst = true;
foreach($output2->data as $site)
{
if($bFirst)
{
$bFirst = false;
continue;
}
$domain .= "_";
$args = null;
$args->domain = $domain;
$args->site_srl = $site->site_srl;
$output3 = executeQuery("module.updateSite", $args);
}
}
}
/**
* @brief 캐시 파일 재생성
**/
function recompileCache() {
// 모듈 정보 캐시 파일 모두 삭제
FileHandler::removeFilesInDir("./files/cache/module_info");
// 트리거 정보가 있는 파일 모두 삭제
FileHandler::removeFilesInDir("./files/cache/triggers");
// DB캐시 파일을 모두 삭제
FileHandler::removeFilesInDir("./files/cache/db");
// 기타 캐시 삭제
FileHandler::removeDir("./files/cache/tmp");
}
}
?>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -1,161 +1,161 @@
<?php
/**
* @class moduleView
* @author NHN (developers@xpressengine.com)
* @brief module 모듈의 view class
**/
class moduleView extends module {
/**
* @brief 초기화
**/
function init() {
// template path 지정
$this->setTemplatePath($this->module_path.'tpl');
}
/**
* @brief 스킨 정보 출력
**/
function dispModuleSkinInfo() {
$selected_module = Context::get('selected_module');
$skin = Context::get('skin');
// 모듈/스킨 정보를 구함
$module_path = sprintf("./modules/%s/", $selected_module);
if(!is_dir($module_path)) $this->stop("msg_invalid_request");
$skin_info_xml = sprintf("%sskins/%s/skin.xml", $module_path, $skin);
if(!file_exists($skin_info_xml)) $this->stop("msg_invalid_request");
$oModuleModel = &getModel('module');
$skin_info = $oModuleModel->loadSkinInfo($module_path, $skin);
Context::set('skin_info',$skin_info);
$this->setLayoutFile("popup_layout");
$this->setTemplateFile("skin_info");
}
/**
* @brief 모듈 선택기
**/
function dispModuleSelectList() {
if(!Context::get('is_logged')) return new Object(-1, 'msg_not_permitted');
$oModuleModel = &getModel('module');
// virtual site의 개수를 추출
$output = executeQuery('module.getSiteCount');
$site_count = $output->data->count;
Context::set('site_count', $site_count);
// 사이트 검색어 변수 설정
$site_keyword = Context::get('site_keyword');
// 사이트 검색어가 없으면 현재 가상 사이트의 정보를 설정
$args = null;
$logged_info = Context::get('logged_info');
if($logged_info->is_admin == 'Y') {
$query_id = 'module.getSiteModules';
$module_category_exists = false;
if(!$site_keyword) {
$site_module_info = Context::get('site_module_info');
if($site_module_info && $logged_info->is_admin != 'Y') {
$site_keyword = $site_module_info->domain;
$args->site_srl = (int)$site_module_info->site_srl;
Context::set('site_keyword', $site_keyword);
} else {
$query_id = 'module.getDefaultModules';
$args->site_srl = 0;
$module_category_exists = true;
}
// 사이트 검색어가 있으면 해당 사이트(들)의 정보를 추출
} else {
$args->site_keyword = $site_keyword;
}
} else {
$query_id = 'module.getSiteModules';
$site_module_info = Context::get('site_module_info');
$args->site_srl = (int)$site_module_info->site_srl;
}
//if(is_null($args->site_srl)) $query_id = 'module.getDefaultModules';
// 지정된 사이트(혹은 전체)의 module 목록을 구함
$output = executeQueryArray($query_id, $args);
$category_list = $mid_list = array();
if(count($output->data)) {
foreach($output->data as $key => $val) {
$module = trim($val->module);
if(!$module) continue;
$category = $val->category;
$obj = null;
$obj->module_srl = $val->module_srl;
$obj->browser_title = $val->browser_title;
$mid_list[$module]->list[$category][$val->mid] = $obj;
}
}
$selected_module = Context::get('selected_module');
if(count($mid_list)) {
foreach($mid_list as $module => $val) {
if(!$selected_module) $selected_module = $module;
$xml_info = $oModuleModel->getModuleInfoXml($module);
$mid_list[$module]->title = $xml_info->title;
}
}
Context::set('mid_list', $mid_list);
Context::set('selected_module', $selected_module);
Context::set('selected_mids', $mid_list[$selected_module]->list);
Context::set('module_category_exists', $module_category_exists);
// 레이아웃을 팝업으로 지정
$this->setLayoutFile('popup_layout');
// 템플릿 파일 지정
$this->setTemplateFile('module_selector');
}
// 파일 박스 보기
function dispModuleFileBox(){
$logged_info = Context::get('logged_info');
if($logged_info->is_admin !='Y' && !$logged_info->is_site_admin) return new Object(-1, 'msg_not_permitted');
$input_name = Context::get('input');
if(!$input_name) return new Object(-1, 'msg_not_permitted');
$addscript = sprintf('<script type="text/javascript">//<![CDATA[
var selected_filebox_input_name = "%s";
//]]></script>',$input_name);
Context::addHtmlHeader($addscript);
$oModuleModel = &getModel('module');
$output = $oModuleModel->getModuleFileBoxList();
Context::set('filebox_list', $output->data);
$filter = Context::get('filter');
if($filter) Context::set('arrfilter',explode(',',$filter));
Context::set('page_navigation', $output->page_navigation);
$this->setLayoutFile('popup_layout');
$this->setTemplateFile('filebox_list');
}
// 파일 박스 등록화면
function dispModuleFileBoxAdd(){
$logged_info = Context::get('logged_info');
if($logged_info->is_admin !='Y' && !$logged_info->is_site_admin) return new Object(-1, 'msg_not_permitted');
$filter = Context::get('filter');
if($filter) Context::set('arrfilter',explode(',',$filter));
$this->setLayoutFile('popup_layout');
$this->setTemplateFile('filebox_add');
}
}
?>
<?php
/**
* @class moduleView
* @author NHN (developers@xpressengine.com)
* @brief module 모듈의 view class
**/
class moduleView extends module {
/**
* @brief 초기화
**/
function init() {
// template path 지정
$this->setTemplatePath($this->module_path.'tpl');
}
/**
* @brief 스킨 정보 출력
**/
function dispModuleSkinInfo() {
$selected_module = Context::get('selected_module');
$skin = Context::get('skin');
// 모듈/스킨 정보를 구함
$module_path = sprintf("./modules/%s/", $selected_module);
if(!is_dir($module_path)) $this->stop("msg_invalid_request");
$skin_info_xml = sprintf("%sskins/%s/skin.xml", $module_path, $skin);
if(!file_exists($skin_info_xml)) $this->stop("msg_invalid_request");
$oModuleModel = &getModel('module');
$skin_info = $oModuleModel->loadSkinInfo($module_path, $skin);
Context::set('skin_info',$skin_info);
$this->setLayoutFile("popup_layout");
$this->setTemplateFile("skin_info");
}
/**
* @brief 모듈 선택기
**/
function dispModuleSelectList() {
if(!Context::get('is_logged')) return new Object(-1, 'msg_not_permitted');
$oModuleModel = &getModel('module');
// virtual site의 개수를 추출
$output = executeQuery('module.getSiteCount');
$site_count = $output->data->count;
Context::set('site_count', $site_count);
// 사이트 검색어 변수 설정
$site_keyword = Context::get('site_keyword');
// 사이트 검색어가 없으면 현재 가상 사이트의 정보를 설정
$args = null;
$logged_info = Context::get('logged_info');
if($logged_info->is_admin == 'Y') {
$query_id = 'module.getSiteModules';
$module_category_exists = false;
if(!$site_keyword) {
$site_module_info = Context::get('site_module_info');
if($site_module_info && $logged_info->is_admin != 'Y') {
$site_keyword = $site_module_info->domain;
$args->site_srl = (int)$site_module_info->site_srl;
Context::set('site_keyword', $site_keyword);
} else {
$query_id = 'module.getDefaultModules';
$args->site_srl = 0;
$module_category_exists = true;
}
// 사이트 검색어가 있으면 해당 사이트(들)의 정보를 추출
} else {
$args->site_keyword = $site_keyword;
}
} else {
$query_id = 'module.getSiteModules';
$site_module_info = Context::get('site_module_info');
$args->site_srl = (int)$site_module_info->site_srl;
}
//if(is_null($args->site_srl)) $query_id = 'module.getDefaultModules';
// 지정된 사이트(혹은 전체)의 module 목록을 구함
$output = executeQueryArray($query_id, $args);
$category_list = $mid_list = array();
if(count($output->data)) {
foreach($output->data as $key => $val) {
$module = trim($val->module);
if(!$module) continue;
$category = $val->category;
$obj = null;
$obj->module_srl = $val->module_srl;
$obj->browser_title = $val->browser_title;
$mid_list[$module]->list[$category][$val->mid] = $obj;
}
}
$selected_module = Context::get('selected_module');
if(count($mid_list)) {
foreach($mid_list as $module => $val) {
if(!$selected_module) $selected_module = $module;
$xml_info = $oModuleModel->getModuleInfoXml($module);
$mid_list[$module]->title = $xml_info->title;
}
}
Context::set('mid_list', $mid_list);
Context::set('selected_module', $selected_module);
Context::set('selected_mids', $mid_list[$selected_module]->list);
Context::set('module_category_exists', $module_category_exists);
// 레이아웃을 팝업으로 지정
$this->setLayoutFile('popup_layout');
// 템플릿 파일 지정
$this->setTemplateFile('module_selector');
}
// 파일 박스 보기
function dispModuleFileBox(){
$logged_info = Context::get('logged_info');
if($logged_info->is_admin !='Y' && !$logged_info->is_site_admin) return new Object(-1, 'msg_not_permitted');
$input_name = Context::get('input');
if(!$input_name) return new Object(-1, 'msg_not_permitted');
$addscript = sprintf('<script type="text/javascript">//<![CDATA[
var selected_filebox_input_name = "%s";
//]]></script>',$input_name);
Context::addHtmlHeader($addscript);
$oModuleModel = &getModel('module');
$output = $oModuleModel->getModuleFileBoxList();
Context::set('filebox_list', $output->data);
$filter = Context::get('filter');
if($filter) Context::set('arrfilter',explode(',',$filter));
Context::set('page_navigation', $output->page_navigation);
$this->setLayoutFile('popup_layout');
$this->setTemplateFile('filebox_list');
}
// 파일 박스 등록화면
function dispModuleFileBoxAdd(){
$logged_info = Context::get('logged_info');
if($logged_info->is_admin !='Y' && !$logged_info->is_site_admin) return new Object(-1, 'msg_not_permitted');
$filter = Context::get('filter');
if($filter) Context::set('arrfilter',explode(',',$filter));
$this->setLayoutFile('popup_layout');
$this->setTemplateFile('filebox_add');
}
}
?>

View file

@ -1,11 +1,11 @@
<query id="deleteModuleExtend" action="delete">
<tables>
<table name="module_extend" />
</tables>
<conditions>
<condition operation="equal" column="parent_module" var="parent_module" notnull="notnull" pipe="and" />
<condition operation="equal" column="extend_module" var="extend_module" pipe="and" />
<condition operation="equal" column="type" var="type" pipe="and" />
<condition operation="equal" column="kind" var="kind" pipe="and" />
</conditions>
</query>
<query id="deleteModuleExtend" action="delete">
<tables>
<table name="module_extend" />
</tables>
<conditions>
<condition operation="equal" column="parent_module" var="parent_module" notnull="notnull" pipe="and" />
<condition operation="equal" column="extend_module" var="extend_module" pipe="and" />
<condition operation="equal" column="type" var="type" pipe="and" />
<condition operation="equal" column="kind" var="kind" pipe="and" />
</conditions>
</query>

View file

@ -1,8 +1,8 @@
<query id="deleteModuleFileBox" action="delete">
<tables>
<table name="module_filebox" />
</tables>
<conditions>
<condition operation="equal" column="module_filebox_srl" var="module_filebox_srl" filter="number" notnull="notnull" />
</conditions>
<query id="deleteModuleFileBox" action="delete">
<tables>
<table name="module_filebox" />
</tables>
<conditions>
<condition operation="equal" column="module_filebox_srl" var="module_filebox_srl" filter="number" notnull="notnull" />
</conditions>
</query>

View file

@ -1,12 +1,12 @@
<query id="deleteTrigger" action="delete">
<tables>
<table name="module_trigger" />
</tables>
<conditions>
<condition operation="equal" column="trigger_name" var="trigger_name" notnull="notnull" />
<condition operation="equal" column="module" var="module" notnull="notnull" pipe="and" />
<condition operation="equal" column="type" var="type" notnull="notnull" pipe="and" />
<condition operation="equal" column="called_method" var="called_method" notnull="notnull" pipe="and" />
<condition operation="equal" column="called_position" var="called_position" notnull="notnull" pipe="and" />
</conditions>
<query id="deleteTrigger" action="delete">
<tables>
<table name="module_trigger" />
</tables>
<conditions>
<condition operation="equal" column="trigger_name" var="trigger_name" notnull="notnull" />
<condition operation="equal" column="module" var="module" notnull="notnull" pipe="and" />
<condition operation="equal" column="type" var="type" notnull="notnull" pipe="and" />
<condition operation="equal" column="called_method" var="called_method" notnull="notnull" pipe="and" />
<condition operation="equal" column="called_position" var="called_position" notnull="notnull" pipe="and" />
</conditions>
</query>

View file

@ -1,9 +1,9 @@
<query id="getModuleFileBox" action="select">
<tables>
<table name="module_filebox" />
</tables>
<columns />
<conditions>
<condition operation="equal" column="module_filebox_srl" var="module_filebox_srl" filter="number" />
</conditions>
<query id="getModuleFileBox" action="select">
<tables>
<table name="module_filebox" />
</tables>
<columns />
<conditions>
<condition operation="equal" column="module_filebox_srl" var="module_filebox_srl" filter="number" />
</conditions>
</query>

View file

@ -1,15 +1,15 @@
<query id="getModuleFileBoxList" action="select">
<tables>
<table name="module_filebox" />
</tables>
<columns />
<conditions>
<condition operation="in" column="fileextension" var="fileextension" />
</conditions>
<navigation>
<index var="sort_index" default="module_filebox_srl" order="desc" />
<list_count var="list_count" default="10" />
<page_count var="page_count" default="10" />
<page var="page" default="1" />
</navigation>
<query id="getModuleFileBoxList" action="select">
<tables>
<table name="module_filebox" />
</tables>
<columns />
<conditions>
<condition operation="in" column="fileextension" var="fileextension" />
</conditions>
<navigation>
<index var="sort_index" default="module_filebox_srl" order="desc" />
<list_count var="list_count" default="10" />
<page_count var="page_count" default="10" />
<page var="page" default="1" />
</navigation>
</query>

View file

@ -1,14 +1,14 @@
<query id="insertModuleFileBox" action="insert">
<tables>
<table name="module_filebox" />
</tables>
<columns>
<column name="module_filebox_srl" var="module_filebox_srl" notnull="notnull" />
<column name="member_srl" var="member_srl" notnull="notnull" />
<column name="filename" var="filename" />
<column name="fileextension" var="fileextension" />
<column name="filesize" var="filesize" />
<column name="comment" var="comment" />
<column name="regdate" default="curdate()" />
</columns>
</query>
<query id="insertModuleFileBox" action="insert">
<tables>
<table name="module_filebox" />
</tables>
<columns>
<column name="module_filebox_srl" var="module_filebox_srl" notnull="notnull" />
<column name="member_srl" var="member_srl" notnull="notnull" />
<column name="filename" var="filename" />
<column name="fileextension" var="fileextension" />
<column name="filesize" var="filesize" />
<column name="comment" var="comment" />
<column name="regdate" default="curdate()" />
</columns>
</query>

View file

@ -1,9 +1,9 @@
<table name="module_filebox">
<column name="module_filebox_srl" type="number" size="11" notnull="notnull" primary_key="primary_key" />
<column name="member_srl" type="number" size="11" notnull="notnull" index="idx_member_srl" />
<column name="filename" type="varchar" size="250" notnull="notnull" />
<column name="fileextension" type="varchar" size="4" notnull="notnull" index="idx_fileextension" />
<column name="filesize" type="number" size="11" default="0" notnull="notnull" />
<column name="comment" type="varchar" size="250" />
<column name="regdate" type="date" />
<table name="module_filebox">
<column name="module_filebox_srl" type="number" size="11" notnull="notnull" primary_key="primary_key" />
<column name="member_srl" type="number" size="11" notnull="notnull" index="idx_member_srl" />
<column name="filename" type="varchar" size="250" notnull="notnull" />
<column name="fileextension" type="varchar" size="4" notnull="notnull" index="idx_fileextension" />
<column name="filesize" type="number" size="11" default="0" notnull="notnull" />
<column name="comment" type="varchar" size="250" />
<column name="regdate" type="date" />
</table>

View file

@ -1,24 +1,24 @@
@charset "utf-8";
/* Mobile XE Language (/modules/module/tpl/lang.html) */
body{margin:0}
.bd{background:#f8f8f8;padding:1px 0}
/* Hx */
.hx{position:relative;border-bottom:1px solid #ccc8be;padding:8px 10px;margin:0}
.hx:after{content:"";margin:0 -10px;position:relative;top:10px;display:block;clear:both;height:1px;background:#fff}
.hx.h2{background:#e5e5e5;text-shadow:1px 1px 0 #fff}
.hx h2{margin:0 10px 0 0;display:inline;font-size:16px;line-height:1.4}
/* Global Navigation */
.gn{margin:0;padding:0;list-style:none;background:#d3d1cc;text-shadow:1px 1px 0 #fff}
.gn li{background:#c3c3c3;border:1px solid #a3a09a;border-left:0;border-right:0;margin:0 0 -1px 0}
.gn li li{background:#f8f8f8;border:1px solid #c9c9c9;border-left:0;border-right:0}
.gn li li li{background:#e8e8e8}
.gn ul{margin:0 0 -1px 0;padding:0;list-style:none}
.gn a,.gn strong{position:relative;text-decoration:none;display:block;padding:10px;font-size:16px}
.gn li a{color:#333}
.gn li a:after{position:absolute;top:7px;right:10px;content:"";color:#888;font-size:18px;font-weight:bold;font-family:Verdana, Geneva, sans-serif}
.gn li li a:before{content:"";display:inline-block;width:6px;height:6px;border:1px dotted #666;border-top:0;border-right:0;margin:0 4px 0 0;vertical-align:top}
.gn li li a{padding-left:15px}
.gn li li li a{padding-left:30px}
.gn li li li li a{padding-left:45px}
.gn li li li li li a{padding-left:60px}
.gn em{color:#f63;font-size:12px}
@charset "utf-8";
/* Mobile XE Language (/modules/module/tpl/lang.html) */
body{margin:0}
.bd{background:#f8f8f8;padding:1px 0}
/* Hx */
.hx{position:relative;border-bottom:1px solid #ccc8be;padding:8px 10px;margin:0}
.hx:after{content:"";margin:0 -10px;position:relative;top:10px;display:block;clear:both;height:1px;background:#fff}
.hx.h2{background:#e5e5e5;text-shadow:1px 1px 0 #fff}
.hx h2{margin:0 10px 0 0;display:inline;font-size:16px;line-height:1.4}
/* Global Navigation */
.gn{margin:0;padding:0;list-style:none;background:#d3d1cc;text-shadow:1px 1px 0 #fff}
.gn li{background:#c3c3c3;border:1px solid #a3a09a;border-left:0;border-right:0;margin:0 0 -1px 0}
.gn li li{background:#f8f8f8;border:1px solid #c9c9c9;border-left:0;border-right:0}
.gn li li li{background:#e8e8e8}
.gn ul{margin:0 0 -1px 0;padding:0;list-style:none}
.gn a,.gn strong{position:relative;text-decoration:none;display:block;padding:10px;font-size:16px}
.gn li a{color:#333}
.gn li a:after{position:absolute;top:7px;right:10px;content:"";color:#888;font-size:18px;font-weight:bold;font-family:Verdana, Geneva, sans-serif}
.gn li li a:before{content:"";display:inline-block;width:6px;height:6px;border:1px dotted #666;border-top:0;border-right:0;margin:0 4px 0 0;vertical-align:top}
.gn li li a{padding-left:15px}
.gn li li li a{padding-left:30px}
.gn li li li li a{padding-left:45px}
.gn li li li li li a{padding-left:60px}
.gn em{color:#f63;font-size:12px}

View file

@ -1,37 +1,37 @@
<!--%import("./js/module_admin.js")-->
<div id="popHeader" class="wide">
<h3 class="xeAdmin">{$lang->filebox}</h3>
</div>
<form action="{getUrl('')}" method="post" enctype="multipart/form-data">
<input type="hidden" name="module" value="module" />
<input type="hidden" name="act" value="procModuleFileBoxAdd" />
<input type="hidden" name="vid" value="{$vid}" />
<input type="hidden" name="filter" value="{$filter}" />
<input type="hidden" name="input" value="{$input}" />
<div id="popBody">
<table class="rowTable" cellspacing="0">
<tbody>
<tr>
<th>{$lang->description}</th>
<td><input type="text" name="comment" /></td>
</tr>
<tr>
<th>{$lang->file}</th>
<td><input type="file" name="addfile" />
<p>
<!--@if($arrfilter && is_array($arrfilter))-->
{@sprintf($lang->about_file_extension,join(", ",$arrfilter ))}
<!--@end-->
</p>
</td>
</tr>
</tbody>
</table>
</div>
<div id="popFooter">
<span class="button black"><input type="submit" value="{$lang->cmd_submit}" /></span>
</div>
</form>
<!--%import("./js/module_admin.js")-->
<div id="popHeader" class="wide">
<h3 class="xeAdmin">{$lang->filebox}</h3>
</div>
<form action="{getUrl('')}" method="post" enctype="multipart/form-data">
<input type="hidden" name="module" value="module" />
<input type="hidden" name="act" value="procModuleFileBoxAdd" />
<input type="hidden" name="vid" value="{$vid}" />
<input type="hidden" name="filter" value="{$filter}" />
<input type="hidden" name="input" value="{$input}" />
<div id="popBody">
<table class="rowTable" cellspacing="0">
<tbody>
<tr>
<th>{$lang->description}</th>
<td><input type="text" name="comment" /></td>
</tr>
<tr>
<th>{$lang->file}</th>
<td><input type="file" name="addfile" />
<p>
<!--@if($arrfilter && is_array($arrfilter))-->
{@sprintf($lang->about_file_extension,join(", ",$arrfilter ))}
<!--@end-->
</p>
</td>
</tr>
</tbody>
</table>
</div>
<div id="popFooter">
<span class="button black"><input type="submit" value="{$lang->cmd_submit}" /></span>
</div>
</form>

View file

@ -1,65 +1,65 @@
<!--%load_js_plugin("filebox")-->
<div id="popHeader" class="wide">
<h3 class="xeAdmin">{$lang->filebox}</h3>
</div>
<div id="popBody">
<table class="rowTable" cellspacing="0" width="90%">
<thead>
<tr>
<th><div>{$lang->file}</div></th>
<th><div>{$lang->description}</div></th>
<th><div>{$lang->regdate}</div></th>
<th><div>&nbsp;</div></th>
</tr>
</thead>
<tbody>
<!--@foreach($filebox_list as $key=>$val)-->
<tr>
<td>
<div id="filebox_preview_{$val->module_filebox_srl}">
<!--@if($val->fileextension=='swf')-->
<object height="100" width="100" flashvars="" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" xmlns="http://www.w3.org/1999/xhtml">
<param value="{getUrl('')}{$val->filename}" name="movie" xmlns="http://www.w3.org/1999/xhtml" />
<param value="transparent" name="wmode" xmlns="http://www.w3.org/1999/xhtml" />
<param value="sameDomain" name="allowScriptAccess" xmlns="http://www.w3.org/1999/xhtml" />
<param value="high" name="quality" xmlns="http://www.w3.org/1999/xhtml" />
<embed height="100" width="100" wmode="transparent" flashvars="" autostart="false" src="{getUrl('')}{$val->filename}" xmlns="http://www.w3.org/1999/xhtml" />
</object>
<!--@elseif(in_array($val->fileextension,array('gif','png','jpg','jpeg')))-->
<img src="{getUrl('')}{$val->filename}" width="100" height="100" />
<!--@end-->
</div>
</td>
<td class="wide">{$val->comment}&nbsp;</td>
<td class="nowrap">{zdate($val->regdate,'Y-m-d H:i')}</td>
<td>
<!--@if(!$filter || (is_array($arrfilter) && in_array($val->fileextension,$arrfilter)))-->
<span class="small button black"><button type="button" onclick="XE.filebox.selectFile('{getUrl('')}{$val->filename}','{$val->module_filebox_srl}');">{$lang->cmd_select}</button></span>
<!--@end-->
<span class="small button"><button type="button" onclick="XE.filebox.deleteFile('{$val->module_filebox_srl}');">{$lang->cmd_delete}</button></span>
</td>
</tr>
<!--@end-->
</tbody>
</table>
<!-- 페이지 네비게이션 -->
<div class="pagination a1">
<a href="{getUrl('page','','module_srl','')}" class="prevEnd">{$lang->first_page}</a>
<!--@while($page_no = $page_navigation->getNextPage())-->
<!--@if($page == $page_no)-->
<strong>{$page_no}</strong>
<!--@else-->
<a href="{getUrl('page',$page_no,'module_srl','')}">{$page_no}</a>
<!--@end-->
<!--@end-->
<a href="{getUrl('page',$page_navigation->last_page,'module_srl','')}" class="nextEnd">{$lang->last_page}</a>
</div>
</div>
<div id="popFooter">
<a href="{getUrl('','module','module','act','dispModuleFileBoxAdd','filter',$filter,'input',$input)}" class="button black"><span>{$lang->cmd_registration}</span></a>
</div>
<!--%load_js_plugin("filebox")-->
<div id="popHeader" class="wide">
<h3 class="xeAdmin">{$lang->filebox}</h3>
</div>
<div id="popBody">
<table class="rowTable" cellspacing="0" width="90%">
<thead>
<tr>
<th><div>{$lang->file}</div></th>
<th><div>{$lang->description}</div></th>
<th><div>{$lang->regdate}</div></th>
<th><div>&nbsp;</div></th>
</tr>
</thead>
<tbody>
<!--@foreach($filebox_list as $key=>$val)-->
<tr>
<td>
<div id="filebox_preview_{$val->module_filebox_srl}">
<!--@if($val->fileextension=='swf')-->
<object height="100" width="100" flashvars="" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" xmlns="http://www.w3.org/1999/xhtml">
<param value="{getUrl('')}{$val->filename}" name="movie" xmlns="http://www.w3.org/1999/xhtml" />
<param value="transparent" name="wmode" xmlns="http://www.w3.org/1999/xhtml" />
<param value="sameDomain" name="allowScriptAccess" xmlns="http://www.w3.org/1999/xhtml" />
<param value="high" name="quality" xmlns="http://www.w3.org/1999/xhtml" />
<embed height="100" width="100" wmode="transparent" flashvars="" autostart="false" src="{getUrl('')}{$val->filename}" xmlns="http://www.w3.org/1999/xhtml" />
</object>
<!--@elseif(in_array($val->fileextension,array('gif','png','jpg','jpeg')))-->
<img src="{getUrl('')}{$val->filename}" width="100" height="100" />
<!--@end-->
</div>
</td>
<td class="wide">{$val->comment}&nbsp;</td>
<td class="nowrap">{zdate($val->regdate,'Y-m-d H:i')}</td>
<td>
<!--@if(!$filter || (is_array($arrfilter) && in_array($val->fileextension,$arrfilter)))-->
<span class="small button black"><button type="button" onclick="XE.filebox.selectFile('{getUrl('')}{$val->filename}','{$val->module_filebox_srl}');">{$lang->cmd_select}</button></span>
<!--@end-->
<span class="small button"><button type="button" onclick="XE.filebox.deleteFile('{$val->module_filebox_srl}');">{$lang->cmd_delete}</button></span>
</td>
</tr>
<!--@end-->
</tbody>
</table>
<!-- 페이지 네비게이션 -->
<div class="pagination a1">
<a href="{getUrl('page','','module_srl','')}" class="prevEnd">{$lang->first_page}</a>
<!--@while($page_no = $page_navigation->getNextPage())-->
<!--@if($page == $page_no)-->
<strong>{$page_no}</strong>
<!--@else-->
<a href="{getUrl('page',$page_no,'module_srl','')}">{$page_no}</a>
<!--@end-->
<!--@end-->
<a href="{getUrl('page',$page_navigation->last_page,'module_srl','')}" class="nextEnd">{$lang->last_page}</a>
</div>
</div>
<div id="popFooter">
<a href="{getUrl('','module','module','act','dispModuleFileBoxAdd','filter',$filter,'input',$input)}" class="button black"><span>{$lang->cmd_registration}</span></a>
</div>

View file

@ -1,44 +1,44 @@
var selected_filebox = {};
// popup
function openFileBox(file_obj, filter){
selected_filebox[file_obj.name] = file_obj;
var url = request_uri.setQuery('module','module').setQuery('act','dispModuleFileBox').setQuery('input',file_obj.name).setQuery('filter',filter);
popopen(url, "filebox");
}
function selectFileBoxFile(file_url, module_filebox_srl){
if(!selected_filebox_input_name) return;
opener.selected_filebox[selected_filebox_input_name].value = file_url;
opener.document.getElementById('filebox_preview_'+selected_filebox_input_name).innerHTML = document.getElementById('filebox_preview_' + module_filebox_srl).innerHTML;
opener.document.getElementById('filebox_preview_'+selected_filebox_input_name).style.display='';
opener.document.getElementById('filebox_unselect_'+selected_filebox_input_name).style.display='';
window.close();
}
function deleteFileBoxFile(module_filebox_srl){
var params ={
"module_filebox_srl":module_filebox_srl
};
jQuery.exec_json('module.procModuleFileBoxDelete', params, function(data){
document.location.reload();
});
}
function unselectFileBox(id){
jQuery("[name="+id+"]").val('');
jQuery('#filebox_preview_'+id).html('').hide();
jQuery('#filebox_unselect_'+id).hide();
}
function initFileBox(id){
if(opener && opener.selectedWidget && opener.selectedWidget.getAttribute("widget")){
var file = opener.selectedWidget.getAttribute(id);
if(file){
var html = _displayMultimedia(file,"100%","100%");
jQuery('#filebox_preview_'+id).html(html).show();
jQuery('#filebox_unselect_'+id).show();
}
}
var selected_filebox = {};
// popup
function openFileBox(file_obj, filter){
selected_filebox[file_obj.name] = file_obj;
var url = request_uri.setQuery('module','module').setQuery('act','dispModuleFileBox').setQuery('input',file_obj.name).setQuery('filter',filter);
popopen(url, "filebox");
}
function selectFileBoxFile(file_url, module_filebox_srl){
if(!selected_filebox_input_name) return;
opener.selected_filebox[selected_filebox_input_name].value = file_url;
opener.document.getElementById('filebox_preview_'+selected_filebox_input_name).innerHTML = document.getElementById('filebox_preview_' + module_filebox_srl).innerHTML;
opener.document.getElementById('filebox_preview_'+selected_filebox_input_name).style.display='';
opener.document.getElementById('filebox_unselect_'+selected_filebox_input_name).style.display='';
window.close();
}
function deleteFileBoxFile(module_filebox_srl){
var params ={
"module_filebox_srl":module_filebox_srl
};
jQuery.exec_json('module.procModuleFileBoxDelete', params, function(data){
document.location.reload();
});
}
function unselectFileBox(id){
jQuery("[name="+id+"]").val('');
jQuery('#filebox_preview_'+id).html('').hide();
jQuery('#filebox_unselect_'+id).hide();
}
function initFileBox(id){
if(opener && opener.selectedWidget && opener.selectedWidget.getAttribute("widget")){
var file = opener.selectedWidget.getAttribute(id);
if(file){
var html = _displayMultimedia(file,"100%","100%");
jQuery('#filebox_preview_'+id).html(html).show();
jQuery('#filebox_unselect_'+id).show();
}
}
}

View file

@ -1,190 +1,190 @@
/**
* @file modules/module/js/module_admin.js
* @author NHN (developers@xpressengine.com)
* @brief module 모듈의 관리자용 javascript
**/
/* 카테고리 관련 작업들 */
function doUpdateCategory(module_category_srl, mode, message) {
if(typeof(message)!='undefined'&&!confirm(message)) return;
var fo_obj = xGetElementById('fo_category_info');
fo_obj.module_category_srl.value = module_category_srl;
fo_obj.mode.value = mode;
procFilter(fo_obj, update_category);
}
/* 카테고리 정보 수정 후 */
function completeUpdateCategory(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
alert(message);
location.href = current_url.setQuery('module_category_srl','');
}
/* 선택된 모듈을 관리자 메뉴의 바로가기에 등록 */
function doAddShortCut(module) {
var fo_obj = xGetElementById("fo_shortcut");
fo_obj.selected_module.value = module;
procFilter(fo_obj, insert_shortcut);
}
/* 모듈 설치 */
function doInstallModule(module) {
var params = new Array();
params['module_name'] = module;
exec_xml('install','procInstallAdminInstall',params, completeInstallModule);
}
function completeInstallModule(ret_obj) {
alert(ret_obj['message']);
location.reload();
}
/* 모듈 업그레이드 */
function doUpdateModule(module) {
var params = new Array();
params['module_name'] = module;
exec_xml('install','procInstallAdminUpdate',params, completeInstallModule);
}
/* 모듈 복사후 */
function completeCopyModule() {
if(typeof(opener)!='undefined') opener.location.href = opener.location.href;
window.close();
}
/* 모듈 선택기에서 선택된 모듈의 입력 */
function insertModule(id, module_srl, mid, browser_title, multi_select) {
if(typeof(multi_select)=='undefined') multi_select = true;
if(!window.opener) window.close();
if(multi_select) {
if(typeof(opener.insertSelectedModules)=='undefined') return;
opener.insertSelectedModules(id, module_srl, mid, browser_title);
} else {
if(typeof(opener.insertSelectedModule)=='undefined') return;
opener.insertSelectedModule(id, module_srl, mid, browser_title);
window.close();
}
}
/* 권한 선택용 */
function doShowGrantZone() {
jQuery(".grant_default").each( function() {
var id = "#zone_"+this.name.replace(/_default$/,'');
if(!jQuery(this).val()) jQuery(id).css("display","block");
else jQuery(id).css("display","none");
} );
}
/* 권한 등록 후 알림 메세지 */
function completeInsertGrant(ret_obj) {
alert(ret_obj['message']);
location.reload();
}
/* 관리자 아이디 등록/ 제거 */
function doInsertAdmin() {
var fo_obj = xGetElementById("fo_obj");
var sel_obj = fo_obj._admin_member;
var admin_id = fo_obj.admin_id.value;
if(!admin_id) return;
var opt = new Option(admin_id,admin_id,true,true);
sel_obj.options[sel_obj.options.length] = opt;
fo_obj.admin_id.value = '';
sel_obj.size = sel_obj.options.length;
sel_obj.selectedIndex = -1;
var members = new Array();
for(var i=0;i<sel_obj.options.length;i++) {
members[members.length] = sel_obj.options[i].value;
}
fo_obj.admin_member.value = members.join(',');
fo_obj.admin_id.focus();
}
function doDeleteAdmin() {
var fo_obj = xGetElementById("fo_obj");
var sel_obj = fo_obj._admin_member;
sel_obj.remove(sel_obj.selectedIndex);
sel_obj.size = sel_obj.options.length;
sel_obj.selectedIndex = -1;
var members = new Array();
for(var i=0;i<sel_obj.options.length;i++) {
members[members.length] = sel_obj.options[i].value;
}
fo_obj.admin_member.value = members.join(',');
}
function completeModuleSetup(ret_obj) {
alert(ret_obj['message']);
window.close();
}
/**
* 언어 관련
**/
function doInsertLangCode(name) {
var fo_obj = xGetElementById("menu_fo");
var target = fo_obj.target.value;
if(window.opener && target) {
var obj = window.opener.xGetElementById(target);
if(obj) obj.value = '$user_lang->'+name;
}
window.close();
}
function completeInsertLang(ret_obj) {
doInsertLangCode(ret_obj['name']);
}
function doDeleteLang(name) {
var params = new Array();
params['name'] = name;
var response_args = new Array('error','message');
exec_xml('module','procModuleAdminDeleteLang',params, completeDeleteLang);
}
function completeDeleteLang(ret_obj) {
location.href = current_url.setQuery('name','');
}
function doFillLangName() {
if (/[\?&]name=/i.test(location.search)) return;
var $form = jQuery("#menu_fo");
var target = $form[0].target.value;
if(window.opener && window.opener.document.getElementById(target)) {
var value = window.opener.document.getElementById(target).value;
if(/^\$user_lang->/.test(value)) {
var param = new Array();
param['name'] = value.replace(/^\$user_lang->/,'');
var response_tags = new Array('error','message','name','langs');
exec_xml('module','getModuleAdminLangCode',param,completeFillLangName, response_tags);
}
}
}
function completeFillLangName(ret_obj, response_tags) {
var name = ret_obj['name'];
var langs = ret_obj['langs'];
if(typeof(langs)=='undefined') return;
var $form = jQuery("#menu_fo");
$form[0].lang_code.value = name;
for(var i in langs) {
$form[0][i].value = langs[i];
}
}
/**
* @file modules/module/js/module_admin.js
* @author NHN (developers@xpressengine.com)
* @brief module 모듈의 관리자용 javascript
**/
/* 카테고리 관련 작업들 */
function doUpdateCategory(module_category_srl, mode, message) {
if(typeof(message)!='undefined'&&!confirm(message)) return;
var fo_obj = xGetElementById('fo_category_info');
fo_obj.module_category_srl.value = module_category_srl;
fo_obj.mode.value = mode;
procFilter(fo_obj, update_category);
}
/* 카테고리 정보 수정 후 */
function completeUpdateCategory(ret_obj) {
var error = ret_obj['error'];
var message = ret_obj['message'];
alert(message);
location.href = current_url.setQuery('module_category_srl','');
}
/* 선택된 모듈을 관리자 메뉴의 바로가기에 등록 */
function doAddShortCut(module) {
var fo_obj = xGetElementById("fo_shortcut");
fo_obj.selected_module.value = module;
procFilter(fo_obj, insert_shortcut);
}
/* 모듈 설치 */
function doInstallModule(module) {
var params = new Array();
params['module_name'] = module;
exec_xml('install','procInstallAdminInstall',params, completeInstallModule);
}
function completeInstallModule(ret_obj) {
alert(ret_obj['message']);
location.reload();
}
/* 모듈 업그레이드 */
function doUpdateModule(module) {
var params = new Array();
params['module_name'] = module;
exec_xml('install','procInstallAdminUpdate',params, completeInstallModule);
}
/* 모듈 복사후 */
function completeCopyModule() {
if(typeof(opener)!='undefined') opener.location.href = opener.location.href;
window.close();
}
/* 모듈 선택기에서 선택된 모듈의 입력 */
function insertModule(id, module_srl, mid, browser_title, multi_select) {
if(typeof(multi_select)=='undefined') multi_select = true;
if(!window.opener) window.close();
if(multi_select) {
if(typeof(opener.insertSelectedModules)=='undefined') return;
opener.insertSelectedModules(id, module_srl, mid, browser_title);
} else {
if(typeof(opener.insertSelectedModule)=='undefined') return;
opener.insertSelectedModule(id, module_srl, mid, browser_title);
window.close();
}
}
/* 권한 선택용 */
function doShowGrantZone() {
jQuery(".grant_default").each( function() {
var id = "#zone_"+this.name.replace(/_default$/,'');
if(!jQuery(this).val()) jQuery(id).css("display","block");
else jQuery(id).css("display","none");
} );
}
/* 권한 등록 후 알림 메세지 */
function completeInsertGrant(ret_obj) {
alert(ret_obj['message']);
location.reload();
}
/* 관리자 아이디 등록/ 제거 */
function doInsertAdmin() {
var fo_obj = xGetElementById("fo_obj");
var sel_obj = fo_obj._admin_member;
var admin_id = fo_obj.admin_id.value;
if(!admin_id) return;
var opt = new Option(admin_id,admin_id,true,true);
sel_obj.options[sel_obj.options.length] = opt;
fo_obj.admin_id.value = '';
sel_obj.size = sel_obj.options.length;
sel_obj.selectedIndex = -1;
var members = new Array();
for(var i=0;i<sel_obj.options.length;i++) {
members[members.length] = sel_obj.options[i].value;
}
fo_obj.admin_member.value = members.join(',');
fo_obj.admin_id.focus();
}
function doDeleteAdmin() {
var fo_obj = xGetElementById("fo_obj");
var sel_obj = fo_obj._admin_member;
sel_obj.remove(sel_obj.selectedIndex);
sel_obj.size = sel_obj.options.length;
sel_obj.selectedIndex = -1;
var members = new Array();
for(var i=0;i<sel_obj.options.length;i++) {
members[members.length] = sel_obj.options[i].value;
}
fo_obj.admin_member.value = members.join(',');
}
function completeModuleSetup(ret_obj) {
alert(ret_obj['message']);
window.close();
}
/**
* 언어 관련
**/
function doInsertLangCode(name) {
var fo_obj = xGetElementById("menu_fo");
var target = fo_obj.target.value;
if(window.opener && target) {
var obj = window.opener.xGetElementById(target);
if(obj) obj.value = '$user_lang->'+name;
}
window.close();
}
function completeInsertLang(ret_obj) {
doInsertLangCode(ret_obj['name']);
}
function doDeleteLang(name) {
var params = new Array();
params['name'] = name;
var response_args = new Array('error','message');
exec_xml('module','procModuleAdminDeleteLang',params, completeDeleteLang);
}
function completeDeleteLang(ret_obj) {
location.href = current_url.setQuery('name','');
}
function doFillLangName() {
if (/[\?&]name=/i.test(location.search)) return;
var $form = jQuery("#menu_fo");
var target = $form[0].target.value;
if(window.opener && window.opener.document.getElementById(target)) {
var value = window.opener.document.getElementById(target).value;
if(/^\$user_lang->/.test(value)) {
var param = new Array();
param['name'] = value.replace(/^\$user_lang->/,'');
var response_tags = new Array('error','message','name','langs');
exec_xml('module','getModuleAdminLangCode',param,completeFillLangName, response_tags);
}
}
}
function completeFillLangName(ret_obj, response_tags) {
var name = ret_obj['name'];
var langs = ret_obj['langs'];
if(typeof(langs)=='undefined') return;
var $form = jQuery("#menu_fo");
$form[0].lang_code.value = name;
for(var i in langs) {
$form[0][i].value = langs[i];
}
}

View file

@ -1,15 +1,15 @@
<!--%import("css/mlang.css")-->
<div class="bd">
<div class="hx h2">
<h2>Select Your Language</h2>
</div>
<ul class="gn">
<!--@foreach($lang_supported as $key=>$val)-->
<!--@if($key != $lang_type)-->
<li><a href="{getUrl('act',$oldact,'l',$key)}">{$val}</a></li>
<!--@else-->
<li><strong>{$val}</strong></li>
<!--@end-->
<!--@end-->
</ul>
</div>
<!--%import("css/mlang.css")-->
<div class="bd">
<div class="hx h2">
<h2>Select Your Language</h2>
</div>
<ul class="gn">
<!--@foreach($lang_supported as $key=>$val)-->
<!--@if($key != $lang_type)-->
<li><a href="{getUrl('act',$oldact,'l',$key)}">{$val}</a></li>
<!--@else-->
<li><strong>{$val}</strong></li>
<!--@end-->
<!--@end-->
</ul>
</div>

View file

@ -1,3 +1,3 @@
<script type="text/javascript">
top.location.href = "{$url}";
<script type="text/javascript">
top.location.href = "{$url}";
</script>