function __toString()
 {
     $s_tag = parent::__toString();
     if ($this->GetUrl()) {
         return $s_tag;
     } else {
         return '';
         # no url, no image!
     }
 }
 /**
  * @return string
  * @desc Gets the XHTML representation of the element
  */
 public function __toString()
 {
     $this->GenerateColumns();
     // make sure columns match declared count
     /* Commented out as mixing groups and columns is invalid XHTML
     
     		if ($this->GetColumnCount() == 1)
     		{
     		# If only one column, don't render the group. Instead render the column, passing on any CSS class applied to the group
     		if ($this->GetCssClass())
     		{
     		$a_controls = $this->GetControls();
     		$s_css = $a_controls[0]->GetCssClass();
     		$s_new_css = $s_css ? $s_css . ' ' . $this->GetCssClass() : $this->GetCssClass();
     		$a_controls[0]->SetCssClass($s_new_css);
     		}
     		return $this->GetChildXhtml();
     		}*/
     return parent::__toString();
 }
 /**
  * @return string
  * @desc Gets the XHTML representation of the element
  */
 function __toString()
 {
     # display validator errors
     $xhtml = '';
     if (!$this->IsValid() and $this->b_show_validation_errors) {
         require_once 'data/validation/validation-summary.class.php';
         $a_controls = array($this);
         $xhtml .= new ValidationSummary($a_controls);
     }
     # Add CSRF token in a hidden field, and store the same token in session
     if (strtoupper($this->GetAttribute("method")) == "POST") {
         $this->AddControl('<input type="hidden" name="securitytoken" value="' . htmlentities($this->csrf_token, ENT_QUOTES, "UTF-8", false) . '" />');
         $this->InvalidateXhtml();
         $_SESSION['csrf_token'] = $this->csrf_token;
     }
     return $xhtml . parent::__toString();
 }