vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=251)
-   -   [Help] auto replace content when post (https://vborg.vbsupport.ru/showthread.php?t=308013)

Thangvip9x 02-07-2014 02:15 AM

[Help] auto replace content when post
 
Please help me
I have a example
If i post character "a, b, c, d" will auto replace to character "e, f, g, h"
I use hook postbit_display_complete use str_replace and
PHP Code:

$this->post['message'

but it only replace message, i want auto replace pagetext from database
This is my plugin
PHP Code:

$post1=array(
'a','b','c' ,'d'
);
$post2=array(
'e','f','g' ,'h'
);
$this->post['message'] = str_replace($post1$post2$this->post['message']); 

I used hook postdata_presave with
PHP Code:

$this->post['pagetext'

use good, but empty first post when move threads
This is my plugin
PHP Code:

$post1=array(
'a','b','c' ,'d'
);
$post2=array(
'e','f','g' ,'h'
);
$this->post['pagetext'] = str_replace($post1$post2$this->post['pagetext']); 

I use hook postbit_display_complete and use
PHP Code:

$post['pagetext'

use good but error MySQL when read private message
Please help me write plugin auto replace pagetext from database when post
Thank you very much
This is my plugin i write with hook postbit_display_complete with
PHP Code:

$this->post['pagetext'

and
PHP Code:

$this->post['message'

use good but error when read private message
PHP Code:

$post1=array(
'a','b','c' ,'d'
);
$post2=array(
'e','f','g' ,'h'
);
$this->post['message'] = str_replace($post1$post2$this->post['message']);
$this->post['pagetext'] = str_replace($post1$post2$this->post['pagetext']);
$db->query_write("
                    UPDATE "
.TABLE_PREFIX."post 
                    SET pagetext = '"
.$db->escape_string($this->post['pagetext'])."'
                    WHERE postid = "
.$post['postid']."
                "
); 

If i remove this content in my plugin
PHP Code:

$this->post['pagetext'] = str_replace($post1$post2$this->post['pagetext']);
$db->query_write("
                    UPDATE "
.TABLE_PREFIX."post 
                    SET pagetext = '"
.$db->escape_string($this->post['pagetext'])."'
                    WHERE postid = "
.$post['postid']."
                "
); 

Use good but don't replace character from database, i want auto replace pagetext from database
Thank you very much

--------------- Added [DATE]1391756672[/DATE] at [TIME]1391756672[/TIME] ---------------

Please help me

kh99 02-07-2014 10:06 AM

You could do this, using hook newpost_process:
PHP Code:

$post1=array( 
'a','b','c' ,'d' 
); 
$post2=array( 
'e','f','g' ,'h' 
); 
$post['message'] = str_replace($post1$post2$post['message']);
$dataman->setr('pagetext'$post['message']); 


but that will only change new posts. To change existing posts in the database you would need to use SQL. You would probably want to do that once only (maybe by using phpMyAdmin), instead of making a plugin for it.

Thangvip9x 02-07-2014 10:11 AM

Thank you very much

--------------- Added [DATE]1391772078[/DATE] at [TIME]1391772078[/TIME] ---------------

Perfect, i want replace in private message when post and signature
Thank you very much

kh99 02-07-2014 10:29 AM

For PM, you could create a plugin using private_insertpm_process:
PHP Code:

$post1=array( 
'a','b','c' ,'d' 
); 
$post2=array( 
'e','f','g' ,'h' 
); 
$pm['message'] = str_replace($post1$post2$pm['message']);
$pmdm->setr('message'$pm['message']); 


I don't know about signature, I will have to take some time to figure it out.

Thangvip9x 02-07-2014 10:29 AM

I want auto replace when edit post, thread title, private message title
Because i try but your plugin don't replace
Thank you very much

--------------- Added [DATE]1391773031[/DATE] at [TIME]1391773031[/TIME] ---------------

This is my query
[SQL]UPDATE post SET pagetext = REPLACE(pagetext, 'a', 'b');
UPDATE post SET pagetext = REPLACE(pagetext, 'e', 'f');[/SQL]
I want you help me write query replace all a, b, c, d to e, f, g, h with one click when run SQL, because i have 100 character replace, thank you very much

--------------- Added [DATE]1391773120[/DATE] at [TIME]1391773120[/TIME] ---------------

Please help me write plugin auto replace when edit post, edit thread title, private message title, thank you very much

kh99 02-07-2014 11:13 AM

For editing post, use hook editpost_update_process,
PHP Code:

$post1=array( 
'a','b','c' ,'d' 
); 
$post2=array( 
'e','f','g' ,'h' 
); 
$edit['message'] = str_replace($post1$post2$edit['message']);
$edit['title'] = str_replace($post1$post2$edit['title']); 


for post title, add this to the plugin:
PHP Code:

$post['title'] = str_replace($post1$post2$post['title']);
$dataman->setr('title'$post['title']); 


for Pm title, add this to the plugin:
PHP Code:

$pm['title'] = str_replace($post1$post2$pm['title']);
$pmdm->setr('title'$pm['title']); 


I don't know how to do a REPLACE in sql for more than one character at a time. It might make sense to write it php, but you don't need to run it every time someone posts.

Thangvip9x 02-07-2014 11:18 AM

Thank you very much, i will try

--------------- Added [DATE]1391777383[/DATE] at [TIME]1391777383[/TIME] ---------------

Perfect, thank you very much

--------------- Added [DATE]1391777847[/DATE] at [TIME]1391777847[/TIME] ---------------

This my plugin perfect with signature
I use hook postbit_display_complete
PHP Code:

$this->post['signature'] = str_replace($post1$post2$this->post['signature']); 

All members can use

--------------- Added [DATE]1391783297[/DATE] at [TIME]1391783297[/TIME] ---------------

I want you help me write plugin forced check 'V' (tick) box will replace character a,b,c,d to e,f,g,h as Quote message in reply? at vbulletin.org
If i check box, character will replace, if i don't check box, character don't replace
Thank you very much

--------------- Added [DATE]1391783332[/DATE] at [TIME]1391783332[/TIME] ---------------

I want you help me write plugin forced check 'V' (tick) box will replace character a,b,c,d to e,f,g,h as Quote message in reply? at vbulletin.org
If i check box, character will replace, if i don't check box, character don't replace
Thank you very much

--------------- Added [DATE]1391783444[/DATE] at [TIME]1391783444[/TIME] ---------------

I need add code post my template newreply, editpost, edit thread, SHOWTHREAD, thank you very much

--------------- Added [DATE]1391803631[/DATE] at [TIME]1391803631[/TIME] ---------------

I need add query replace character title from database
Thank you very much

Thangvip9x 02-09-2014 04:03 AM

Please help me and i want question
When i post a thread, thread title will replace character ",>,<...to encode in thread title, please help me fix it
I created plugin as a your help

kh99 02-09-2014 10:39 AM

I'm noy sure what you're asking. If you want to change the post title when you post, you can use code like I mentioned in post #6 above (the second and third pieces of code should be added to the plugins we discussed early in the thread).

Thangvip9x 02-09-2014 12:14 PM

Quote:

Originally Posted by kh99 (Post 2479935)
I'm noy sure what you're asking. If you want to change the post title when you post, you can use code like I mentioned in post #6 above (the second and third pieces of code should be added to the plugins we discussed early in the thread).

I understand your support, i added your code to plugin and perfect, but when i post a thread then characters special will encode
This is a example
When I post thank "kh99" very much it will display thank &quot;kh99&quot; very much, if don't error it will display thank "kh99" very much in thread title, it's mean replace " to &quot, i don't want replace special
If i don't use code #6 in plugin, thread title will display normal, but if i don't use code it will don't replace a, b, c, d to e, f, g, h
Please help me fix
Thank you very much


All times are GMT. The time now is 01:07 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01251 seconds
  • Memory Usage 1,793KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (15)bbcode_php_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (10)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete