public function check_ip()
 {
     $passed_ip = '';
     global $smcFunc;
     for ($i = 0; $i < sizeof($this->ip_array); $i++) {
         $result = IPS\Db::i()->select('count(network)', 'cleantalk_sfw', "network = " . $this->ip_array[$i] . " & mask", "", 1);
         $cnt = $result->first();
         if ($cnt > 0) {
             $this->result = true;
             $this->blocked_ip = $this->ip_str_array[$i];
         } else {
             $passed_ip = $this->ip_str_array[$i];
         }
     }
     if ($passed_ip != '') {
         $key = \IPS\Settings::i()->access_key;
         @setcookie('ct_sfw_pass_key', md5($passed_ip . $key), 0, "/");
     }
 }
Ejemplo n.º 2
0
    $ct_request->sender_ip = $_SERVER['REMOTE_ADDR'];
    $ct_request->sender_email = '*****@*****.**';
    $ct_request->agent = 'ipboard4-18';
    $ct_request->js_on = 1;
    $ct_request->message = 'This message is a test to check the connection to the CleanTalk servers.';
    $ct_result = $ct->isAllowMessage($ct_request);
    $form->saveAsSettings();
    if (\IPS\Settings::i()->cleantalk_sfw == 1) {
        $sql = "DROP TABLE IF EXISTS `cleantalk_sfw`";
        $result = IPS\Db::i()->query($sql);
        $sql = "CREATE TABLE IF NOT EXISTS `cleantalk_sfw` (\n`network` int(11) unsigned NOT NULL,\n`mask` int(11) unsigned NOT NULL,\nINDEX (  `network` ,  `mask` )\n) ENGINE = MYISAM ";
        $result = IPS\Db::i()->query($sql);
        $data = array('auth_key' => $values['access_key'], 'method_name' => '2s_blacklists_db');
        $result = sendRawRequest('https://api.cleantalk.org/2.1', $data, false);
        $result = json_decode($result, true);
        if (isset($result['data'])) {
            $result = $result['data'];
            $query = "INSERT INTO `cleantalk_sfw` VALUES ";
            for ($i = 0; $i < sizeof($result); $i++) {
                if ($i == sizeof($result) - 1) {
                    $query .= "(" . $result[$i][0] . "," . $result[$i][1] . ")";
                } else {
                    $query .= "(" . $result[$i][0] . "," . $result[$i][1] . "), ";
                }
            }
            $result = IPS\Db::i()->query($query);
        }
    }
    return TRUE;
}
return $form;