/**
  * Renders all soical icons not belonging to shortcodes
  *
  * @since 3.5.0
  * @param  array   $args Holding all necessarry data for social icons
  * @return string  The HTML mark up for social icons, incl. wrapping container
  */
 public function render_social_icons($args)
 {
     parent::$args = $args;
     // Get a list of all the available social networks
     $social_networks_full_array = Avada_Data::fusion_social_icons(true, true);
     if (isset(parent::$args['authorpage']) && parent::$args['authorpage'] == 'yes') {
         $social_networks = $this->get_authorpage_social_links_array(parent::$args);
     } else {
         $social_networks = $this->get_sharingbox_social_links_array(parent::$args);
     }
     $html = $icons = '';
     $i = 0;
     $per_icon_colors = 'brand' == Avada()->settings->get('sharing_social_links_color_type') ? true : false;
     $number_of_social_networks = count($social_networks);
     foreach ($social_networks as $network => $icon_args) {
         $icon_options = array('social_network' => $network, 'social_link' => $icon_args['url']);
         if ($per_icon_colors) {
             $network_for_colors = str_replace('sharing_', '', $network);
             $network_for_colors = in_array($network_for_colors, array('google', 'googleplus')) ? 'gplus' : $network_for_colors;
             if (parent::$args['icon_boxed']) {
                 $icon_options['icon_color'] = '#ffffff';
                 $icon_options['box_color'] = $social_networks_full_array[$network_for_colors]['color'];
             } else {
                 $icon_options['icon_color'] = $social_networks_full_array[$network_for_colors]['color'];
                 $icon_options['box_color'] = '#ffffff';
             }
         } else {
             $icon_options['icon_color'] = Avada()->settings->get('sharing_social_links_icon_color');
             $icon_options['box_color'] = Avada()->settings->get('sharing_social_links_box_color');
         }
         // Check if are on the last social icon;
         // $i needs to be incremented first to make it match the count() value
         $i++;
         $icon_options['last'] = $i == $number_of_social_networks ? true : false;
         $icons .= parent::get_markup($icon_options);
     }
     if (!empty($icons)) {
         $attr = array('class' => 'fusion-social-networks');
         if (parent::$args['icon_boxed']) {
             $attr['class'] .= ' boxed-icons';
         }
         $html = '<div ' . fusion_attr('social-icons-class-social-networks', $attr) . '><div ' . fusion_attr('fusion-social-networks-wrapper') . '>' . $icons;
         if (isset(parent::$args['position']) && ('header' == parent::$args['position'] || 'footer' == parent::$args['position'])) {
             $html .= '</div></div>';
         } else {
             $html .= '<div class="fusion-clearfix"></div></div></div>';
         }
     }
     return $html;
 }
 /**
  * Renders all soical icons not belonging to shortcodes
  *
  * @since 3.5.0
  * @param  array   $args Holding all necessarry data for social icons
  * @return string  The HTML mark up for social icons, incl. wrapping container
  */
 public function render_social_icons($args)
 {
     parent::$args = $args;
     $html = '';
     $icons = '';
     // Get the social networks setting
     $social_networks = Avada()->settings->get('social_media_icons');
     // Get a list of all the available social networks
     $social_networks_full_array = Avada_Data::fusion_social_icons(true, true);
     // Count how many social icons we have
     $count = count($social_networks);
     // Get the default color values for social media depending on their location
     $footer_social_links_icon_color = Avada()->settings->get('footer_social_links_icon_color');
     $footer_social_links_box_color = Avada()->settings->get('footer_social_links_box_color');
     $header_social_links_icon_color = Avada()->settings->get('header_social_links_icon_color');
     $header_social_links_box_color = Avada()->settings->get('header_social_links_box_color');
     $use_brand_colors = false;
     if (isset(parent::$args['position'])) {
         if ('footer' == parent::$args['position']) {
             if ('brand' == Avada()->settings->get('footer_social_links_color_type')) {
                 $use_brand_colors = true;
             }
         } else {
             if ('brand' == Avada()->settings->get('header_social_links_color_type')) {
                 $use_brand_colors = true;
             }
         }
     }
     // Check that we have social networks defined before proceeding
     if (!empty($social_networks) && isset($social_networks['url']) && !empty($social_networks['url'])) {
         for ($i = 0; $i <= count($social_networks['url']) - 1; $i++) {
             // Get the icon's arguments
             $icon = isset($social_networks['icon'][$i]) ? str_replace('_link', '', $social_networks['icon'][$i]) : false;
             $url = isset($social_networks['url'][$i]) && !empty($social_networks['url'][$i]) ? $social_networks['url'][$i] : false;
             $header_box_color = isset($social_networks['header_box_color'][$i]) && !empty($social_networks['header_box_color'][$i]) ? $social_networks['header_box_color'][$i] : false;
             $footer_box_color = isset($social_networks['footer_box_color'][$i]) && !empty($social_networks['footer_box_color'][$i]) ? $social_networks['footer_box_color'][$i] : false;
             $custom_title = isset($social_networks['custom_title'][$i]) && !empty($social_networks['custom_title'][$i]) ? $social_networks['custom_title'][$i] : '';
             $custom_source = isset($social_networks['custom_source'][$i]) && isset($social_networks['custom_source'][$i]['url']) && !empty($social_networks['custom_source'][$i]['url']) ? $social_networks['custom_source'][$i]['url'] : '';
             $custom_source_height = isset($social_networks['custom_source'][$i]) && isset($social_networks['custom_source'][$i]['height']) && !empty($social_networks['custom_source'][$i]['height']) ? $social_networks['custom_source'][$i]['height'] : '';
             $custom_source_width = isset($social_networks['custom_source'][$i]) && isset($social_networks['custom_source'][$i]['width']) && !empty($social_networks['custom_source'][$i]['width']) ? $social_networks['custom_source'][$i]['width'] : '';
             // Hack for Google+
             if (in_array($icon, array('google', 'gplus'))) {
                 $icon = 'googleplus';
             }
             // Make sure we have a URL & an icon defined
             if ($icon && $url) {
                 $icon_args = array('icon' => $icon, 'url' => $url);
                 $icon_args['icon_color'] = Avada()->settings->get('header_social_links_icon_color');
                 $icon_args['box_color'] = Avada()->settings->get('header_social_links_box_color');
                 // Use footer args when appropriate
                 if (isset(parent::$args['position']) && 'footer' == parent::$args['position']) {
                     $icon_args['icon_color'] = Avada()->settings->get('footer_social_links_icon_color');
                     $icon_args['box_color'] = Avada()->settings->get('footer_social_links_box_color');
                 }
                 if ($use_brand_colors) {
                     $brand_icon = 'googleplus' == $icon ? 'gplus' : $icon;
                     $brand_color = $social_networks_full_array[$brand_icon]['color'];
                     $icon_args['icon_color'] = parent::$args['icon_boxed'] ? '#ffffff' : $social_networks_full_array[$brand_icon]['color'];
                     $icon_args['box_color'] = parent::$args['icon_boxed'] ? $social_networks_full_array[$brand_icon]['color'] : 'transparent';
                 }
                 // Check if are on the last social icon
                 $icon_args['last'] = $count == $i ? true : false;
                 // Custom icons
                 if ('custom' == $icon && !empty($custom_source)) {
                     $icon_args['custom_source'] = $custom_source;
                     $icon_args['custom_source_height'] = $custom_source_height;
                     $icon_args['custom_source_width'] = $custom_source_width;
                     $icon_args['custom_title'] = $custom_title;
                 }
                 $icons .= parent::get_markup($icon_args);
             }
         }
     }
     if (!empty($icons)) {
         $attr = array('class' => 'fusion-social-networks');
         if (parent::$args['icon_boxed']) {
             $attr['class'] .= ' boxed-icons';
         }
         $html = '<div ' . fusion_attr('social-icons-class-social-networks', $attr) . '><div ' . fusion_attr('fusion-social-networks-wrapper') . '>' . $icons;
         if (isset(parent::$args['position']) && ('header' == parent::$args['position'] || 'footer' == parent::$args['position'])) {
             $html .= '</div></div>';
         } else {
             $html .= '<div class="fusion-clearfix"></div></div></div>';
         }
     }
     return $html;
 }