/**
 * @param string $input
 * @param string $default_if_invalid
 *
 * @return string
 */
function wpml_sanitize_hex_color($input, $default_if_invalid = '')
{
    $input = sanitize_text_field($input);
    $result = $input;
    if (!is_string($input) || !wpml_is_valid_hex_color($input)) {
        $result = $default_if_invalid;
    }
    return $result;
}
Esempio n. 2
0
     icl_set_setting('icl_sidebar_minimized', $_POST['state'] == 'hide' ? 1 : 0);
     icl_save_settings();
     break;
 case 'icl_promote_form':
     icl_set_setting('promote_wpml', @intval($_POST['icl_promote']));
     icl_save_settings();
     echo '1|';
     break;
 case 'save_translator_note':
     update_post_meta($_POST['post_id'], '_icl_translator_note', $_POST['note']);
     break;
 case 'icl_st_track_strings':
     foreach ($_POST['icl_st'] as $k => $v) {
         $iclsettings['st'][$k] = $v;
     }
     if (array_key_exists('st', $iclsettings) && array_key_exists('hl_color', $iclsettings['st']) && !wpml_is_valid_hex_color($iclsettings['st']['hl_color'])) {
         $iclsettings['st']['hl_color'] = '#FFFF00';
     }
     if (isset($iclsettings)) {
         $this->save_settings($iclsettings);
     }
     echo 1;
     break;
 case 'icl_st_more_options':
     $iclsettings['st']['translated-users'] = !empty($_POST['users']) ? array_keys($_POST['users']) : array();
     $this->save_settings($iclsettings);
     if (!empty($iclsettings['st']['translated-users'])) {
         $sitepress_settings['st']['translated-users'] = $iclsettings['st']['translated-users'];
         icl_st_register_user_strings_all();
     }
     echo 1;