承接 cleantalk/contacts-encoder 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

cleantalk/contacts-encoder

最新稳定版本:2.0.14

Composer 安装命令:

composer require cleantalk/contacts-encoder

包简介

CleanTalk ContactsEncoder class

README 文档

README

Overview

The Contacts Encoder protects email addresses and phone numbers from spam bots. It requires 4 essential components to work properly.

🚀 Complete Setup in 4 Steps

Step 1: PHP Backend Setup

1.1 Configure Parameters (Params)

use Cleantalk\Common\ContactsEncoder\Dto\Params;

$params = new Params();
$params->api_key = 'your_cleantalk_api_key';  // REQUIRED for encryption
$params->obfuscation_mode = Params::OBFUSCATION_MODE_BLUR;
$params->do_encode_emails = true;
$params->do_encode_phones = true;
$params->is_logged_in = false;  // Set true for admin users

1.2 Create Platform-Specific Class

use Cleantalk\Common\ContactsEncoder\ContactsEncoder as BaseEncoder;

class YourPlatformContactsEncoder extends BaseEncoder
{
// REQUIRED: Add request validation
protected function checkRequest()
{
return $this->validateUserRequest(); // Your validation logic
}

    // OPTIONAL: Customize messages
    protected function getTooltip()
    {
        return 'Click to decode protected contact';
    }
}

Step 2: Encoding Content

// Initialize encoder
$encoder = YourPlatformContactsEncoder::getInstance($params);

// Process your content
$protectedHtml = $encoder->runEncoding($yourHtmlContent);

// Output to browser
echo $protectedHtml;

Step 3: Frontend Assets

3.1 Include CSS

<link rel="stylesheet" href="/path/to/contacts-encoder.css">

3.2 Include JavaScript

<script src="/path/to/ContactsEncoder.js"></script>

Step 4: JavaScript Configuration

4.1 Create Config Object

const encoderConfig = {
// REQUIRED: AJAX endpoint
decodeContactsRequest: (encodedNodes) => {
return fetch('/your-ajax-endpoint', {
method: 'POST',
body: encodedNodes
}).then(r => r.json());
},

    // OPTIONAL: Custom texts
    texts: {
        waitForDecoding: 'Decoding contact...',
        gotIt: 'Continue',
        blocked: 'Access denied'
    },
    
    serviceData: {
        brandName: 'Your Site Name'
    }
};

4.2 Initialize on Frontend

document.addEventListener('DOMContentLoaded', () => {
new ContactsEncoder(encoderConfig);
});

统计信息

  • 总下载量: 216
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 2
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: GPL-3.0-or-later
  • 更新时间: 2025-11-08