View Full Version : constructing phrases for standard errors?
AN-net
08-04-2004, 10:48 PM
anyone know how can i use dynamic vb phrases and construct while using them as an error in print_standard_error function?
CarCdr
08-05-2004, 03:21 AM
I am not sure I understand the question AN-net. You could call it with any phrase, such as
eval(print_standard_error('This is an error.', false /* No lookup */));
eval(print_standard_error($vbphrase['some_phrase'], false));
AN-net
08-05-2004, 01:21 PM
well here is my code:
eval(print_standard_error('journalfloodcheck', $setting['floodint'], 'posting another entry'));
the two after journalfloodcheck are susposed to be used to construct {1} and {2} in the journalfloodcheck phrase. am i doing it right?
CarCdr
08-05-2004, 03:54 PM
No, the way you have it, you are passing 3 separate parameters to print_standard_error -- which do not match the usage for the arguments of that function. You will have to construct the phrase before you call print_standard_error by calling construct_phrase, which is intended to do what you want.
Then, once you have the phrase made, make the call to print_standard_error as I showed, with the second argument of "false".
AN-net
08-05-2004, 07:24 PM
oh ok cause i knew about construct_phrase but i wasnt sure how to do it with print_standard_error. thanks:)
edit:
hmmm still doesnt work, it still gives me trouble
my code:
$vbphrase['journalfloodcheck']= construct_phrase($vbphrase['journalfloodcheck'], $setting['floodint'], 'commenting');
eval(print_standard_error('journalfloodcheck'));
CarCdr
08-05-2004, 08:30 PM
oh ok cause i knew about construct_phrase but i wasnt sure how to do it with print_standard_error. thanks:)
edit:
hmmm still doesnt work, it still gives me trouble
my code:
$vbphrase['journalfloodcheck']= construct_phrase($vbphrase['journalfloodcheck'], $setting['floodint'], 'commenting');
eval(print_standard_error('journalfloodcheck'));
You are not making the call to print_standard_error I suggested in my post, with the second argument of 'false', which would look like this:
eval(print_standard_error($vbphrase['journalfloodcheck'], false);
A cleaner approach would be to not overwrite $vbphrase, like this:
$msgTemp = construct_phrase($vbphrase['journalfloodcheck'], $setting['floodint'], 'commenting');
eval(print_standard_error($msgTemp, false));
AN-net
08-26-2004, 04:42 AM
not to bump an old thread but i have tried to get it construct phrase and now it doesnt display the phrase at all but just the error box with nothing in it
here is my current code:
$floodcheck= $DB_site->query_first("SELECT comment_date AS lastcomdate FROM ".TABLE_PREFIX."journal_comments WHERE commenter_id=".$bbuserinfo['userid']." ORDER BY comment_date DESC");
if((TIMENOW - $floodcheck['lastcomdate'])<= $setting['floodint'])
{
$vbphrase['journalfloodcheck']= construct_phrase($vbphrase['journalfloodcheck'], $setting['floodint'], 'commenting');
eval(print_standard_error("".$vbphrase[journalfloodcheck]."", false));
}
Natch
08-26-2004, 11:45 AM
eval(print_standard_error(construct_phrase($vbphra se['journalfloodcheck'], $setting['floodint'], 'commenting'), false));
AN-net
08-26-2004, 02:56 PM
nope nothing shows up still:(
AN-net
08-30-2004, 04:06 PM
anyone, please i really need this:)
Add some debug information and see what you can find out... Like, for example, if the phrase is really defined, to start with..
$floodcheck= $DB_site->query_first("SELECT comment_date AS lastcomdate FROM ".TABLE_PREFIX."journal_comments WHERE commenter_id=".$bbuserinfo['userid']." ORDER BY comment_date DESC");
echo "1";
if((TIMENOW - $floodcheck['lastcomdate'])<= $setting['floodint'])
{
echo "2";
$vbphrase['journalfloodcheck']= construct_phrase($vbphrase['journalfloodcheck'], $setting['floodint'], 'commenting');
echo "<br>" . $vbphrase['journalfloodcheck'];
eval(print_standard_error($vbphrase[journalfloodcheck], false));
}
exit;
Then again, you can just use a string instead of a phrase, unless you run a multilingual forum.
AN-net
08-31-2004, 01:03 AM
it seems i will have to hack the print_standard_error function then;)
AN-net
08-31-2004, 02:02 AM
the problem is within vb it self, there is no dynamic phrase system for errors and the $vbphrase array only includes specific phrase groups. i will be requesting that vb makes such a feature for the next version because it is critical, please support my thread on vb.com in vb3 suggestion forum;)
Add your groups to the $phrasegroups array at the top of the file, and i'll work, without hacking the function ;)
AN-net
08-31-2004, 02:22 PM
oh but see i did that and it turns out the phrase groups that may be put must be in the language table. so all the phrase groups that are truely available are the not all the ones we see in phrase manager;) fronterror(working name for the front end error phrases) is not in the language table so you cant use it in $phrasegroups or a db error occurs cause it is not a field. anyways print_standard_error needs to be made more flexible or maybe a new function named print_dynamic_error :D
calorie
09-09-2004, 03:50 PM
ignore
vBulletin® v3.8.12 by vBS, Copyright ©2000-2025, vBulletin Solutions Inc.