Hello... quite a while ago, I bought the phpBB integration script for theblackvault.com that was developed by the user ESASE. It's worked flawless, until just the past week or two.
When someone tried to use the FORGOT PASSWORD function, it says query database failed, and I get the following error emailed to me for debugging.
I honestly haven't changed anything that I can think ok, and all the file modification dates are all the same, so I know they weren't touched. How can I fix this?? I didn't upgrade to Dolphin 7.1 because I know a lot of my stuff will stop working.
Database error in The Black Vault
Query:
UPDATE
`phpbb_users`
SET
`username` = 'Ruben',
`username_clean` = 'ruben',
`user_password` = Deleted
`user_email` = Deleted
WHERE
`username` = ''
LIMIT 1
Mysql error: Duplicate entry 'ruben' for key 'username_clean'
Found error in the file '/home/theblack/public_html/modules/esase/forums/classes/PhpBbIntegration.class.php' at line 644. Called 'db_res' function with erroneous argument #0.
|
Unfortunately, user ESASE will not write me back since this mod is no longer available. |
Are there two people in the database who have the user name Ruben?
I'm thinking the easiest fix would be to go into phpmyadmin and change the "username_clean" field so it isn't a unique key. It shouldn't break anything because I'm guessing that "username" is also a unique key so that would prevent someone from using the same name. I've never used the mod so that's a shot in the dark...
Unfortunately, user ESASE will not write me back since this mod is no longer available.
BoonEx Certified Host: Zarconia.net - Fully Supported Shared and Dedicated for Dolphin |
Unfortunately, user ESASE will not write me back since this mod is no longer available.
No, that is not the reason, he is just not a good developer when it comes to customer service.
It would seem that the field is not unique and somewhere along the line a duplicate entry occurred.
First step, make a backup of the database; both for Dolphin and phpBB. It could be that a duplicate account was created for Ruben at some time; such things are not suppose to happen of course. If you can determine which account in the table phpbb_users is the one that is not needed; then you could remove that row and thus remove the duplicate entry.
If you are unsure about working on the database tables, then you might want to enlist the aid of someone.
Geeks, making the world a better place |
There is no duplicate accounts. It just all of a sudden started, and occurs when someone tries to click on the FORGOT PASSWORD link on Dolphin, then puts in their username to get the code. It even works on the Administrator account, which ended up locking me out, and had to reset it manually.
I wish ESASE would write back.. or at least give me the original package I PAID FOR. Can I report this?
|
There is no duplicate accounts. It just all of a sudden started, and occurs when someone tries to click on the FORGOT PASSWORD link on Dolphin, then puts in their username to get the code. It even works on the Administrator account, which ended up locking me out, and had to reset it manually.
I wish ESASE would write back.. or at least give me the original package I PAID FOR. Can I report this?
What version do you have?
ManOfTeal.COM a Proud UNA site, six years running strong! |
There is no duplicate accounts.
OK, I just went back and look at the query that is being run. It is suppose to update the table where user name equals null. Why retrieving or updating the password is setting all the fields that is indicated in that query is confusing to me and why is it doing it on user name that is null?
Question, have users been able to retrieve or update their passwords in the past? If so, can you think of any changes that you made to Dolphin or your server, php version, mySQL version, etc. Anything.
I would file a report that the module has been removed from the market. Modules are not suppose to be removed from the market, even if they are for older versions of Dolphin so that customers can download the module for reasons as you are encountering.
Geeks, making the world a better place |
MySQL guys, is the duplicate entry being tripped because the update is actually trying to create a new entry since the user name being requested is null? I don't know enough about mySQL; just guessing that if the duplicate user does not exist then it must be trying to create the user and finding the user already exits; thus tripping the bozo checker. Geeks, making the world a better place |
This one is very simple. The script is trying to update a record where the name field is empty with the name Ruben. However while trying to do so, it found that there already is a record where username_clean has an entry with the name Ruben. The field has a unique key property set and can't contain another record with the name Ruben.
Run the following query to find the user:
SELECT * FROM `phpbb_users` WHERE `username_clean` = 'ruben'
To delete the record you can select it an delete it (using PHPMyAdmin) or run the following query: DELETE FROM `phpbb_users` WHERE `username_clean` = 'ruben'
Don't forget, before making change ALWAYS make a BACKUP!!!
Good luck, and if you need any further help, don't hesitate to contact me
Denre
Dedicated servers for as little as $32 (28 euro) - See http://denre.com for more information |
So every time a user wants to change their password he should delete them from the database? He said it happens for any account that tries it.
Blackvault to answer your question, yes you can report it. Just post what is going on here:
http://www.boonex.com/forums/#forum/Disputes-0.htm
EASE will respond then I guarantee you.
This one is very simple. The script is trying to update a record where the name field is empty with the name Ruben. However while trying to do so, it found that there already is a record where username_clean has an entry with the name Ruben. The field has a unique key property set and can't contain another record with the name Ruben.
Run the following query to find the user:
SELECT * FROM `phpbb_users` WHERE `username_clean` = 'ruben'
To delete the record you can select it an delete it (using PHPMyAdmin) or run the following query: DELETE FROM `phpbb_users` WHERE `username_clean` = 'ruben'
Don't forget, before making change ALWAYS make a BACKUP!!!
Good luck, and if you need any further help, don't hesitate to contact me
Denre
BoonEx Certified Host: Zarconia.net - Fully Supported Shared and Dedicated for Dolphin |
Sorry, missed that bit about for all users. I just read the query and the error message. Amd if that is the case, he first should talk to the person who wrote the mod. If you cannot get support from him, I'm always happy to help someone out. And no, I'm not trying to make a quick buck. I believe together we can make it a better program and there will be times I can use some help too.
Denre
Dedicated servers for as little as $32 (28 euro) - See http://denre.com for more information |
We really need the script here so we can see what it is trying to do. The query presented really does not make sense if someone forgot their password. When a member forgets their password, we either make it where they can retrieve their password from the database; maybe asking for user name and email where we email the password when we retrieve it from the database or we create a new password, set it in the database for the user and email them the new password; the standard way that Dolphin does it. The update query we are seeing is not just setting a new password, it is setting user name, a "clean" version of user name, password, and email. Now the strange part is that it is doing this on a field in the table that must be empty. In the case stated, it will perform the update if it finds a row where the user name is empty. I guess one could have a user that did not set a user name; if we decided that users did not have to enter a name, they could be identified by ID. I don't know about phpBB, never used the application. Geeks, making the world a better place |
By the way, you said there is no duplicate entry. Did you sort the column, username_clean, to see if there is a another user with the same username_clean entry?
I suppose it is possible that some corruption has occurred on the table since you say this happens for all users. Remember to back up all tables, or even the entire database, before making changes.
Geeks, making the world a better place |
Well what can I do, or post, to help diagnose this?
In regards to the query above... I searched, and the example above, with the username_clean = "ruben" example - there is only one record that comes... ie: no duplicate records.
I am at a loss, and wish the darn developer would either a) support his product or b) send me another copy of it to help me diagnose / reinstall...
How can I check for database corruption? I already ran the repair table commands to see if that made a difference... no go.
|
I am at a loss
you have mail
ManOfTeal.COM a Proud UNA site, six years running strong! |
Geeks, making the world a better place |
I supplied him with the module, maybe he is trying it today.
ManOfTeal.COM a Proud UNA site, six years running strong! |
Yeah I got it... more worried about the modified original boonex dolphin files. I am wondering if I am missing a code somewhere?
Also, I am apprehensive to uninstall the module, then reinstall it, because I am not sure what will get screwed up. I guess I just have to take the time to create a copy of the entire site, with a backup database, and try it that way.
I just wonder why programmers (who are still selling on Boonex) can create something, sell it, then delete it and no longer support it.
|
Don't uninstall the module. And yes, you might want to work on a clone of the site for this. Rename the module to .module; a dot in front of a directory name will hide the directory; you can still see it by FTP or SSH. Then upload the module. This way the original module files are left on the server untouched. See if that fixes the problem. Geeks, making the world a better place |
I just wonder why programmers (who are still selling on Boonex) can create something, sell it, then delete it and no longer support it.
A programmer can decide to stop supporting a product; MicroCrap does that all the time; and they can stop selling it (one way is like one developer did by making it a million dollars). However, the module should not be pulled from the Market since there may be people using it and may lose their copy and have a site crash and need to be able to download it again.
Geeks, making the world a better place |
However, the module should not be pulled from the Market since there may be people using it and may lose their copy and have a site crash and need to be able to download it again.
GG, your wasting your time, been argued before. That is my biggest deterrent to suggesting modules to clients; more than 90% of my purchases are no longer in the market. I cannot contact the vendors, I cannot download again in case of loosing it; not everyone has the forethought to save modules to a USB drive or cloud servers.
From lessons learned I have modules backed up on five different computers in my house, on my servers, and on USB...
ManOfTeal.COM a Proud UNA site, six years running strong! |
This is a waste of my time.. Stop that nonsense.. You should keep a copy you can't blame him for your mistake not saving a copy of the mod. By the way what's the mod name?
However, the module should not be pulled from the Market since there may be people using it and may lose their copy and have a site crash and need to be able to download it again.
GG, your wasting your time, been argued before. That is my biggest deterrent to suggesting modules to clients; more than 90% of my purchases are no longer in the market. I cannot contact the vendors, I cannot download again in case of loosing it; not everyone has the forethought to save modules to a USB drive or cloud servers.
From lessons learned I have modules backed up on five different computers in my house, on my servers, and on USB...
|
From lessons learned I have modules backed up on five different computers in my house, on my servers, and on USB...
Good advice, I need to back up the modules I have purchased to external storage. That is on the list for today.
Geeks, making the world a better place |
Stop that nonsense.. You should keep a copy you can't blame him for your mistake not saving a copy of the mod. By the way what's the mod name?
And there is no reason why Boonex can not keep a copy for members who have purchased it on their "cloud storage". One more place is not a bad thing.
Geeks, making the world a better place |
This is a waste of my time.. Stop that nonsense.. You should keep a copy you can't blame him for your mistake not saving a copy of the mod. By the way what's the mod name?
- Why are you wasting time posting?
-
Not his blame, Boonex for not keeping access to old, "purchased" products modules, templates.
- Read the topic name.
Software companies do stop support, updates, or what ever, but, there is still the access to "no longer supported software," which I use all the time when giving support to computer owners that do not want to upgrade to the newest shit.
ManOfTeal.COM a Proud UNA site, six years running strong! |
I have a copy .....
Anyone want it?
http://towtalk.net ... Hosted by Zarconia.net! |
I have a copy .....
Anyone want it?
I provided him with a copy via email after proof of purchase.
ManOfTeal.COM a Proud UNA site, six years running strong! |
I don't think proof of purchase really matters anymore. There has been zero support for this mod for some time now.... http://towtalk.net ... Hosted by Zarconia.net! |
In fact, I'm a little PO'd at Esase about this mod. I bought it thinking I was buying from a reputable developer. What I got was a phpbb integration that barely worked. The problems he faced were not insurmountable but he almost immediately walked away from it leaving all those that paid for the mod holding the bag. That's not the sign of a developer but more of a charlatan looking to fleece people out of their development money.
To make matters worse, NO ONE has stepped up since then to try and fix the inherent lack of features in the current fish forum... That is the single weakest link in the Dolphin project to date as far as I'm concerned.
I would not buy another mod from Esase even if he was giving them away....
http://towtalk.net ... Hosted by Zarconia.net! |
While we rant and rave..
These are the same people? Yes, he actually works for Boonex, this is even more unsettling to me.
http://www.boonex.com/ESASE Premium•member since 01.02.08
"Hi! Well, to write your own description is always a hard thing to do. So, in short: I`m a professional PHP programmer. I can work with XML RPC, XML, XSLT, XHTML, MySQL, MSQL, SOAP, Java Script (AJAX) as well. Let me know, if you need any help. Take care! My site - dolphinteam.net - Welcome to test my products! PS: If you are a LyubovL (http://www.boonex.com/unity/blog/entry/LyubovL_s_Agent_page) customer, you can get my products with the discounted price!"
http://www.boonex.com/SashaE Administrator•member since 28.03.08
"I`m a professional PHP programmer. Also i can work with XML, XSLT, XHTML, MYSQL, MSQL, Java Script (AJAX) my business profiles is: http://www.boonex.com/unity/esase"
ManOfTeal.COM a Proud UNA site, six years running strong! |
Boonex needs to provide some means by which sellers can disable a product but it is still available for download (for existing buyers). Presently the only solution is to set an unrealistic price so that persons will not attempt to buy it anymore (which I did once but got raked over the coals for doing it). Paypal email is jeromemingo@gmail.com - http://www.boonex.com/market/posts/modzzz |
In fact, I'm a little PO'd at Esase about this mod. I bought it thinking I was buying from a reputable developer.
While we may be getting somewhat off topic; still, the developer is part of the problem, or lack of response from the developer, I am a little PO'd at Esase myself over the traffic inspector module. It has clearly what is a flaw and he has the audacity to claim it is a feature and that if I am willing to pay him he will fix it; it is a $79.00 module to begin with. I have never had such trouble dealing with a developer and after I return from holiday I am filing a formal dispute against Esase. While he can not be forced to fix a module, a module that is flawed; and I posted this in my review at the module, should be pulled from the market and he should not be listed as a trusted vendor. He has openly declared that he does not read his support forums and he does not reply to messages left though the Boonex contact system.
Geeks, making the world a better place |
Boonex needs to provide some means by which sellers can disable a product but it is still available for download (for existing buyers).
Finally a positive post for us.
Jerome, I have installed many modules for your clients, your support and the ability for clients to get either updated, or modules for their version (not all upgrade their site to the newest versions) of Dolphin is fantastic. I'm able to tell the client to go to market and grab the updates for the version I'm going to help them upgrade to.
Yours are always there as well as several other very respected vendors here.
I was new when I made my first purchases, which was a mistake for not researching first.
ManOfTeal.COM a Proud UNA site, six years running strong! |
Is anyone still handing disputes that are posted in that forum? If not I'll stop recommending people post them. In the past that seemed like the only way to get some developers to respond. BoonEx Certified Host: Zarconia.net - Fully Supported Shared and Dedicated for Dolphin |
The general response should will be,
it was father's day week-end, no one works on the week-end.
It now should be Monday morning over there. Perhaps this will be seen today.
ManOfTeal.COM a Proud UNA site, six years running strong! |
Good point. I work the overnight shift and have basically lost all concept of time (and space).
The general response should will be,
it was father's day week-end, no one works on the week-end.
It now should be Monday morning over there. Perhaps this will be seen today.
BoonEx Certified Host: Zarconia.net - Fully Supported Shared and Dedicated for Dolphin |
I wanted to bump this topic in hopes someone could help me out.
I finally talked to the developer of this phpbb integration module, but of course, nothing got resolved after 2 weeks of back and forth. Now he wants money to solve it, and says he won't be responsible for any problems that arise.
Here is the short of it -- there really hasn't been anything changed that would affect this. So, I am thinking (or hoping) it's as simple as an entry in the database that is corrupt, or something to that effect.
I attached the entire debug backtrace in hopes that will help someone spot the problem. I understand the cause of the error ("duplicate entry") but there hasn't been any upgrades or changes to anything when it comes to the database, user table structure, phpbb, etc.
Thank you to anyone who can help.
|
Personally I have never got anything less that 100% product support from Esases. He had made incredible and unique custom modules for us that all function together flawlessly. He supported us through testing and corrected any problems we encountered. Even now I look back at the coding he did for us and I am truely amazed. I would definately use him again. Infact, he is one of only two developers I am willing to use.
Just my experience,
Nathan : )
|
That's fine, but as you see, he sold this product and then stopped supporting it. Left us all out to dry. That's awesome you had a great experience, but that really doesn't help the issue at hand in this thread. |
To give some additional information, I believe this is the code it is using to update the SQL database table, that is causing the error in /modules/esase/forums/classes/PhpBbIntegration.class.php:
/**
* @description : function will update some profile info
* @param - $sOldUsername (string) : Old user nickname that need to update
* @param - $sUserName (string) : new user nickname
* @param - $sPassword (string) : Cleaned password ( without md5 )
* @param - $sEmail (string) : User email
* @return - (integer) : number of affected rows
*/
function updateProfile( $sOldUsername, $sUserName, $sPassword, $sEmail)
{
$sCleaned = mb_strtolower($sUserName);
$sQuery =
"
UPDATE
`{$this -> aForumSettings['table_prefix']}users`
SET
`username`= '{$sUserName}',
`username_clean` = '{$sCleaned}',
`user_password`= '{$sPassword}',
`user_email`= '{$sEmail}'
WHERE
`username` = '{$sOldUsername}'
LIMIT 1
";
db_res($sQuery);
return mysql_affected_rows();
}
|
Well just so others can see what I did. I simply took out the part to modify / set username_clean and it worked. So, I took out these two lines. My reasoning is that field, set originally by Dolphin, would never change, right? So why even need that code in the first place?
$sCleaned = mb_strtolower($sUserName);
`username_clean` = '{$sCleaned}',
|
You will have to thoroughly test that. It may break the integration. Your theory is incorrect. It would indeed change, and need to be changed if the user was to change their nickname. Unless you have prevented that by removing the nickname field from the profile editor which i believe boonex has done by default in newer versions of dolphin.
https://www.deanbassett.com |
I was going to tell you to make a backup of everything or clone the site and play on the clone.
Yes, if you are going to remove that from the module, then prevent users from changing their user name as Dean stated. To get a full understanding, you need to see where and when that function is called.
If it was working and then stop working; something must have changed somewhere to cause it. PHP scripts are not like engine parts, they don't wear out and break.
Geeks, making the world a better place |
I was going to tell you to make a backup of everything or clone the site and play on the clone.
Yes, if you are going to remove that from the module, then prevent users from changing their user name as Dean stated. To get a full understanding, you need to see where and when that function is called.
If it was working and then stop working; something must have changed somewhere to cause it. PHP scripts are not like engine parts, they don't wear out and break.
I used to think this until I started hanging out here. I have seen things ..... (lol)
http://towtalk.net ... Hosted by Zarconia.net! |
I disabled that feature... and tested the lost password with a new account, and it worked fine. So, should be ok :)
Of course, I've seen stranger things happen.
|