The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
Test Your Members' Knowledge Before Allowing Them to Post in Certain Forums Details »» | |||||||||||||||||||||||||||
Test Your Members' Knowledge Before Allowing Them to Post in Certain Forums
Developer Last Online: Nov 2013
This mod is an addon to the Inferno Quiz System You must have that mod installed and working to use this.
What it does: It requires users to achieve a minimum score on a specified quiz to post in a forum. Example: You have a PHP discusssion forum for advanced coders. You don't want novices bothering your members with trivial questions. So, you require anybody who wishes to post in that forum to achieve a minimum score of 70% on an advance PHP quiz that you created using Inferno Quiz. How to install it: Import the Product. Done. No template edits, nothing else to do. How to use it: In your admincp forum manager, edit the forum(s) you wish this to use this mod for. Enter a Quiz ID and the minimum acceptable score. Save the forum. You're done. You can easily require users to pass different quizzes to be able to post in different forums. If a user has not taken the quiz, he is directed to do so. If he has failed the quiz, he sees an error message. I don't expect many of you will use this. I'm not even using it. But, the idea hit me and it was fun to throw together. Amy Show Your Support
|
Comments |
#42
|
|||
|
|||
It seems to be working fine for me in 3.7, no importing errors, but I am still configuring the adminCP options. They are there, however.
My questions are silly ones: 1. Where do I find the quiz id I need to enter? 2. What do I enter for a score? A percentage, or 10/10, etc.? 3. If a user fails, are they able to try again? Would be kind of silly if they were not. 4. Once the quiz is completed for a user, does it go away, or will they have to do it every time they enter the forum? Thanks. |
#43
|
||||
|
||||
Yes, they are there, but there is no blockade for users. I can still access the forum, without entering any quiz. In fact I do not get anything that alerts to the existence of a quiz.
1. You can go to quiz.php and browse quizzes. quiz.php?do=Take&id=X where X is quizID. 2. Yes, a percentage. 3. I have no idea. I have not seen a function to stop retries. So I guess members cn try again and again. So multiple choice is not adviced. 4. So far they do not have to enter anything. |
#44
|
|||
|
|||
Hey thanks for answering Alfa!
Great info, thanks for your help. I'm just not too clear on #4... What I am looking for is for members to be able to enter the forum after they pass the quiz, without having to take it every time. Is there a flag that is set or something so that the forum remembers they have passed? Ahh I'll test it out myself tonight and let you know. I'm ready to give it a go. My forum isn't live yet so I'll be sure to keep you updated on any issues I might have in 3.7, and maybe we can work them out together. I'm setting it up to quiz members on the specific rules for that particular forum, so I consider this hack ESSENTIAL, and I intend to make it work any way I can with my limited knowledge, haha. |
#45
|
|||
|
|||
I apologize profusely, but I looked through the quiz.php and I do not find any mention of specific quiz id's. Shouldn't the quiz I import have the id somewhere in plain sight? This is getting frustrating now, I've been working on this hack for three days. I think I'll just scrap it and redesign my rules. Coders have great minds and come up with the most interesting things, but they're not very good at relating those things to regular people. This, for instance:
Quote:
Sadly, this could have been a great hack if it just had more user-friendly install and configuration options. I am bitterly disappointed, because I feel it's something my forum won't be able to do without. |
#46
|
||||
|
||||
You can find the quizID, by looking at the url. I know it is stupid to have to do it this way, but once you see it, it will be simple. For example:
- Browse to www.yoursite.com/forum/quiz.php - Then select the category the quiz that you need the quizID from, is in. That url should look like this www.yoursite.com/forum/quiz.php?do=Cat&id=1 - Then select the quiz that you need the quizID from. - This url should look like: www.yoursite.com/forum/quiz.php?do=Take&id=1 In my example above '1' is the quizID. Please take a look at your url and note down your quizID. |
#47
|
|||
|
|||
Ok so I knocked that one off, thanks again, now I am getting (what appears to be standard from reading the other posts) the "cannot find phrase 'quiz_not_taken'" error.
I created the phrase and assigned it to the product "Must pass quiz to start", but no results. I saw others were having this problem, but there was no solution offered by the coder. Have you managed to figure this one out? I altered the plugin code from this: Code:
eval(standard_error(fetch_error('quiz_not_taken', Code:
eval(standard_error(fetch_error($vbphrase[quiz_not_taken], Quote:
I am not very proficient at this so I can only assume I am doing something wrong here. I am so close I can taste it though. Any other suggestions? |
#48
|
||||
|
||||
People will be able to enter the forum, even if they do not pass the quiz.
They will not be able to post if they do not pass. It seems that there is only a reference to the phrase, but not the phrase itself. The only phrase that this mod seems to add, is quizID prase. quiz_failed is also not there. Maybe these phrases once where in Inferno Quiz. |
#49
|
|||
|
|||
Quote:
Quote:
Quote:
|
#50
|
|||
|
|||
Ok there seems to be a problem with this code in Amy's plugin:
Code:
else { eval(standard_error(fetch_error('quiz_failed', $foruminfo['score'], "<a href='quiz.php?do=Take&id=".$foruminfo[quizid]."'>$quizinfo[q_name]</a>"))); } } else { eval(standard_error(fetch_error('quiz_not_taken', $foruminfo['score'], "<a href='quiz.php?do=Take&id=".$foruminfo[quizid]."'>$quizinfo[q_name]</a>"))); } } |
#51
|
|||
|
|||
OK, well I have managed to get it to work, as in I can set a quiz id to the forum and I get denied posting access, and after I take that particular quiz I can post no problem. What I am having difficulty with is getting the plugin to find the phrases we've been talking about. Once it finds them ok, I can edit them to say whatever I like, even point directly to the quiz if I want.
I edited the xml file for the plugin and added the phrases in there, uninstalled and re-imported, and it puts the phrases into the phrase manager, but the code in the plugin is still not pointing to them correctly. So basically I have confirmed what I said above, that there is a problem with those lines in the code. In particular, these parts of the lines: Code:
eval(standard_error(fetch_error('quiz_not_taken', Here is where my limited knowledge comes into play, as I do not know how to alter those lines to point to the proper phrase, ie "$vbphrase[quiz_not_taken]" So far my attempts have produced mixed results from the standard error: Quote:
Quote:
I do not really need the plugin to jump right to the quiz, just to the phrase, and I can direct users to the quiz from there. Any suggestions? I was thinking the entire lines need to be reworked and the error references taken right out, replaced with something that simply directs users to that particular phrase. I will keep going, at least I am making some progress here. |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|