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']); } ?>" /> + + + +