/** * チェック */ function theme_options_validate($input) { global $layout_options, $header_layout_options, $color_type_options; // 色の設定 if (!isset($input['color_type'])) { $input['color_type'] = null; } if (!array_key_exists($input['color_type'], $color_type_options)) { $input['color_type'] = null; } // 色の設定2 $input['pickedcolor'] = wp_filter_nohtml_kses($input['pickedcolor']); $input['pickedcolor2'] = wp_filter_nohtml_kses($input['pickedcolor2']); $input['pickedcolor3'] = wp_filter_nohtml_kses($input['pickedcolor3']); // フォントサイズ $input['content_font_size'] = wp_filter_nohtml_kses($input['content_font_size']); // 投稿者・タグ・コメント if (!isset($input['show_author'])) { $input['show_author'] = null; } $input['show_author'] = $input['show_author'] == 1 ? 1 : 0; if (!isset($input['show_comment'])) { $input['show_comment'] = null; } $input['show_comment'] = $input['show_comment'] == 1 ? 1 : 0; if (!isset($input['show_trackback'])) { $input['show_trackback'] = null; } $input['show_trackback'] = $input['show_trackback'] == 1 ? 1 : 0; if (!isset($input['show_next_post'])) { $input['show_next_post'] = null; } $input['show_next_post'] = $input['show_next_post'] == 1 ? 1 : 0; if (!isset($input['show_rss'])) { $input['show_rss'] = null; } $input['show_rss'] = $input['show_rss'] == 1 ? 1 : 0; if (!isset($input['show_related_post'])) { $input['show_related_post'] = null; } $input['show_related_post'] = $input['show_related_post'] == 1 ? 1 : 0; if (!isset($input['show_bookmark'])) { $input['show_bookmark'] = null; } $input['show_bookmark'] = $input['show_bookmark'] == 1 ? 1 : 0; // レイアウトの設定 if (!isset($input['layout'])) { $input['layout'] = null; } if (!array_key_exists($input['layout'], $layout_options)) { $input['layout'] = null; } // ヘッダーレイアウトの設定 if (!isset($input['header_layout'])) { $input['header_layout'] = null; } if (!array_key_exists($input['header_layout'], $header_layout_options)) { $input['header_layout'] = null; } // twitter,facebook URL $input['twitter_url'] = wp_filter_nohtml_kses($input['twitter_url']); $input['facebook_url'] = wp_filter_nohtml_kses($input['facebook_url']); // ヘッダーの広告バナー $input['header_ad_code1'] = $input['header_ad_code1']; $input['header_ad_image1'] = wp_filter_nohtml_kses($input['header_ad_image1']); $input['header_ad_url1'] = wp_filter_nohtml_kses($input['header_ad_url1']); // 詳細記事上部の広告バナー $input['single_ad_code1'] = $input['single_ad_code1']; $input['single_ad_image1'] = wp_filter_nohtml_kses($input['single_ad_image1']); $input['single_ad_url1'] = wp_filter_nohtml_kses($input['single_ad_url1']); // 詳細記事下部の広告バナー $input['single_ad_code2'] = $input['single_ad_code2']; $input['single_ad_image2'] = wp_filter_nohtml_kses($input['single_ad_image2']); $input['single_ad_url2'] = wp_filter_nohtml_kses($input['single_ad_url2']); // モバイル用の広告バナー(上部) $input['mobile_ad_code1'] = $input['mobile_ad_code1']; $input['mobile_ad_image1'] = wp_filter_nohtml_kses($input['mobile_ad_image1']); $input['mobile_ad_url1'] = wp_filter_nohtml_kses($input['mobile_ad_url1']); // モバイル用の広告バナー(下部) $input['mobile_ad_code2'] = $input['mobile_ad_code2']; $input['mobile_ad_image2'] = wp_filter_nohtml_kses($input['mobile_ad_image2']); $input['mobile_ad_url2'] = wp_filter_nohtml_kses($input['mobile_ad_url2']); //ロゴの位置 if (isset($input['logotop'])) { $input['logotop'] = intval($input['logotop']); } if (isset($input['logoleft'])) { $input['logoleft'] = intval($input['logoleft']); } // 広告ウィジェット1 $input['side_ad_top_code1'] = $input['side_ad_top_code1']; $input['side_ad_top_image1'] = wp_filter_nohtml_kses($input['side_ad_top_image1']); $input['side_ad_top_url1'] = wp_filter_nohtml_kses($input['side_ad_top_url1']); $input['side_ad_top_code2'] = $input['side_ad_top_code2']; $input['side_ad_top_image2'] = wp_filter_nohtml_kses($input['side_ad_top_image2']); $input['side_ad_top_url2'] = wp_filter_nohtml_kses($input['side_ad_top_url2']); $input['side_ad_top_code3'] = $input['side_ad_top_code3']; $input['side_ad_top_image3'] = wp_filter_nohtml_kses($input['side_ad_top_image3']); $input['side_ad_top_url3'] = wp_filter_nohtml_kses($input['side_ad_top_url3']); if (!isset($input['fix_ad'])) { $input['fix_ad'] = null; } $input['fix_ad'] = $input['fix_ad'] == 1 ? 1 : 0; // 広告ウィジェット2 $input['side_ad_bottom_code1'] = $input['side_ad_bottom_code1']; $input['side_ad_bottom_image1'] = wp_filter_nohtml_kses($input['side_ad_bottom_image1']); $input['side_ad_bottom_url1'] = wp_filter_nohtml_kses($input['side_ad_bottom_url1']); $input['side_ad_bottom_code2'] = $input['side_ad_bottom_code2']; $input['side_ad_bottom_image2'] = wp_filter_nohtml_kses($input['side_ad_bottom_image2']); $input['side_ad_bottom_url2'] = wp_filter_nohtml_kses($input['side_ad_bottom_url2']); $input['side_ad_bottom_code3'] = $input['side_ad_bottom_code3']; $input['side_ad_bottom_image3'] = wp_filter_nohtml_kses($input['side_ad_bottom_image3']); $input['side_ad_bottom_url3'] = wp_filter_nohtml_kses($input['side_ad_bottom_url3']); //ファイルアップロード if (isset($_FILES['dp_image'])) { $message = _dp_upload_logo(); add_settings_error('design_plus_options', 'default', $message['message'], $message['error'] ? 'error' : 'updated'); } //画像リサイズ if (isset($_REQUEST['dp_logo_resize_left'], $_REQUEST['dp_logo_resize_top']) && is_numeric($_REQUEST['dp_logo_resize_left']) && is_numeric($_REQUEST['dp_logo_resize_top'])) { $message = _dp_resize_logo(); add_settings_error('design_plus_options', 'default', $message['message'], $message['error'] ? 'error' : 'updated'); } //ヘッダーの広告バナー if (isset($_FILES['header_ad_image_file1'])) { //画像のアップロードに問題はないか if ($_FILES['header_ad_image_file1']['error'] === 0) { $name = sanitize_file_name($_FILES['header_ad_image_file1']['name']); //ファイル形式をチェック if (!preg_match("/\\.(png|jpe?g|gif)\$/i", $name)) { add_settings_error('design_plus_options', 'dp_uploader', sprintf(__('You uploaded %s but allowed file format is PNG, GIF and JPG.', 'tcd-w'), $name), 'error'); } else { //ディレクトリの存在をチェック if ((file_exists(dp_logo_basedir()) && is_dir(dp_logo_basedir()) && is_writable(dp_logo_basedir()) || @mkdir(dp_logo_basedir())) && move_uploaded_file($_FILES['header_ad_image_file1']['tmp_name'], dp_logo_basedir() . DIRECTORY_SEPARATOR . $name)) { $input['header_ad_image1'] = dp_logo_baseurl() . '/' . $name; } else { add_settings_error('default', 'dp_uploader', sprintf(__('Directory %s is not writable. Please check permission.', 'tcd-w'), dp_logo_basedir()), 'error'); //break; } } } elseif ($_FILES['header_ad_image_file1']['error'] !== UPLOAD_ERR_NO_FILE) { add_settings_error('default', 'dp_uploader', _dp_get_upload_err_msg($_FILES['header_ad_image_file1']['error']), 'error'); //continue; } } //詳細記事ページ上部の広告バナー if (isset($_FILES['single_ad_image_file1'])) { //画像のアップロードに問題はないか if ($_FILES['single_ad_image_file1']['error'] === 0) { $name = sanitize_file_name($_FILES['single_ad_image_file1']['name']); //ファイル形式をチェック if (!preg_match("/\\.(png|jpe?g|gif)\$/i", $name)) { add_settings_error('design_plus_options', 'dp_uploader', sprintf(__('You uploaded %s but allowed file format is PNG, GIF and JPG.', 'tcd-w'), $name), 'error'); } else { //ディレクトリの存在をチェック if ((file_exists(dp_logo_basedir()) && is_dir(dp_logo_basedir()) && is_writable(dp_logo_basedir()) || @mkdir(dp_logo_basedir())) && move_uploaded_file($_FILES['single_ad_image_file1']['tmp_name'], dp_logo_basedir() . DIRECTORY_SEPARATOR . $name)) { $input['single_ad_image1'] = dp_logo_baseurl() . '/' . $name; } else { add_settings_error('default', 'dp_uploader', sprintf(__('Directory %s is not writable. Please check permission.', 'tcd-w'), dp_logo_basedir()), 'error'); //break; } } } elseif ($_FILES['single_ad_image_file1']['error'] !== UPLOAD_ERR_NO_FILE) { add_settings_error('default', 'dp_uploader', _dp_get_upload_err_msg($_FILES['single_ad_image_file1']['error']), 'error'); //continue; } } //詳細記事ページ下部の広告バナー if (isset($_FILES['single_ad_image_file2'])) { //画像のアップロードに問題はないか if ($_FILES['single_ad_image_file2']['error'] === 0) { $name = sanitize_file_name($_FILES['single_ad_image_file2']['name']); //ファイル形式をチェック if (!preg_match("/\\.(png|jpe?g|gif)\$/i", $name)) { add_settings_error('design_plus_options', 'dp_uploader', sprintf(__('You uploaded %s but allowed file format is PNG, GIF and JPG.', 'tcd-w'), $name), 'error'); } else { //ディレクトリの存在をチェック if ((file_exists(dp_logo_basedir()) && is_dir(dp_logo_basedir()) && is_writable(dp_logo_basedir()) || @mkdir(dp_logo_basedir())) && move_uploaded_file($_FILES['single_ad_image_file2']['tmp_name'], dp_logo_basedir() . DIRECTORY_SEPARATOR . $name)) { $input['single_ad_image2'] = dp_logo_baseurl() . '/' . $name; } else { add_settings_error('default', 'dp_uploader', sprintf(__('Directory %s is not writable. Please check permission.', 'tcd-w'), dp_logo_basedir()), 'error'); //break; } } } elseif ($_FILES['single_ad_image_file2']['error'] !== UPLOAD_ERR_NO_FILE) { add_settings_error('default', 'dp_uploader', _dp_get_upload_err_msg($_FILES['single_ad_image_file2']['error']), 'error'); //continue; } } //広告ウィジェット1 for ($i = 1; $i <= 3; $i++) { if (isset($_FILES['side_ad_top_image_file_' . $i])) { //画像のアップロードに問題はないか if ($_FILES['side_ad_top_image_file_' . $i]['error'] === 0) { $name = sanitize_file_name($_FILES['side_ad_top_image_file_' . $i]['name']); //ファイル形式をチェック if (!preg_match("/\\.(png|jpe?g|gif)\$/i", $name)) { add_settings_error('design_plus_options', 'dp_uploader', sprintf(__('You uploaded %s but allowed file format is PNG, GIF and JPG.', 'tcd-w'), $name), 'error'); } else { //ディレクトリの存在をチェック if ((file_exists(dp_logo_basedir()) && is_dir(dp_logo_basedir()) && is_writable(dp_logo_basedir()) || @mkdir(dp_logo_basedir())) && move_uploaded_file($_FILES['side_ad_top_image_file_' . $i]['tmp_name'], dp_logo_basedir() . DIRECTORY_SEPARATOR . $name)) { $input['side_ad_top_image' . $i] = dp_logo_baseurl() . '/' . $name; } else { add_settings_error('default', 'dp_uploader', sprintf(__('Directory %s is not writable. Please check permission.', 'tcd-w'), dp_logo_basedir()), 'error'); break; } } } elseif ($_FILES['side_ad_top_image_file_' . $i]['error'] !== UPLOAD_ERR_NO_FILE) { add_settings_error('default', 'dp_uploader', _dp_get_upload_err_msg($_FILES['side_ad_top_image_file_' . $i]['error']), 'error'); continue; } } } //広告ウィジェット2 for ($i = 1; $i <= 3; $i++) { if (isset($_FILES['side_ad_bottom_image_file_' . $i])) { //画像のアップロードに問題はないか if ($_FILES['side_ad_bottom_image_file_' . $i]['error'] === 0) { $name = sanitize_file_name($_FILES['side_ad_bottom_image_file_' . $i]['name']); //ファイル形式をチェック if (!preg_match("/\\.(png|jpe?g|gif)\$/i", $name)) { add_settings_error('design_plus_options', 'dp_uploader', sprintf(__('You uploaded %s but allowed file format is PNG, GIF and JPG.', 'tcd-w'), $name), 'error'); } else { //ディレクトリの存在をチェック if ((file_exists(dp_logo_basedir()) && is_dir(dp_logo_basedir()) && is_writable(dp_logo_basedir()) || @mkdir(dp_logo_basedir())) && move_uploaded_file($_FILES['side_ad_bottom_image_file_' . $i]['tmp_name'], dp_logo_basedir() . DIRECTORY_SEPARATOR . $name)) { $input['side_ad_bottom_image' . $i] = dp_logo_baseurl() . '/' . $name; } else { add_settings_error('default', 'dp_uploader', sprintf(__('Directory %s is not writable. Please check permission.', 'tcd-w'), dp_logo_basedir()), 'error'); break; } } } elseif ($_FILES['side_ad_bottom_image_file_' . $i]['error'] !== UPLOAD_ERR_NO_FILE) { add_settings_error('default', 'dp_uploader', _dp_get_upload_err_msg($_FILES['side_ad_bottom_image_file_' . $i]['error']), 'error'); continue; } } } //モバイル用広告(上部) if (isset($_FILES['mobile_ad_image_file1'])) { //画像のアップロードに問題はないか if ($_FILES['mobile_ad_image_file1']['error'] === 0) { $name = sanitize_file_name($_FILES['mobile_ad_image_file1']['name']); //ファイル形式をチェック if (!preg_match("/\\.(png|jpe?g|gif)\$/i", $name)) { add_settings_error('design_plus_options', 'dp_uploader', sprintf(__('You uploaded %s but allowed file format is PNG, GIF and JPG.', 'tcd-w'), $name), 'error'); } else { //ディレクトリの存在をチェック if ((file_exists(dp_logo_basedir()) && is_dir(dp_logo_basedir()) && is_writable(dp_logo_basedir()) || @mkdir(dp_logo_basedir())) && move_uploaded_file($_FILES['mobile_ad_image_file1']['tmp_name'], dp_logo_basedir() . DIRECTORY_SEPARATOR . $name)) { $input['mobile_ad_image1'] = dp_logo_baseurl() . '/' . $name; } else { add_settings_error('default', 'dp_uploader', sprintf(__('Directory %s is not writable. Please check permission.', 'tcd-w'), dp_logo_basedir()), 'error'); } } } elseif ($_FILES['mobile_ad_image_file1']['error'] !== UPLOAD_ERR_NO_FILE) { add_settings_error('default', 'dp_uploader', _dp_get_upload_err_msg($_FILES['mobile_ad_image_file1']['error']), 'error'); } } //モバイル用広告(下部) if (isset($_FILES['mobile_ad_image_file2'])) { //画像のアップロードに問題はないか if ($_FILES['mobile_ad_image_file2']['error'] === 0) { $name = sanitize_file_name($_FILES['mobile_ad_image_file2']['name']); //ファイル形式をチェック if (!preg_match("/\\.(png|jpe?g|gif)\$/i", $name)) { add_settings_error('design_plus_options', 'dp_uploader', sprintf(__('You uploaded %s but allowed file format is PNG, GIF and JPG.', 'tcd-w'), $name), 'error'); } else { //ディレクトリの存在をチェック if ((file_exists(dp_logo_basedir()) && is_dir(dp_logo_basedir()) && is_writable(dp_logo_basedir()) || @mkdir(dp_logo_basedir())) && move_uploaded_file($_FILES['mobile_ad_image_file2']['tmp_name'], dp_logo_basedir() . DIRECTORY_SEPARATOR . $name)) { $input['mobile_ad_image2'] = dp_logo_baseurl() . '/' . $name; } else { add_settings_error('default', 'dp_uploader', sprintf(__('Directory %s is not writable. Please check permission.', 'tcd-w'), dp_logo_basedir()), 'error'); } } } elseif ($_FILES['mobile_ad_image_file2']['error'] !== UPLOAD_ERR_NO_FILE) { add_settings_error('default', 'dp_uploader', _dp_get_upload_err_msg($_FILES['mobile_ad_image_file2']['error']), 'error'); } } return $input; }
/** * ロゴ画像をアップロードする * @global array $dp_upload_error * @return array error(boolean)とmessage(string)からなる配列 */ function _dp_upload_logo() { $dp_upload_error = array('error' => false, 'message' => ''); $dir = dp_logo_basedir(); //ファイルのアップロードができるか判定 if ($_FILES['dp_image']['error'] !== 0) { $dp_upload_error = array('error' => true, 'message' => _dp_get_upload_err_msg($_FILES['dp_image']['error'])); return $dp_upload_error; } //ディレクトリの存在を調べる if (!file_exists($dir) || !is_dir($dir)) { //ディレクトリを作成してみる if (!@mkdir($dir)) { $dp_upload_error = array('error' => true, 'message' => sprintf(__('Cannot create upload directory. Please make sure <code>%s</code> is writable.'), dirname($dir))); return $dp_upload_error; } } //ディレクトリが書き込み可能か調べる if (!is_writable($dir)) { $dp_upload_error = array('error' => true, 'message' => sprintf(__('Cannot save uploaded file. Please make sure <code>%s</code> is writable.'), $dir)); return $dp_upload_error; } //拡張子を調べる $ext = array(); if (!preg_match("/(png|gif|jpe?g)\$/i", $_FILES['dp_image']['name'], $ext)) { $dp_upload_error = array('error' => true, 'message' => __('Uploaded file type is not allowed. Allowed file types are PNG, JPG and GIF.')); return $dp_upload_error; } //既存のファイルを削除する $existing_files = scandir($dir); foreach ($existing_files as $file) { if (preg_match("/logo(-resized)?\\.(png|gif|jpe?g)\$/i", $file)) { //ファイルが存在した場合は削除する if (!@unlink($dir . DIRECTORY_SEPARATOR . $file)) { $dp_upload_error = array('error' => true, 'message' => sprintf(__('Cannot delete existing file <code>%s</code>', 'tcd-w'), $file)); return $dp_upload_error; } } } //ファイルを保存する if (!@move_uploaded_file($_FILES['dp_image']['tmp_name'], $dir . DIRECTORY_SEPARATOR . 'logo.' . $ext[1])) { $dp_upload_error = array('error' => true, 'message' => __('Sorry, but cannot save uploaded file.')); return $dp_upload_error; } //ここまで来たということは保存に成功しているので、 //メッセージを更新する $dp_upload_error['message'] = __('Logo file was successfully uploaded.', 'tcd-w'); return $dp_upload_error; }
/** * チェック */ function theme_options_validate($input) { global $color_options, $single_post_list_options, $bg_type1_options, $bg_type2_options; // フォントサイズ $input['content_font_size'] = wp_filter_nohtml_kses($input['content_font_size']); // 投稿者・タグ・コメント if (!isset($input['show_author'])) { $input['show_author'] = null; } $input['show_author'] = $input['show_author'] == 1 ? 1 : 0; if (!isset($input['show_comment'])) { $input['show_comment'] = null; } $input['show_comment'] = $input['show_comment'] == 1 ? 1 : 0; if (!isset($input['show_trackback'])) { $input['show_trackback'] = null; } $input['show_trackback'] = $input['show_trackback'] == 1 ? 1 : 0; if (!isset($input['show_bookmark'])) { $input['show_bookmark'] = null; } $input['show_bookmark'] = $input['show_bookmark'] == 1 ? 1 : 0; if (!isset($input['show_next_post'])) { $input['show_next_post'] = null; } $input['show_next_post'] = $input['show_next_post'] == 1 ? 1 : 0; if (!isset($input['show_related_post'])) { $input['show_related_post'] = null; } $input['show_related_post'] = $input['show_related_post'] == 1 ? 1 : 0; if (!isset($input['show_rss'])) { $input['show_rss'] = null; } $input['show_rss'] = $input['show_rss'] == 1 ? 1 : 0; if (!isset($input['show_search'])) { $input['show_search'] = null; } $input['show_search'] = $input['show_search'] == 1 ? 1 : 0; // 色の設定 if (!isset($input['color_type'])) { $input['color_type'] = null; } if (!array_key_exists($input['color_type'], $color_options)) { $input['color_type'] = null; } // 背景色の設定 if (!isset($input['bg_type1'])) { $input['bg_type1'] = null; } if (!array_key_exists($input['bg_type1'], $bg_type1_options)) { $input['bg_type1'] = null; } // 背景画像の設定 if (!isset($input['bg_type2'])) { $input['bg_type2'] = null; } if (!array_key_exists($input['bg_type2'], $bg_type2_options)) { $input['bg_type2'] = null; } $input['original_pattern'] = wp_filter_nohtml_kses($input['original_pattern']); // 詳細記事ページの記事一覧の設定 if (!isset($input['single_post_list'])) { $input['single_post_list'] = null; } if (!array_key_exists($input['single_post_list'], $single_post_list_options)) { $input['single_post_list'] = null; } $input['single_post_list_num'] = wp_filter_nohtml_kses($input['single_post_list_num']); // 左サイドメニューの設定 $input['headline_side_category'] = wp_filter_nohtml_kses($input['headline_side_category']); $input['headline_side_archive'] = wp_filter_nohtml_kses($input['headline_side_archive']); $input['headline_side_menu'] = wp_filter_nohtml_kses($input['headline_side_menu']); if (!isset($input['show_side_category'])) { $input['show_side_category'] = null; } $input['show_side_category'] = $input['show_side_category'] == 1 ? 1 : 0; if (!isset($input['show_side_archive'])) { $input['show_side_archive'] = null; } $input['show_side_archive'] = $input['show_side_archive'] == 1 ? 1 : 0; if (!isset($input['show_side_menu'])) { $input['show_side_menu'] = null; } $input['show_side_menu'] = $input['show_side_menu'] == 1 ? 1 : 0; // twitter,facebook URL $input['twitter_url'] = wp_filter_nohtml_kses($input['twitter_url']); $input['facebook_url'] = wp_filter_nohtml_kses($input['facebook_url']); // 検索の設定 $input['custom_search_id'] = wp_filter_nohtml_kses($input['custom_search_id']); // 詳細記事の広告 $input['single_ad_code1'] = $input['single_ad_code1']; $input['single_ad_image1'] = wp_filter_nohtml_kses($input['single_ad_image1']); $input['single_ad_url1'] = wp_filter_nohtml_kses($input['single_ad_url1']); $input['single_ad_code2'] = $input['single_ad_code2']; $input['single_ad_image2'] = wp_filter_nohtml_kses($input['single_ad_image2']); $input['single_ad_url2'] = wp_filter_nohtml_kses($input['single_ad_url2']); $input['single_ad_code3'] = $input['single_ad_code3']; $input['single_ad_image3'] = wp_filter_nohtml_kses($input['single_ad_image3']); $input['single_ad_url3'] = wp_filter_nohtml_kses($input['single_ad_url3']); $input['single_ad_code4'] = $input['single_ad_code4']; $input['single_ad_image4'] = wp_filter_nohtml_kses($input['single_ad_image4']); $input['single_ad_url4'] = wp_filter_nohtml_kses($input['single_ad_url4']); // 記事一覧の広告 $input['post_ad1'] = $input['post_ad1']; $input['post_ad_image1'] = wp_filter_nohtml_kses($input['post_ad_image1']); $input['post_ad_url1'] = wp_filter_nohtml_kses($input['post_ad_url1']); $input['post_ad2'] = $input['post_ad2']; $input['post_ad_image2'] = wp_filter_nohtml_kses($input['post_ad_image2']); $input['post_ad_url2'] = wp_filter_nohtml_kses($input['post_ad_url2']); $input['post_ad3'] = $input['post_ad3']; $input['post_ad_image3'] = wp_filter_nohtml_kses($input['post_ad_image3']); $input['post_ad_url3'] = wp_filter_nohtml_kses($input['post_ad_url3']); // スライダーの設定 if (!isset($input['show_slider'])) { $input['show_slider'] = null; } $input['show_slider'] = $input['show_slider'] == 1 ? 1 : 0; $input['slider_image1'] = wp_filter_nohtml_kses($input['slider_image1']); $input['slider_url1'] = wp_filter_nohtml_kses($input['slider_url1']); $input['slider_image2'] = wp_filter_nohtml_kses($input['slider_image2']); $input['slider_url2'] = wp_filter_nohtml_kses($input['slider_url2']); $input['slider_image3'] = wp_filter_nohtml_kses($input['slider_image3']); $input['slider_url3'] = wp_filter_nohtml_kses($input['slider_url3']); $input['slider_image4'] = wp_filter_nohtml_kses($input['slider_image4']); $input['slider_url4'] = wp_filter_nohtml_kses($input['slider_url4']); $input['slider_image5'] = wp_filter_nohtml_kses($input['slider_image5']); $input['slider_url5'] = wp_filter_nohtml_kses($input['slider_url5']); $input['slider_image6'] = wp_filter_nohtml_kses($input['slider_image6']); $input['slider_url6'] = wp_filter_nohtml_kses($input['slider_url6']); $input['slider_image7'] = wp_filter_nohtml_kses($input['slider_image7']); $input['slider_url7'] = wp_filter_nohtml_kses($input['slider_url7']); $input['slider_image8'] = wp_filter_nohtml_kses($input['slider_image8']); $input['slider_url8'] = wp_filter_nohtml_kses($input['slider_url8']); $input['slider_image9'] = wp_filter_nohtml_kses($input['slider_image9']); $input['slider_url9'] = wp_filter_nohtml_kses($input['slider_url9']); $input['slider_image10'] = wp_filter_nohtml_kses($input['slider_image10']); $input['slider_url10'] = wp_filter_nohtml_kses($input['slider_url10']); //ロゴの位置 if (isset($input['logotop'])) { $input['logotop'] = intval($input['logotop']); } if (isset($input['logoleft'])) { $input['logoleft'] = intval($input['logoleft']); } //ファイルアップロード if (isset($_FILES['dp_image'])) { $message = _dp_upload_logo(); add_settings_error('design_plus_options', 'default', $message['message'], $message['error'] ? 'error' : 'updated'); } //画像リサイズ if (isset($_REQUEST['dp_logo_resize_left'], $_REQUEST['dp_logo_resize_top']) && is_numeric($_REQUEST['dp_logo_resize_left']) && is_numeric($_REQUEST['dp_logo_resize_top'])) { $message = _dp_resize_logo(); add_settings_error('design_plus_options', 'default', $message['message'], $message['error'] ? 'error' : 'updated'); } //詳細記事ページ右上の広告バナー if (isset($_FILES['single_ad_image_file1'])) { //画像のアップロードに問題はないか if ($_FILES['single_ad_image_file1']['error'] === 0) { $name = sanitize_file_name($_FILES['single_ad_image_file1']['name']); //ファイル形式をチェック if (!preg_match("/\\.(png|jpe?g|gif)\$/i", $name)) { add_settings_error('design_plus_options', 'dp_uploader', sprintf(__('You uploaded %s but allowed file format is PNG, GIF and JPG.', 'tcd-w'), $name), 'error'); } else { //ディレクトリの存在をチェック if ((file_exists(dp_logo_basedir()) && is_dir(dp_logo_basedir()) && is_writable(dp_logo_basedir()) || @mkdir(dp_logo_basedir())) && move_uploaded_file($_FILES['single_ad_image_file1']['tmp_name'], dp_logo_basedir() . DIRECTORY_SEPARATOR . $name)) { $input['single_ad_image1'] = dp_logo_baseurl() . '/' . $name; } else { add_settings_error('default', 'dp_uploader', sprintf(__('Directory %s is not writable. Please check permission.', 'tcd-w'), dp_logo_basedir()), 'error'); } } } elseif ($_FILES['single_ad_image_file1']['error'] !== UPLOAD_ERR_NO_FILE) { add_settings_error('default', 'dp_uploader', _dp_get_upload_err_msg($_FILES['single_ad_image_file1']['error']), 'error'); } } //詳細記事ページ右下の広告バナー if (isset($_FILES['single_ad_image_file2'])) { //画像のアップロードに問題はないか if ($_FILES['single_ad_image_file2']['error'] === 0) { $name = sanitize_file_name($_FILES['single_ad_image_file2']['name']); //ファイル形式をチェック if (!preg_match("/\\.(png|jpe?g|gif)\$/i", $name)) { add_settings_error('design_plus_options', 'dp_uploader', sprintf(__('You uploaded %s but allowed file format is PNG, GIF and JPG.', 'tcd-w'), $name), 'error'); } else { //ディレクトリの存在をチェック if ((file_exists(dp_logo_basedir()) && is_dir(dp_logo_basedir()) && is_writable(dp_logo_basedir()) || @mkdir(dp_logo_basedir())) && move_uploaded_file($_FILES['single_ad_image_file2']['tmp_name'], dp_logo_basedir() . DIRECTORY_SEPARATOR . $name)) { $input['single_ad_image2'] = dp_logo_baseurl() . '/' . $name; } else { add_settings_error('default', 'dp_uploader', sprintf(__('Directory %s is not writable. Please check permission.', 'tcd-w'), dp_logo_basedir()), 'error'); } } } elseif ($_FILES['single_ad_image_file2']['error'] !== UPLOAD_ERR_NO_FILE) { add_settings_error('default', 'dp_uploader', _dp_get_upload_err_msg($_FILES['single_ad_image_file2']['error']), 'error'); } } //詳細記事ページ上部の広告バナー if (isset($_FILES['single_ad_image_file3'])) { //画像のアップロードに問題はないか if ($_FILES['single_ad_image_file3']['error'] === 0) { $name = sanitize_file_name($_FILES['single_ad_image_file3']['name']); //ファイル形式をチェック if (!preg_match("/\\.(png|jpe?g|gif)\$/i", $name)) { add_settings_error('design_plus_options', 'dp_uploader', sprintf(__('You uploaded %s but allowed file format is PNG, GIF and JPG.', 'tcd-w'), $name), 'error'); } else { //ディレクトリの存在をチェック if ((file_exists(dp_logo_basedir()) && is_dir(dp_logo_basedir()) && is_writable(dp_logo_basedir()) || @mkdir(dp_logo_basedir())) && move_uploaded_file($_FILES['single_ad_image_file3']['tmp_name'], dp_logo_basedir() . DIRECTORY_SEPARATOR . $name)) { $input['single_ad_image3'] = dp_logo_baseurl() . '/' . $name; } else { add_settings_error('default', 'dp_uploader', sprintf(__('Directory %s is not writable. Please check permission.', 'tcd-w'), dp_logo_basedir()), 'error'); } } } elseif ($_FILES['single_ad_image_file3']['error'] !== UPLOAD_ERR_NO_FILE) { add_settings_error('default', 'dp_uploader', _dp_get_upload_err_msg($_FILES['single_ad_image_file3']['error']), 'error'); } } //詳細記事ページ下部の広告バナー if (isset($_FILES['single_ad_image_file4'])) { //画像のアップロードに問題はないか if ($_FILES['single_ad_image_file4']['error'] === 0) { $name = sanitize_file_name($_FILES['single_ad_image_file4']['name']); //ファイル形式をチェック if (!preg_match("/\\.(png|jpe?g|gif)\$/i", $name)) { add_settings_error('design_plus_options', 'dp_uploader', sprintf(__('You uploaded %s but allowed file format is PNG, GIF and JPG.', 'tcd-w'), $name), 'error'); } else { //ディレクトリの存在をチェック if ((file_exists(dp_logo_basedir()) && is_dir(dp_logo_basedir()) && is_writable(dp_logo_basedir()) || @mkdir(dp_logo_basedir())) && move_uploaded_file($_FILES['single_ad_image_file4']['tmp_name'], dp_logo_basedir() . DIRECTORY_SEPARATOR . $name)) { $input['single_ad_image4'] = dp_logo_baseurl() . '/' . $name; } else { add_settings_error('default', 'dp_uploader', sprintf(__('Directory %s is not writable. Please check permission.', 'tcd-w'), dp_logo_basedir()), 'error'); } } } elseif ($_FILES['single_ad_image_file4']['error'] !== UPLOAD_ERR_NO_FILE) { add_settings_error('default', 'dp_uploader', _dp_get_upload_err_msg($_FILES['single_ad_image_file4']['error']), 'error'); } } //記事一覧の広告 for ($i = 1; $i <= 3; $i++) { if (isset($_FILES['post_ad_image_file_' . $i])) { //画像のアップロードに問題はないか if ($_FILES['post_ad_image_file_' . $i]['error'] === 0) { $name = sanitize_file_name($_FILES['post_ad_image_file_' . $i]['name']); //ファイル形式をチェック if (!preg_match("/\\.(png|jpe?g|gif)\$/i", $name)) { add_settings_error('design_plus_options', 'dp_uploader', sprintf(__('You uploaded %s but allowed file format is PNG, GIF and JPG.', 'tcd-w'), $name), 'error'); } else { //ディレクトリの存在をチェック if ((file_exists(dp_logo_basedir()) && is_dir(dp_logo_basedir()) && is_writable(dp_logo_basedir()) || @mkdir(dp_logo_basedir())) && move_uploaded_file($_FILES['post_ad_image_file_' . $i]['tmp_name'], dp_logo_basedir() . DIRECTORY_SEPARATOR . $name)) { $input['post_ad_image' . $i] = dp_logo_baseurl() . '/' . $name; } else { add_settings_error('default', 'dp_uploader', sprintf(__('Directory %s is not writable. Please check permission.', 'tcd-w'), dp_logo_basedir()), 'error'); break; } } } elseif ($_FILES['post_ad_image_file_' . $i]['error'] !== UPLOAD_ERR_NO_FILE) { add_settings_error('default', 'dp_uploader', _dp_get_upload_err_msg($_FILES['post_ad_image_file_' . $i]['error']), 'error'); continue; } } } //スライダーの画像 for ($i = 1; $i <= 10; $i++) { if (isset($_FILES['slider_image_file' . $i])) { //画像のアップロードに問題はないか if ($_FILES['slider_image_file' . $i]['error'] === 0) { $name = sanitize_file_name($_FILES['slider_image_file' . $i]['name']); //ファイル形式をチェック if (!preg_match("/\\.(png|jpe?g|gif)\$/i", $name)) { add_settings_error('design_plus_options', 'dp_uploader', sprintf(__('You uploaded %s but allowed file format is PNG, GIF and JPG.', 'tcd-w'), $name), 'error'); } else { //ディレクトリの存在をチェック if ((file_exists(dp_logo_basedir()) && is_dir(dp_logo_basedir()) && is_writable(dp_logo_basedir()) || @mkdir(dp_logo_basedir())) && move_uploaded_file($_FILES['slider_image_file' . $i]['tmp_name'], dp_logo_basedir() . DIRECTORY_SEPARATOR . $name)) { $input['slider_image' . $i] = dp_logo_baseurl() . '/' . $name; } else { add_settings_error('default', 'dp_uploader', sprintf(__('Directory %s is not writable. Please check permission.', 'tcd-w'), dp_logo_basedir()), 'error'); break; } } } elseif ($_FILES['slider_image_file' . $i]['error'] !== UPLOAD_ERR_NO_FILE) { add_settings_error('default', 'dp_uploader', _dp_get_upload_err_msg($_FILES['slider_image_file' . $i]['error']), 'error'); continue; } } } //オリジナルパターン if (isset($_FILES['original_pattern_file'])) { //画像のアップロードに問題はないか if ($_FILES['original_pattern_file']['error'] === 0) { $name = sanitize_file_name($_FILES['original_pattern_file']['name']); //ファイル形式をチェック if (!preg_match("/\\.(png|jpe?g|gif)\$/i", $name)) { add_settings_error('design_plus_options', 'dp_uploader', sprintf(__('You uploaded %s but allowed file format is PNG, GIF and JPG.', 'tcd-w'), $name), 'error'); } else { //ディレクトリの存在をチェック if ((file_exists(dp_logo_basedir()) && is_dir(dp_logo_basedir()) && is_writable(dp_logo_basedir()) || @mkdir(dp_logo_basedir())) && move_uploaded_file($_FILES['original_pattern_file']['tmp_name'], dp_logo_basedir() . DIRECTORY_SEPARATOR . $name)) { $input['original_pattern'] = dp_logo_baseurl() . '/' . $name; } else { add_settings_error('default', 'dp_uploader', sprintf(__('Directory %s is not writable. Please check permission.', 'tcd-w'), dp_logo_basedir()), 'error'); } } } elseif ($_FILES['original_pattern_file']['error'] !== UPLOAD_ERR_NO_FILE) { add_settings_error('default', 'dp_uploader', _dp_get_upload_err_msg($_FILES['original_pattern_file']['error']), 'error'); } } return $input; }