/** * __construct * * @param int $post_id */ public function __construct($post_id) { if (MWF_Functions::is_contact_data_post_type(get_post_type($post_id))) { $this->post_id = $post_id; $this->response_statuses = array('not-supported' => esc_html__('Not supported', MWF_Config::DOMAIN), 'reservation' => esc_html__('Reservation', MWF_Config::DOMAIN), 'supported' => esc_html__('Supported', MWF_Config::DOMAIN)); $post_custom = get_post_custom($post_id); $post_meta = array(); foreach ($post_custom as $key => $value) { if (preg_match('/^_/', $key)) { continue; } $post_meta[$key] = $value[0]; } $permit_values = get_post_meta($this->post_id, MWF_config::CONTACT_DATA_NAME, true); if (!$permit_values) { $permit_values = array(); } $values = array_merge($post_meta, $permit_values); if (is_array($values)) { $this->sets($values); } } }
/** * 各画面のコントローラーの呼び出し * * @param WP_Screen $screen */ public function current_screen($screen) { $contact_data_post_types = MW_WP_Form_Contact_Data_Setting::get_posts(); if ($screen->id === MWF_Config::NAME) { $validation_rules = $this->get_validation_rules(); $Controller = new MW_WP_Form_Admin_Controller($validation_rules); $Controller->initialize(); } elseif ($screen->id === 'edit-' . MWF_Config::NAME) { $Controller = new MW_WP_Form_Admin_List_Controller(); $Controller->initialize(); } elseif (MWF_Functions::is_contact_data_post_type($screen->id)) { $Controller = new MW_WP_Form_Contact_Data_Controller(); $Controller->initialize(); } elseif (preg_match('/^edit-' . MWF_Config::DBDATA . '\\d+$/', $screen->id)) { $Controller = new MW_WP_Form_Contact_Data_List_Controller(); $Controller->initialize(); } elseif ($screen->id === MWF_Config::NAME . '_page_' . MWF_Config::NAME . '-chart') { $Controller = new MW_WP_Form_Chart_Controller(); $Controller->initialize(); } }