tcl
proc ::checkpays::monitoring {nick username ip vhost codepays reputation sslco webirc websocket realname asn asname} {
::checkpays::service:connect
set query "CALL `NEW_CONNECTION`('$nick', '$username', '[mysqlescape [encoding convertto utf-8 $realname]]', '$codepays', '$ip', '$vhost', '$webirc', '$websocket', '$sslco');"
set res [::mysql::exec $::mysqlink $query]
::checkpays::service:deconnect
}
proc ::checkpays::CountIRC {ip username codepays webirc websocket} {
set now [strftime "%Y-%m-%d"]
set queryverif "SELECT ip,seen FROM compteur WHERE ip='$ip' AND seen='$now'"
::checkpays::service:connect
set res [::mysql::sel $::mysqlink $queryverif]
if {[lindex $res 0] == 1} {
set query "UPDATE compteur SET itr=itr+1 WHERE ip='$ip' AND seen='$now'"
} else {
set query "INSERT INTO compteur (ip, username, codepays, webirc, websocket, seen, itr) VALUES ('$ip', '$username', '$codepays', '$webirc', '$websocket', NOW(), 1)"
}
set res [::mysql::sel $::mysqlink $query]
::checkpays::service:deconnect
}
Pour faire une seule fermeture connexion, tu me conseilles de les retirer des deux procédures et de les mettre dans le else .
Exemple:
tcl
} else {
# Si on entre pas dans une condition blacklisté on envoie à la proc du monitoring
::checkpays::service:connect
::checkpays::monitoring $nick $username $ip $vhost $codepays $reputation $sslco $webirc $websocket $realname $asn $asname
::checkpays::CountIRC $ip $username $codepays $webirc $websocket
::checkpays::service:deconnect
}
ou de réunir les deux proc en une seule ? Les réunir ça sera problématique si je veux les appeler séparement.
Et voici la structure de ma table compteur , qui est appeler dans la proc CountIRC : https://imgur.com/YjcEqOW