function send_comment_to_translation($comment_id, $to_language) { global $wpdb, $sitepress_settings, $sitepress; $iclq = new ICanLocalizeQuery($sitepress_settings['site_id'], $sitepress_settings['access_key']); $from_lang = $sitepress->get_language_details($this->user_language); $to_lang = $sitepress->get_language_details($to_language); $from_lang_server = ICL_Pro_Translation::server_languages_map($from_lang['english_name']); $to_lang_server = ICL_Pro_Translation::server_languages_map($to_lang['english_name']); $body = $wpdb->get_var("SELECT comment_content FROM {$wpdb->comments} WHERE comment_ID={$comment_id}"); $rid = $iclq->cms_create_message($body, $from_lang_server, $to_lang_server); if ($rid > 0) { // does this comment already exist in the messages status queue? $msid = $wpdb->get_var("SELECT id FROM {$wpdb->prefix}icl_message_status WHERE object_type='comment' AND object_id={$comment_id}"); if ($msid) { $wpdb->update($wpdb->prefix . 'icl_message_status', array('rid' => $rid, 'md5' => md5($body), 'status' => MESSAGE_TRANSLATION_IN_PROGRESS), array('id' => $msid)); } else { $wpdb->insert($wpdb->prefix . 'icl_message_status', array('rid' => $rid, 'object_id' => $comment_id, 'from_language' => $this->user_language, 'to_language' => $to_language, 'md5' => md5($body), 'object_type' => 'comment', 'status' => MESSAGE_TRANSLATION_IN_PROGRESS)); } } }
/** * Sends piece of content (string) to professional translation @ ICanLocalize * * @since 1.3 * @package WPML * @subpackage WPML API * * @param string $string String * @param string $from_language Language to translate from * @param int $content_id Content ID * @param string $content_type Content Type * @param string $to_language Language to translate into * * @return int request id * */ function wpml_send_content_to_translation($string, $content_id, $content_type, $from_language, $to_language) { global $sitepress, $sitepress_settings, $wpdb; if (!_wpml_api_allowed_content_type($content_type)) { return 0; //WPML_API_INVALID_CONTENT_TYPE } if (!$sitepress->get_language_details($from_language) || !$sitepress->get_language_details($to_language)) { return 0; // WPML_API_INVALID_LANGUAGE_CODE } $from_lang = $sitepress->get_language_details($from_language); $to_lang = $sitepress->get_language_details($to_language); $from_lang_server = apply_filters('icl_server_languages_map', $from_lang['english_name']); $to_lang_server = apply_filters('icl_server_languages_map', $to_lang['english_name']); $iclq = new ICanLocalizeQuery($sitepress_settings['site_id'], $sitepress_settings['access_key']); $rid = $iclq->cms_create_message($string, $from_lang_server, $to_lang_server); if ($rid > 0) { // does this comment already exist in the messages status queue? $msid = $wpdb->get_var($wpdb->prepare(" SELECT id\n FROM {$wpdb->prefix}icl_message_status\n WHERE object_type = %s\n AND object_id = %d", $content_type, $content_id)); if ($msid) { $wpdb->update($wpdb->prefix . 'icl_message_status', array('rid' => $rid, 'md5' => md5($string), 'status' => MESSAGE_TRANSLATION_IN_PROGRESS), array('id' => $msid)); } else { $wpdb->insert($wpdb->prefix . 'icl_message_status', array('rid' => $rid, 'object_id' => $content_id, 'from_language' => $from_language, 'to_language' => $to_language, 'md5' => md5($string), 'object_type' => $content_type, 'status' => MESSAGE_TRANSLATION_IN_PROGRESS)); } } return $rid; }