File: /home/httpd/html/baretube.com.new/includes/inc.metatags.php
<?php
$mode = $_GET['mode'];
$config['_metatags'] = (array) $_meta;
$config['_metatags']['page'] = isset($page) && $page > 1 ? _t(' - Page %page', array('%page' => (int) $page)) : '';
$langs = array();
if (isset($currentLang) && $currentLang != $config['default_language']) {
$langs[$currentLang] = $currentLang;
$config['_metatags'] += array(
'default_header_title' => $config["default_header_title__{$currentLang}"],
'default_meta_title' => $config["default_meta_title__{$currentLang}"],
'default_meta_description' => $config["default_meta_description__{$currentLang}"],
'default_meta_keywords' => $config["default_meta_keywords__{$currentLang}"],
'default_meta_robots' => $config["default_meta_robots__{$currentLang}"],
'sitename' => (isset($config["sitename__{$currentLang}"]) && $config["sitename__{$currentLang}"] != "") ? $config["sitename__{$currentLang}"] : $config['sitename'],
);
} else {
$config['_metatags'] += array(
'default_header_title' => $config['default_header_title'],
'default_meta_title' => $config['default_meta_title'],
'default_meta_description' => $config['default_meta_description'],
'default_meta_keywords' => $config['default_meta_keywords'],
'default_meta_robots' => $config['default_meta_robots'],
'sitename' => $config['sitename'],
);
$langs[$config['default_language']] = $config['default_language'];
}
$metatags = dbRow("SELECT * FROM `metatags` WHERE `controller` = '" . mysqli_real_escape_string($dbconn, $thisController) . "' AND `mode` = '" . ($mode != "" ? mysqli_real_escape_string($dbconn, $mode) : ($thisController === 'index' ? 'default' : '')) . "' AND `language` IN ('" . implode("','", $langs) . "') ORDER BY FIELD(`language`, '" . implode("','", $langs) . "')", false);
if (!is_array($metatags)) {
$metatags_core = dbRow("SELECT * FROM `metatags` WHERE `controller` = '" . mysqli_real_escape_string($dbconn, $thisController) . "' AND `mode` = '" . ($mode != "" ? mysqli_real_escape_string($dbconn, $mode) : ($thisController === 'index' ? 'default' : '')) . "' AND `language` = '" . $config['core_language'] . "'", false);
if (is_array($metatags_core)) {
unset($metatags_core['record_num']);
$metatags_core['language'] = $currentLang;
$metatags = dbInsert('metatags', $metatags_core, true, false, array(), array(), true);
} else {
$metatags = dbInsert('metatags', array(
'controller' => $thisController,
'mode' => $mode,
'header_title' => '{{TITLE}}',
'meta_title' => '{{SITENAME}}',
'meta_description' => '{{DESCRIPTION}}',
'meta_keywords' => '{{KEYWORDS}}',
'language' => $currentLang != "" ? strtoupper($currentLang) : strtoupper($config['default_language']),
), true, false, array(), array(), true);
}
}
$langSelect = '';
$langJoin = '';
$langWhere = '';
/* Override certain metatags for specific index modes */
if ($thisController === 'index') {
switch ($mode) {
case 'search':
$config['_metatags']['search_string'] = htmlentities(str_replace('-', ' ', strip_tags(filter_var($_GET['q'], FILTER_SANITIZE_STRING))), ENT_QUOTES, 'UTF-8');
break;
case 'channel':
$langData = array();
if ($currentLang) {
$langSelect = ", `niches_languages`.`data`";
$langJoin = "LEFT JOIN `niches_languages` ON `niches_languages`.`niche` = `niches`.`record_num` AND `niches_languages`.`language` = '$currentLang'";
$langWhere = "";
}
$_channel = dbRow("SELECT `niches`.`name`, `niches`.`metatitle`, `niches`.`paysite`, IF(`niches`.`metaheader` = '', `niches`.`name`, `niches`.`metaheader`) AS `metaheader`, `niches`.`metakw`, `niches`.`metadesc`, `niches`.`description` $langSelect FROM `niches` $langJoin WHERE `niches`.`record_num` = '" . (int)$_GET['channel'] . "' $langWhere", true, 300);
if ($currentLang) {
$langData = unserialize($_channel['data']);
}
$config['_metatags']['title'] = $config['_metatags']['channel_title'] = htmlentities(ucwords($langData['metatitle'] != "" ? $langData['metatitle'] : $_channel['metatitle']), ENT_QUOTES, 'UTF-8');
$config['_metatags']['channel_name'] = htmlentities(ucwords($langData['metaheader'] != "" ? $langData['metaheader'] : $_channel['metaheader']), ENT_QUOTES, 'UTF-8');
$config['_metatags']['description'] = truncate($langData['metadesc'] != "" ? $langData['metadesc'] : $_channel['metadesc'], 156);
$config['_metatags']['catdesc'] = $langData['description'] != "" ? $langData['description'] : $_channel['description'];
$config['_metatags']['keywords'] = $langData['metakw'] != "" ? $langData['metakw'] : $_channel['metakw'];
$channel_name = $_channel['name'];
break;
case 'paysites':
$langData = array();
if ($currentLang) {
$langSelect = ", `paysites_languages`.`data`";
$langJoin = "LEFT JOIN `paysites_languages` ON `paysites_languages`.`paysite` = `paysites`.`record_num` AND `paysites_languages`.`language` = '$currentLang'";
$langWhere = "";
}
$_paysite = dbRow("SELECT `paysites`.`name`, `paysites`.`description` $langSelect FROM `paysites` $langJoin WHERE `paysites`.`record_num` = '" . (int)$_GET['paysite'] . "' $langWhere", true, 300);
if ($currentLang) {
$langData = unserialize($_paysite['data']);
}
$name = $_paysite['name'];
$config['_metatags']['name'] = $_paysite['name'];
$config['_metatags']['title'] = $config['_metatags']['paysite_title'] = htmlentities(ucwords($langData['metatitle'] != "" ? $langData['metatitle'] : $_paysite['name']), ENT_QUOTES, 'UTF-8');
$config['_metatags']['paysite_name'] = htmlentities(ucwords($langData['metaheader'] != "" ? $langData['metaheader'] : $_paysite['name']), ENT_QUOTES, 'UTF-8');
$config['_metatags']['description'] = truncate($langData['metadesc'] != "" ? $langData['metadesc'] : $_paysite['description'], 156);
$config['_metatags']['keywords'] = $langData['metakw'] != "" ? $langData['metakw'] : '';
break;
case 'uploads-by-user':
$_user = dbRow("SELECT `username` FROM `users` WHERE `record_num` = '" . (int)$_GET['user'] . "'", true, 300);
$config['_metatags']['user_name'] = htmlentities(ucwords($_user['username']), ENT_QUOTES, 'UTF-8');
break;
}
}
$config['_metatags']['description'] = htmlentities(truncate(trim($config['_metatags']['description'] . ' ' . $config['_metatags']['meta_description']), 156), ENT_QUOTES, 'UTF-8');
if ($config['_metatags']['description'] == '') {
$config['_metatags']['description'] = htmlentities($config['_metatags']['default_meta_description'], ENT_QUOTES, 'UTF-8');
}
$config['_metatags']['keywords'] = htmlentities(truncate(trim($config['_metatags']['keywords'] . ' ' . $config['_metatags']['meta_keywords']), 156), ENT_QUOTES, 'UTF-8');
if ($config['_metatags']['keywords'] == '') {
$config['_metatags']['keywords'] = htmlentities($config['_metatags']['default_meta_keywords'], ENT_QUOTES, 'UTF-8');
}
$replacement = array();
foreach ($config['_metatags'] as $metatag_key => $metatag_value) {
$replacement['{{' . strtoupper($metatag_key) . '}}'] = $metatag_value;
}
if (is_array($metatags)) {
foreach ($metatags as &$meta) {
$meta = strtr($meta, $replacement);
}
$title = $metatags['meta_title'];
$headertitle = $metatags['header_title'];
$metadescription = $metatags['meta_description'];
$metakeywords = $metatags['meta_keywords'];
$metarobots = $metatags['robots'] ? $metatags['robots'] : $config['default_meta_robots'];
} else {
$title = $config['default_meta_title'];
$headertitle = $config['default_header_title'];
$metadescription = $config['default_meta_description'];
$metakeywords = $config['default_meta_keywords'];
$metarobots = $config['default_meta_robots'];
}