| Código: ######################################################## ## MOD Title: [phpBB3] Simple Hide BBcode MOD ## MOD Author: ycl6 <ycl6> (Y.C. LIN) http://macphpbbmod.sourceforge.net/ ## MOD Descripcion: Con el [hide] bbcode, Los miembros pueden ocultar cualquier contenido de sus mensajes de personas que no han respondido a sus temas. ## MOD Version: 0.3.0 ## ## Nivel de instalacion: Facil ## Tiempo necesario para la instalación: 15 Minutos ## ## Ficheros a editar: 8 ## posting.php ## search.php ## viewtopic.php ## includes/bbcode.php ## includes/constants.php ## includes/functions_posting.php ## includes/message_parser.php ## includes/ucp/ucp_pm_compose.php ## ## Archivos incluidos: 1 ## root/language/en/mods/simple_hide_bbcode.php ## ## Licencia: http://opensource.org/licenses/gpl-license.php GNU General Public License v2 ################################################################# ## Para aseugurar su rendimiento por favor mirar: http://www.phpbb.com/mods/ ## para obtener la ultima version de este mod. No obstante los MODs estan actualizados ## antes de comenzar, La base de datos no garantiza que no existan problemas de seguridad en este MOD. No se da soporte para Mod que no haya sido obtenido desde la base de datos de http://www.phpbb.com/mods/ ############################################################## ## Notas de el autor: ## Probado en phpBB 3.0.0 RC5. ## Los cambios para los templantes los encuentras en el folder"templates" , por favor lea; Theme_Compatibility.txt ## Templantes que soportan en mod facilmente: ## * prosilver ## * subsilver2 ## * Serenity (default) ## * AcidTech (default) ## * eTech (default) ## * Brushed Metal ## * efusion ## * Robot_Brown ## * Echotech ## * Odyssey ## * darkgreen ## ## Monitoreo de el estado de actualizacion : http://sourceforge.net/project/filemodule_monitor.php?filemodule_id=237423 ## ############################################################## ## Historial de el MOD: ## ## 2007-07-01 - Version 0.0.1 ## - Inicio de proceso para examen BETA ## ## 2007-07-05 - Version 0.1.1 ## - Reparado error que causaba a el [hide] bbcode desaparecer cuando se citaba el tema (Baltimorea) ## - Agregado cambios MOD para el templante Serenity (default) template ## ## 2007-07-12 - Version 0.2.1 - Reparar una formato DESPUÉS, Agregar MOD acción # # - Cambie el valor por defecto HIDE_BBCODE_ID a 1000 # # - Hacer algunos cambios en la instrucción de bricolaje # # - Agregó MOD cambios para un par de plantillas # # - Probado en phpBB3 RC3 ## ## 2007-07-18 - Version 0.2.3 ## -- Fijar un error que causaba ocultar el mostrar contenido durante PM (davejo90) # # - Agregó MOD cambios para fusion de plantillas # # ## ## 2007-07-28 - Version 0.2.5 ## -- Hacer funciones globales y mostrar en functions_posting.php # # - Reparar ocultar / mostrar para archivos adjuntos # # - Super permiso para los Administradores y moderadores para poder eliminarlo, para que este nuevo, utiliza siempre el add-on # # ## 2007-08-26 - Version 0.3.0 ## - Uso de el correcto phpBB3 sistema lang y sus funciones ## - Probado en phpBB3 RC5 ## ############################################################## ## Antes de añadir este MOD a su foro, debe realizar copias de seguridad de todos los archivos relacionados con este mod ##############################################################
# #-----[ Copiar ]------------------------------------------ # copy root/language/en/mods/simple_hide_bbcode.php to language/en/mods/simple_hide_bbcode.php # #-----[ Abrir]------------------------------------------ # posting.php # #-----[ Encontrar ]------------------------------------------ # trigger_error('BUMP_ERROR'); } # #-----[ Despues, Agregar]------------------------------------------ # // Check if the topic viewer has posted in a topic $unhide = false; if ($user->data['user_id'] != ANONYMOUS) { $sql = "SELECT poster_id, topic_id FROM " . POSTS_TABLE . " WHERE topic_id = $topic_id AND poster_id = " . $user->data['user_id'];
$result = $db->sql_query($sql); $unhide = $db->sql_affectedrows($result) ? true : false; $db->sql_freeresult($result); } # #-----[Encontrar]------------------------------------------ # $message_parser->message = &$post_data['post_text']; # #-----[ Despues, Agregar ]------------------------------------------ # $uid = $post_data['bbcode_uid']; $user->add_lang('mods/simple_hide_bbcode');
if ($mode == 'edit' or $unhide == true) { $message_parser->message = $message_parser->message; } else { $message_parser->message = preg_replace("#\[hide:$uid\].*?\[/hide:$uid\]#ise", "\$user->lang['HIDDEN_MESSAGE']", $message_parser->message); } # #-----[ Encontrar]------------------------------------------ # $preview_message = $message_parser->format_display($post_data['enable_bbcode'], $post_data['enable_urls'], $post_data['enable_smilies'], false); # #-----[ Encontrar IN-LINE ]------------------------------------------ # , $post_data['enable_smilies'], false # #-----[Despues IN-LINE , Agregar]------------------------------------------ # , $unhide # #-----[ Abrir]------------------------------------------ # viewtopic.php # #-----[ Encontrar ]------------------------------------------ # $auth->acl($user->data); # #-----[ Despues, Agregar ]------------------------------------------ # $user->setup('mods/simple_hide_bbcode'); # #-----[ Encontrar ]------------------------------------------ # // Instantiate BBCode if need be # #-----[ Antes, Aagregar]------------------------------------------ # // Check if the topic viewer has posted in a topic $unhide = false; if ($user->data['user_id'] != ANONYMOUS) { $sql = "SELECT poster_id, topic_id FROM " . POSTS_TABLE . " WHERE topic_id = $topic_id AND poster_id = " . $user->data['user_id'];
$result = $db->sql_query($sql); $unhide = $db->sql_affectedrows($result) ? true : false; $db->sql_freeresult($result); } $user->add_lang('mods/simple_hide_bbcode'); # #-----[ Encontrar ]------------------------------------------ # $bbcode = new bbcode(base64_encode($bbcode_bitfield)); # #-----[ Encontrar IN-LINE ]------------------------------------------ # $bbcode_bitfield) # #-----[ Encontrar IN-LINE , Agregar]------------------------------------------ # , $unhide # #-----[ Encontrar ]------------------------------------------ # 'S_HAS_ATTACHMENTS' => (!empty($attachments[$row['post_id']])) ? true : false, # #-----[ Encontrar IN-LINE ]------------------------------------------ # $row['post_id']]) # #-----[ Encontrar IN-LINE , Agregar ]------------------------------------------ # && $unhide == true # #-----[ Abrir ]------------------------------------------ # search.php # #-----[ Encontrar ]------------------------------------------ # $user->setup('search'); # #-----[ Despues, Agregar ]------------------------------------------ # $user->setup('mods/simple_hide_bbcode'); # #-----[ Abrir ]------------------------------------------ # includes/bbcode.php # #-----[ Encontrar ]------------------------------------------ # global $user, $phpbb_root_path; # #-----[ Despues, Agregar ]------------------------------------------ # global $unhide; # #-----[ Encontrar]------------------------------------------ # default: if (isset($rowset[$bbcode_id])) # #-----[ Antes, Agregar]------------------------------------------ # case HIDE_BBCODE_ID: $this->bbcode_cache[$bbcode_id] = array( 'preg' => array( '#\[hide:$uid\](.*?)\[/hide:$uid\]#ise' => "\$this->bbcode_second_pass_hide('\$1', '$unhide')", ) ); break; # #-----[ Encontrar ]------------------------------------------ # }
?> # #-----[ Antes, Agregar ]------------------------------------------ # /** * Second parse hide tag */ function bbcode_second_pass_hide($message, $unhide = true) { // when using the /e modifier, preg_replace slashes double-quotes but does not // seem to slash anything else $message = str_replace('\"', '"', $message);
// remove newline at the beginning if ($message == "\n") { $message = ''; }
if ($unhide == true) { $message = $this->bbcode_tpl('unhide_open') . $message . $this->bbcode_tpl('unhide_close'); } else { $message = $this->bbcode_tpl('hide'); }
return $message; } # #-----[ Abrir ]------------------------------------------ # includes/constants.php # #-----[ Encontrar ]------------------------------------------ # // Additional constants # #-----[ Despues, Agregar ]------------------------------------------ # define('HIDE_BBCODE_ID', 1000); # #-----[ Abrir ]------------------------------------------ # includes/functions_posting.php # #-----[ Encontrar ]------------------------------------------ # global $config, $phpbb_root_path, $phpEx; # #-----[ Despues, Agregar ]------------------------------------------ # global $unhide; # #-----[ Encontrar]------------------------------------------ # $decoded_message = $message; # #-----[ Despues, Agregar ]------------------------------------------ # $uid = $row['bbcode_uid']; $user->add_lang('mods/simple_hide_bbcode');
if ($unhide == true) { $decoded_message = preg_replace("#\[hide:$uid\](.*?)\[/hide:$uid\]#ise", "'\\1'", $decoded_message); } else { $decoded_message = preg_replace("#\[hide:$uid\].*?\[/hide:$uid\]#ise", "\$user->lang['HIDDEN_MESSAGE']", $decoded_message); } # #-----[ Abrir ]------------------------------------------ # includes/message_parser.php # #-----[ Encontrar ]------------------------------------------ # function format_display($allow_bbcode, $allow_magic_url, $allow_smilies, $update_this_message = true) # #-----[ Encontrar IN-LINE ]------------------------------------------ # , $update_this_message = true # #-----[ Despues IN-LINE , Agregar ]------------------------------------------ # , $unhide = true # #-----[ Encontrar ]------------------------------------------ # function decode_message($custom_bbcode_uid = '', $update_this_message = true) # #-----[ Despues IN-LINE ]------------------------------------------ # , $update_this_message = true # #-----[ Despues IN-LINE , Agregar ]------------------------------------------ # , $unhide = true # #-----[ Abrir ]------------------------------------------ # includes/ucp/ucp_pm_compose.php # #-----[ Encontrar ]------------------------------------------ # $message_parser = new parse_message();
$message_parser->message = ($action == 'reply') ? '' : $message_text; unset($message_text); # #-----[ Antes, Agregar ]------------------------------------------ # // Check if the topic viewer has posted in a topic $unhide = false; if ($user->data['user_id'] != ANONYMOUS) { $sql = "SELECT poster_id, topic_id FROM " . POSTS_TABLE . " WHERE post_id = $msg_id AND poster_id = " . $user->data['user_id'];
$result = $db->sql_query($sql); $unhide = $db->sql_affectedrows($result) ? true : false; $db->sql_freeresult($result); } # #-----[ Despues, Agregar ]------------------------------------------ # $user->add_lang('mods/simple_hide_bbcode'); if ($unhide == true) { $message_parser->message = $message_parser->message; } else { $message_parser->message = preg_replace("#\[hide\].*?\[/hide\]#ise", "\$user->lang['HIDDEN_MESSAGE']", $message_parser->message); } # #-----[ Instrucciones]------------------------------------------ # Hay dos partes que necesitas cambiar manualmente.
UNA: ACP backend (1) Ir a el panel de control admin. (2) Navegar para el envio en-> BBCodes -> Agregar un nuevo BBcode (3) Bajo "uso del BBCode ", poner: [hide]{text}[/hide] (4) Bajo "reemplazar HTML", dejarolo como esta. (5) Bajo "linea de ayuda", poner: Hide message: [hide]your message[/hide] (6) Bajo "Mostrar en los mensajes", seleccionar (significa si) (7) Click en enviar para guardar tu nuevo BBcode (8) Agrega una imagen BBcode ID: (8.1) Click en "Editar (green image)" boton (8.2) recuerda que el ID on en la URL (i.e. &mode=bbcodes&action=edit&bbcode=XX, XX is the number)
Dos: Editar /constants.php (1) Encontrar y definir('HIDE_BBCODE_ID', 1000); (2) Cambiar 1000 para el bbcode ID XX de (8), e.g. definir('HIDE_BBCODE_ID', 13); (3) Guardar los cambios en el archivo y subirla a tu hosting. # #-----[ Guardar/Cerrar todos los archivos]------------------------------------------ # # EoM | |