/** * Return Share buttons HTML based on Options * @param $options string formatted active services */ function onepage_get_section($options) { /* bail if empty. */ if (!$options) { return; } /* available services */ $sections = onepage_sections(); /* var. */ $buttons = array(); /* make array */ $options = explode(',', $options); /* loop load */ foreach ($options as $option) { $option = explode(':', $option); if (isset($option[0]) && isset($option[1]) && array_key_exists($option[0], $sections) && '1' == $option[1]) { $buttons[] = $option[0]; } } /* bail if not found. */ if (!$buttons) { return; } foreach ($buttons as $button) { $fn_callback = $sections[$button]['callback']; if (function_exists($fn_callback)) { call_user_func($fn_callback); } } }
/** * Sanitize Sharing Services */ public static function onepage_sanitize_sections($input) { /* Var */ $output = array(); /* Get valid services */ $valid_sections = onepage_sections(); /* Make array */ $sections = explode(',', $input); /* Bail. */ if (!$sections) { return null; } /* Loop and verify */ foreach ($sections as $section) { /* Separate section and status */ $section = explode(':', $section); if (isset($section[0]) && isset($section[1])) { if (array_key_exists($section[0], $valid_sections)) { $status = $section[1] ? '1' : '0'; $output[] = trim($section[0] . ':' . $status); } } } return trim(esc_attr(implode(',', $output))); }