Closes a panel group, closes the last panel if it has not already been closed.

@return string An HTML string containing closing tags.
976862
public function endGroup() {
        $out = '';
        while ($this->_states->is('panel')) { // panels were not closed
            $out .= $this->end();
        }
        $out .= $this->formatTemplate('panelGroupEnd', []);
        $this->_states->pop();
        return $out;
    }
499181
private function tag_close($tag)
	{
		if(!$this->current_tag instanceof Node_Container_Document
			&& $tag !== $this->current_tag->tag())
		{
			$closing_tags = $this->bbcodes[$this->current_tag->tag()]->closing_tags();

			if(in_array($tag, $closing_tags) || in_array('/' . $tag, $closing_tags))
				$this->current_tag = $this->current_tag->parent();
		}

		if($this->current_tag instanceof Node_Container_Document)
			return false;
		else if($tag !== $this->current_tag->tag())
		{
			// check if this is a tag inside another tag like
			// [tag1] [tag2] [/tag1] [/tag2]
			$node = $this->current_tag->find_parent_by_tag($tag);

			if($node !== null)
			{
				$this->current_tag = $node->parent();

				while(($node = $node->last_tag_node()) !== null)
				{
					$new_node = new Node_Container_Tag($node->tag(), $node->attributes());
					$this->current_tag->add_child($new_node);
					$this->current_tag = $new_node;
				}
			}
			else
				return false;
		}
		else
			$this->current_tag = $this->current_tag->parent();

		return true;
	}
235919
public function RenderEnd () {
		$this->PreDispatch();
		$this->SetFormTagRenderingStatus(FALSE);
		$result = '</form>'
			. $this->RenderSupportingJs()
			. $this->RenderSupportingCss();
		$this->cleanSessionErrorsAfterRender();
		return $result;
	}
52136
function _getScreen()
    {
        $output = '';
        $last_attr = $this->base_attr_cell;
        for ($i = 0; $i <= $this->max_y; $i++) {
            for ($j = 0; $j <= $this->max_x; $j++) {
                $cur_attr = $this->attrs[$i][$j];
                $output.= $this->_processCoordinate($last_attr, $cur_attr, isset($this->screen[$i][$j]) ? $this->screen[$i][$j] : '');
                $last_attr = $this->attrs[$i][$j];
            }
            $output.= "\r\n";
        }
        $output = substr($output, 0, -2);
        // close any remaining open tags
        $output.= $this->_processCoordinate($last_attr, $this->base_attr_cell, '');
        return rtrim($output);
    }
301629
public function endTemplate()
    {
        if (null === $this->currentTemplateId) {
            return false;
        }

        $templateId = $this->currentTemplateId;
        $template = $this->templates[$templateId];

        $state = $template['state'];
        $this->SetXY($state['x'], $state['y']);
        $this->tMargin = $state['tMargin'];
        $this->lMargin = $state['lMargin'];
        $this->rMargin = $state['rMargin'];
        $this->h = $state['h'];
        $this->w = $state['w'];
        $this->SetAutoPageBreak($state['AutoPageBreak'], $state['bMargin']);

        $this->FontFamily = $state['FontFamily'];
        $this->FontStyle = $state['FontStyle'];
        $this->FontSizePt = $state['FontSizePt'];
        $this->FontSize = $state['FontSize'];

        $this->TextColor = $state['TextColor'];
        $this->DrawColor = $state['DrawColor'];
        $this->FillColor = $state['FillColor'];
        $this->ColorFlag = $state['ColorFlag'];

        $this->underline = $state['underline'];

        $fontKey = $this->FontFamily . $this->FontStyle;
        if ($fontKey) {
            $this->CurrentFont =& $this->fonts[$fontKey];
        } else {
            unset($this->CurrentFont);
        }

        $this->currentTemplateId = null;

        return $templateId;
    }
1111131
public function close()
    {
        $html = implode('', $this->footer);
        foreach ($this->hidden as $key => $value) {
            $html .= "\n\t".$this->input('hidden', array(
                'name' => $key,
                'value' => htmlspecialchars((string) $value),
            ));
        }

        return $html."\n</form>";
    }
251283
public function panel(Panel\Panel\Panel $panel)
    {

        $html = '';

        //@todo Action render
        $actions = '';
        foreach($panel->getActions() as $action) {
            $actions .= $action->render() . PHP_EOL;
        }


        $html .= html('div', ['class' => 'pull-right'], $actions);
        $title = '<h4>' . $panel->getTitle() . '</h4>';
        $html .= html('div', ['class' => Style::PANEL_HEAD_CLASS_TITLE . ' clearfix'], $title);
        $html = html('div', ['class' => Style::PANEL_HEAD_CLASS], $html);


        //@todo footer render
        $html .= html('div', ['class' => Style::PANEL_BODY_CLASS], $panel->getBody());

        $panel->addClass(Style::PANEL_CLASS);

        if ($panel->hasContext()) {
            $panel->addClass(constant( Style::class . '::' . $panel->getContext()));
        }

        return html('div', $panel->getAttributes(), $html);
    }
970555
public function getPanel(): string
    {
        \ob_start();
        if (\is_file(__DIR__ . "/templates/{$this->id}.panel.phtml")) {
            $data = $this->data;
            require __DIR__ . "/templates/{$this->id}.panel.phtml";
        }

        return \ob_get_clean();
    }
1061371
public function close()
    {
        if (!is_resource($this->sharedStringsFilePointer)) {
            return;
        }

        fwrite($this->sharedStringsFilePointer, '</sst>');

        // Replace the default strings count with the actual number of shared strings in the file header
        $firstPartHeaderLength = strlen(self::SHARED_STRINGS_XML_FILE_FIRST_PART_HEADER);
        $defaultStringsCountPartLength = strlen(self::DEFAULT_STRINGS_COUNT_PART);

        // Adding 1 to take into account the space between the last xml attribute and "count"
        fseek($this->sharedStringsFilePointer, $firstPartHeaderLength + 1);
        fwrite($this->sharedStringsFilePointer, sprintf("%-{$defaultStringsCountPartLength}s", 'count="' . $this->numSharedStrings . '" uniqueCount="' . $this->numSharedStrings . '"'));

        fclose($this->sharedStringsFilePointer);
    }
326272
public String getGroupName() {
		if (collapsibleToggle != null) {
			return collapsibleToggle.getId();
		} else if (!collapsibleList.isEmpty()) {
			// This is only to retain compatibility with the
			// previous implementation, and should be removed post-Sfp11,
			// as it doesn't make much sense to create a group without
			// something to toggle it.
			return collapsibleList.get(0).getId();
		}

		return "";
	}
1348132
def close_panel(self):
        
        self.hide()
        self.lineEditReplace.clear()
        self.lineEditSearch.clear()
1076134
function closeObject() {
		//Helpers::dompdf_debug("trace", "Enter My_TCPDF.closeObject(state = $this->state)");
		if ($this->dompdf_num_stack > 0) {

			if ($this->state == 2) {
				$curr_buffer = $this->getPageBuffer($this->page);
			}
			else {
				$curr_buffer = $this->getBuffer();
			}

			$this->dompdf_objects[$this->dompdf_num_objects]['c'] = $curr_buffer;
			$this->dompdf_objects[$this->dompdf_num_objects]['p'] = $this->page;
			$this->dompdf_objects[$this->dompdf_num_objects]['g'] = $this->getGraphicVars();

			//Helpers::dompdf_debug("trace", "--------- OBJECT buffer -------> " . $curr_buffer);

			$saved_stack = $this->dompdf_stack[$this->dompdf_num_stack];

			//Helpers::dompdf_debug("trace", "--------- saved buffer -------> " . $saved_stack['c']);

			if ($this->state == 2) {
				$this->setPageBuffer($this->page, $saved_stack['c']);
			}
			else {
				$this->buffer = $saved_stack['c'];
				$this->bufferlen = strlen($this->buffer);
			}
			$this->page = $saved_stack['p'];
			$this->setGraphicVars($saved_stack['g']);

			unset($this->dompdf_stack[$this->dompdf_num_stack]);
			$this->dompdf_num_stack--;
		}
	}
92191
protected function renderBackendView(): string
    {
        $group = $this->getPanelGroup();
        $data  = [];

        if ($group && $group !== $this->getModel()) {
            $data['group'] = $group->bs_panel_name;
            $data['color'] = $this->rotateColor('ce:' . $group->id);
            $data['title'] = $this->get('headline');
        } else {
            $data['color'] = $this->rotateColor('ce:' . $this->get('id'));
            $data['group'] = $this->get('type') === 'bs_panel_group_start'
                ? $this->get('bs_panel_name')
                : $this->get('headline');
        }

        return $this->render(
            new ToolkitTemplateReference(
                'be_bs_panel',
                'html5',
                ToolkitTemplateReference::SCOPE_FRONTEND
            ),
            $data
        );
    }
1269429
public function close()
    {
        $this->type = null;

        $this->leftColumnClass = $this->rightColumnClass = null;

        return $this->form->close();
    }
1065658
private function get_closing_links()
    {
        $output = '';

        $next_link = esc_attr(get_pagenum_link(\intval($this->current_page) + 1));
        $last_page_link = esc_attr(get_pagenum_link($this->page_count));

        if ($this->args['show_previous_next'] && $next_link && $this->page_count != $this->current_page) {
            $output .= \sprintf($this->args['next_wrapper'], $next_link);
        }

        if ($this->args['show_first_last'] && $last_page_link) {
            $output .= \sprintf($this->args['last_wrapper'], $last_page_link);
        }

        return $output;
    }
740325
public function renderElements()
    {
        if ($this->isSelfClosing) {
            return '';
        }

        $html = '';

        foreach ($this->elements as $element) {
            $html .= $element;
        }

        return $html;
    }
1093334
public function closeFilterForm() {
		$type = 'get';
		if ($this->_getFlagUsePost()) {
			$type = 'post';
		}

		$this->ExtBs3Form->requestType = $type;
		$result = $this->ExtBs3Form->end();

		return $result;
	}