diff options
Diffstat (limited to 'app/view')
-rw-r--r-- | app/view/dbconfig.php | 90 | ||||
-rw-r--r-- | app/view/formctrl.php | 39 | ||||
-rw-r--r-- | app/view/stdpage.php | 7 |
3 files changed, 133 insertions, 3 deletions
diff --git a/app/view/dbconfig.php b/app/view/dbconfig.php new file mode 100644 index 0000000..006c28e --- /dev/null +++ b/app/view/dbconfig.php @@ -0,0 +1,90 @@ +<?php + +/* + * SCROTT IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + * For more information, please refer to UNLICENSE + */ + +require_once "model/dbconfig.php"; +require_once "view/stdpage.php"; +require_once "view/formctrl.php"; + +?> + +<!DOCTYPE html> + +<html lang="en"> + <head> + <?=stdpage\head( "Database Configuration" )?> + + <style type="text/css"> + body { padding-top: 50px; } + </style> + </head> + + <body> + <?=stdpage\top()?> + + <div class="container"> + <div class="jumbotron"> + <h2 class="text-center"> + <span class="glyphicon glyphicon-user"></span> + <span class="glyphicon glyphicon-th"></span> + <span class="glyphicon glyphicon-edit"></span> + <span class="glyphicon glyphicon-tasks"></span> + <span class="glyphicon glyphicon-inbox"></span> + <span class="glyphicon glyphicon-envelope"></span> + </h2> + + <h1 class="text-center">Welcome to Scrott!</h1> + <hr /> + + <p class="text-center">You're seeing this page because the file "dbconfig.php" is missing.</p> + <p class="text-center">Please fill out the form below to configure Scrott to use your database.</p> + <hr /> + + <p class="text-center">This form will save your database parameters to the configuration file.<br /> + Scrott needs this information before it can begin working!</p> + + <h5 class="text-center"> + It is presumed that you are the administrator for this Scrott install.<br /> + There is a security risk involved with exposing this page to the public! + </h5> + + <div class="row"> + <div class="col-md-2"></div> + + <div class="col-md-8"> + <div class="panel panel-default"> + <div class="panel-body"> + <form method="post" action="<?=ap()?>"> + <?=formctrl\formname( "save" )?> + <?=formctrl\text( "Engine", "dbEngine", "MySQL", "", false, true )?> + <?=formctrl\text( "Hostname", "dbHost", "", "localhost" )?> + <?=formctrl\text( "Username", "dbUname", "", "root" )?> + <?=formctrl\password( "Password", "dbPasswd", false )?> + <?=formctrl\text( "Database Name", "dbName", "", "db_scrott" )?> + + <button type="submit" class="btn btn-primary pull-right"> + Use these settings + </button> + </form> + </div> + </div> + </div> + + <div class="col-md-2"></div> + </div> + </div> + </div> + + <?=stdpage\foot()?> + </body> +</html> diff --git a/app/view/formctrl.php b/app/view/formctrl.php new file mode 100644 index 0000000..3683eb4 --- /dev/null +++ b/app/view/formctrl.php @@ -0,0 +1,39 @@ +<?php + +/* + * SCROTT IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. + * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR + * OTHER DEALINGS IN THE SOFTWARE. + * + * For more information, please refer to UNLICENSE + */ + +namespace formctrl; + +?> +<?php function formname(string $name) : void { ?> + + <input type="hidden" name="action" value="<?=$name?>" /> + +<?php } ?> +<?php function text(string $label, string $name, string $value = "", string $placeholder = "", + bool $required = true, bool $disabled = false) : void { ?> + + <div class="form-group"> + <label><?=$label?></label> + <input type="text" name="input[<?=$name?>]" value="<?=$value?>" placeholder="<?=$placeholder?>" class="form-control" <?=($required ? "required" : "")?> <?=($disabled ? "disabled" : "")?> /> + </div> + +<?php } ?> +<?php function password(string $label, string $name, bool $required = true) : void {?> + + <div class="form-group"> + <label><?=$label?></label> + <input type="password" name="input[<?=$name?>]" class="form-control" <?=($required ? "required" : "")?> /> + </div> + +<?php } ?> diff --git a/app/view/stdpage.php b/app/view/stdpage.php index 157dc1b..4bdc0c5 100644 --- a/app/view/stdpage.php +++ b/app/view/stdpage.php @@ -17,7 +17,6 @@ namespace stdpage; require_once "class/globals.php"; ?> - <?php function head(?string $title = NULL) : void { ?> <!-- @@ -54,12 +53,14 @@ require_once "class/globals.php"; <title>Scrott<?=($title ? " - ".$title : "")?></title> <link rel="stylesheet" type="text/css" href="<?=ar()?>/static/css/bootstrap.min.css" /> -<?php } ?> -<?php function top() : void { ?> <?php } ?> +<?php function top() : void { ?> +<?php } ?> <?php function foot() : void { ?> + <script type="text/javascript" src="<?=ar()?>/static/js/jquery.min.js"></script> <script type="text/javascript" src="<?=ar()?>/static/js/bootstrap.min.js"></script> + <?php } ?> |