Add Page Footer

@param    string $title Default page title (rendered by TYPO3)

@return    string            Modified page title
193524
public function main($title)
    {
        // INIT
        $ret        = array();
        $tsSetup    = $GLOBALS['TSFE']->tmpl->setup;
        $tsServices = array();

        $beLoggedIn = isset($GLOBALS['BE_USER']->user['username']);

        $disabledHeaderCode = false;
        if (!empty($tsSetup['config.']['disableAllHeaderCode'])) {
            $disabledHeaderCode = true;
        }

        if (!empty($tsSetup['plugin.']['metaseo.']['services.'])) {
            $tsServices = $tsSetup['plugin.']['metaseo.']['services.'];
        }

        // Call hook
        GeneralUtility::callHookAndSignal(__CLASS__, 'pageFooterSetup', $this, $tsServices);

        // #########################################
        // GOOGLE ANALYTICS
        // #########################################

        if (!empty($tsServices['googleAnalytics'])) {
            $gaConf = $tsServices['googleAnalytics.'];

            $gaEnabled = true;

            if ($disabledHeaderCode && empty($gaConf['enableIfHeaderIsDisabled'])) {
                $gaEnabled = false;
            }

            if ($gaEnabled && !(empty($gaConf['showIfBeLogin']) && $beLoggedIn)) {
                // Build Google Analytics service
                $ret['ga'] = $this->buildGoogleAnalyticsCode($tsServices, $gaConf);

                if (!empty($gaConf['trackDownloads']) && !empty($gaConf['trackDownloadsScript'])) {
                    $ret['ga.trackdownload'] = $this->serviceGoogleAnalyticsTrackDownloads($gaConf);
                }
            } elseif ($gaEnabled && $beLoggedIn) {
                // Disable caching
                $GLOBALS['TSFE']->set_no_cache('MetaSEO: Google Analytics code disabled, backend login detected');

                // Backend login detected, disable cache because this page is viewed by BE-users
                $ret['ga.disabled'] = '<!-- Google Analytics disabled, '
                    . 'Page cache disabled - Backend-Login detected -->';
            }
        }


        // #########################################
        // PIWIK
        // #########################################
        if (!empty($tsServices['piwik.'])
            && !empty($tsServices['piwik.']['url'])
            && !empty($tsServices['piwik.']['id'])
        ) {
            $piwikConf = $tsServices['piwik.'];

            $piwikEnabled = true;

            if ($disabledHeaderCode && empty($piwikConf['enableIfHeaderIsDisabled'])) {
                $piwikEnabled = false;
            }

            if ($piwikEnabled && !(empty($piwikConf['showIfBeLogin']) && $beLoggedIn)) {
                // Build Piwik service
                $ret['piwik'] = $this->buildPiwikCode($tsServices, $piwikConf);
            } elseif ($piwikEnabled && $beLoggedIn) {
                // Disable caching
                $GLOBALS['TSFE']->set_no_cache('MetaSEO: Piwik code disabled, backend login detected');

                // Backend login detected, disable cache because this page is viewed by BE-users
                $ret['piwik.disabled'] = '<!-- Piwik disabled, Page cache disabled - Backend-Login detected -->';
            }
        }

        // Call hook
        GeneralUtility::callHookAndSignal(__CLASS__, 'pageFooterOutput', $this, $ret);

        return implode("\n", $ret);
    }
1175505
public function setTitle($title, $siteName = null, $separator = null)
    {
        $this->title->set($title)->setSeparator($separator);

        return $this->setSiteName($siteName);
    }
797406
public function actionGenerateSeoUrl($title)
    {
        $newSeoUrl = Inflector::slug($title);
        $seoUrl = SeoData::find()
            ->where(['entity_name' => ProductTranslation::className(), 'seo_url' => $newSeoUrl])
            ->one();
        if (!empty($seoUrl)) $newSeoUrl = $newSeoUrl . '-' . date("d-m-y-H-i-s");

        return $newSeoUrl;
    }
1315548
public function setRootTitle( $title )
    {
        $content = $this->getDependentContent();

        if ( $content )
        {
            $content->title = $title;
        }

        return $this;
    }
1343570
protected function _pageTitle($title, $subtitle = false)
    {
        $out = '<h1 class="titlepad-title">' . $title;
        if ($subtitle !== false) {
            $out .= ' <small>' . $subtitle . '</small>';
        }
        $out .= '</h1>';

        return $out;
    }
498112
public function title(string $title)
    {
        $name = config('app.name');

        if (empty($this->subject) && ! is_null($name)) {
            $this->subject(sprintf('[%s] %s', $name, $title));
        }

        $this->title = $title;

        return $this;
    }
641047
public function setTitle($title = null)
    {
        if ($title === null) {
            $this->title = null;
        }
        else {
            $this->title = (string) $title;
        }
        return $this;
    }
1054572
function set_title($title) {
        global $PAGE;

        $this->page = null;
        $this->title = $title;
        // set_title calls format_string itself so no probs there
        $PAGE->set_title($this->title);
    }
1167428
public function getFromTitle( $title, array $extraParams = [] ) {
		if ( $title instanceof Title ) {
			$title = $title->getTitle();
		}
		$result =
			$this->api->getRequest(
				new SimpleRequest(
					'query',
					$this->getQuery( [ 'titles' => $title ], $extraParams )
				)
			);

		return $this->newPageFromResult( array_shift( $result['query']['pages'] ) );
	}
482850
public function addWorksheet($title)
    {
        $worksheet = $this->workbook->appendChild($this->createElement('Worksheet'));
        $title = preg_replace("/[\\\|:|\/|\?|\*|\[|\]]/", "", $title);
        $title = substr($title, 0, 31);
        $worksheet->setAttribute('ss:Name', $title);
        $worksheet->table = $worksheet->appendChild($this->createElement('Table'));
        $this->worksheets[md5($title)] = $worksheet;
        return $worksheet;
    }
933391
public function show(Footer $footer)
    {
        $footer->load(['seo']);

        $this->setTitle($footer->seo->title);
        $this->addBreadcrumb($footer->seo->title);

        return $this->view('seo::public.footer-page', compact('footer'));
    }
626820
public function update_placeholder( $title ) {
		$screen = function_exists( 'get_current_screen' ) ? get_current_screen() : null;
		$current_cpt = is_object( $screen ) && property_exists( $screen, 'post_type' )
			? $screen->post_type
			: '';

		if ( $this->post_type === $current_cpt ) {
			$title = $this->label( $this->title_placeholder );
		}
		return $title;
	}
1084356
public function basic($id, $title, $body = '', $footer = '')
    {
        $this->dataCollection->add('id',     $id);
        $this->dataCollection->add('title',  $title);
        $this->dataCollection->add('body',   $body);
        $this->dataCollection->add('footer', $footer);

        return $this->render('Default');
    }
309441
public function createTitle($title)
    {
        $item = $this->list->createList($title);
        $item->attributes->addAttributeClass('menu-title');

        return $item;
    }
505287
public function setTitle($title) {
		if (is_array($title) && empty($title)) {
			$this->title = new \stdClass;
		} else {
			$this->title = $title;
		}

		return $this;
	}
129502
protected function setterTitle(string $title): string
	{
		$this->translator->set($this->name, $title);
		return $title;
	}
455679
public static function getRssTitle($title = '')
    {
        $title = esc_html(trim(strip_tags($title)));
        $title = (empty($title)) ? __('Untitled', 'modularity') : $title;

        return $title;
    }