Доброго времени суток!
Подскажите, пожалуйста, где косяки в коде?
Суть: Скрипт должен чекать новые посты в сообществе и удалять те, где есть "запрещенные слова", которые мы сами прописали в коде. Некий антиспам.
В логе пишет, что пост удален, а по факту - нет.
<?php
//set_time_limit(10800);
//Header('Content-Type: text/html; charset=utf-8');
$cache_file_log="log.inc";
$today = date("H:i:s d-m-Y");
$log_text = "$today proverka";
if (!isset($_REQUEST)) {
return;
}
//Строка для подтверждения адреса сервера из настроек Callback API
$confirmation_token = '12345678';
//Получаем и декодируем уведомление
$data = json_decode(file_get_contents('php://input'));
//Проверяем, что находится в поле "type"
switch ($data->type) {
//Если это уведомление для подтверждения адреса сервера...
case 'confirmation':
//...отправляем строку для подтверждения адреса
echo $confirmation_token;
$log_text = "$today confirmation";
break;
//Если это уведомление о новом сообщении на стене...
case 'wall_post_new':
//...получаем id его автора
$user_id = $data->object->from_id;
$id_post = $data->object->id;
$text_post = $data->object->text;
//затем с помощью users.get получаем данные об авторе
//$user_info = json_decode(file_get_contents("https://api.vk.com/method/users.get?user_ids={$user_id}&v=5.50"));
//и извлекаем из ответа его имя
//$user_name = $user_info->response[0]->first_name;
//заисываем лог
$log_text = "$today new message wall - $user_id, $id_post, $text_post";
//проверяем есть ли плохое слово в тексте и если есть то удаляем пост
$bad_word = "секс,порно,размером,безoткaзный,paзвеcти,тeлочкy,мeтод,пeнис,оргазм,нaсилуeт,постоянного партнера,имeть,развратная,чпокнул,встречусь с симпатичным,любовника,очень хочется,повиртим,трах,пенис,член,ceкc,сeкc,куни,cекc,члeн,cекс";
$bad_word_massiv = explode(",", $bad_word);
$bad_word_count=count($bad_word_massiv);
$text_post = mb_strtolower($text_post, 'UTF-8');
$nashli_plohoe_slovo = "";
for($i=0;$i<$bad_word_count;$i++) {
if ( strstr($text_post, $bad_word_massiv[$i]) ) {$nashli_plohoe_slovo="1";}
}
//если длина поста меньше 6 символов
if ( strlen(utf8_decode($text_post))<6 ) {$nashli_plohoe_slovo="1";}
if ($nashli_plohoe_slovo=="1") {
//echo "нашли плохое слово";
//Ключ доступа сообщества
$token_2 = 'gjfbif5dc887328d4d5d12dgujr9828c5cae6378bc1265416c725d506514744f434a8e6tyhnf56c35ebda';
$gruppa_id="-1234567";
//С помощью messages.send и токена сообщества отправляем ответное сообщение
$request_params = array(
'owner_id' => $gruppa_id,
'post_id' => $id_post,
'access_token' => $token_2,
'v' => '5.0'
);
$get_params = http_build_query($request_params);
$ch = curl_init( 'https://api.vk.com/method/wall.delete?'. $get_params );
curl_setopt ( $ch, CURLOPT_HEADER, false );
curl_setopt ( $ch, CURLOPT_RETURNTRANSFER, true );
curl_setopt ( $ch, CURLOPT_SSL_VERIFYPEER, false );
//curl_setopt ( $ch, CURLOPT_POST, true );
//curl_setopt ( $ch, CURLOPT_POSTFIELDS, $params );
$data = curl_exec($ch);
curl_close($ch);
//echo $data;
$log_text = "$today new message wall - $user_id, $id_post, $text_post - плохое, удаляем";
}
//if ( strstr($text_post, $bad_word) ) {echo "нашли плохое слово";} else {echo "не нашли";}
//Возвращаем "ok" серверу Callback API
echo('ok');
break;
}
//записываем лог
$fp=fopen("$cache_file_log","a");
fwrite($fp, "\r\n" . "$log_text");
fclose($fp);
?>