diff --git a/action.php b/action.php
index d88b0e2..7538d85 100644
--- a/action.php
+++ b/action.php
@@ -61,15 +61,24 @@ switch ($VARS['action']) {
if ($insert) {
$data['uid'] = $_SESSION['uid'];
$database->insert('publications', $data);
- // Make a header to get started
- $database->insert('tiles', [
- "pubid" => $database->id(),
- "page" => 1,
- "styleid" => 1,
- "content" => "
" . $VARS['name'] . "
",
- "width" => $VARS['columns'],
- "order" => 0]
- );
+ $pubid = $database->id();
+ if (is_empty($VARS['cloneid']) || !$database->has("publications", ['pubid' => $VARS['cloneid']])) {
+ // Make a header to get started
+ $database->insert('tiles', [
+ "pubid" => $pubid,
+ "page" => 1,
+ "styleid" => 1,
+ "content" => "" . $VARS['name'] . "
",
+ "width" => $VARS['columns'],
+ "order" => 0]
+ );
+ } else {
+ $tiles = $database->select("tiles", ["page", "styleid", "content", "width", "order"], ["pubid" => $VARS['cloneid']]);
+ foreach ($tiles as $tile) {
+ $tile["pubid"] = $pubid;
+ $database->insert("tiles", $tile);
+ }
+ }
} else {
$database->update('publications', $data, ['pubid' => $VARS['pubid']]);
}
diff --git a/database.mwb b/database.mwb
index 309629f..6586cb0 100644
Binary files a/database.mwb and b/database.mwb differ
diff --git a/pages/editpub.php b/pages/editpub.php
index 8099aa8..c433c5f 100644
--- a/pages/editpub.php
+++ b/pages/editpub.php
@@ -112,6 +112,10 @@ if (!is_empty($VARS['id'])) {
echo htmlspecialchars($VARS['id']);
}
?>" />
+
+
+
+