diff --git a/.htaccess b/.htaccess index 107117993..6a1acbd1a 100644 --- a/.htaccess +++ b/.htaccess @@ -49,3 +49,6 @@ RewriteRule ^([a-zA-Z0-9_]+)/writer/(.*)$ ./index.php?mid=$1&search_target=nick_ # module link RewriteRule ^([a-zA-Z0-9_]+)(/){0,1}$ ./index.php?mid=$1 [L] + +# css/img/js/htc등의 경로 처리 +RewriteRule ^(.+)/common/js/iePngFix.htc ./common/js/iePngFix.htc [L] diff --git a/addons/member_extra_info/conf/info.xml b/addons/member_extra_info/conf/info.xml index ba9f8e3b1..6e8df932b 100644 --- a/addons/member_extra_info/conf/info.xml +++ b/addons/member_extra_info/conf/info.xml @@ -4,7 +4,7 @@ 会員情報・コミュニティ 用户扩展信息 Addon for enabling facilities for providing additional information about users and communicating - Addon para activar facilidades para proveer Información addcional acerca del usuario y comunicación. + Addon para activar la función de la Información addcional del usuario y de la comunicación. 제로 Zero @@ -51,14 +51,14 @@ 5. This adds a menu for registering as a friend when MemberModel::getMemberMenu is called. - Addon que permite mostrar en la pantalla entre las informaciones del usuario, el nombre de la imagen, marca de la imagen y la firma . + Addon que permite mostrar en la pantalla las informaciones del usuario, la imagen del nombre, Imagen de marca y la firma . En caso de no usar estas informaciones, esta forma de usar separadamente en addon permite reducir el tiempo de ejecución. Deberá activar este addon si desea mostrar informaciones adicionales. - 1. Justo antes de mostrar la información del usuario, este addon buscará la definición "<div class="member_Número del usuario">....</div>", si la encuentra reemplazará el nombre de la imagen y/o la marca de la imagen. - 2. Justo antes de mostrar, este addon va a localizar la definición "<div class="document_Número del mensaje">...</div> e insertará la firma en la parte final del mensaje. - 3. Si ha llegado una nueva nota, aprarecerá una ventana popup. - 4. Se activa la función "Enviar Nota" si la persona que envió la nota es usuario al comprobar en MemberModel::getMemberMenu. - 5. Agrega el menú "Ägregar Contacto" al llamar MemberModel::getMemberMenu. + 1. Justo antes de mostrar la información del usuario, este addon buscará la definición "<div class="member_Número del usuario">....</div>", si la encuentra, reemplazará la imagen del nombre y/o la imagen de marca. + 2. Justo antes de mostrar, este addon va a localizar la definición "<div class="document_Número de documento">...</div> e insertará la firma en la parte final del documento. + 3. Si ha llegado un nuevo mensaje, aprarecerá una ventana popup. + 4. Se activa la función "Enviar Mensajes" si la persona que envió la nota es usuario al comprobar en MemberModel::getMemberMenu. + 5. Agrega el menú "Ägregar Amigo" al llamar MemberModel::getMemberMenu. diff --git a/addons/member_extra_info/lang/es.lang.php b/addons/member_extra_info/lang/es.lang.php index 80b140057..efd23396a 100644 --- a/addons/member_extra_info/lang/es.lang.php +++ b/addons/member_extra_info/lang/es.lang.php @@ -1,3 +1,3 @@ alert_new_message_arrived = 'Te ha llegado un nuevo mensaje. Deseas leer ahora?'; + $lang->alert_new_message_arrived = 'Ha llegado un nuevo mensaje. Desea leer ahora?'; ?> diff --git a/addons/openid_delegation_id/conf/info.xml b/addons/openid_delegation_id/conf/info.xml index 572ca839b..076c6f3a2 100644 --- a/addons/openid_delegation_id/conf/info.xml +++ b/addons/openid_delegation_id/conf/info.xml @@ -24,7 +24,7 @@ Just be sure to set the values related with openid provider before using. - Utliza su propio dominio para usar como OpenID. + Utlizando su propio dominio puede usar como OpenID. Debe utilizar luego de ingresar los valores relacionado con openid provider a través de la configuracion. @@ -41,7 +41,7 @@ openid.server 값을 입력해 주세요. 请输入 openid.server 值。 Please input your openid.server value. - Ingrese el valor del Servidor de OpenID. + Ingrese el valor del openid.server. openid.server の値を入力してください。 @@ -53,7 +53,7 @@ openid.delegate값을 입력해주세요. 请输入 openid.delegate 值。 Please input your openid.delegate value. - Ingresar el valor del delegado de OpenID + Ingresar el valor del openid.delegate openid.delegate の値を入力してください。 diff --git a/addons/point/conf/info.xml b/addons/point/conf/info.xml index bccdbc41e..7dff8a9ce 100644 --- a/addons/point/conf/info.xml +++ b/addons/point/conf/info.xml @@ -4,7 +4,7 @@ 积分插件 ポイントシステム Addon for activating point - Addon para la activación de los puntos + Addon para activar los puntos 제로 Zero @@ -24,7 +24,7 @@ This addon records point on writing/deleting/adding comments/deleting comments/uploading/downloading following to point system module. - Este addon registra los puntos de acuerdo a la acción de escribir/borrar/agregar comentarios/borrar comentarios/subir_archivo/bajar_archivo, siguiendo el sistema de módulo de puntos. + Este addon registra los puntos de acuerdo a la acción de escribir/borrar/agregar comentarios/borrar comentarios/subir_archivo/bajar_archivo,etc., siguiendo el módulo de sistema de puntos. diff --git a/addons/point/point.addon.php b/addons/point/point.addon.php index 0d66545f3..f318f5a0b 100644 --- a/addons/point/point.addon.php +++ b/addons/point/point.addon.php @@ -76,7 +76,7 @@ // 댓글 작성 } elseif(strpos($config->insert_comment_act,$this->act)!==false) { - $comment_srl = Context::get('comment_srl'); + $comment_srl = $this->get('comment_srl'); $oCommentModel = &getModel('comment'); $comment = $oCommentModel->getComment($comment_srl); diff --git a/addons/point_level_icon/conf/info.xml b/addons/point_level_icon/conf/info.xml index 30a9b25b8..d9216c759 100644 --- a/addons/point_level_icon/conf/info.xml +++ b/addons/point_level_icon/conf/info.xml @@ -4,7 +4,7 @@ 积分级别图标 ポイントレベルアイコン Addon for displaying level icon - Addon para mostar el nivel del icono + Addon para mostar el nivel del ícono 제로 Zero @@ -27,8 +27,8 @@ You can choose level icon on Module > Point System. - Este addon muestra el nivel del icono delante del nombre del usuario cuando es usado el sistema de puntos. - Tu puedes elegir el icono del nivel en el módulo > Sistema de Puntos. + Este addon muestra el nivel del ícono delante del nombre del usuario cuando es usado el sistema de puntos. + Tu puedes elegir los icono de cada nivel en el módulo > Sistema de Puntos. diff --git a/addons/spamfilter/conf/info.xml b/addons/spamfilter/conf/info.xml index 80c261282..7a31d4e79 100644 --- a/addons/spamfilter/conf/info.xml +++ b/addons/spamfilter/conf/info.xml @@ -24,8 +24,8 @@ You can set up more details on "Spam Filter module". - Este addon filtra y previene de los artículos/ commentarios/ trackback no deseado antes de ser agregados. - Para la configuración más detallada, debe hacer en " Módulo de Filtro de Spam". + Este addon filtra y previene de los documentos/ commentarios/ trackback no deseado antes de ser agregados. + Para la configuración más detallada, debe hacerse en el " Módulo de Filtro de Spam". SpamFilterモジュールを利用して書き込み・コメント・トラックバックが登録される前にフィルタリングを行います。更に連続書き込みやロボットによる自動書き込みなどを防ぐことができます。詳細な設定は " スパムフィルターモジュール " で行ってください。 diff --git a/classes/db/DB.class.php b/classes/db/DB.class.php index ae653c048..103b16180 100644 --- a/classes/db/DB.class.php +++ b/classes/db/DB.class.php @@ -134,6 +134,7 @@ $str = sprintf("\t%02d. %s (%0.6f sec)\n", ++$GLOBALS['__dbcnt'], $this->query, $elapsed_time); + // 에러 발생시 에러 로그를 남김 (__DEBUG_DB_OUTPUT__이 지정되어 있을경우) if($this->isError()) { $str .= sprintf("\t Query Failed : %d\n\t\t\t %s\n", $this->errno, $this->errstr); @@ -151,6 +152,22 @@ $str .= "\t Query Success\n"; } $GLOBALS['__db_queries__'] .= $str; + + // __LOG_SLOW_QUERY__ 가 정해져 있다면 시간 체크후 쿼리 로그 남김 + if(__LOG_SLOW_QUERY__>0 && $elapsed_time > __LOG_SLOW_QUERY__) { + $buff = ''; + $log_file = './files/_db_slow_query.php'; + if(!file_exists($log_file)) { + $buff = ''."\n"; + } + $buff .= sprintf("%s\t%s\n\t%0.6f sec\n\n", date("Y-m-h H:i"), $this->query, $elapsed_time); + if($fp = fopen($log_file,'a')) { + fwrite($fp, $buff); + fclose($fp); + } + + } + $this->query = null; } diff --git a/classes/db/DBMysql.class.php b/classes/db/DBMysql.class.php index a2eaf4c5e..4ec3a45e9 100644 --- a/classes/db/DBMysql.class.php +++ b/classes/db/DBMysql.class.php @@ -80,7 +80,7 @@ // 버전 확인후 4.1 이하면 오류 표시 if(mysql_get_server_info($this->fd)<"4.1") { - $this->setError(-1, "zeroboard xe can not install under mysql 4.1. Current mysql version is ".mysql_get_server_info()); + $this->setError(-1, "Zeroboard XE cannot be installed under the version of mysql 4.1. Current mysql version is ".mysql_get_server_info()); return; } @@ -180,7 +180,7 @@ $query = sprintf("insert into `%ssequence` (seq) values ('0')", $this->prefix); $this->_query($query); $sequence = mysql_insert_id(); - if($seqnece % 10000 == 0) { + if($sequence % 10000 == 0) { $query = sprintf("delete from `%ssequence` where seq < %d", $this->prefix, $sequence); $this->_query($query); } diff --git a/classes/db/DBMysql_innodb.class.php b/classes/db/DBMysql_innodb.class.php index 8a06c8d4d..c8d6199d1 100644 --- a/classes/db/DBMysql_innodb.class.php +++ b/classes/db/DBMysql_innodb.class.php @@ -189,7 +189,7 @@ $query = sprintf("insert into `%ssequence` (seq) values ('0')", $this->prefix); $this->_query($query); $sequence = mysql_insert_id(); - if($seqnece % 10000 == 0) { + if($sequence % 10000 == 0) { $query = sprintf("delete from `%ssequence` where seq < %d", $this->prefix, $sequence); $this->_query($query); } diff --git a/classes/db/DBSqlite2.class.php b/classes/db/DBSqlite2.class.php index 6b110809e..8ea701a61 100644 --- a/classes/db/DBSqlite2.class.php +++ b/classes/db/DBSqlite2.class.php @@ -175,7 +175,7 @@ $query = sprintf("insert into %ssequence (seq) values ('')", $this->prefix); $this->_query($query); $sequence = sqlite_last_insert_rowid($this->fd); - if($seqnece % 10000 == 0) { + if($sequence % 10000 == 0) { $query = sprintf("delete from %ssequence where seq < %d", $this->prefix, $sequence); $this->_query($query); } diff --git a/classes/db/DBSqlite3_pdo.class.php b/classes/db/DBSqlite3_pdo.class.php index a8c2dec28..dea4dff7b 100644 --- a/classes/db/DBSqlite3_pdo.class.php +++ b/classes/db/DBSqlite3_pdo.class.php @@ -196,7 +196,7 @@ $this->_prepare($query); $result = $this->_execute(); $sequence = $this->handler->lastInsertId(); - if($seqnece % 10000 == 0) { + if($sequence % 10000 == 0) { $query = sprintf("delete from %ssequence where seq < %d", $this->prefix, $sequence); $this->_prepare($query); $result = $this->_execute(); diff --git a/classes/display/DisplayHandler.class.php b/classes/display/DisplayHandler.class.php index 4af80538d..c6772d2f7 100644 --- a/classes/display/DisplayHandler.class.php +++ b/classes/display/DisplayHandler.class.php @@ -93,9 +93,9 @@ $path = str_replace('index.php','',$_SERVER['SCRIPT_NAME']); - // files로 시작되는 src나 href의 값을 절대경로로 변경 - $content = preg_replace('!(href|src)=("|\'){0,1}files!is', '\\1=\\2'.$path.'files', $content); - $content = preg_replace('!(href|src)=("|\'){0,1}\.\/([a-zA-Z0-9\_^\/]+)\/!is', '\\1=\\2'.$path.'$3/', $content); + // commons/modules/files/widgets/layouts/addons 로 시작되는 src나 href의 값을 절대경로로 변경 + $content = preg_replace('!(href|src)=("|\'){0,1}(commons|modules|widgets|layouts|addons|files)!is', '\\1=\\2'.$path.'\\3', $content); + $content = preg_replace('!(href|src)=("|\'){0,1}\.\/([a-zA-Z0-9\_^\/]+)\/!is', '\\1=\\2'.$path.'\\3/', $content); if($this->gz_enabled) print ob_gzhandler($content, 5); else print $content; diff --git a/classes/file/FileHandler.class.php b/classes/file/FileHandler.class.php index 19a4aa4d3..794faf53d 100644 --- a/classes/file/FileHandler.class.php +++ b/classes/file/FileHandler.class.php @@ -264,7 +264,7 @@ @imagejpeg($thumb, $target_file, 100); break; case 'png' : - @imagepng($thumb, $target_file, 100); + @imagepng($thumb, $target_file, 9); break; case 'wbmp' : case 'bmp' : diff --git a/classes/xml/XmlParser.class.php b/classes/xml/XmlParser.class.php index 9303ae96a..c8d5ca358 100644 --- a/classes/xml/XmlParser.class.php +++ b/classes/xml/XmlParser.class.php @@ -91,7 +91,7 @@ * @brief body 내용 **/ function _tagBody($parser, $body) { - if(!trim($body)) return; + //if(!trim($body)) return; $this->output[count($this->output)-1]->body .= $body; } diff --git a/common/js/common.js b/common/js/common.js index eedcf3cb5..fc512f926 100644 --- a/common/js/common.js +++ b/common/js/common.js @@ -200,9 +200,11 @@ function resizeImageContents() { obj.source_height = orig_img.height; if(obj_width >= parent_width) { - var per = parent_width/obj_width; - xWidth(obj, xWidth(parent)-1); - xHeight(obj, xHeight(obj)*per); + var new_w = xWidth(parent)-1; + var new_h = Math.round(xHeight(obj)*new_w/obj_width); + + xWidth(obj, new_w); + xHeight(obj, new_h); } xAddEventListener(obj,"click", showOriginalImage); diff --git a/common/js/iePngFix.htc b/common/js/iePngFix.htc index d6a4ef0e4..63905672e 100644 --- a/common/js/iePngFix.htc +++ b/common/js/iePngFix.htc @@ -8,7 +8,7 @@ // For details, see: http://creativecommons.org/licenses/LGPL/2.1/ // This must be a path to a blank image. That's all the configuration you need. -if (typeof blankImg == 'undefined') var blankImg = './common/tpl/images/blank.gif'; // 1x1px 짜리 투명 이미지(blank.gif)의 경로를 변경. +if (typeof blankImg == 'undefined') var blankImg = request_uri+'common/tpl/images/blank.gif'; // 1x1px 짜리 투명 이미지(blank.gif)의 경로를 변경. var f = 'DXImageTransform.Microsoft.AlphaImageLoader'; function filt(s, m) diff --git a/common/lang/es.lang.php b/common/lang/es.lang.php index 958e3faa4..ebc6a2928 100644 --- a/common/lang/es.lang.php +++ b/common/lang/es.lang.php @@ -7,8 +7,8 @@ // palabras para la acción, las cuales son basicamente usados $lang->cmd_write = 'Escribir'; - $lang->cmd_reply = 'Respuesta'; - $lang->cmd_delete = 'Borrar'; + $lang->cmd_reply = 'Responder'; + $lang->cmd_delete = 'Eliminar'; $lang->cmd_modify = 'Modificar'; $lang->cmd_edit = 'editar'; $lang->cmd_view = 'Ver'; @@ -18,7 +18,7 @@ $lang->cmd_next = 'Siguiente'; $lang->cmd_send_trackback = 'Enviar Trackback'; $lang->cmd_registration = $lang->cmd_submit = 'Enviar'; - $lang->cmd_comment_registration = 'Agregar el commentario'; + $lang->cmd_comment_registration = 'Agregar commentarios'; $lang->cmd_insert = 'Insertar'; $lang->cmd_save = 'Guardar'; $lang->cmd_input = 'Ingresar'; @@ -55,19 +55,19 @@ $lang->disable = 'Desactivar'; // Palabras Esenciales - $lang->no = 'No'; + $lang->no = 'Nº'; $lang->notice = 'Aviso'; $lang->secret = 'Secreto'; $lang->category = 'Categoría'; - $lang->document_srl = 'Núm.Mensaje'; + $lang->document_srl = 'Número del documento'; $lang->user_id = 'Usuario'; $lang->author = 'Autor'; $lang->password = 'Contraseña'; $lang->password1 = 'Contraseña'; $lang->password2 = 'Confirmar la contraseña'; $lang->admin_id = 'Identificación del Administrador'; - $lang->writer = 'Autor'; - $lang->user_name = 'Nombre De Usuario'; + $lang->writer = 'Escritor'; + $lang->user_name = 'Nombre del Usuario'; $lang->nick_name = 'Apodo'; $lang->email_address = 'Correo electrónico'; $lang->homepage = 'Página web'; @@ -76,57 +76,57 @@ $lang->browser_title = 'Título del navegador'; $lang->title = 'Título'; $lang->title_content = 'Título+Contenido'; - $lang->content = 'Contenido'; - $lang->document = 'Mensaje'; - $lang->comment = 'Commentario'; + $lang->content = 'Contenidos'; + $lang->document = 'Documentos'; + $lang->comment = 'Commentarios'; $lang->description = 'Descripción'; $lang->trackback = 'Trackback'; $lang->tag = 'Etiqueta'; $lang->allow_comment = 'Permitir Commentarios'; $lang->lock_comment = 'Bloquear Commentarios'; $lang->allow_trackback = 'Permitir Trackback'; - $lang->uploaded_file = 'Archivos Ajuntos'; + $lang->uploaded_file = 'Archivos Adjuntos'; $lang->grant = 'Atribución'; $lang->target = 'Objetivo'; $lang->total = 'Total'; - $lang->total_count = 'Núm.Total'; + $lang->total_count = 'Número total'; $lang->ipaddress = 'Dirección IP'; - $lang->path = 'Paso'; + $lang->path = 'Ruta'; $lang->cart = 'Artículo Seleccionado'; $lang->friend = 'Amigos'; $lang->notify = 'Notificación'; $lang->mid = 'Nombre del Módulo'; $lang->layout = 'Diseño'; - $lang->widget = 'Herramienta'; + $lang->widget = 'Widget'; $lang->module = 'Módulo'; $lang->skin = 'Tema'; - $lang->colorset = 'Colores'; + $lang->colorset = 'Set de colores'; $lang->extra_vars = 'Variables Extra'; - $lang->document_url = 'URL del Mensaje'; + $lang->document_url = 'URL del Documento'; $lang->trackback_url = 'URL del Trackback'; $lang->blog_name = 'Titulo del Blog'; - $lang->excerpt = 'Extracción'; + $lang->excerpt = 'Extracto'; - $lang->document_count = 'Cantidad del Mensaje'; - $lang->page_count = 'Cantidad de la Página'; - $lang->list_count = 'Cantidad de la Lista'; + $lang->document_count = 'Cantidad de documentos'; + $lang->page_count = 'Cantidad de páginas'; + $lang->list_count = 'Cantidad de listas'; $lang->readed_count = 'Leídos'; $lang->voted_count = 'Recomendados'; - $lang->member_count = 'Cantidad del Usuario'; + $lang->member_count = 'Cantidad de usuarios'; $lang->date = 'Fecha'; - $lang->regdate = 'Fecha Publicada'; - $lang->last_update = 'Última actualización'; - $lang->signup_date = 'Fecha del Registro'; - $lang->last_login = 'Última Conección'; - $lang->first_page = 'Primera Página'; - $lang->last_page = 'Última Página'; - $lang->search_target = 'Buscar Objectivo'; - $lang->search_keyword = 'Buscar la Palabra Clave'; - $lang->is_default = 'Prefijado'; + $lang->regdate = 'Fecha publicada'; + $lang->last_update = 'Ultima actualización'; + $lang->signup_date = 'Fecha del registro'; + $lang->last_login = 'Ultima conección'; + $lang->first_page = 'Primera página'; + $lang->last_page = 'Ultima página'; + $lang->search_target = 'Objectivo a buscar'; + $lang->search_keyword = 'Palabra a buscar'; + $lang->is_default = 'Predefinido'; - $lang->no_documents = 'Sin Mensajes'; + $lang->no_documents = 'Sin documentos'; $lang->board_manager = 'Manejo de los Tableros'; $lang->member_manager = 'MAnejo de los usuarios'; @@ -146,10 +146,10 @@ // Relacionado a la Descripción $lang->about_tag = 'Tú puedes agregar múltiples etiquetas colocando una coma(,) entre cada etiqueta'; - $lang->about_layout = 'El diseño decora la apariencia de tus módulos, lo cual podrás configurar en el menú Diseño en la parte superior'; + $lang->about_layout = 'El diseño decora la apariencia de tus módulos, lo cual podrás configurar en el menú de Diseño en la parte superior'; // Relacionado al Mensaje - $lang->msg_call_server = 'Solicitando al servidor, espere por favor'; + $lang->msg_call_server = 'Solicitando al servidor, espere un momento'; $lang->msg_db_not_setted = 'Configuración de DB no ha sido creado'; $lang->msg_invalid_queryid = 'El valor de Query ID especificado es inválido'; $lang->msg_not_permitted = 'Acceso denegado'; @@ -158,39 +158,39 @@ $lang->msg_invalid_request = 'Respuesta Inválida'; $lang->msg_invalid_password = 'Contraseña Inválida'; $lang->msg_error_occured = 'Error'; - $lang->msg_not_founded = 'No encontrado'; + $lang->msg_not_founded = 'No puede ser encontrado'; $lang->msg_no_result = 'Sin resultados'; $lang->msg_not_permitted_act = 'Usted no tiene permiso para ejecutar la action solicitada'; $lang->msg_module_is_not_exists = 'Módulo solicitado no puede ser encontrado'; $lang->msg_module_is_not_standalone = 'Módulo solicitado no puede ser ejecutado independientemente'; - $lang->success_registed = 'Registrado con éxito'; + $lang->success_registed = 'Agregado con éxito'; $lang->success_updated = 'Actualizado con éxito'; $lang->success_deleted = 'Boarrado con éxito'; $lang->success_voted = 'Recomendado con éxito'; $lang->success_moved = 'Movido con éxito'; $lang->success_sended = 'Enviado con éxito'; $lang->success_reset = 'Reajustado con éxito'; - $lang->success_leaved = 'Abandonó con éxito'; + $lang->success_leaved = 'Abandonado con éxito'; $lang->fail_to_delete = 'No puede ser borrado'; $lang->fail_to_move = 'No puede ser movido'; $lang->failed_voted = 'No puede ser recomendado'; - $lang->fail_to_delete_have_children = 'No puede ser borrados, ya que el mensaje posee respuestas '; + $lang->fail_to_delete_have_children = 'No puede ser borrado, ya que el mensaje posee respuestas '; - $lang->confirm_submit = 'Estás seguro que deseas enviar?'; - $lang->confirm_logout = 'Estás seguro que deseas desconectar?'; - $lang->confirm_vote = 'Estás seguro que deseas recomendar?'; - $lang->confirm_delete = 'Estás seguro que deseas borrar?'; - $lang->confirm_move = 'Estás seguro que deseas mover?'; - $lang->confirm_reset = 'Estás seguro que deseas rehacer?'; - $lang->confirm_leave = 'Estás seguro que deseas salir?'; + $lang->confirm_submit = '¿Está seguro que desea enviar?'; + $lang->confirm_logout = '¿Está seguro que desea desconectar?'; + $lang->confirm_vote = '¿Está seguro que desea recomendar?'; + $lang->confirm_delete = '¿Está seguro que desea borrar?'; + $lang->confirm_move = '¿Está seguro que desea mover?'; + $lang->confirm_reset = '¿Está seguro que desea rehacer?'; + $lang->confirm_leave = '¿Está seguro que desea salir?'; $lang->column_type = 'Tipos de Columnas'; $lang->column_type_list['text'] = 'Texto de una linea'; - $lang->column_type_list['homepage'] = 'url'; + $lang->column_type_list['homepage'] = 'URL'; $lang->column_type_list['email_address'] = 'Correo Electrónico'; $lang->column_type_list['tel'] = 'Número de teléfono'; $lang->column_type_list['textarea'] = 'Texto multi-linea'; @@ -201,20 +201,20 @@ //$lang->column_type_list['jp_zip'] = 'zip code (Japanese)'; $lang->column_name = 'Nombre de la Columna'; $lang->column_title = 'Título de la Columna'; - $lang->default_value = 'Valor Prefijado'; + $lang->default_value = 'Valor Predefinido'; $lang->is_active = 'Activado'; - $lang->is_required = 'Campo requerido'; + $lang->is_required = 'Espacio requerido'; // Mensajes de alerta para Javascript usando el filtro XML - $lang->filter->isnull = 'Por favor ingresar un valor para %s'; - $lang->filter->outofrange = 'Por favor alinear el largo del texto de %s'; + $lang->filter->isnull = 'Ingresar un valor para %s'; + $lang->filter->outofrange = 'Ajustar el largo del texto de %s'; $lang->filter->equalto = 'Valor de %s es inválido.'; $lang->filter->invalid_email = 'Formato de %s es inválido. (ej. zbxe@zeroboard.com)'; - $lang->filter->invalid_user_id = $lang->filter->invalid_userid = "Formato de %s es inválido.\\n Todos los valores deberá consistir en alfabetos, números o guión abajo(_) y la primera letra deberá ser el alfabeto Español"; + $lang->filter->invalid_user_id = $lang->filter->invalid_userid = "Formato de %s es inválido.\\n Todos los valores deberá consistir en alfabetos, números o guión abajo(_) y la primera letra deberá ser en alfabeto Español"; $lang->filter->invalid_homepage = 'Formato de %s es inválido. (ej: http://www.zeroboard.com)'; - $lang->filter->invalid_korean = 'Formato de %s es inválido. Por favor ingresar sólo coreano'; - $lang->filter->invalid_korean_number = 'Formato de %s es inválido. Por favor ingresar coreano o números'; - $lang->filter->invalid_alpha = 'Formato de %s es inválido. Por favor ingresar sólo alfabetos'; - $lang->filter->invalid_alpha_number = 'Formato de %s es inválido. Por favor ingresar alfabetos o números'; - $lang->filter->invalid_number = 'Formato de %s es inválido. Por favor ingresar sólo números.'; + $lang->filter->invalid_korean = 'Formato de %s es inválido. Ingresar ingresar sólo coreano'; + $lang->filter->invalid_korean_number = 'Formato de %s es inválido. Ingresar coreano o números'; + $lang->filter->invalid_alpha = 'Formato de %s es inválido. Ingresar sólo alfabetos'; + $lang->filter->invalid_alpha_number = 'Formato de %s es inválido. Ingresar alfabetos o números'; + $lang->filter->invalid_number = 'Formato de %s es inválido. Ingresar sólo números.'; ?> diff --git a/config/config.inc.php b/config/config.inc.php index f52ae2d9d..e3b5d593a 100644 --- a/config/config.inc.php +++ b/config/config.inc.php @@ -7,6 +7,13 @@ if(!defined('__ZBXE__')) exit(); + /** + * @brief 제로보드XE의 전체 버전 표기 + * 이 내용은 제로보드XE의 버전을 관리자 페이지에 표시하기 위한 용도이며 + * config.inc.php의 수정이 없더라도 공식 릴리즈시에 수정되어 함께 배포되어야 함 + **/ + define('__ZBXE_VERSION__', '0.1.2'); + /** * @brief 디버깅 메세지 출력 * 0 : 디버그 메세지를 생성/ 출력하지 않음 @@ -30,6 +37,14 @@ **/ define('__DEBUG_DB_OUTPUT__', 0); + /** + * @brief DB 쿼리중 정해진 시간을 넘기는 쿼리의 로그 남김 + * 0 : 로그를 남기지 않음 + * 0 이상 : 단위를 초로 하여 지정된 초 이상의 실행시간이 걸린 쿼리를 로그로 남김 + * 로그파일은 ./files/_db_slow_query.php 파일로 저장됨 + **/ + define('__LOG_SLOW_QUERY__', 0); + /** * @brief ob_gzhandler를 이용한 압축 기능을 강제로 사용하거나 끄는 옵션 * 0 : 사용하지 않음 diff --git a/config/func.inc.php b/config/func.inc.php index a2c30d361..27e04032a 100644 --- a/config/func.inc.php +++ b/config/func.inc.php @@ -145,6 +145,19 @@ return $oDB->executeQuery($query_id, $args); } + /** + * @brief DB::executeQuery() 의 결과값을 무조건 배열로 처리하도록 하는 함수 + * @param query_id 쿼리 ID ( 모듈명.쿼리XML파일 ) + * @param args object 변수로 선언된 인자값 + * @return 처리결과 + **/ + function executeQueryArray($query_id, $args = null) { + $oDB = &DB::getInstance(); + $output = $oDB->executeQuery($query_id, $args); + if(!is_array($output->data)) $output->data = array($output->data); + return $output; + } + /** * @brief DB::getNextSequence() 의 alias * @return big int diff --git a/layouts/xe_official/conf/info.xml b/layouts/xe_official/conf/info.xml index 5e9c9bbe9..fdc4bbd3f 100644 --- a/layouts/xe_official/conf/info.xml +++ b/layouts/xe_official/conf/info.xml @@ -53,7 +53,7 @@ 希望する色を選択してください。 请选择颜色。 Please select a colorset you want. - Seleccione set de colores que tu deseas. + Seleccione set de colores que desea. 기본 デフォルト @@ -85,11 +85,11 @@ LOGO图片 Logo image Imagen del logotipo - 레이아웃의 상단에 표시될 로고이미지를 입력하세요. (세로길이가 100px인 투명이미지가 가장 어울립니다) - レイアウトの上端に表示されるロゴイメージを入力してください。 (縦幅が100pxである透明イメージが最も合います。) - 请输入显示在布局顶部的LOGO图片。(高度为100px的透明图片为适。) - Please input a logo image which will be displayed on the top of layout. (Transparent image with height of 100px is recommended.) - Ingresar una imagen para logotipo. ( Se recomienda una imagen de fondo transparente con una altura de 100px. + 레이아웃의 상단에 표시될 로고이미지를 입력하세요. (세로길이가 23px인 투명이미지가 가장 어울립니다) + レイアウトの上端に表示されるロゴイメージを入力してください。 (縦幅が23pxである透明イメージが最も合います。) + 请输入显示在布局顶部的LOGO图片。(高度为23px的透明图片为适。) + Please input a logo image which will be displayed on the top of layout. (Transparent image with height of 23px is recommended.) + Ingresar una imagen para logotipo. ( Se recomienda una imagen de fondo transparente con una altura de 23px. 홈 페이지 URL @@ -101,19 +101,19 @@ ロゴをクリックした時に移動するホームページのURLを入力してください。 点击网站LOGO时要移动的页面URL。 Please input the URL to redirect when user clicks the logo - Ingresar el URL de la página web al pulsar el logotipo + Ingresar el URL de la página web para redireccionar al pulsar el logotipo 배경 이미지 背景イメージ 背景图片 Background Image - Imagen de Fondo + Imagen de fondo 배경 이미지를 사용하시려면 등록해주세요. 背景イメージを使う場合は、登録してください。 要想使用背景图片请在这里上传。 Please input if you want to use background image. - Ingresar imagen de fondo si deseas usar. + Ingresar imagen de fondo si desea usar. diff --git a/modules/addon/conf/info.xml b/modules/addon/conf/info.xml index ea09b83cd..0979682ee 100644 --- a/modules/addon/conf/info.xml +++ b/modules/addon/conf/info.xml @@ -15,7 +15,7 @@ Zero 애드온을 등록하거나 사용/미사용을 설정하는 애드온 관리 모듈입니다. This module is for maintaining addons which can toggle use and disuse states. - Módulo para agrear Addon, como también el manejo de ellas. + Este Módulo es para agregar Addons, como también el manejo de ellos. 登录插件或设置启用/禁用插件的管理模块。 アドオンの「登録、使用、未使用」などを設定するための管理モジュールです。 Ce module est pour les Additions de maintien qui peuvent basculer des états d'utilisation et de désuétude. diff --git a/modules/addon/lang/es.lang.php b/modules/addon/lang/es.lang.php index 0c17133b0..030841be1 100644 --- a/modules/addon/lang/es.lang.php +++ b/modules/addon/lang/es.lang.php @@ -2,16 +2,14 @@ /** * @archivo es.lang.php * @autor zero (zero@nzeo.com) - * @sumario paquete del idioma español + * @sumario Paquete del idioma español **/ $lang->addon = "Addon"; - $lang->addon_info = 'Información de Adson'; + $lang->addon_info = 'Información de Addon'; $lang->addon_maker = 'Autor de Addon'; $lang->addon_history = 'Historia de Addon '; - $lang->about_addon = 'Addon is para controlar las acciones y no para mostrar el resultado HTML.
Sólo con encender o apagar el addon que dese, podrá obtener funciones útiles para la administracion de tu sitio web.'; + $lang->about_addon = 'Addon is para controlar las acciones y no para mostrar el resultado en HTML.
Sólo con activar o desactivar el addon que desee, podrá obtener funciones útiles para la administración de tu sitio web.'; ?> - - diff --git a/modules/admin/admin.admin.view.php b/modules/admin/admin.admin.view.php index dc660fe2b..c6e64e829 100644 --- a/modules/admin/admin.admin.view.php +++ b/modules/admin/admin.admin.view.php @@ -54,6 +54,7 @@ if(!file_exists($cache_file) || filemtime($cache_file)+ 60*60 < time()) { FileHandler::getRemoteFile($newest_news_url, $cache_file); } + if(file_exists($cache_file)) { $oXml = new XmlParser(); $buff = $oXml->parse(FileHandler::readFile($cache_file)); @@ -71,7 +72,14 @@ } Context::set('news', $news); } + + Context::set('released_version', $buff->zbxe_news->attrs->released_version); + Context::set('download_link', $buff->zbxe_news->attrs->download_link); } + + Context::set('current_version', __ZBXE_VERSION__); + Context::set('installed_path', realpath('./')); + $this->setTemplateFile('index'); } diff --git a/modules/admin/conf/info.xml b/modules/admin/conf/info.xml index e3f3c93b2..47cfbd166 100644 --- a/modules/admin/conf/info.xml +++ b/modules/admin/conf/info.xml @@ -13,7 +13,7 @@ Zero 각 모듈들의 기능을 나열하고 관리자용 레이아웃을 적용하여 관리 기능을 사용할 수 있도록 하는 모듈입니다. This module shows a list of features of each module, and enables you to use a quite few of managers by applying layout for administrator. - Este módulo muestra una lista de características de cada módulo, en donde puede activar la función de administracion aplicando el diseño del administrador. + Este módulo muestra una lista de características de cada módulo, en donde puede activar la función de la administracion aplicando el diseño del administrador. 列出各模块的功能并使用管理员布局,可以让其使用管理功能的模块。 各モジュールの機能を羅列し、管理者用のレイアウトを適用させ、管理機能が使用できるようにするモジュールです。 diff --git a/modules/admin/lang/en.lang.php b/modules/admin/lang/en.lang.php index d185a1f19..642c8964d 100644 --- a/modules/admin/lang/en.lang.php +++ b/modules/admin/lang/en.lang.php @@ -8,6 +8,12 @@ $lang->newest_news = "Latest News"; $lang->env_setup = "Setting"; + + $lang->env_information = "환경 정보"; + $lang->current_version = "설치된 버전"; + $lang->current_path = "설치된 경로"; + $lang->released_version = "최신 버전"; + $lang->about_download_link = "설치된 버전보다 최신의 버전이 배포되었습니다. download링크를 클릭하시면 다운 받으실 수 있습니다."; $lang->item_module = "Module List"; $lang->item_addon = "Addon List"; @@ -29,6 +35,7 @@ $lang->welcome_to_zeroboard_xe = 'Welcome to the admin page of Zeroboard XE'; $lang->about_admin_page = "Admin page is still being developing,\nWe will add essential contents by accepting many good suggestions during Closebeta."; + $lang->about_lang_env = "위 설정한 언어셋을 처음 방문하는 사용자들에게 동일하게 적용하기 위해서는 원하는 언어로 변경후 아래 [저장] 버튼을 클릭하시면 됩니다"; $lang->zeroboard_xe_user_links = 'Links for Users'; $lang->zeroboard_xe_developer_links = 'Links for Developers'; diff --git a/modules/admin/lang/es.lang.php b/modules/admin/lang/es.lang.php index e03ba30ac..f1aeda66b 100644 --- a/modules/admin/lang/es.lang.php +++ b/modules/admin/lang/es.lang.php @@ -5,30 +5,37 @@ * @sumario Paquete del idioma español (sólo los básicos) **/ - $lang->newest_news = "Nuevas Noticias"; + $lang->newest_news = "Noticias recientes"; $lang->env_setup = "Configuración"; - - $lang->item_module = "Lista de Módulo"; - $lang->item_addon = "Lista de Addon"; - $lang->item_widget = "Lista de Widget"; - $lang->item_layout = "Liasta de Diseño"; - $lang->module_name = "Nombre de Módulo"; + $lang->env_information = "환경 정보"; + $lang->current_version = "설치된 버전"; + $lang->current_path = "설치된 경로"; + $lang->released_version = "최신 버전"; + $lang->about_download_link = "설치된 버전보다 최신의 버전이 배포되었습니다. download링크를 클릭하시면 다운 받으실 수 있습니다."; + + $lang->item_module = "Lista de Módulos"; + $lang->item_addon = "Lista de Addons"; + $lang->item_widget = "Lista de Widgets"; + $lang->item_layout = "Liasta de Diseños"; + + $lang->module_name = "Nombre del Módulo"; $lang->addon_name = "Nombre de Addon"; $lang->version = "Versión"; $lang->author = "Autor"; - $lang->table_count = "Número de Tabla"; + $lang->table_count = "Número de los tableros"; $lang->installed_path = "Ruta de instalación"; $lang->cmd_shortcut_management = "Editar el Menú"; - $lang->msg_is_not_administrator = 'Sólo administrador puede entrar.'; - $lang->msg_manage_module_cannot_delete = 'No se puede eliminar acceso directo de Módulo, Addon, Diseño y Widget.'; - $lang->msg_default_act_is_null = 'No se puede registrar acceso directo por no estar determinado la acción del administrador por defecto.'; + $lang->msg_is_not_administrator = 'Sólo se permite el ingreso del administrador.'; + $lang->msg_manage_module_cannot_delete = 'No se puede eliminar acceso directo del Módulo, Addon, Diseño y Widget.'; + $lang->msg_default_act_is_null = 'No se puede registrar acceso directo por no estar determinada la acción del administrador predefinido.'; $lang->welcome_to_zeroboard_xe = 'Esta es la página del Administrador de Zeroboard XE'; $lang->about_admin_page = "La página del Administrador aún está en desarrollo."; + $lang->about_lang_env = "위 설정한 언어셋을 처음 방문하는 사용자들에게 동일하게 적용하기 위해서는 원하는 언어로 변경후 아래 [저장] 버튼을 클릭하시면 됩니다"; $lang->zeroboard_xe_user_links = 'Enlaces para los usuarios '; $lang->zeroboard_xe_developer_links = 'Enlace para los desarrolladores'; @@ -61,7 +68,7 @@ 'dispFileAdminList' => 'Manejo de archivos', 'dispPollAdminList' => 'Manejo de recomendaciones', 'dispSpamfilterAdminConfig' => 'Manejo Filtro de Spam', - 'dispCounterAdminIndex' => 'Manejo de contador', + 'dispCounterAdminIndex' => 'Manejo del contador', ); diff --git a/modules/admin/lang/jp.lang.php b/modules/admin/lang/jp.lang.php index 97fdeb0fd..c9ce2dba0 100644 --- a/modules/admin/lang/jp.lang.php +++ b/modules/admin/lang/jp.lang.php @@ -9,6 +9,12 @@ $lang->env_setup = "環境設定"; + $lang->env_information = "환경 정보"; + $lang->current_version = "설치된 버전"; + $lang->current_path = "설치된 경로"; + $lang->released_version = "최신 버전"; + $lang->about_download_link = "설치된 버전보다 최신의 버전이 배포되었습니다. download링크를 클릭하시면 다운 받으실 수 있습니다."; + $lang->item_module = "モジュールリスト"; $lang->item_addon = "アドオンリスト"; $lang->item_widget = "ウィジェットリスト"; @@ -29,6 +35,7 @@ $lang->welcome_to_zeroboard_xe = 'ゼロボードXEの管理者ページです。'; $lang->about_admin_page = "管理者ページはまだ未完成です。クローズベタバージョンの期間に、多くの方々からご意見をいただきながら、必ず必要なコンテンツを埋めていきたいと思います。"; + $lang->about_lang_env = "위 설정한 언어셋을 처음 방문하는 사용자들에게 동일하게 적용하기 위해서는 원하는 언어로 변경후 아래 [저장] 버튼을 클릭하시면 됩니다"; $lang->zeroboard_xe_user_links = 'ユーザのためのリンク'; $lang->zeroboard_xe_developer_links = 'デベロッパーのためのリンク'; diff --git a/modules/admin/lang/ko.lang.php b/modules/admin/lang/ko.lang.php index 2ed90c0a2..ef3c16613 100644 --- a/modules/admin/lang/ko.lang.php +++ b/modules/admin/lang/ko.lang.php @@ -9,6 +9,12 @@ $lang->env_setup = "환경 설정"; + $lang->env_information = "환경 정보"; + $lang->current_version = "설치된 버전"; + $lang->current_path = "설치된 경로"; + $lang->released_version = "최신 버전"; + $lang->about_download_link = "설치된 버전보다 최신의 버전이 배포되었습니다. download링크를 클릭하시면 다운 받으실 수 있습니다."; + $lang->item_module = "모듈 목록"; $lang->item_addon = "애드온 목록"; $lang->item_widget = "위젯 목록"; @@ -29,6 +35,7 @@ $lang->welcome_to_zeroboard_xe = '제로보드XE 관리자 페이지입니다'; $lang->about_admin_page = "관리자 페이지는 아직 미완성입니다.\n클로즈 베타동안 좋은 의견 받아서 꼭 필요한 컨텐츠를 채우도록 하겠습니다."; + $lang->about_lang_env = "위 설정한 언어셋을 처음 방문하는 사용자들에게 동일하게 적용하기 위해서는 원하는 언어로 변경후 아래 [저장] 버튼을 클릭하시면 됩니다"; $lang->zeroboard_xe_user_links = '사용자를 위한 링크'; $lang->zeroboard_xe_developer_links = '개발자를 위한 링크'; diff --git a/modules/admin/lang/zh-CN.lang.php b/modules/admin/lang/zh-CN.lang.php index b2ec56739..9fa87e722 100644 --- a/modules/admin/lang/zh-CN.lang.php +++ b/modules/admin/lang/zh-CN.lang.php @@ -9,6 +9,11 @@ $lang->env_setup = "环境设置"; + $lang->env_information = "환경 정보"; + $lang->current_version = "설치된 버전"; + $lang->current_path = "설치된 경로"; + $lang->released_version = "최신 버전"; + $lang->about_download_link = "설치된 버전보다 최신의 버전이 배포되었습니다. download링크를 클릭하시면 다운 받으실 수 있습니다."; $lang->item_module = "模块目录"; $lang->item_addon = "插件目录"; @@ -30,6 +35,7 @@ $lang->welcome_to_zeroboard_xe = 'zeroboard XE 管理页面'; $lang->about_admin_page = "后台管理页面未完成"; + $lang->about_lang_env = "위 설정한 언어셋을 처음 방문하는 사용자들에게 동일하게 적용하기 위해서는 원하는 언어로 변경후 아래 [저장] 버튼을 클릭하시면 됩니다"; $lang->zeroboard_xe_user_links = '为用户提供的链接'; $lang->zeroboard_xe_developer_links = '为开发人员提供的链接'; diff --git a/modules/admin/tpl/index.html b/modules/admin/tpl/index.html index 0308bb951..831890a4d 100644 --- a/modules/admin/tpl/index.html +++ b/modules/admin/tpl/index.html @@ -3,9 +3,35 @@

{$lang->welcome_to_zeroboard_xe}

+ +++ + + + + + + + + + + + + + + +
{$lang->env_information}
{$lang->released_version} + {$released_version} + (download) +

{$lang->about_download_link}

+
{$lang->current_version} + {$current_version} +
{$lang->current_path}{$installed_path}/
+
-+ @@ -19,12 +45,13 @@ +

{$lang->about_lang_env}

diff --git a/modules/blog/lang/es.lang.php b/modules/blog/lang/es.lang.php index c08e8f7a6..c6e21a618 100644 --- a/modules/blog/lang/es.lang.php +++ b/modules/blog/lang/es.lang.php @@ -6,18 +6,18 @@ **/ // Palabras en los botónes - $lang->cmd_blog_list = 'Lista de blog'; + $lang->cmd_blog_list = 'Lista de blogs'; $lang->cmd_module_config = 'Configuración común de blog '; $lang->cmd_view_info = 'Información de blog'; - $lang->cmd_manage_menu = 'manejo del menú'; + $lang->cmd_manage_menu = 'Manejo del menú'; $lang->cmd_make_child = 'Agregar sub categoría'; $lang->cmd_enable_move_category = "Cambiar la posición de la categoría. (arrastrar y soltar luego de haber selecionado)"; $lang->cmd_remake_cache = 'Rehacer archivo caché'; $lang->cmd_layout_setup = 'Configuración del diseño'; $lang->cmd_layout_edit = 'Editar el diseño'; - // Items - $lang->parent_category_name = 'Categoría Parental'; + // Artículos + $lang->parent_category_name = 'Categoría Superior'; $lang->category_name = 'Nombre de la categoría'; $lang->expand = 'Expandir'; $lang->category_group_srls = 'Limitar el grupo'; @@ -29,5 +29,5 @@ $lang->about_category_group_srls = 'Solo se verán los grupos seleccionados en la actual categoría. (Abrir manualmente en archivo xml para la exposición)'; $lang->about_layout_setup = 'Puede modificar manualmente el código del diseño de blog. Insertar o modificar el código de widget.'; $lang->about_blog_category = 'Puede crear las categorias de blog.
Cuando no funciona la categoría de blog, rehacer el archivo caché manualmente para solucionar.'; - $lang->about_blog = "Este is el módulo de blog para crear y manejar.\nLuego de crear un blog, por favor decora tu blog por categoría y manejo de tema por que este módulo de blog usa el diseño que está incluido en el tema de blog.\nSi desea conectar otros tableros en su blog, usa el menú de módulo para crear un menú y luego conecta con un manejo de tema."; + $lang->about_blog = "Este is el módulo para crear y manejar blog.\nLuego de crear un blog, por favor decora tu blog por categoría y manejo de tema por que este módulo de blog usa el diseño que está incluido en el tema de blog.\nSi desea conectar otros tableros en su blog, usa el menú de módulo para crear un menú y luego conecta con el manejo de temas."; ?> diff --git a/modules/blog/tpl/js/blog_admin.js b/modules/blog/tpl/js/blog_admin.js index b20a4bd10..349ee6de0 100644 --- a/modules/blog/tpl/js/blog_admin.js +++ b/modules/blog/tpl/js/blog_admin.js @@ -170,6 +170,7 @@ function hideCategoryInfo() { function completeGetCategoryTplInfo(ret_obj, response_tags) { var obj = xGetElementById('category_info'); + obj.style.marginTop = xScrollTop()+'px'; var tpl = ret_obj['tpl']; xInnerHtml(obj, tpl); obj.style.display = 'block'; diff --git a/modules/board/board.view.php b/modules/board/board.view.php index c4d6f6503..d99b839a4 100644 --- a/modules/board/board.view.php +++ b/modules/board/board.view.php @@ -71,22 +71,42 @@ $oDocument = $oDocumentModel->getDocument(0, $this->grant->manager); // document_srl이 있다면 해당 글을 구해와서 $oDocument로 세팅 - if($this->grant->view && $document_srl) { + if($document_srl) { // 글을 구함 $oDocument->setDocument($document_srl); if($this->grant->manager) $oDocument->setGrant(); + // 글이 존재하지 않으면 그냥 무시하고 글이 존재 하지 않는다는 오류 메세지 출력 if(!$oDocument->isExists()) { + + unset($document_srl); + Context::set('document_srl','',true); + + $this->alertMessage('msg_not_founded'); + } else { - // 브라우저 타이틀 설정 - Context::setBrowserTitle($oDocument->getTitleText()); - // 조회수 증가 - $oDocument->updateReadedCount(); + // 글 보기 권한을 체크해서 권한이 없으면 오류 메세지 출력하도록 처리 + if(!$this->grant->view) { + + $oDocument = null; + $oDocument = $oDocumentModel->getDocument(0, $this->grant->manager); + + Context::set('document_srl','',true); + + $this->alertMessage('msg_not_permitted'); + + + } else { + // 브라우저 타이틀 설정 + Context::setBrowserTitle($oDocument->getTitleText()); + + // 조회수 증가 + $oDocument->updateReadedCount(); + } } - } Context::set('oDocument', $oDocument); @@ -366,5 +386,15 @@ Context::set('comment_editor', $comment_editor); } + /** + * @brief 오류메세지를 system alert로 출력하는 method + * 특별한 오류를 알려주어야 하는데 별도의 디자인까지는 필요 없을 경우 페이지를 모두 그린후에 + * 오류를 출력하도록 함 + **/ + function alertMessage($message) { + $script = sprintf('', Context::getLang($message)); + Context::addHtmlHeader( $script ); + } + } ?> diff --git a/modules/board/conf/info.xml b/modules/board/conf/info.xml index 25e09f44f..2c42fa7c7 100644 --- a/modules/board/conf/info.xml +++ b/modules/board/conf/info.xml @@ -14,7 +14,7 @@ 게시판의 기능을 담당하는 모듈. 게시판의 생성/추가 관리등의 관리자 기능도 포함합니다.给用户提供相应版面功能,将包含版面的生成/添加及版面管理等管理员功能。Module of the board''s function. Also includes administrator functions such as creating/managing boards. - Módulo para el funcionamiento del tablero. Incluye funciones de administración como crear/ agregar o manejar los tableros. + Módulo para la función del tablero. Incluye funciones de administración como crear/ agregar o el manejo de los tableros.掲示板の機能を担うモジュールです。掲示板の生成・追加・管理などの管理者機能も含まれています。 diff --git a/modules/board/lang/es.lang.php b/modules/board/lang/es.lang.php index 7ffe1e6b7..eaa50f823 100644 --- a/modules/board/lang/es.lang.php +++ b/modules/board/lang/es.lang.php @@ -8,11 +8,10 @@ $lang->board = "Tablero"; // Palabras utilizadas en los botones - $lang->cmd_board_list = 'Lista del Tablero'; + $lang->cmd_board_list = 'Lista del tableros'; $lang->cmd_module_config = 'Configuración común del Tablero'; $lang->cmd_view_info = 'Información del Tablero'; $lang->move_target_module = "Módulo para cambiar de posición"; - $lang->about_board = "Este módulo es para crear y manejar los tableros.\nLuego de crear un Tablero, seleciona el nombre del módulo para la configuración más detallada.\nSea cuidadoso con el nombre del módulo, ya que va a ser la dirección URL. (ej : http://dominio/zb/?mid=nombre del módulo)"; + $lang->about_board = "Este módulo es para crear y manejar los tableros.\nLuego de crear un Tablero, seleciona el nombre del módulo para la configuración más detallada.\nSea cuidadoso con el nombre del módulo, ya que ese nombre va a ser la dirección URL. (ej : http://dominio/zb/?mid=nombre del módulo)"; ?> - diff --git a/modules/board/tpl/index.html b/modules/board/tpl/index.html index 609927602..d167638a1 100644 --- a/modules/board/tpl/index.html +++ b/modules/board/tpl/index.html @@ -1,4 +1,4 @@ - +
{nl2br($lang->about_board)}
diff --git a/modules/comment/comment.model.php b/modules/comment/comment.model.php index 5ac4f23f4..04fca7956 100644 --- a/modules/comment/comment.model.php +++ b/modules/comment/comment.model.php @@ -35,6 +35,7 @@ * @brief 댓글 가져오기 **/ function getComment($comment_srl, $is_admin = false) { + if(!$comment_srl) return; $args->comment_srl = $comment_srl; $output = executeQuery('comment.getComment', $args); $comment = $output->data; diff --git a/modules/comment/lang/es.lang.php b/modules/comment/lang/es.lang.php index cf3d28933..ba3b79299 100644 --- a/modules/comment/lang/es.lang.php +++ b/modules/comment/lang/es.lang.php @@ -1,23 +1,23 @@ - - * @brief Paquete lingual de módulo commentario. - **/ - $lang->cmd_delete_checked_comment = 'Eliminar la selección'; - - $lang->msg_cart_is_null = 'Seleccióna el commentario desea eliminar'; - $lang->msg_checked_comment_is_deleted = '%d commentarios ha eliminado.'; - - $lang->search_target_list = array( - 'content' => 'Contenido', - 'user_id' => 'ID', - 'user_name' => 'Nombre', - 'nick_name' => 'Apodo', - 'email_address' => 'Correo Electrónico', - 'homepage' => 'Pagina de web', - 'regdate' => 'Fecha de registro', - 'last_update' => 'Ultima actualización', - 'ipaddress' => 'Dirección IP', - ); -?> + + * @sumario Paquete del idioma español para el módulo de comentarios. + **/ + $lang->cmd_delete_checked_comment = 'Eliminar lo seleccionado' ; + + $lang->msg_cart_is_null = 'Selecciona el commentario que desea eliminar'; + $lang->msg_checked_comment_is_deleted = '%d comentario eliminado correctamente.'; + + $lang->search_target_list = array( + 'content' => 'Contenido', + 'user_id' => 'ID', + 'user_name' => 'Nombre', + 'nick_name' => 'Apodo', + 'email_address' => 'Correo Electrónico', + 'homepage' => 'Página web', + 'regdate' => 'Fecha del registro', + 'last_update' => 'Ultima actualización', + 'ipaddress' => 'Dirección IP', + ); +?> diff --git a/modules/counter/conf/info.xml b/modules/counter/conf/info.xml index be0e04522..e11de93e7 100644 --- a/modules/counter/conf/info.xml +++ b/modules/counter/conf/info.xml @@ -1,20 +1,20 @@ - - - 기본 카운터 - 访问统计 - Basic Counter - Taquilla Basico - 接続カウンター - - 제로 - zero - Zero - zero - Zero - 기본 접속 통계 프로그램입니다. - 默认访问统计程序。 - Basic connection statistics program. - Es la programa basica para conecciónes estaticos. - 接続統計のプログラムです。 - - + + + 기본 카운터 + 访问统计 + Basic Counter + Contador Básico + 接続カウンター + + 제로 + zero + Zero + zero + Zero + 기본 접속 통계 프로그램입니다. + 默认访问统计程序。 + Basic connection statistics program. + Programa básico para la estadística de la conección. + 接続統計のプログラムです。 + + diff --git a/modules/counter/lang/es.lang.php b/modules/counter/lang/es.lang.php index 6631260fc..9b081d1ae 100644 --- a/modules/counter/lang/es.lang.php +++ b/modules/counter/lang/es.lang.php @@ -1,22 +1,22 @@ - - * @brief Paquete lingual de taquilla - **/ - - $lang->counter = "Taquilla"; - $lang->cmd_select_date = 'Seleccióna Fecha'; - $lang->cmd_select_counter_type = array( - 'hour' => 'horas', - 'day' => 'dias', - 'month' => 'mes', - 'year' => 'año', - ); - - $lang->total_counter = 'Visitantes en total'; - $lang->selected_day_counter = 'Visitantes en diario'; - - $lang->unique_visitor = 'Visitas unicos'; - $lang->pageview = 'Páginas/visita'; -?> + + * @sumario Paquete del idioma español para el contador. + **/ + + $lang->counter = "Contador"; + $lang->cmd_select_date = 'Selecciona la fecha'; + $lang->cmd_select_counter_type = array( + 'hour' => 'por hora', + 'day' => 'por día', + 'month' => 'por mes', + 'year' => 'por año', + ); + + $lang->total_counter = 'Estado actual Total'; + $lang->selected_day_counter = 'Estado actual del día seleccionado'; + + $lang->unique_visitor = 'visitante'; + $lang->pageview = 'Ver página'; +?> diff --git a/modules/document/conf/info.xml b/modules/document/conf/info.xml index b9159dafa..a6d20d4d1 100644 --- a/modules/document/conf/info.xml +++ b/modules/document/conf/info.xml @@ -1,20 +1,20 @@ - - - 문서 - Document - Documento - 主题 - コンテンツ - - 제로 - Zero - zero - zero - Zero - 게시판, 블로그등의 모듈에서 사용되는 문서를 관리하는 모듈입니다. - Module for managing documents used in board, blog, etc. - Es el módulo para manejar documentos en blog y boletínes. - 管理版面,博客等处主题的模块。 - 掲示板、ブログなどのモジュルで使用されるドキュメント(書き込み)を管理するモジュルです。 - - + + + 문서 + Document + Documento + 主题 + コンテンツ + + 제로 + Zero + zero + zero + Zero + 게시판, 블로그등의 모듈에서 사용되는 문서를 관리하는 모듈입니다. + Module for managing documents used in board, blog, etc. + Módulo para manejar los documentos en blog y en los tableros. + 管理版面,博客等处主题的模块。 + 掲示板、ブログなどのモジュルで使用されるドキュメント(書き込み)を管理するモジュルです。 + + diff --git a/modules/document/lang/es.lang.php b/modules/document/lang/es.lang.php index ac320d263..137438f5c 100644 --- a/modules/document/lang/es.lang.php +++ b/modules/document/lang/es.lang.php @@ -1,37 +1,37 @@ - - * @brief Paquete lingual de módulo documento - **/ - - $lang->cmd_delete_checked_document = 'Eliminar selección'; - - $lang->msg_cart_is_null = 'Por favor selecciona documento para eliminar'; - $lang->msg_category_not_moved = 'No puede mover'; - $lang->msg_is_secret = 'es secreto'; - $lang->msg_checked_document_is_deleted = 'Eliminado %d documentos'; - - // Artículo de busqueda en la pantalla de administración - $lang->search_target_list = array( - 'title' => 'Título', - 'content' => 'Contenido', - 'user_id' => 'ID', - 'member_srl' => 'Numero de miembro', - 'user_name' => 'Nombre de usuario', - 'nick_name' => 'Apodo', - 'email_address' => 'Correo Electrónico', - 'homepage' => 'Pagina de web', - 'is_notice' => 'Noticia', - 'is_secret' => 'Secreto', - 'tags' => 'Etiqueta', - 'readed_count' => 'Leido', - 'voted_count' => 'Votado', - 'comment_count ' => 'Commentarios', - 'trackback_count ' => 'Trackback', - 'uploaded_count ' => 'Subido', - 'regdate' => 'Registrado', - 'last_update' => 'Ultimo actualizado', - 'ipaddress' => 'Dirección IP', - ); -?> + + * @sumario Paquete del idioma español para el módulo de documentos. + **/ + + $lang->cmd_delete_checked_document = 'Eliminar lo seleccionado'; + + $lang->msg_cart_is_null = 'Selecciona el documento que desea eliminar'; + $lang->msg_category_not_moved = 'No puede se movido'; + $lang->msg_is_secret = 'Es un documento secreto'; + $lang->msg_checked_document_is_deleted = 'Total de %d documentos han sido eliminados'; + + // Objetivo de búsqueda en la página del administrador + $lang->search_target_list = array( + 'title' => 'Título', + 'content' => 'Contenido', + 'user_id' => 'ID', + 'member_srl' => 'Número del usuario', + 'user_name' => 'Nombre del usuario', + 'nick_name' => 'Apodo', + 'email_address' => 'Correo Electrónico', + 'homepage' => 'Página web', + 'is_notice' => 'Aviso', + 'is_secret' => 'Secreto', + 'tags' => 'Etiqueta', + 'readed_count' => 'Número de leídos (sobre)', + 'voted_count' => 'Número de recomnedados (sobre)', + 'comment_count ' => 'Número de comentarios (sobre)', + 'trackback_count ' => 'Número de Trackback (sobre)', + 'uploaded_count ' => 'Número de archivos adjuntos (sobre)', + 'regdate' => 'Día del registro', + 'last_update' => 'Día de la última actualización', + 'ipaddress' => 'Dirección IP', + ); +?> diff --git a/modules/editor/components/emoticon/emoticon.class.php b/modules/editor/components/emoticon/emoticon.class.php index f808ac97d..be706e193 100644 --- a/modules/editor/components/emoticon/emoticon.class.php +++ b/modules/editor/components/emoticon/emoticon.class.php @@ -19,6 +19,32 @@ $this->component_path = $component_path; } + /** + * @brief 재귀적으로 이모티콘이 될 법한 파일들을 하위 디렉토리까지 전부 검색한다. 8,000개까지는 테스트 해봤는데 스택오버프로우를 일으킬지 어떨지는 잘 모르겠음.(2007.9.6, 베니) + **/ + function getEmoticons($path, $source_path) { + $path = ereg_replace('\/$','',$path); + $output = array(); + + $oDir = dir($path); + while($file = $oDir->read()) { + if(in_array($file, array('.','..'))) continue; + + $new_path = $path.'/'.$file; + + if(is_dir($new_path)) { + $sub_output = $this->getEmoticons($new_path, $source_path); + if(is_array($sub_output) && count($sub_output)) $output = array_merge($output, $sub_output); + } + + if(eregi('(jpg|jpeg|gif|png)$',$new_path)) $output[] = str_replace($source_path.'/', '', $new_path); + } + + $oDir->close(); + + return $output; + } + /** * @brief popup window요청시 popup window에 출력할 내용을 추가하면 된다 **/ @@ -30,12 +56,41 @@ Context::set("tpl_path", $tpl_path); // 이모티콘을 모두 가져옴 - $emoticon_list = FileHandler::readDir($tpl_path.'/images'); + + $emoticon_path = sprintf('%s%s/images',eregi_replace('^\.\/','',$this->component_path),'tpl','images'); + $emoticon_list = $this->getEmoticons($emoticon_path, $emoticon_path); Context::set('emoticon_list', $emoticon_list); $oTemplate = &TemplateHandler::getInstance(); return $oTemplate->compile($tpl_path, $tpl_file); } + /** + * @brief 이모티콘의 경로 문제 해결을 하기 위해 추가하였다. (2007.9.6 베니) + **/ + function transHTML($xml_obj) { + $src = $xml_obj->attrs->src; + $alt = $xml_obj->attrs->alt; + + if(!$alt) { + $tmp_arr = explode('/',$src); + $alt = array_pop($tmp_arr); + } + + $src = str_replace(array('&','"'), array('&','&qout;'), $src); + if(!$alt) $alt = $src; + + $attr_output = array(); + $attr_output = array("src=\"".$src."\""); + + if($alt) { + $attr_output[] = "alt=\"".$alt."\""; + } + if(eregi("\.png$",$src)) $attr_output[] = "class=\"iePngFix\""; + + $code = sprintf("", implode(" ",$attr_output)); + + return $code; + } } ?> diff --git a/modules/editor/components/emoticon/tpl/images/msn001.gif b/modules/editor/components/emoticon/tpl/images/msn/msn001.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn001.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn001.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn002.gif b/modules/editor/components/emoticon/tpl/images/msn/msn002.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn002.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn002.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn003.gif b/modules/editor/components/emoticon/tpl/images/msn/msn003.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn003.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn003.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn004.gif b/modules/editor/components/emoticon/tpl/images/msn/msn004.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn004.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn004.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn005.gif b/modules/editor/components/emoticon/tpl/images/msn/msn005.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn005.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn005.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn006.gif b/modules/editor/components/emoticon/tpl/images/msn/msn006.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn006.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn006.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn007.gif b/modules/editor/components/emoticon/tpl/images/msn/msn007.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn007.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn007.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn008.gif b/modules/editor/components/emoticon/tpl/images/msn/msn008.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn008.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn008.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn009.gif b/modules/editor/components/emoticon/tpl/images/msn/msn009.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn009.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn009.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn010.gif b/modules/editor/components/emoticon/tpl/images/msn/msn010.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn010.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn010.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn011.gif b/modules/editor/components/emoticon/tpl/images/msn/msn011.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn011.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn011.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn012.gif b/modules/editor/components/emoticon/tpl/images/msn/msn012.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn012.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn012.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn013.gif b/modules/editor/components/emoticon/tpl/images/msn/msn013.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn013.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn013.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn014.gif b/modules/editor/components/emoticon/tpl/images/msn/msn014.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn014.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn014.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn015.gif b/modules/editor/components/emoticon/tpl/images/msn/msn015.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn015.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn015.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn016.gif b/modules/editor/components/emoticon/tpl/images/msn/msn016.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn016.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn016.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn017.gif b/modules/editor/components/emoticon/tpl/images/msn/msn017.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn017.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn017.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn018.gif b/modules/editor/components/emoticon/tpl/images/msn/msn018.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn018.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn018.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn019.gif b/modules/editor/components/emoticon/tpl/images/msn/msn019.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn019.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn019.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn020.gif b/modules/editor/components/emoticon/tpl/images/msn/msn020.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn020.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn020.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn021.gif b/modules/editor/components/emoticon/tpl/images/msn/msn021.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn021.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn021.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn022.gif b/modules/editor/components/emoticon/tpl/images/msn/msn022.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn022.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn022.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn023.gif b/modules/editor/components/emoticon/tpl/images/msn/msn023.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn023.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn023.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn024.gif b/modules/editor/components/emoticon/tpl/images/msn/msn024.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn024.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn024.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn025.gif b/modules/editor/components/emoticon/tpl/images/msn/msn025.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn025.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn025.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn026.gif b/modules/editor/components/emoticon/tpl/images/msn/msn026.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn026.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn026.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn027.gif b/modules/editor/components/emoticon/tpl/images/msn/msn027.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn027.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn027.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn028.gif b/modules/editor/components/emoticon/tpl/images/msn/msn028.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn028.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn028.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn029.gif b/modules/editor/components/emoticon/tpl/images/msn/msn029.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn029.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn029.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn030.gif b/modules/editor/components/emoticon/tpl/images/msn/msn030.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn030.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn030.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn031.gif b/modules/editor/components/emoticon/tpl/images/msn/msn031.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn031.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn031.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn032.gif b/modules/editor/components/emoticon/tpl/images/msn/msn032.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn032.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn032.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn033.gif b/modules/editor/components/emoticon/tpl/images/msn/msn033.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn033.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn033.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn034.gif b/modules/editor/components/emoticon/tpl/images/msn/msn034.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn034.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn034.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn035.gif b/modules/editor/components/emoticon/tpl/images/msn/msn035.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn035.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn035.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn036.gif b/modules/editor/components/emoticon/tpl/images/msn/msn036.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn036.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn036.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn037.gif b/modules/editor/components/emoticon/tpl/images/msn/msn037.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn037.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn037.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn038.gif b/modules/editor/components/emoticon/tpl/images/msn/msn038.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn038.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn038.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn039.gif b/modules/editor/components/emoticon/tpl/images/msn/msn039.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn039.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn039.gif diff --git a/modules/editor/components/emoticon/tpl/images/msn040.gif b/modules/editor/components/emoticon/tpl/images/msn/msn040.gif similarity index 100% rename from modules/editor/components/emoticon/tpl/images/msn040.gif rename to modules/editor/components/emoticon/tpl/images/msn/msn040.gif diff --git a/modules/editor/components/emoticon/tpl/popup.css b/modules/editor/components/emoticon/tpl/popup.css index 20a142957..35c87a1b0 100644 --- a/modules/editor/components/emoticon/tpl/popup.css +++ b/modules/editor/components/emoticon/tpl/popup.css @@ -1,6 +1,6 @@ @charset "utf-8"; -@import url(../../../../../../modules/admin/tpl/css/admin.css); +@import url(../../../../../modules/admin/tpl/css/admin.css); img.emoticon { margin:10px; diff --git a/modules/editor/components/emoticon/tpl/popup.js b/modules/editor/components/emoticon/tpl/popup.js index 8a99f6f25..478b747ab 100644 --- a/modules/editor/components/emoticon/tpl/popup.js +++ b/modules/editor/components/emoticon/tpl/popup.js @@ -1,9 +1,9 @@ function insertEmoticon(obj) { if(typeof(opener)=='undefined') return; - var url = obj.src.replace(request_uri,'/'); - var text = "\"emoticon\""; - + var url = obj.src.replace(request_uri,''); + var text = "\"emoticon\""; + opener.editorFocus(opener.editorPrevSrl); var iframe_obj = opener.editorGetIFrame(opener.editorPrevSrl) diff --git a/modules/editor/components/image_gallery/tpl/popup.css b/modules/editor/components/image_gallery/tpl/popup.css index 07fe31b57..5f5c689a7 100644 --- a/modules/editor/components/image_gallery/tpl/popup.css +++ b/modules/editor/components/image_gallery/tpl/popup.css @@ -1,5 +1,5 @@ @charset "utf-8"; -@import url(../../../../../../modules/admin/tpl/css/admin.css); +@import url(../../../../../modules/admin/tpl/css/admin.css); li { float:left; list-style:none; margin-right:5px; } diff --git a/modules/editor/components/image_link/tpl/popup.css b/modules/editor/components/image_link/tpl/popup.css index 982c99327..35a990cc9 100644 --- a/modules/editor/components/image_link/tpl/popup.css +++ b/modules/editor/components/image_link/tpl/popup.css @@ -1,5 +1,5 @@ @charset "utf-8"; -@import url(../../../../../../modules/admin/tpl/css/admin.css); +@import url(../../../../../modules/admin/tpl/css/admin.css); .image_align { margin:0px 0px 5px 0px; diff --git a/modules/editor/components/multimedia_link/tpl/popup.css b/modules/editor/components/multimedia_link/tpl/popup.css index 7b1334f4d..e4e3745ef 100644 --- a/modules/editor/components/multimedia_link/tpl/popup.css +++ b/modules/editor/components/multimedia_link/tpl/popup.css @@ -1,2 +1,2 @@ @charset "utf-8"; -@import url(../../../../../../modules/admin/tpl/css/admin.css); +@import url(../../../../../modules/admin/tpl/css/admin.css); diff --git a/modules/editor/components/poll_maker/tpl/popup.css b/modules/editor/components/poll_maker/tpl/popup.css index 9835ccc69..a85f967ec 100644 --- a/modules/editor/components/poll_maker/tpl/popup.css +++ b/modules/editor/components/poll_maker/tpl/popup.css @@ -1,5 +1,5 @@ @charset "utf-8"; -@import url(../../../../../../modules/admin/tpl/css/admin.css); +@import url(../../../../../modules/admin/tpl/css/admin.css); .pollButton { clear:both; margin:.5em 0 0 0; height:20px; } .pollButton label { vertical-align:middle; color:#888888; } diff --git a/modules/editor/components/quotation/tpl/popup.css b/modules/editor/components/quotation/tpl/popup.css index e16db9862..29361e224 100644 --- a/modules/editor/components/quotation/tpl/popup.css +++ b/modules/editor/components/quotation/tpl/popup.css @@ -1,5 +1,5 @@ @charset "utf-8"; -@import url(../../../../../../modules/admin/tpl/css/admin.css); +@import url(../../../../../modules/admin/tpl/css/admin.css); #folder_area { clear:left; } diff --git a/modules/editor/components/table_maker/tpl/popup.css b/modules/editor/components/table_maker/tpl/popup.css index bd9498e7f..d488d7274 100644 --- a/modules/editor/components/table_maker/tpl/popup.css +++ b/modules/editor/components/table_maker/tpl/popup.css @@ -1,5 +1,5 @@ @charset "utf-8"; -@import url(../../../../../../modules/admin/tpl/css/admin.css); +@import url(../../../../../modules/admin/tpl/css/admin.css); #table_option { border:1px solid #EEEEEE; padding:.5em; color:#555555; font-weight:bold; } #table_option input { vertical-align:middle; } diff --git a/modules/editor/components/url_link/tpl/popup.css b/modules/editor/components/url_link/tpl/popup.css index c69878329..b13d6170f 100644 --- a/modules/editor/components/url_link/tpl/popup.css +++ b/modules/editor/components/url_link/tpl/popup.css @@ -1,4 +1,4 @@ @charset "utf-8"; -@import url(../../../../../../modules/admin/tpl/css/admin.css); +@import url(../../../../../modules/admin/tpl/css/admin.css); .link_color { float:left; margin-right:2em; } diff --git a/modules/editor/conf/info.xml b/modules/editor/conf/info.xml index 7afe58926..4843e2c7e 100644 --- a/modules/editor/conf/info.xml +++ b/modules/editor/conf/info.xml @@ -1,20 +1,20 @@ - - - 위지윅 에디터 - WYSIWYG Editor - Editor WYSIWYG - 网页编辑器 - エディター - - 제로 - Zero - zero - zero - Zero - 위지윅 에디터를 출력하거나 에디터 컴포넌트들을 관리/중계하는 모듈입니다. - Module for displaying WYSIWYG editor and managing/relaying editor components. - Manejar/ transmitir módulo de componentes editores o muestra WYSIWYG editores. - 显示网页编辑器或管理/传递编辑器组件的模块。 - ウィジウィグエディター を出力したり、エディターのコンポネントを管理中継するモジュールです。 - - + + + 위지윅 에디터 + WYSIWYG Editor + Editor WYSIWYG + 网页编辑器 + エディター + + 제로 + Zero + zero + zero + Zero + 위지윅 에디터를 출력하거나 에디터 컴포넌트들을 관리/중계하는 모듈입니다. + Module for displaying WYSIWYG editor and managing/relaying editor components. + Módulo para mostrar en la pantalla el editor de WYSIWYG y para el manejo/relato de los componentes del editor. + 显示网页编辑器或管理/传递编辑器组件的模块。 + ウィジウィグエディター を出力したり、エディターのコンポネントを管理中継するモジュールです。 + + diff --git a/modules/editor/editor.model.php b/modules/editor/editor.model.php index 6b24ad93e..206f03f0f 100644 --- a/modules/editor/editor.model.php +++ b/modules/editor/editor.model.php @@ -135,7 +135,7 @@ function getComponentObject($component, $upload_target_srl = 0) { if(!$this->loaded_component_list[$component][$upload_target_srl]) { // 해당 컴포넌트의 객체를 생성해서 실행 - $class_path = sprintf('%s/components/%s/', $this->module_path, $component); + $class_path = sprintf('%scomponents/%s/', $this->module_path, $component); $class_file = sprintf('%s%s.class.php', $class_path, $component); if(!file_exists($class_file)) return new Object(-1, sprintf(Context::getLang('msg_component_is_not_founded'), $component)); @@ -170,9 +170,10 @@ if(!is_array($db_list)) $db_list = array($db_list); foreach($db_list as $component) { if(in_array($component->component_name, array('colorpicker_text','colorpicker_bg'))) continue; - if(!$component->component_name) continue; - $component_name = $component->component_name; + if(!$component_name) continue; + + if(!in_array($component_name, $downloaded_list)) continue; unset($xml_info); $xml_info = $this->getComponentXmlInfo($component_name); diff --git a/modules/editor/lang/es.lang.php b/modules/editor/lang/es.lang.php index df071d902..52c9278d4 100644 --- a/modules/editor/lang/es.lang.php +++ b/modules/editor/lang/es.lang.php @@ -1,85 +1,85 @@ - - * @brief Paquete lingual de editor WYSIWYG - **/ - - $lang->editor = "Editor WYSIWYG"; - $lang->component_name = "Componente"; - $lang->component_version = "Versin"; - $lang->component_author = "Autor"; - $lang->component_link = "Enlace"; - $lang->component_date = "Fecha"; - $lang->component_description = "Descripcin"; - $lang->component_extra_vars = "Varibles Extras"; - $lang->component_grant = "Autoridad"; - - $lang->about_component = "Sobre Componente"; - $lang->about_component_grant = "Puede usar el funcion solo grupos selecinado"; - - $lang->msg_component_is_not_founded = 'No puede buscar componente editor %s'; - $lang->msg_component_is_inserted = 'Ya habia insertado el componente'; - $lang->msg_component_is_first_order = 'Componente selecinado esta ordenado en primero lugar'; - $lang->msg_component_is_last_order = 'Componente selecinado esta ordenado en ultimo lugar'; - $lang->msg_load_saved_doc = "Hay documento guardado automaticamente. Desea recuperarlo?\nDespues de guardar el documento temporal van a eliminado."; - $lang->msg_auto_saved = "Documento guardado automaticamente"; - - $lang->cmd_disable = "Activado"; - $lang->cmd_enable = "Desactivado"; - - $lang->edit->fontname = 'Font'; - $lang->edit->fontsize = 'Size'; - $lang->edit->use_paragraph = 'Paragraph Function'; - $lang->edit->fontlist = array( - "Gulim", - "Dodum", - "Batang", - "Goongseo", - "times", - "Courier", - "Tahoma", - "Arial", - ); - - $lang->edit->header = "Style"; - $lang->edit->header_list = array( - "h1" => "Subject 1", - "h2" => "Subject 2", - "h3" => "Subject 3", - "h4" => "Subject 4", - "h5" => "Subject 5", - "h6" => "Subject 6", - ); - - $lang->edit->submit = 'Submit'; - - $lang->edit->help_fontcolor = "Select font color"; - $lang->edit->help_fontbgcolor = "Select background color of font"; - $lang->edit->help_bold = "Make font bold"; - $lang->edit->help_italic = "Make italic font"; - $lang->edit->help_underline = "Underline font"; - $lang->edit->help_strike = "Strike font"; - $lang->edit->help_redo = "Redo"; - $lang->edit->help_undo = "Undo"; - $lang->edit->help_align_left = "Align left"; - $lang->edit->help_align_center = "Align center"; - $lang->edit->help_align_right = "Align right"; - $lang->edit->help_add_indent = "Add indent"; - $lang->edit->help_remove_indent = "Remove indent"; - $lang->edit->help_list_number = "Apply number list"; - $lang->edit->help_list_bullet = "Apply bullet list"; - $lang->edit->help_use_paragrapth = "Press Ctrl+Enter to use paragraph. (Press Alt+S to save)"; - - $lang->edit->upload = 'Attachment'; - $lang->edit->upload_file = 'Attach'; - $lang->edit->link_file = 'Insert to Content'; - $lang->edit->delete_selected = 'Delete Selected'; - - $lang->edit->icon_align_article = 'Occupy a paragraph'; - $lang->edit->icon_align_left = 'Align Left'; - $lang->edit->icon_align_middle = 'Align Center'; - $lang->edit->icon_align_right = 'Align Right'; - - $lang->about_dblclick_in_editor = 'You are able to set detail component configure by double-clicking on background, text, images, or quotations'; -?> + + * @sumario Paquete del idioma español para el editor de WYSIWYG + **/ + + $lang->editor = "Editor WYSIWYG"; + $lang->component_name = "Componente"; + $lang->component_version = "Versión"; + $lang->component_author = "Autor"; + $lang->component_link = "Enlace"; + $lang->component_date = "Fecha"; + $lang->component_description = "Descripción"; + $lang->component_extra_vars = "Varibles Extras"; + $lang->component_grant = "Ajuste de las atribuciones"; + + $lang->about_component = "Presentación del componente"; + $lang->about_component_grant = "Sólo los grupos seleccionados pueden ser usados (Si desactiva el modo se puede usar todos)"; + + $lang->msg_component_is_not_founded = 'No se puede encontrar el componente del editor %s'; + $lang->msg_component_is_inserted = 'El componente seleccionado ya esta insertado'; + $lang->msg_component_is_first_order = 'El componente seleccionado se localiza en la primera posición'; + $lang->msg_component_is_last_order = 'El componente seleccionado se localiza en la última posición'; + $lang->msg_load_saved_doc = "Existe un documento guardado automáticamente ¿desea recuperarlo ?\nDespués de guardar el documento escrito, el documento autoguardado sera eliminado."; + $lang->msg_auto_saved = "Documento guardado automáticamente"; + + $lang->cmd_disable = "Desactivado"; + $lang->cmd_enable = "activado"; + + $lang->edit->fontname = 'Fuente'; + $lang->edit->fontsize = 'Tamaño'; + $lang->edit->use_paragraph = 'Párrafo'; + $lang->edit->fontlist = array( + "Gulim", + "Dodum", + "Batang", + "Goongseo", + "times", + "Courier", + "Tahoma", + "Arial", + ); + + $lang->edit->header = "Estilo"; + $lang->edit->header_list = array( + "h1" => "Título 1", + "h2" => "Título 2", + "h3" => "Título 3", + "h4" => "Título 4", + "h5" => "Título 5", + "h6" => "Título 6", + ); + + $lang->edit->submit = 'Confirmar'; + + $lang->edit->help_fontcolor = "Selecciona el color de las letras"; + $lang->edit->help_fontbgcolor = "Selecciona el color del fondo de la letras"; + $lang->edit->help_bold = "Letra gruesa"; + $lang->edit->help_italic = "Letra cursiva"; + $lang->edit->help_underline = "Letra subrayada"; + $lang->edit->help_strike = "Letra con linea"; + $lang->edit->help_redo = "Rehacer"; + $lang->edit->help_undo = "Deshacer"; + $lang->edit->help_align_left = "Margen izquierdo"; + $lang->edit->help_align_center = "Margen central"; + $lang->edit->help_align_right = "Margen derecho"; + $lang->edit->help_add_indent = "Anadir tabulación"; + $lang->edit->help_remove_indent = "Quitar tabulación"; + $lang->edit->help_list_number = "Aplicar la lista con números"; + $lang->edit->help_list_bullet = "Aplicar la lista con símbolos"; + $lang->edit->help_use_paragrapth = "Presiona Ctrl+Enter para usar el párrafo (Presiona Alt+S para guardar)"; + + $lang->edit->upload = 'Adjuntar'; + $lang->edit->upload_file = 'Archivo adjunto'; + $lang->edit->link_file = 'Insertar en el contenido del documento'; + $lang->edit->delete_selected = 'Eliminar lo seleccionado'; + + $lang->edit->icon_align_article = 'Ocupar un párrafo'; + $lang->edit->icon_align_left = 'Margen izquierdo'; + $lang->edit->icon_align_middle = 'Margen central'; + $lang->edit->icon_align_right = 'Margen derecho'; + + $lang->about_dblclick_in_editor = 'Para la configuracion más detallada debera hacer dobleclick sobre el texto, imagen, fondo, etc.'; +?> diff --git a/modules/editor/skins/default/css/editor.css b/modules/editor/skins/default/css/editor.css index f25c0d957..e5360be36 100644 --- a/modules/editor/skins/default/css/editor.css +++ b/modules/editor/skins/default/css/editor.css @@ -22,6 +22,7 @@ .xeEditor .editorInfo { background:#fbfbfb; padding:.5em; border:1px solid #e1e1dd; color:#999999; position:relative; margin:5px 20px 0 20px;} .xeEditor .close { cursor:pointer; position:absolute; top:3px; right:3px; _top:3px; _right:25px;} .xeEditor .editor_iframe_box { background:#ffffff; clear:both; border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:.5em; margin:0 20px 0 20px; } +.xeEditor .editor_iframe_textarea { background:#ffffff; clear:both; border:1px solid; border-color:#a6a6a6 #d8d8d8 #d8d8d8 #a6a6a6; padding:.5em; margin:0 20px 0 20px; width:100%; font-size:1em; display:none;} .xeEditor .textAreaDragIndicator { text-align:center; background:url(../images/lineTextAreaDrag.gif) repeat-x left center; padding:5px 0 5px 0; } .xeEditor .textAreaDragIndicatorBar { background:url(../images/buttonTextAreaDrag.gif) no-repeat center; cursor:move;height:14px;} diff --git a/modules/editor/skins/default/editor.html b/modules/editor/skins/default/editor.html index c5bdae6d6..67335a371 100644 --- a/modules/editor/skins/default/editor.html +++ b/modules/editor/skins/default/editor.html @@ -129,7 +129,8 @@
 
-
+
+
diff --git a/modules/editor/tpl/js/editor.js b/modules/editor/tpl/js/editor.js index 532ecbe21..04a48c5eb 100755 --- a/modules/editor/tpl/js/editor.js +++ b/modules/editor/tpl/js/editor.js @@ -6,6 +6,7 @@ // iframe의 id prefix var iframe_id = 'editor_iframe_'; +var textarea_id = 'editor_textarea_'; // upload_target_srl에 대한 form문을 객체로 보관함 var editor_form_list = new Array(); @@ -19,6 +20,12 @@ function editorGetIFrame(upload_target_srl) { return xGetElementById(obj_id); } +// upload_target_srl값에 해당하는 textarea object를 return +function editorGetTextArea(upload_target_srl) { + var obj_id = textarea_id+upload_target_srl; + return xGetElementById(obj_id); +} + // editor 시작 (upload_target_srl로 iframe객체를 얻어서 쓰기 모드로 전환) function editorStart(upload_target_srl, resizable, editor_height) { if(typeof(resizable)=="undefined"||!resizable) resizable = false; @@ -61,6 +68,7 @@ function editorStart(upload_target_srl, resizable, editor_height) { var contentHtml = ''+ ''+ ''+ + ''+ ''+ ''+ '
{$lang->env_setup}
{$lang->use_rewrite} - checked="checked" /> + checked="checked" />

{$lang->about_rewrite}