/** * @param $header_object HTMLTableHeader object * @param $allow_super_header (false by default **/ function appendHeader(HTMLTableHeader $header_object, $allow_super_header = false) { if (!$header_object instanceof HTMLTableHeader) { throw new Exception('Implementation error: appendHeader requires HTMLTableHeader as parameter'); } $header_name = ''; $subHeader_name = ''; $header_object->getHeaderAndSubHeaderName($header_name, $subHeader_name); if ($header_object->isSuperHeader() && !$this->super && !$allow_super_header) { throw new Exception(sprintf('Implementation error: invalid super header name "%s"', $header_name)); } if (!$header_object->isSuperHeader() && $this->super) { throw new Exception(sprintf('Implementation error: invalid super header name "%s"', $header_name)); } if (!isset($this->headers[$header_name])) { $this->headers[$header_name] = array(); $this->headers_order[] = $header_name; $this->headers_sub_order[$header_name] = array(); } if (!isset($this->headers[$header_name][$subHeader_name])) { $this->headers_sub_order[$header_name][] = $subHeader_name; } $this->headers[$header_name][$subHeader_name] = $header_object; return $header_object; }
/** * @param $header HTMLTableHeader object **/ function haveHeader(HTMLTableHeader $header) { //TODO $header_name AND $subHeader_name not initialized $header->getHeaderAndSubHeaderName($header_name, $subheader_name); try { $subheaders = $this->getHeaders($header_name); } catch (HTMLTableUnknownHeaders $e) { try { $subheaders = $this->table->getHeaders($header_name); } catch (HTMLTableUnknownHeaders $e) { return false; } } return isset($subheaders[$subheader_name]); }
/** * @param $header HTMLTableHeader object **/ function haveHeader(HTMLTableHeader $header) { $header_name = ''; $subHeader_name = ''; $header->getHeaderAndSubHeaderName($header_name, $subheader_name); try { $subheaders = $this->getHeaders($header_name); } catch (HTMLTableUnknownHeaders $e) { try { $subheaders = $this->table->getHeaders($header_name); } catch (HTMLTableUnknownHeaders $e) { return false; } } return isset($subheaders[$subheader_name]); }