code: public function toggleIcon($row, $href, $label, $title, $icon, $attributes)
  	{
  		if (\strlen(Contao\Input::get('tid')))
  		{
  			$this->toggleVisibility(Contao\Input::get('tid'), (Contao\Input::get('state') == 1), (@func_get_arg(12) ?: null));
  			$this->redirect($this->getReferer());
  		}
  
  		// Check permissions AFTER checking the tid, so hacking attempts are logged
  		if (!$this->User->hasAccess('tl_article::published', 'alexf'))
  		{
  			return '';
  		}
  
  		$href .= '&amp;tid='.$row['id'].'&amp;state='.($row['published'] ? '' : 1);
  
  		if (!$row['published'])
  		{
  			$icon = 'invisible.svg';
  		}
  
  		$objPage = Contao\PageModel::findById($row['pid']);
  
  		if (!$this->User->isAllowed(Contao\BackendUser::CAN_EDIT_ARTICLES, $objPage->row()))
  		{
  			if ($row['published'])
  			{
  				$icon = preg_replace('/\.svg$/i', '_.svg', $icon); // see #8126
  			}
  
  			return Contao\Image::getHtml($icon) . ' ';
  		}
  
  		return '<a href="'.$this->addToUrl($href).'" title="'.Contao\StringUtil::specialchars($title).'"'.$attributes.'>'.Contao\Image::getHtml($icon, $label, 'data-state="' . ($row['published'] ? 1 : 0) . '"').'</a> ';
  	}
docs: Return the "toggle visibility" button
  
  @param array  $row
  @param string $href
  @param string $label
  @param string $title
  @param string $icon
  @param string $attributes
  
  @return string