The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
||||
|
||||
phraseid numbers ..... big problem! ... i warned that this would happen!
Hi all ...
I raised concerns a week or so ago in a pvt forum with regard to the possibility of 2 hacks using the same phraseid no. i suggested that a phraiseid number registration system should be put in place so that this cant happen, I proposed before a hack (that requires its own new phrase id) is released the author must register the phraseid with vb.org so it dosnt clash with another. Most of the replies to my concerns said that it would be unlikley to happen ..... WELL IT HAS! My members choice hack has clashed with the geek articles hack ..... and is causing the installers of both hacks major headaches as you would be able to understand ... just read page 4 of the members choice voting hack thread. Before you start accusing me that i used a phrase id for the members choice that i know would clash ... think again .... i released the members choice for vb3 origionally on vb.nl when vb3 hacks couldnt be released here. I used the same phraseid on the release here as on vb.nl Lets get this phrasesid registration system coded on vb.org, before it happens again .... if it already hasnt with other hacks. It should be very easy to code a system here to automate the registration on phraseid's trafix |
#2
|
|||
|
|||
Yes it is very likely that this would happen one day. I think the same goes for the permission bitfields.
|
#3
|
||||
|
||||
Am I missing something obvious here ? - Why not just use 'null' in the insert code when you install the phrase, and let mysql allocate the number ?
|
#4
|
||||
|
||||
unfortunatly that wont work
When setting up a new phrase group you need to add a row to the phraseid db table and then the phrases added to the phrase db table have to echo the same id number .... null wont work unfortunatly |
#5
|
||||
|
||||
Sorry, are you talking about the phraseid or phrasetypeid ?
|
#6
|
||||
|
||||
oops both
you need to add the row to the phrasetypeid table and then phrases to the phrase table i spose you could add it the phrasetypeid with null .... but then you would have to quiry what phrase id was allocated then use a string to add the phrases ... But what about hack updates .... its gonna need a more complex installer again to assertain the phraseid before any new phrases are added ......... then there is another problem that a hack uses x phraseid for your forum and y if its installed on my forum ...... I think its better if the phraseid stays unique for every installation of the hack |
#7
|
||||
|
||||
shouldn't the phrasetype name be unique for each hack?
so if you know the typename, then you can get the type id, and with that id, you can get the correct phrases. actually there i don't really see a problem. the bitfields on the other hand could be a bit more problematical, as these would need users who know the details behind them before installing a hack... |
#8
|
||||
|
||||
Quote:
as it is at the moment when coders add a new phrasegroup for their hack they pluck a number out of the sky and use it ....... unfortunatly the coder of the geekarticles and myself plucked out the same number to use as the phraseid ..... if you read the members choice hack thread ... you would see the conflict that has been reported and basicly the best way to fix the problem is that both hacks have to be un installed and reinstalled using different phrase id nos PS thanks Xenon for you fast reply to this matter trafix |
#9
|
||||
|
||||
Ah, I see what you are talking about now - the phrase types.
The phrasetypeid field in the phrasetype table is not an auto-increment field, so you cannot add a new record with a null value and expect mysql to allocate a value to it - you have to supply a number. However, the phraseid, in the phrase table is auto-increment, and you can add actual phrases with a null value and let mysql number them - this is what I thought you were referring to as you quoted phraseid rather than the typeid. Also the typeid is an unsigned smallint - which means you only have up to 65,500 (ish) to play with. I would suggest using something like typeid = (10000 + int(time() / 10000) to give you a unique id at installation time (the value of this would currently be around 21,000 and changes every 2.75 hours). |
#10
|
||||
|
||||
Quote:
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|