public function change_language_of_strings($domain, $langs, $to_lang, $set_as_default)
 {
     $package_translation = new WPML_Package_Helper();
     $package_translation->change_language_of_strings_in_domain($domain, $langs, $to_lang);
     if (!empty($langs)) {
         foreach ($langs as &$lang) {
             $lang = "'" . $lang . "'";
         }
         $langs = implode(',', $langs);
         $update_query = "UPDATE {$this->wpdb->prefix}icl_strings SET language=%s WHERE context=%s AND language IN ({$langs})";
         $update_prepare = $this->wpdb->prepare($update_query, $to_lang, $domain);
         $this->wpdb->query($update_prepare);
     }
     if ($set_as_default) {
         $lang_of_domain = new WPML_Language_Of_Domain($this->sitepress);
         $lang_of_domain->set_language($domain, $to_lang);
     }
     $string_ids = $this->wpdb->get_col($this->wpdb->prepare("SELECT id FROM {$this->wpdb->prefix}icl_strings WHERE context = %s", $domain));
     foreach ($string_ids as $strid) {
         $string = new WPML_ST_String($strid, $this->wpdb);
         $string->update_status();
     }
     return array('success' => true);
 }
예제 #2
0
function icl_update_string_status($string_id)
{
    global $wpdb;
    $string = new WPML_ST_String($string_id, $wpdb);
    return $string->update_status();
}