/**
 * 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);
        }
    }
}
Пример #2
0
 /**
  * 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)));
 }