Title ends with a full stop.

@return bool
503738
public function hasTitleAFullStop(): bool
    {
        if (0 == $this->getTitleLength()) {
            return false;
        }

        $lastCharacter = trim($this->commitMessage[0]){$this->getTitleLength() - 1};

        return '.' == $lastCharacter;
    }
958975
public function end() {
		list(, $options, $template) = $this->_defaults(__FUNCTION__, null, []);
		$params = compact('options', 'template');

		$result = Filters::run($this, __FUNCTION__, $params, function($params) {
			$this->_bindingOptions = [];
			return $this->_render('end', $params['template'], []);
		});
		unset($this->_binding);
		$this->_binding = null;
		return $result;
	}
53672
final public static function end()
    {
        $finalTime     = self::getTime();
        $execTime      = $finalTime - self::$time;
        $msgTranslated = new Internationalization("seconds");
        
        return number_format($execTime, 6) . " " . $msgTranslated;
    }
1017632
function end()
    {
        $data = ob_get_contents();
        ob_end_clean();
        $this->save($data, $this->_id, $this->_group);
        echo($data);
    }
557577
public function end() {
		if ($this->is_end) {
			return;
		}
		$this->is_end = true;
		if ($this->sw_response) {
			if (($this->tpl_auto === null && self::$tpl_auto_config) || $this->tpl_auto) {
				$this->display();
			}
			$this->sw_response->end();
			$this->sw_response = null;
		}
		$this->tpl_engine_obj = null;
	}
896802
public function getFullName()
    {
        $first = isset($this->response["firstName"]) ? $this->response["firstName"] : "";
        $last = isset($this->response["lastName"]) ? $this->response["lastName"] : "";

        return trim($first . " " . $last);
    }
678925
public function finish()
    {
        fclose( $this->fp );
        $this->fp = null;


        // FIXME: DIRTY PGP HACK
        // When we have PGP support these lines should be removed. They are here now to hide
        // PGP parts since they will show up as file attachments if not.
        if ( $this->mainType == "application" &&
            ( $this->subType == 'pgp-signature'
              || $this->subType == 'pgp-keys'
              || $this->subType == 'pgp-encrypted' ) )
        {
            return null;
        }
        // END DIRTY PGP HACK

        $filePart = new self::$fileClass( $this->fileName );

        // set content type
        $filePart->setHeaders( $this->headers->getCaseSensitiveArray() );
        ezcMailPartParser::parsePartHeaders( $this->headers, $filePart );
        switch ( strtolower( $this->mainType ) )
        {
            case 'image':
                $filePart->contentType = ezcMailFile::CONTENT_TYPE_IMAGE;
                break;
            case 'audio':
                $filePart->contentType = ezcMailFile::CONTENT_TYPE_AUDIO;
                break;
            case 'video':
                $filePart->contentType = ezcMailFile::CONTENT_TYPE_VIDEO;
                break;
            case 'application':
                $filePart->contentType = ezcMailFile::CONTENT_TYPE_APPLICATION;
                break;
        }

        // set mime type
        $filePart->mimeType = $this->subType;

        // set inline disposition mode if set.
        $matches = array();
        if ( preg_match( '/^\s*inline;?/i',
                        $this->headers['Content-Disposition'], $matches ) )
        {
            $filePart->dispositionType = ezcMailFile::DISPLAY_INLINE;
        }
        if ( preg_match( '/^\s*attachment;?/i',
                        $this->headers['Content-Disposition'], $matches ) )
        {
            $filePart->dispositionType = ezcMailFile::DISPLAY_ATTACHMENT;
        }
        $filePart->size = filesize( $this->fileName );
        return $filePart;
    }
1367952
public function stop()
  {
    $this->end = microtime(true);
    return bcsub($this->end, $this->start, 2);
  }
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;
    }
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;
    }
1105001
public function complete()
    {
        $this->flushBuffer(true);

        $document = $this->insertFile();

        $this->_isComplete = true;

        return $document;
    }
144153
public function getFullName()
    {
        $fullName = $this->getFirstName() . ' ' . $this->getLastName();
        if (strlen(trim($fullName))) {
            return $fullName;
        }
        return $this->getDisplayName();
    }
752260
public function Title()
    {
        $prefix = $this->config()->get('question_prefix');

        if (!$prefix) {
            $prefix = _t('MathSpamProtectionField.SPAMQUESTION', "Spam protection question: %s");
        }

        return sprintf(
            $prefix,
            $this->getMathsQuestion()
        );
    }
366365
private function trim()
	{
		if (utf8_strlen($this->message) <= ($this->length + $this->length_tolerance))
		{
			return false;
		}

		if (!$this->bbcode_uid)
		{
			$this->trimmed_message = utf8_substr($this->message, 0, $this->length) . $this->append_str;
			return true;
		}

		$this->trim_action();
		return $this->bbcodes->is_trimmed();
	}
382668
function hasNext()
    {
        if (isset($this->_limit) && $this->offset >= $this->_limit)
        {
            return false;
        }
    
        if (!isset($this->data))
        {
            $this->loadNextPage();
        }

        if ($this->pos < sizeof($this->data))
        {
            return true;
        }

        if (!$this->truncated)
        {
            return false;            
        }
        
        $this->loadNextPage();
        return $this->pos < sizeof($this->data);        
    }
1113900
public function endOfDecade()
        {
            return $this->endOfYear()->year(
                $this->year - $this->year % self::YEARS_PER_DECADE + self::YEARS_PER_DECADE - 1
            );
        }
1046611
public function getClosingContent()
    {
        $content = '';
        if ($this->_color) {
            $content .= '\cf0 ';
        }
        if ($this->_backgroundColor) {
            $content .= '\chcbpat0 ';
        }
        if ($this->_isBold) {
            $content .= '\b0 ';
        }
        if ($this->_isItalic) {
            $content .= '\i0 ';
        }
        if ($this->_isUnderlined) {
            $content .= '\ul0 ';
        }
        return $content;
    }