| Current Path : /var/www/www.indacotrentino.com/www/scripts/content/ |
| Current File : /var/www/www.indacotrentino.com/www/scripts/content/index.php |
<?php
$servername = "localhost";
$username = "indaco";
$password = "indaco";
$dbname = "magento_indaco";
$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
?>
<html>
<head>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-iYQeCzEYFbKjA/T2uDLTpkwGzCiq6soy8tYaI1GyVh/UjpbCx/TYkiZhlZB6+fzT" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.1/dist/js/bootstrap.bundle.min.js" integrity="sha384-u1OknCvxWvY5kfmNBILK2hRnQC3Pr17a+RTT6rIHI7NnikvbZlHgTPOOmMi466C8" crossorigin="anonymous"></script></head>
<body>
<div class="container">
<div class="row">
<h1>Import/Export Content Page</h1>
<?php
if ($_GET['action'] == 'export') {
$sql = "
select name, cms_page.page_id, identifier, content_heading, update_time, content
from cms_page
left outer join cms_page_store on cms_page.page_id=cms_page_store.page_id
left outer join store on cms_page_store.store_id=store.store_id
where cms_page.page_id = " . (int) $_GET['page_id']. "
order by identifier, name, cms_page.page_id
limit 1
";
$result = $conn->query($sql);
$row = $result->fetch_assoc();
mkdir('page/', 0755, true);
$pageName = "./page/" . preg_replace("/[^0-9a-zA-Z_]/", "", ($row['name'] ?? 'nothing') . '_' . $row['identifier']) . ".json";
$myfile = fopen( $pageName, "w") or die("Unable to open file!");
$page['page_id'] = $row['page_id'];
$page['identifier'] = $row['identifier'];
$page['update_time'] = $row['update_time'];
$page['content_heading'] = $row['content_heading'];
$page['content'] = $row['content'];
fwrite($myfile, json_encode($page));
fclose($myfile);
print '<div class="alert alert-success" role="alert">Exported page <b>' . $row['identifier'] . '</b> of store <b>' . ($row['name'] ?? 'nothing') . '</b>.<br/>Writed file ' . $pageName . '</div>';
} elseif ($_GET['action'] == 'import') {
// echo "./file/" . basename($_GET['file']);
$string = file_get_contents("./page/" . basename($_GET['file']));
// echo $string."--";
$json = json_decode($string, true);
echo $json['content'];
}
?>
<div class="accordion" id="accordionExample">
<div class="accordion-item">
<h2 class="accordion-header" id="headingOne">
<button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
Import
</button>
</h2>
<div id="collapseOne" class="accordion-collapse collapse show" aria-labelledby="headingOne" data-bs-parent="#accordionExample">
<div class="accordion-body">
<form action="./index.php" method="get" id="formImport">
<input type="hidden" name="action" value="import"/>
<div class="mt-2">
<span class="badge bg-success">1</span>
<span class="label">Select page to update</span>
</div>
<table class="table table-hover mt-2">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">STORE</th>
<th scope="col">PAGE_ID</th>
<th scope="col">IDENTIFIER</th>
<th scope="col">HEADING</th>
<th scope="col">UPDATE</th>
</tr>
</thead>
<?php
$sql = "
select name, cms_page.page_id, identifier, content_heading, update_time
from cms_page
left outer join cms_page_store on cms_page.page_id=cms_page_store.page_id
left outer join store on cms_page_store.store_id=store.store_id
order by identifier, name, cms_page.page_id
";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo '<tr>';
echo '<td><input type="radio" name="page_id" value="' . $row["page_id"] . '"/>' . '</td>';
echo '<td>' . $row["name"] . '</td>';
echo '<td>' . $row["page_id"] . '</td>';
echo '<td>' . $row["identifier"] . '</td>';
echo '<td>' . $row["content_heading"] . '</td>';
echo '<td>' . $row["update_time"] . '</td>';
echo '</tr>';
}
} else {
echo "<tr><td>0 results</td></tr>";
}
?>
</table>
<div class="mt-2">
<span class="badge bg-success">2</span>
<span class="label">Select file to import</span>
</div>
<select name="file">
<option></option>
<?php
$files = scandir('./page/');
foreach ($files as $file) {
if ($file == '.' or $file == '..') continue;
echo '<option>' . $file . '</option>';
}
?>
</select>
<div class="mt-2">
<span class="badge bg-success">3</span>
<span class="label">Import</span>
</div>
<div class="mt-2">
<button type="submit" form="formImport" class="btn btn-primary">IMPORT</button>
</div>
</form>
</div>
</div>
</div>
<div class="accordion-item">
<h2 class="accordion-header" id="headingTwo">
<button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
Export
</button>
</h2>
<div id="collapseTwo" class="accordion-collapse collapse" aria-labelledby="headingTwo" data-bs-parent="#accordionExample">
<div class="accordion-body">
<form action="./index.php" method="get" id="formExport">
<input type="hidden" name="action" value="export"/>
<div class="mt-2">
<span class="badge bg-success">1</span>
<span class="label">Select page to export</span>
</div>
<table class="table table-hover mt-2">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">STORE</th>
<th scope="col">PAGE_ID</th>
<th scope="col">IDENTIFIER</th>
<th scope="col">HEADING</th>
<th scope="col">UPDATE</th>
</tr>
</thead>
<?php
$sql = "
select name, cms_page.page_id, identifier, content_heading, update_time
from cms_page
left outer join cms_page_store on cms_page.page_id=cms_page_store.page_id
left outer join store on cms_page_store.store_id=store.store_id
order by identifier, name, cms_page.page_id
";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
while($row = $result->fetch_assoc()) {
echo '<tr>';
echo '<td><input type="radio" name="page_id" value="' . $row["page_id"] . '"/>' . '</td>';
echo '<td>' . $row["name"] . '</td>';
echo '<td>' . $row["page_id"] . '</td>';
echo '<td>' . $row["identifier"] . '</td>';
echo '<td>' . $row["content_heading"] . '</td>';
echo '<td>' . $row["update_time"] . '</td>';
echo '</tr>';
// echo "store:" . $row["name"] . " - id: " . $row["page_id"]. " - Identifier: " . $row["identifier"]. " - Heading: " . $row["heading"]. " - Update: " . $row["update_time"]. "<br>";
}
} else {
echo "<tr><td>0 results</td></tr>";
}
?>
</table>
<div class="mt-2">
<span class="badge bg-success">2</span>
<span class="label">Export</span>
</div>
<div class="mt-2">
<button type="submit" form="formExport" class="btn btn-primary">EXPORT</button>
</div>
</form>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>
<?php
$conn->close();
?>