etalon_backend/plugins/suresoftware/powerseo/classes/Helper.php

102 lines
2.7 KiB
PHP

<?php namespace SureSoftware\PowerSEO\classes;
use SureSoftware\PowerSEO\Models\Settings;
use Request;
class Helper
{
public $settings;
public function __construct()
{
$this->settings = Settings::instance();
}
public function generateTitle($title)
{
$settings = $this->settings;
if ($settings->enable_title) {
$position = $settings->title_position;
$site_title = $settings->title;
if ($position == 'prefix') {
$new_title = $site_title . " " . $title;
} else {
$new_title = $title . " " . $site_title;
}
} else {
$new_title = $title;
}
return $new_title;
}
function generateCanonicalUrl()
{
$settings = $this->settings;
if ($settings->enable_canonical_url) {
return '<link rel="canonical" href="' . Request::url() . '"/>';
}
return "";
}
public function otherMetaTags()
{
$settings = $this->settings;
if ($settings->other_tags) {
return $settings->other_tags;
}
return "";
}
public function generateOgMetaTags($post)
{
$settings = $this->settings;
if ($settings->enable_og_tags) {
$ogTags = "";
if ($settings->og_fb_appid) {
$ogTags .= '<meta property="fb:app_id" content="' . $settings->og_fb_appid . '" />' . "\n";
}
if ($settings->og_sitename) {
$ogTags .= '<meta property="og:site_name" content="' . $settings->og_sitename . '" />' . "\n";
}
if ($post->powerseo_description) {
$ogTags .= '<meta property="og:description" content="' . $post->powerseo_description . '" />' . "\n";
}
$ogTitle = empty($post->powerseo_title) ? $post->title : $post->powerseo_title;
$ogUrl = Request::url();
if(!empty($post->powerseo_canonical_url)){
$ogUrl = $post->powerseo_canonical_url;
}
else if(!empty($this->page->powerseo_canonical_url)){
$ogUrl = $this->page->powerseo_canonical_url;
}
//Add featured images to the social tags
if($post->featured_images){
foreach($post->featured_images as $image){
$ogTags .= '<meta property="og:image" content="' . $image->path . '" />' . "\n";
}
}
$ogTags .= '<meta property="og:title" content="' . $ogTitle . '" />' . "\n";
$ogTags .= '<meta property="og:url" content="' . $ogUrl . '" />';
return $ogTags;
}
}
}