I need some help to locate the error ....
Code: Select all
##################################################
# Set user defined flag for users #
##################################################
set site_add "http://phpbb3-forum.org"
setudef flag UserSearch
setudef flag AdminSearch
package require mysqltcl
bind pub "-|-" !me user_search
##################################
### Define The Channels On IRC ###
##################################
set chan_(mainchan) "#phpBB3-Forum"
set chan_(staffchan) "#phpBB3-Staff"
##################
### Mysql path ###
##################
if {![info exists db_handle] } {
set db_handle [mysqlconnect -host xxxxxxxx -port xxxx-user xxxxx-password xxxx-db xxxx]
}
##################################################
# Perform User Search #
##################################################
proc user_search { nick host handle channel text } {
global db_handle staffchan userchan site_add login_ botnick
set arg $text
if { $text != "" } {
if {[channel get $channel AdminSearch]} {
if {[mysqlping $db_handle] != 1} {
putserv "PRIVMSG $channel :The connection to the mysql server has been lost."
return 0
}
set sqlnick "SELECT user_id FROM phpbb_users WHERE username='[mysqlescape $nick]'"
set resultnick [mysqlquery $db_handle $sqlnick]
set nicki 0
while {[set record [mysqlnext $resultnick]] != ""} {
set user_id [lindex $record 0]
incr nicki
}
if { $nicki == 0 } {
puthelp "NOTICE $nick :Det pågældende IRC Nick er ikke tilknyttet en bruger"
puthelp "NOTICE $nick :Brug kommandoen !regnick for at tilknytte dit IRC Nick til din bruger"
}
if { $user_id == "" } {
set sqlnick "SELECT regkode FROM phpbb_users WHERE username='[mysqlescape $nick]'"
set resultkode [mysqlquery $db_handle $sqlnick]
while {[set record [mysqlnext $resultkode]] != ""} {
set regkode [lindex $record 0]
}
puthelp "NOTICE $nick :Du har glemt at indtaste dit password på"
puthelp "NOTICE $nick :http\:\/\/phpbb3-forum.org\/irc\.php"
puthelp "NOTICE $nick :Hvis du har glemt din kode er den : $regkode"
return 0
}
set result [mysqlquery $db_handle $sql]
while {[set record [mysqlnext $result]] != ""} {
set rank_title [lindex $record 0]
}
if { $rank_id < 13 } { puthelp "NOTICE $nick :Access Denied, you are not on The Team" } else {
#set sql "SELECT user_id, username, user_posts FROM phpbb_users WHERE username='[mysqlescape $arg]'"
set sql "SELECT u.user_id, u.username, u.user_posts, u.user_rank, r.rank_id, r.rank_title FROM phpbb_ranks AS r LEFT JOIN phpbb_users AS u ON (r.rank_id=u.user_rank) WHERE u.user_id = '[mysqlescape $arg]'"
set result [mysqlquery $db_handle $sql]
set i 0
while {[set record [mysqlnext $result]] != ""} {
set user_id [lindex $record 0];
set username [lindex $record 1];
set user_posts [lindex $record 2];
set rank_title [lindex $record 3];
putquick "PRIVMSG $channel : User: $username ::: Posts: $user_posts ::: Rank: $user_rank ::: Link: $site_add/memberlist.php?mode=viewprofile&u=$user_id :::"
incr i
}
if { $i == 0 } { putserv "PRIVMSG $channel :No matches : Please try again" }
}
}
} else {
if {![channel get $channel UserSearch]} {
return 0
}
if {[mysqlping $db_handle] != 1} {
putserv "PRIVMSG $channel :The connection to the mysql server has been lost."
return 0
}
set sqlnick "SELECT user_id FROM phpbb_users WHERE username='[mysqlescape $nick]'"
set resultnick [mysqlquery $db_handle $sqlnick]
set nicki 0
while {[set record [mysqlnext $resultnick]] != ""} {
set user_id [lindex $record 0]
incr nicki
}
if { $nicki == 0 } {
puthelp "NOTICE $nick :Det pågældende IRC Nick er ikke tilknyttet en bruger"
puthelp "NOTICE $nick :Brug kommandoen !regnick for at tilknytte dit IRC Nick til din bruger"
}
if { $user_id == "" } {
set sqlnick "SELECT regkode FROM phpbb_users WHERE username='[mysqlescape $nick]'"
set resultkode [mysqlquery $db_handle $sqlnick]
while {[set record [mysqlnext $resultkode]] != ""} {
set regkode [lindex $record 0]
}
puthelp "NOTICE $nick :Du har glemt at indtaste dit password på"
puthelp "NOTICE $nick :http\:\/\/pgpbb3-forum.org\/irc\.php"
puthelp "NOTICE $nick :Hvis du har glemt din kode er den : $regkode"
return 0
}
# set sql "SELECT rank_id, rank_title FROM phpbb_ranks WHERE rank_id='[mysqlescape $rank_id]'"
# set sql "SELECT user_id, username, user_posts FROM phpbb_users WHERE user_id='[mysqlescape $user_id]'"
set sql "SELECT u.user_id, u.username, u.user_posts, u.user_rank, u.user_lang, r.rank_id, r.rank_title FROM phpbb_ranks AS r LEFT JOIN phpbb_users AS u ON (r.rank_id=u.user_rank) WHERE u.user_id = '[mysqlescape $user_id]'"
set result [mysqlquery $db_handle $sql]
set i 0
while {[set record [mysqlnext $result]] != ""} {
set user_id [lindex $record 0];
set username [lindex $record 1];
set user_posts [lindex $record 2];
set rank_title [lindex $record 3];
set user_lang [lindex $record 4];
putquick "PRIVMSG $channel : User: $username ::: Posts: $user_posts ::: Rank: $rank_title ::: Lang: $user_lang ::: Link $site_add/memberlist.php?mode=viewprofile&u=$user_id :::"
incr i
}
if { $i == 0 } { puthelp "PRIVMSG $channel :No matches : Please try again" }
mysqlendquery $result
mysqlendquery $resultnick
}
}
putlog "User search - Loaded"