/** * for save options * * @param array $options_in * * @return Push7_Subscribe_Button_Options */ public static function create_options($options_in) { if (!is_array($options_in)) { if ($options_in instanceof static) { $options_in = get_object_vars($options_in); } else { throw new RuntimeException('Invalid action.'); } } $options['appid'] = empty($options_in['appid']) ? '' : $options_in['appid']; $options['enable_social_buzz'] = empty($options_in['enable_social_buzz']) ? false : ('true' === $options_in['enable_social_buzz'] ? true : ('on' === $options_in['enable_social_buzz'] ? true : (true === $options_in['enable_social_buzz'] ? true : false))); $options['social_buzz_message'] = empty($options_in['social_buzz_message']) ? '' : $options_in['social_buzz_message']; $options['social_buzz_mode'] = !empty($options_in['social_buzz_mode']) && in_array($options_in['social_buzz_mode'], array_keys(Push7_Subscribe_Button::get_sbztypes()), true) ? $options_in['social_buzz_mode'] : null; if (empty($options_in['social_buzz_posttype']) or !is_array($options_in['social_buzz_posttype'])) { $options['social_buzz_posttype'] = array(); } else { $post_types = get_post_types(); foreach ($options_in['social_buzz_posttype'] as $post_type) { if (in_array($post_type, $post_types, true)) { $options['social_buzz_posttype'][] = $post_type; } } } return new self($options); }
public function render_sbz_mode() { $current = \Push7_Subscribe_Button_Options::get_options()->social_buzz_mode; echo '<select name="' . \Push7_Subscribe_Button::PLUGIN_OPTIONS . '[social_buzz_mode]" id="push7ssb_sbz_mode">'; foreach (\Push7_Subscribe_Button::get_sbztypes() as $slug => $attrs) { printf('<option value="%s" %s>%s</option>', $slug, selected($slug, $current, false), $attrs['name']); } echo '</select>'; }