Esempio n. 1
0
 $my_users_ids = get_my_users_ids($db);
 $my_miners_ids = get_my_miners_ids($db, $my_users_ids);
 debug_print($miners_ids, __FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__);
 debug_print($my_users_ids, __FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__);
 debug_print($my_miners_ids, __FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__);
 $intersect_my_miners = array_intersect($my_miners_ids, $miners_ids);
 // нет ли нас среди тех, кто должен скачать фото к себе и проголосовать
 if ($intersect_my_miners) {
     // копируем фото  к себе
     $profile_path = ABSPATH . "public/profile_{$row['user_id']}.jpg";
     $face_path = ABSPATH . "public/face_{$row['user_id']}.jpg";
     $url = "{$row['host']}/public/{$row['user_id']}_user_profile.jpg";
     ParseData::download_and_save($url, $profile_path);
     debug_print($url, __FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__);
     $url = "{$row['host']}/public/{$row['user_id']}_user_face.jpg";
     ParseData::download_and_save($url, $face_path);
     debug_print($url, __FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__);
     // хэши скопированных фото
     $profile_hash = hash('sha256', hash_file('sha256', $profile_path));
     $face_hash = hash('sha256', hash_file('sha256', $face_path));
     debug_print('$profile_hash=' . $profile_hash . "\n" . '$face_hash=' . $face_hash, __FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__);
     // проверяем хэш. Если сходится, то голосуем за, если нет - против и размер не должен быть более 200 Kb.
     if ($profile_hash == $row['profile_hash'] && $face_hash == $row['face_hash'] && filesize($profile_path) < 204800 && filesize($face_path) < 204800) {
         $vote = 1;
         debug_print('VOTE = YES', __FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__);
     } else {
         $vote = 0;
         // если хэш не сходится, то удаляем только что скаченное фото
         unlink($profile_path);
         unlink($face_path);
         debug_print('VOTE = NO', __FILE__, __LINE__, __FUNCTION__, __CLASS__, __METHOD__);