There are some problems with this hack...
First, the page navigation is screwy. Also, why is eregi_replace being used instead of the (faster) preg functions? In fact, why not just use vB's bbcode parser... much easier that way.
There are some security and performance issues, too. Like, this:
PHP Code:
$query =$DB_site->query("SELECT * FROM " . TABLE_PREFIX . "user");
if($DB_site->num_rows($query) > 0)
{
$do = '1';
}
Doing this loads up the enite userbase into memory... not nice. Try this instead:
PHP Code:
$query = $DB_site->query_first('SELECT count(*) AS count FROM ' . TABLE_PREFIX . 'user');
if($query['count'] > 0) {
$do = '1';
}
Of course this doesn't address why this is necessary in the first place, since this query will ALWAYS set $do to 1, since there is always at least one user in the database. Best to just remove that altogether, imo.
There is also this:
PHP Code:
$query =$DB_site->query("SELECT sigrate FROM " . TABLE_PREFIX . "user");
while($r =$DB_site->fetch_array($query))
{
$sign = $r[sigrate];
}
$nvote = $sign.' '.Addslashes($v);
Which is just as inefficient as the above query and I can't for the life of me figure out what it is trying to do, maybe I'm just missing it....
Finally,
PHP Code:
$query =$DB_site->query("UPDATE " . TABLE_PREFIX . "user SET sigrate=sigrate+1 where userid='$v'");
Really needs to be
PHP Code:
$query =$DB_site->query("UPDATE " . TABLE_PREFIX . "user SET sigrate=sigrate+1 where userid='" . intval($v) . "'");
for obvious reasons. I just spent the last half hour fixing this stuff so I thought you might want to incorporate the changes.
Cool idea, though.