From d337b90fb8d940e5bd365eb787a7449af127f74b Mon Sep 17 00:00:00 2001 From: Skylar Ittner Date: Fri, 1 Dec 2017 21:57:53 -0700 Subject: [PATCH] Add page size and orientation options --- action.php | 10 ++++++- database.mwb | Bin 11567 -> 12910 bytes lang/en_us.php | 7 ++++- lib/gencontent.php | 11 ++++++-- lib/getpubtable.php | 16 ++++++++++-- pages/content.php | 4 +-- pages/editpub.php | 58 +++++++++++++++++++++++++++++++++-------- pages/home.php | 10 ++++--- static/css/content.css | 2 -- static/js/home.js | 1 + 10 files changed, 94 insertions(+), 25 deletions(-) diff --git a/action.php b/action.php index 099a8bf..142f933 100644 --- a/action.php +++ b/action.php @@ -49,13 +49,21 @@ switch ($VARS['action']) { if (!$database->has('pub_permissions', ["permid" => $VARS['perm']])) { returnToSender('invalid_parameters'); } + if (!$database->has('page_sizes', ["sizeid" => $VARS['size']])) { + returnToSender('invalid_parameters'); + } + if (!is_numeric($VARS['landscape']) || ((int) $VARS['landscape'] !== 0 && (int) $VARS['landscape'] !== 1)) { + returnToSender('invalid_parameters'); + } $data = [ 'pubname' => $VARS['name'], 'pubdate' => date("Y-m-d H:i:s"), 'styleid' => $VARS['style'], 'columns' => $VARS['columns'], - 'permid' => $VARS['perm'] + 'permid' => $VARS['perm'], + 'page_size' => $VARS['size'], + 'landscape' => $VARS['landscape'] ]; if ($insert) { diff --git a/database.mwb b/database.mwb index 6586cb025da7b4f0e80b3fe299d0f70fbea2a59f..e746a1d2e927c0667d0d7b5ed68ae5c9732931a4 100644 GIT binary patch literal 12910 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 KogGZ=VE-4X19H0n diff --git a/lang/en_us.php b/lang/en_us.php index cae72f0..a42202e 100644 --- a/lang/en_us.php +++ b/lang/en_us.php @@ -33,6 +33,7 @@ define("STRINGS", [ "style" => "Style", "columns" => "Columns", "visibility" => "Visibility", + "page size" => "Page Size", "adding publication" => "Adding Publication", "cloning publication" => "Copying {opub} {npub}", "editing publication" => "Editing {pub}", @@ -44,5 +45,9 @@ define("STRINGS", [ "publication deleted" => "Publication deleted.", "invalid pubid" => "Invalid publication ID.", "mailing lists" => "Mailing Lists", - "choose publication" => "Choose a publication to edit content." + "choose publication" => "Choose a publication to edit content.", + "page orientation" => "Page Orientation", + "portrait" => "Portrait", + "landscape" => "Landscape", + "page size and orientation" => "{size} ({orientation})" ]); \ No newline at end of file diff --git a/lib/gencontent.php b/lib/gencontent.php index 0bde18e..d360a61 100644 --- a/lib/gencontent.php +++ b/lib/gencontent.php @@ -6,7 +6,7 @@ if (!defined("IN_NEWSPEN")) { if (is_numeric($VARS['pubid'])) { if ($database->has('publications', ['pubid' => $VARS['pubid']])) { $pub = $VARS['pubid']; - $pubdata = $database->get("publications", ["pubname", "pubdate", "styleid", "columns"], ["pubid" => $pub]); + $pubdata = $database->get("publications", ["pubname", "pubdate", "styleid", "columns", "page_size", "landscape"], ["pubid" => $pub]); } else { die(lang("invalid parameters", false)); } @@ -31,6 +31,12 @@ if (defined("EDIT_MODE") && EDIT_MODE == true) { .pub-content { } + + get("page_sizes", ["sizewidth (width)", "sizeheight (height)"], ["sizeid" => $pubdata["page_size"]]); ?> + .pub-content { + max-width: ; + min-height: ; + } \n" . "$content"; // Credit: https://stackoverflow.com/a/709684 diff --git a/lib/getpubtable.php b/lib/getpubtable.php index 88e1aea..3b705e8 100644 --- a/lib/getpubtable.php +++ b/lib/getpubtable.php @@ -35,6 +35,9 @@ switch ($VARS['order'][0]['column']) { $order = ["columns" => $sortby]; break; case 7: + $order = ["sizename" => $sortby]; + break; + case 8: $order = ["permname" => $sortby]; break; } @@ -47,6 +50,7 @@ if (!is_empty($VARS['search']['value'])) { "pubname[~]" => $VARS['search']['value'], "pubdate[~]" => $VARS['search']['value'], "stylename[~]" => $VARS['search']['value'], + "sizename[~]" => $VARS['search']['value'], "permname[~]" => $VARS['search']['value'] ]; $where = $wherenolimit; @@ -61,7 +65,8 @@ if (!is_null($order)) { $pubs = $database->select('publications', [ '[>]pub_styles' => ['styleid' => 'styleid'], - '[>]pub_permissions' => ['permid' => 'permid'] + '[>]pub_permissions' => ['permid' => 'permid'], + '[>]page_sizes' => ['page_size' => 'sizeid'] ], [ 'pubid', 'pubname', @@ -70,7 +75,10 @@ $pubs = $database->select('publications', [ 'stylename', 'columns', 'permname', - 'publications.permid' + 'publications.permid', + "page_size", + "sizename", + "landscape" ], $where); @@ -99,6 +107,10 @@ for ($i = 0; $i < count($pubs); $i++) { } $pubs[$i]["username"] = $usercache[$pubs[$i]['uid']]['name']; } + $pubs[$i]["pagesize"] = lang2("page size and orientation", [ + "size" => $pubs[$i]["sizename"], + "orientation" => ( $pubs[$i]["landscape"] == 0 ? lang("portrait", false) : lang("landscape", false) ) + ], false); } $out['pubs'] = $pubs; diff --git a/pages/content.php b/pages/content.php index 56f683b..9a2c53f 100644 --- a/pages/content.php +++ b/pages/content.php @@ -10,7 +10,7 @@ $pubdata = []; if (is_numeric($VARS['pubid'])) { if ($database->has('publications', ['pubid' => $VARS['pubid']])) { $pub = $VARS['pubid']; - $pubdata = $database->get("publications", ["pubname", "pubdate", "styleid", "columns"], ["pubid" => $pub]); + $pubdata = $database->get("publications", ["pubname", "pubdate", "styleid", "columns", "page_size", "landscape"], ["pubid" => $pub]); } else { header("Location: app.php?page=content&msg=invalid_pubid"); die(); @@ -18,7 +18,7 @@ if (is_numeric($VARS['pubid'])) { } if ($pub === false) { - $pubs = $database->select("publications", ["pubid", "pubname"], ["uid" => $_SESSION['uid']]); + $pubs = $database->select("publications", ["pubid", "pubname"], ["uid" => $_SESSION['uid'], "ORDER" => "pubname"]); ?>
diff --git a/pages/editpub.php b/pages/editpub.php index c433c5f..ccac842 100644 --- a/pages/editpub.php +++ b/pages/editpub.php @@ -8,7 +8,9 @@ $pubdata = [ 'pubdate' => '', 'styleid' => '', 'columns' => '', - 'permid' => '' + 'permid' => '', + 'page_size' => 1, + 'landscape' => 0 ]; $editing = false; @@ -26,7 +28,9 @@ if (!is_empty($VARS['id'])) { 'pubdate', 'styleid', 'columns', - 'permid' + 'permid', + 'page_size', + 'landscape' ], [ 'pubid' => $VARS['id'] ])[0]; @@ -66,16 +70,45 @@ if (!is_empty($VARS['id'])) {
+
+
+
+
+ + +
+
+
+ +
+
+
+
+
+ + +
+
- - select("pub_styles", ['styleid', 'stylename']); - foreach ($styles as $s) { - $si = $s['styleid']; - $sn = $s['stylename']; - $ss = $pubdata["styleid"] == $si ? " selected" : ""; + $sizes = $database->select("page_sizes", ['sizeid', 'sizename', 'sizewidth', 'sizeheight']); + foreach ($sizes as $s) { + $si = $s['sizeid']; + $sn = $s['sizename']; + $ss = $pubdata["page_size"] == $si ? " selected" : ""; echo "\n"; } ?> @@ -84,8 +117,11 @@ if (!is_empty($VARS['id'])) {
- - + +
diff --git a/pages/home.php b/pages/home.php index 4bd6cff..3f3e608 100644 --- a/pages/home.php +++ b/pages/home.php @@ -16,8 +16,9 @@ redirectifnotloggedin(); - - + + + @@ -30,8 +31,9 @@ redirectifnotloggedin(); - - + + + diff --git a/static/css/content.css b/static/css/content.css index 47c30c0..9e5b13e 100644 --- a/static/css/content.css +++ b/static/css/content.css @@ -6,10 +6,8 @@ .pub-content { border: 1px solid grey; - max-width: 8.5in; margin: 0px auto; box-shadow: 5px 5px 15px -3px rgba(0,0,0,0.75); - min-height: 11in; } .tile { diff --git a/static/js/home.js b/static/js/home.js index 5ff5322..3712688 100644 --- a/static/js/home.js +++ b/static/js/home.js @@ -46,6 +46,7 @@ var pubtable = $('#pubtable').DataTable({ row.username, row.stylename, row.columns, + row.pagesize, row.permname ]); });