File: /home/httpd/html/baretube.com/admin/metatags.php
<?php
require "db.php";
$mbAuthToken = md5(uniqid());
$_SESSION['mbAuthToken']= $mbAuthToken;
$tmpAuthToken = $mbAuthToken;
if (isset($_POST['formSubmit'])) {
unset($_POST['formSubmit']);
foreach ($_POST as $field => $value) {
dbInsert('configuration', array(
'field' => $field,
'value' => $value,
), false, true);
}
if (!is_writable("$basepath/admin/scripts/config.json")) {
setMessage("File <em>$basepath/admin/scripts/config.json</em> is not writable! Please, chmod to 0777 and submit this form again.", 'error');
}
if (!getMessages(false, 'error')) {
$output = array();
$results = dbQuery("SELECT * FROM `configuration`", false);
foreach ($results as $row) {
$output[$row['field']] = $row['value'];
}
file_put_contents("$basepath/admin/scripts/config.json", json_encode($output));
setMessage('Meta configuration updated!');
header("Location: $_SERVER[REQUEST_URI]");
exit();
}
}
$page = (isset($_GET['page']) && is_numeric($_GET['page'])) ? (int) $_GET['page'] : 1;
$max_results = (isset($_GET['setmax']) && $_GET['setmax'] > 0) ? (int) $_GET['setmax'] : 100;
$from = ($page * $max_results) - $max_results;
require "header.php"; ?>
<script>
$().ready(function () {
$('.lang-selection a').on('click', function (e) {
e.preventDefault();
$('.lang-selection').find('a.active').removeClass('active');
$(this).addClass('active');
var activeItems = $(this).attr('href').replace("#", "");
$('#languages').find('.langInput').hide();
$('#languages').find('.' + activeItems).show();
return false;
});
});
</script>
<div class="content-page">
<div class="header-area">
<div class="breadcrumbs">
<a href="index.php">Admin Home</a>
<span><a href="metatags.php">Manage Metatags</a></span>
</div>
</div>
<div class="content-outer">
<h2>Manage<strong>Metatags</strong></h2>
<div class="content-inner">
<? echo getMessages(); ?>
<form method="POST" action="" enctype="multipart/form-data" class="form" novalidate autocomplete="off">
<table class="pagetable" id="languages">
<thead>
<tr>
<th colspan="2">Default Meta Settings</th>
</tr>
</thead>
<tbody>
<tr>
<td colspan="2" class="lang-selection">
<ul class="tabs custom">
<li><a href="#baseLang" class="tab active">Default</a></li>
<? if (is_array($languages)) { ?>
<? foreach ($languages as $l) { ?>
<li><a href="#<? echo $l['iso']; ?>" class="tab"><i class="flag-icon flag-icon-<? echo strtolower($l['iso']); ?>"></i><? echo $l['iso']; ?></a></li>
<? } ?>
<? } ?>
</ul>
</td>
</tr>
<? $result = dbQuery("SELECT * FROM `configuration` WHERE `group` = 'meta' AND `localized` = 1 ORDER BY `record_num`", false); ?>
<? foreach ($result as $row) { ?>
<? entities_walk($row); ?>
<tr class="baseLang langInput">
<td><? echo $row['field_name']; ?> <? if ($row['field_description']) { ?><a href="#" title="<? echo $row['field_description']; ?>"><i class="ion ion-help-circled"></i></a><? } ?></td>
<td><input name="<? echo $row['field']; ?>" type="text" id="<? echo $row['field']; ?>" value="<? echo $row['value']; ?>" /></td>
</tr>
<? if (is_array($languages)) { ?>
<? foreach ($languages as $l) { ?>
<tr class="<? echo $l['iso']; ?> langInput" style="display: none;">
<td><i class="flag-icon flag-icon-<? echo strtolower($l['iso']); ?>"></i><? echo $row['field_name']; ?> (<? echo $l['name']; ?>/<? echo $l['iso']; ?>)<? if ($row['field_description']) { ?><a href="#" title="<? echo $row['field_description']; ?>"><i class="ion ion-help-circled"></i></a><? } ?></td>
<td><input name="<? echo $row['field']; ?>__<? echo $l['iso']; ?>" type="text" id="<? echo $row['field']; ?>" value="<? echo dbValue("SELECT `value` FROM `configuration` WHERE `field` = '$row[field]__$l[iso]' LIMIT 1", 'value'); ?>" /></td>
</tr>
<? } ?>
<? } ?>
<? } ?>
<tr class="item submit">
<td colspan="2">
<input type="hidden" name="formSubmit" value="1">
<button type="submit" class="btn action-save">Save</button>
</td>
</tr>
</tbody>
</table>
</form>
<form method="get" action="" class="form" novalidate autocomplete="off">
<table class="pagetable">
<thead>
<tr>
<th colspan="2">Filter Metatags</th>
</tr>
</thead>
<tbody>
<tr>
<td>Select Language</td>
<td>
<select name="filter[language]">
<option value=""> - all languages - </option>
<? $_languages = array_unique(array_merge(array('EN'), dbFetchKey("SELECT * FROM `languages`", 'iso', false))); ?>
<? foreach ($_languages as $_lang) { ?>
<option<? echo (isset($_REQUEST['filter']['language']) && strtoupper($_REQUEST['filter']['language']) == strtoupper($_lang)) ? ' selected' : (!isset($_GET['filter']['language']) && strtoupper($config['default_language']) == strtoupper($_lang) ? ' selected' : ''); ?> value="<? echo strtoupper($_lang); ?>"><? echo (strtoupper($config['default_language']) == strtoupper($_lang)) ? 'Default (' . strtoupper($_lang) . ')' : strtoupper($_lang); ?></option>
<? } ?>
</select>
</td>
</tr>
<tr>
<td>Search (controller/mode/meta title)</td>
<td><input type="text" name="filter[search]" value="<? echo htmlentities($_REQUEST['filter']['search'], ENT_QUOTES, 'UTF-8'); ?>" /></td>
</tr>
<tr class="item submit">
<td colspan="2">
<button type="submit" class="btn action-search">Filter</button>
</td>
</tr>
</tbody>
</table>
</form>
<form method="POST" action="" class="form" novalidate autocomplete="off">
<table class="pagetable">
<thead>
<tr>
<th style="min-width:0;width:80px">Language</th>
<th width="200px">Controller</th>
<th width="200px">Mode</th>
<th>Meta Title</th>
<th class="options"></th>
</tr>
</thead>
<? $where = array('1=1'); ?>
<? if (isset($_GET['filter']['language']) && $_GET['filter']['language'] != "") { ?>
<? $where[] = "`language` = '" . mysqli_real_escape_string($dbconn, strtoupper($_GET['filter']['language'])) . "'"; ?>
<? } else if (!isset($_GET['filter']['language'])) { ?>
<? $where[] = "`language` = '" . mysqli_real_escape_string($dbconn, strtoupper($config['default_language'])) . "'"; ?>
<? } ?>
<? if (isset($_GET['filter']['search']) && $_GET['filter']['search'] != "") { ?>
<? $where[] = "(`controller` LIKE '%" . mysqli_real_escape_string($dbconn, $_GET['filter']['search']) . "%' OR `mode` LIKE '%" . mysqli_real_escape_string($dbconn, $_GET['filter']['search']) . "%' OR `meta_title` LIKE '%" . mysqli_real_escape_string($dbconn, $_GET['filter']['search']) . "%')"; ?>
<? } ?>
<?
$results = dbQuery("SELECT * FROM `metatags` WHERE " . implode(' AND ', $where) . " ORDER BY `record_num` LIMIT $from, $max_results", false);
$total_results = dbValue("SELECT COUNT(*) AS `count` FROM `metatags` WHERE " . implode(' AND ', $where), 'count');
$total_pages = ceil($total_results / $max_results);
?>
<tbody>
<? if (!is_array($results)) { ?>
<tr><td colspan="5"><div class="notification alert">No metatags found</div></td></tr>
<? } else { ?>
<? foreach ($results as $row) { ?>
<? include 'metatags_row.php'; ?>
<? } ?>
<? } ?>
</tbody>
</table>
</form>
<div id="adminPagination"><?php echo showAdminPagination($total_pages); ?></div>
</div>
</div>
</div>
<? require "footer.php"; ?>