コード例 #1
0
ファイル: sanitize.php プロジェクト: tatakauashi/meiteampower
 function nirvana_settings_validate($input)
 {
     global $nirvanas;
     global $nirvana_colorschemes_array;
     $nirvana_defaults = nirvana_get_option_defaults();
     $colorSchemes = !empty($input['nirvana_schemessubmit']) ? true : false;
     if ($colorSchemes) {
         $input = array_merge($nirvanas, json_decode("{" . $nirvana_colorschemes_array[$input['nirvana_colorschemes']] . "}", true));
     } else {
         // generic checks, based on datatypes and on field names
         foreach ($input as $name => $value) {
             if (preg_match("/^nirvana_.*/i", $name)) {
                 // only process theme settings
                 if (is_array($value)) {
                     $input[$name] = cryout_proto_arrsan($value);
                     // array
                 } else {
                     switch ($value) {
                         case preg_match("/^(#[0-9a-f]{3}|#?[0-9a-f]{6})\$/i", trim(wp_kses_data($value))) ? $value : !$value:
                             // colour field
                             $input[$name] = cryout_color_clean(trim(wp_kses_data($input[$name])));
                             break;
                         case preg_match("/^[0-9]+\$/i", trim(wp_kses_data($value))) ? $value : !$value:
                             // numeric field
                             $input[$name] = intval(wp_kses_data($input[$name]));
                             break;
                         default:
                             switch ($name) {
                                 case preg_match("/.*(copyright|excerpt|customcss|customjs|slidertext|columntext|fronttext).*/i", trim($name)) ? $name : !$name:
                                     // long content fields
                                     $input[$name] = trim(wp_kses_post($input[$name]));
                                     break;
                                 case preg_match("/.*(sliderlink|columnlink).*/i", trim($name)) ? $name : !$name:
                                     // url fields
                                     $input[$name] = esc_url_raw($input[$name]);
                                     break;
                                 default:
                                     $input[$name] = trim(wp_kses_data($input[$name]));
                                     // generic sanitization for the rest
                             }
                     }
                 }
                 // if array
             }
         }
         // more specific checks that should be kept (for now)
         /*** 1 ***/
         if (isset($input['nirvana_sidewidth']) && is_numeric($input['nirvana_sidewidth']) && $input['nirvana_sidewidth'] >= 500 && $input['nirvana_sidewidth'] <= 1760) {
         } else {
             $input['nirvana_sidewidth'] = $nirvana_defaults['nirvana_sidewidth'];
         }
         if (isset($input['nirvana_sidebar']) && is_numeric($input['nirvana_sidebar']) && $input['nirvana_sidebar'] >= 220 && $input['nirvana_sidebar'] <= 800) {
         } else {
             $input['nirvana_sidebar'] = $nirvana_defaults['nirvana_sidebar'];
         }
         $input['nirvana_hheight'] = intval(wp_kses_data($input['nirvana_hheight']));
         //$input['nirvana_copyright'] = trim(wp_kses_post($input['nirvana_copyright']));
         $input['nirvana_excerptlength'] = intval(wp_kses_data($input['nirvana_excerptlength']));
         //$input['nirvana_excerptdots'] =  wp_kses_data($input['nirvana_excerptdots']);
         //$input['nirvana_excerptcont'] =  wp_kses_data($input['nirvana_excerptcont']);
         $input['nirvana_fwidth'] = intval(wp_kses_data($input['nirvana_fwidth']));
         $input['nirvana_fheight'] = intval(wp_kses_data($input['nirvana_fheight']));
         $input['nirvana_contentmargintop'] = intval(wp_kses_data($input['nirvana_contentmargintop']));
         $input['nirvana_contentpadding'] = intval(wp_kses_data($input['nirvana_contentpadding']));
         /*** 2 ***/
         $cryout_special_terms = array('mailto:', 'callto://', 'tel:');
         $cryout_special_keys = array('Mail', 'Skype', 'Phone');
         for ($i = 1; $i < 10; $i += 2) {
             if (!isset($input['nirvana_social_target' . $i])) {
                 $input['nirvana_social_target' . $i] = "0";
             }
             $input['nirvana_social_title' . $i] = wp_kses_data(trim($input['nirvana_social_title' . $i]));
             $j = $i + 1;
             if (in_array($input['nirvana_social' . $i], $cryout_special_keys)) {
                 $input['nirvana_social' . $j] = wp_kses_data(str_replace($cryout_special_terms, '', $input['nirvana_social' . $j]));
                 if (in_array($input['nirvana_social' . $i], $cryout_special_keys)) {
                     $prefix = $cryout_special_terms[array_search($input['nirvana_social' . $i], $cryout_special_keys)];
                     $input['nirvana_social' . $j] = $prefix . $input['nirvana_social' . $j];
                 }
             } else {
                 $input['nirvana_social' . $j] = esc_url_raw($input['nirvana_social' . $j]);
             }
         }
         for ($i = 0; $i <= 5; $i++) {
             if (!isset($input['nirvana_socialsdisplay' . $i])) {
                 $input['nirvana_socialsdisplay' . $i] = "0";
             }
         }
         $show_search = array("top", "main", "footer");
         foreach ($show_search as $item) {
             if (!isset($input['nirvana_searchbar'][$item])) {
                 $input['nirvana_searchbar'][$item] = 0;
             }
         }
         $show_blog = array("author", "date", "time", "category", "tag", "comments");
         foreach ($show_blog as $item) {
             if (!isset($input['nirvana_blog_show'][$item])) {
                 $input['nirvana_blog_show'][$item] = 0;
             }
         }
         $show_single = array("author", "date", "time", "category", "tag", "bookmark");
         foreach ($show_single as $item) {
             if (!isset($input['nirvana_single_show'][$item])) {
                 $input['nirvana_single_show'][$item] = 0;
             }
         }
         $input['nirvana_favicon'] = esc_url_raw($input['nirvana_favicon']);
         $input['nirvana_logoupload'] = esc_url_raw($input['nirvana_logoupload']);
         $input['nirvana_headermargintop'] = intval(wp_kses_data($input['nirvana_headermargintop']));
         $input['nirvana_headermarginleft'] = intval(wp_kses_data($input['nirvana_headermarginleft']));
         //$input['nirvana_customcss'] =  wp_kses_post(trim($input['nirvana_customcss']));
         //$input['nirvana_customjs'] =  wp_kses_post(trim($input['nirvana_customjs']));
         $input['nirvana_slideNumber'] = intval(wp_kses_data($input['nirvana_slideNumber']));
         $input['nirvana_slideSpecific'] = wp_kses_data($input['nirvana_slideSpecific']);
         $input['nirvana_fpsliderwidth'] = intval(wp_kses_data($input['nirvana_fpsliderwidth']));
         $input['nirvana_fpsliderheight'] = intval(wp_kses_data($input['nirvana_fpsliderheight']));
         $input['nirvana_fpslider_topmargin'] = intval(wp_kses_data($input['nirvana_fpslider_topmargin']));
         $input['nirvana_fpslider_bordersize'] = intval(wp_kses_data($input['nirvana_fpslider_bordersize']));
         /** 3 ***/
         $input['nirvana_columnNumber'] = intval(wp_kses_data($input['nirvana_columnNumber']));
         $input['nirvana_nrcolumns'] = intval(wp_kses_data($input['nirvana_nrcolumns']));
         $input['nirvana_colimageheight'] = intval(wp_kses_data($input['nirvana_colimageheight']));
         $input['nirvana_colspace'] = abs(wp_kses_data($input['nirvana_colspace'])) > 10 ? 10 : abs(wp_kses_data($input['nirvana_colspace']));
         /** 4 **/
         $input['nirvana_postboxes'] = wp_kses_post($input['nirvana_postboxes']);
         $resetDefault = !empty($input['nirvana_defaults']) ? true : false;
         if ($resetDefault) {
             $input = $nirvana_defaults;
         }
     }
     return $input;
     // return validated input
 }
コード例 #2
0
ファイル: main.php プロジェクト: RishabhTayal/GandF
function nirvana_get_theme_options()
{
    $optionsNirvana = wp_parse_args(get_option('nirvana_settings', array()), nirvana_get_option_defaults());
    $optionsNirvana['id'] = "nirvana_settings";
    return $optionsNirvana;
}