The Arcive of vBulletin Modifications Site. |
|
|
#1
|
|||
|
|||
|
I am trying to use a hack that is no longer supported and the original coder isn't replying even on his own board. I am hoping someone can assist me since I am very confused about what is wrong.
I am using FC4 with updated RPMs, so PHP=5.0.4 & SQL=4.1.20, I also use MYSQLi to connect to the database. The original code is: Code:
$cdfield = "field" . $vbulletin->options["countdownfield"];
$query = $vbulletin->db->query_read( "SELECT $cdfield FROM " . TABLE_PREFIX . "userfield WHERE userid='" . $post["userid"] . "';" );
$result = mysql_fetch_array( $query );
$cddata = unserialize( str_replace( """, '"', $result[$cdfield] ) );
if ( $cddata["enabled"] == "Yes" )
So I made this test code to figure out what is wrong: Code:
<?php
$link = mysql_connect('localhost', 'dbname', 'dbpassword');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully'.'<br />';
$result = mysql_query("SELECT field10 FROM vbulletin.vb_userfield WHERE userid='3531'");
if (!$result) {
die('Invalid query: ' . mysql_error());
}
echo 'Query Results'.'<br />';
var_dump ($result);
$result2 = str_replace( """, '"', $result['field10'] );
echo '<br/>'.'Replace Results'.'<br />';
var_dump ($result2);
$serializedarray = unserialize($result2['field10']);
echo '<br/>'.'Unserialized'.'<br />';
var_dump ($serializedarray);
echo $result["enabled"];
?>
Code:
Connected successfully Query Results resource(3) of type (mysql result) Replace Results string(0) "" Unserialized bool(false) Code:
a:8:{s:7:"enabled";s:3:"Yes";s:3:"day";s:1:"1";s:5:"month";s:1:"1";s:4:"year";s:4:"2009";s:4:"hour";s:1:"0";s:6:"minute";s:1:"0";s:5:"event";s:14:"Happy New Year";s:7:"overmsg";s:15:"Make Resolution";}
|
|
#2
|
||||
|
||||
|
Did you try doing an unserialize on the serialized data before other manipulations such as the str_replace?
EDIT: Also, mysql_query returns a MySQL "resource", you should pass it to one of the functions such as mysql_fetch_assoc to return a php array of the data. PHP Code:
|
|
#3
|
||||
|
||||
|
Bingo.
Remember that a when you serialize something, PHP records the lengths of all the strings, arrays, etc. Changing things like " to " would muck this up, resulting in an usable data. |
![]() |
|
|
| X vBulletin 3.8.12 by vBS Debug Information | |
|---|---|
|
|
More Information |
|
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|