Corporation China — Global Header Mega Menu

/client-portal/ → Add shortcode:

Please login to access your portal.

/register/ → Add shortcode:

Create Your Account

Free Instant Check

Search a Trademark in China

Check whether your brand name is already filed or registered with CNIPA before you apply. Enter a name and (optionally) a class.

Powered by CNIPA data · Results are indicative — always confirm with a professional clearance search.

Enter a brand name above and press Search to run a live check.

This tool queries trademark records via Corporation China's secure server. Indicative results only and not legal advice. A formal clearance search by our CNIPA-certified agents is recommended before filing.

Prefer to Check Yourself?

Search the Official Registers

Cross-check your brand directly on the official trademark databases. Each opens in a new tab.

Official databases are provided by their respective owners (CNIPA, WIPO, EUIPO/TMview) and may require a CAPTCHA. Corporation China is not affiliated with these bodies. For a definitive clearance opinion, request a professional search from our CNIPA-certified team.

HERE
get_charset_collate(); // Applications table $sql = "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}ctcp_applications ( id bigint(20) NOT NULL AUTO_INCREMENT, user_id bigint(20) NOT NULL, trademark_name varchar(255) NOT NULL, trademark_class varchar(50), status varchar(50) DEFAULT 'pending', filing_date date, registration_number varchar(100), notes longtext, created_at datetime DEFAULT CURRENT_TIMESTAMP, updated_at datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY user_id (user_id) ) $charset_collate;"; // Files table $sql2 = "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}ctcp_files ( id bigint(20) NOT NULL AUTO_INCREMENT, user_id bigint(20) NOT NULL, application_id bigint(20), file_name varchar(255) NOT NULL, file_path varchar(500) NOT NULL, file_type varchar(50), uploaded_by varchar(50) DEFAULT 'client', created_at datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY user_id (user_id), KEY application_id (application_id) ) $charset_collate;"; // Messages table $sql3 = "CREATE TABLE IF NOT EXISTS {$wpdb->prefix}ctcp_messages ( id bigint(20) NOT NULL AUTO_INCREMENT, user_id bigint(20) NOT NULL, application_id bigint(20), sender_type varchar(20) DEFAULT 'client', message longtext NOT NULL, is_read tinyint(1) DEFAULT 0, created_at datetime DEFAULT CURRENT_TIMESTAMP, PRIMARY KEY (id), KEY user_id (user_id) ) $charset_collate;"; require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); dbDelta($sql); dbDelta($sql2); dbDelta($sql3); // Create upload directory $upload_dir = wp_upload_dir(); $ctcp_dir = $upload_dir['basedir'] . '/client-portal'; if (!file_exists($ctcp_dir)) { wp_mkdir_p($ctcp_dir); file_put_contents($ctcp_dir . '/.htaccess', 'deny from all'); } flush_rewrite_rules(); } public function register_post_types() { // Custom role for clients if (!get_role('tm_client')) { add_role('tm_client', 'TM Client', array( 'read' => true, 'upload_files' => true )); } } public function add_rewrite_rules() { add_rewrite_rule('^client-portal/?', 'index.php?client_portal=1', 'top'); add_rewrite_tag('%client_portal%', '([^&]+)'); } public function enqueue_scripts() { if (is_page() && (has_shortcode(get_post()->post_content, 'client_portal') || has_shortcode(get_post()->post_content, 'client_registration'))) { wp_enqueue_style('ctcp-styles', plugin_dir_url(__FILE__) . 'assets/portal.css', array(), '1.0.0'); wp_enqueue_script('ctcp-script', plugin_dir_url(__FILE__) . 'assets/portal.js', array('jquery'), '1.0.0', true); wp_localize_script('ctcp-script', 'ctcpAjax', array( 'ajaxurl' => admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('ctcp_nonce'), 'user_id' => get_current_user_id() )); } } // Registration Form public function render_registration() { if (is_user_logged_in()) { return '

You are already logged in. Logout

'; } ob_start(); ?>

Create Your Account

Please login to access your portal.

'; } $user_id = get_current_user_id(); $user = wp_get_current_user(); ob_start(); ?>

Welcome, display_name); ?>!

Logout

Dashboard Overview

0
Total Applications
0
Pending
0
Approved
0
Documents

Recent Activity

Loading...

My Trademark Applications

Loading applications...

My Documents

Upload Document

Loading documents...

Messages

Loading messages...

Send Message to Admin

My Profile

'Not logged in')); } global $wpdb; $user_id = get_current_user_id(); $table = $wpdb->prefix . 'ctcp_applications'; $applications = $wpdb->get_results($wpdb->prepare( "SELECT * FROM $table WHERE user_id = %d ORDER BY created_at DESC", $user_id ), ARRAY_A); wp_send_json_success(array('applications' => $applications)); } // AJAX: Send message public function ajax_send_message() { check_ajax_referer('ctcp_nonce', 'nonce'); if (!is_user_logged_in()) { wp_send_json_error(array('message' => 'Not logged in')); } global $wpdb; $user_id = get_current_user_id(); $message = sanitize_textarea_field($_POST['message']); $inserted = $wpdb->insert( $wpdb->prefix . 'ctcp_messages', array( 'user_id' => $user_id, 'sender_type' => 'client', 'message' => $message, 'created_at' => current_time('mysql') ) ); if ($inserted) { // Send email notification to admin wp_mail( 'info@corporationchina.com', 'New Client Message', "New message from client:\n\n" . $message ); wp_send_json_success(); } else { wp_send_json_error(array('message' => 'Failed to send message')); } } // AJAX: Register public function ajax_register() { check_ajax_referer('ctcp_nonce', 'nonce'); $email = sanitize_email($_POST['email']); $password = $_POST['password']; $full_name = sanitize_text_field($_POST['full_name']); $company = sanitize_text_field($_POST['company']); $phone = sanitize_text_field($_POST['phone']); if (email_exists($email)) { wp_send_json_error(array('message' => 'Email already exists')); } $user_id = wp_create_user($email, $password, $email); if (is_wp_error($user_id)) { wp_send_json_error(array('message' => $user_id->get_error_message())); } wp_update_user(array( 'ID' => $user_id, 'display_name' => $full_name, 'role' => 'tm_client' )); update_user_meta($user_id, 'company', $company); update_user_meta($user_id, 'phone', $phone); // Auto login wp_set_current_user($user_id); wp_set_auth_cookie($user_id); wp_send_json_success(array('redirect' => home_url('/client-portal/'))); } // Admin menu public function add_admin_menu() { add_menu_page( 'Client Portal', 'Client Portal', 'manage_options', 'ctcp-clients', array($this, 'admin_clients_page'), 'dashicons-groups', 30 ); add_submenu_page( 'ctcp-clients', 'Applications', 'Applications', 'manage_options', 'ctcp-applications', array($this, 'admin_applications_page') ); add_submenu_page( 'ctcp-clients', 'Documents', 'Documents', 'manage_options', 'ctcp-documents', array($this, 'admin_documents_page') ); } public function admin_clients_page() { $clients = get_users(array('role' => 'tm_client')); ?>

Client Portal - Clients

NameEmailCompanyPhoneRegisteredActions
display_name); ?>user_email); ?>ID, 'company', true)); ?>ID, 'phone', true)); ?>user_registered)); ?> Edit
prefix . 'ctcp_applications'; $applications = $wpdb->get_results("SELECT a.*, u.display_name, u.user_email FROM $table a LEFT JOIN {$wpdb->users} u ON a.user_id = u.ID ORDER BY a.created_at DESC"); ?>

Trademark Applications

Add New Application
IDClientTrademark NameClassStatusFiling DateReg NumberActions
id; ?>display_name); ?>
user_email); ?>
trademark_name); ?>trademark_class); ?>status); ?>filing_date); ?>registration_number); ?>Edit

Documents Management

Document management interface coming soon...

'; } } function china_tm_client_portal_init() { return China_TM_Client_Portal::get_instance(); } add_action('plugins_loaded', 'china_tm_client_portal_init');