diff options
Diffstat (limited to 'app/view/settings.php')
-rw-r--r-- | app/view/settings.php | 219 |
1 files changed, 219 insertions, 0 deletions
diff --git a/app/view/settings.php b/app/view/settings.php new file mode 100644 index 0000000..21b75ba --- /dev/null +++ b/app/view/settings.php @@ -0,0 +1,219 @@ +<?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 settings; + +require_once "model/settings.php"; +require_once "view/formctrl.php"; +require_once "view/datalsts.php"; +require_once "class/settings.class.php"; +require_once "class/obj.class.php"; +require_once "class/user.class.php"; + +?> +<?php function settings() : void { ?> + + <div id="settingsModal" class="modal fade" tabindex="-1" role="dialog"> + <div class="modal-dialog" role="document"> + <div class="modal-content"> + <div class="modal-header"> + <button type="button" class="close" data-dismiss="modal"> + <span aria-hidden="true">×</span> + </button> + + <h4 class="modal-title"> + <span class="glyphicon glyphicon-cog"></span> Settings + </h4> + </div> + + <div class="modal-body"> + <?php $s = false; ?> + <?php $u = \user::getCurrent(); ?> + + <ul class="nav nav-tabs" role="tablist"> + <li class="<?=oneStr("active", $s)?>"> + <a href="#settingsUserTab" data-toggle="tab"> + <span class="glyphicon glyphicon-user"></span> <?=$u->getDisplayName()?> + </a> + </li> + + <?php if ($u->admin == 1) { ?> + <li class="<?=oneStr("active", $s)?>"> + <a href="#settingsAdminTab" data-toggle="tab"> + <span class="glyphicon glyphicon-sunglasses"></span> Admin + </a> + </li> + <?php } ?> + </ul> + + <?php $s = false; ?> + + <div class="tab-content"> + <div class="tab-pane fade <?=oneStr("in active", $s)?>" id="settingsUserTab"> + <?=userTab($u)?> + </div> + + <?php if ($u->admin == 1) { ?> + <div class="tab-pane fade <?=oneStr("in active", $s)?>" id="settingsAdminTab"> + <?=adminTab()?> + </div> + <?php } ?> + </div> + </div> + </div> + </div> + </div> + +<?php } ?> +<?php function image(\obj $obj, string $type, string $label) : void { ?> + + <div class="col-md-6 text-center"> + <?php if ($type == "head") { ?> + <?=\datalsts\objHeadCircle($obj, 100)?> + <?php $d = (!$obj->hasHeadImg() ? "disabled" : ""); ?> + <?php } else { ?> + <?=\datalsts\objBgPrev($obj, 100)?> + <?php $d = (!$obj->getBgImg() ? "disabled" : ""); ?> + <?php } ?> + + <br /> + <br /> + + <button type="button" class="btn btn-default btn-xs" data-toggle="collapse" data-target="#setimgCollapse-<?=$obj->guid?>-<?=$type?>"> + <span class="glyphicon glyphicon-camera"></span> Upload new image + </button> + + <br /> + + <button type="submit" name="input[rmImg-<?=$type?>]" class="btn btn-danger btn-xs" <?=$d?> onclick="return assertconfirm()"> + <span class="glyphicon glyphicon-remove"></span> Remove image + </button> + + <br /> + <br /> + + <div class="collapse" id="setimgCollapse-<?=$obj->guid?>-<?=$type?>"> + <?=\formctrl\file($label, "img-".$type)?> + </div> + </div> + +<?php } ?> +<?php function userTab(\user $u) : void { ?> + + <form method="post" action="<?=ap()?>" enctype="multipart/form-data"> + <?=\formctrl\formname( "settings-user" )?> + <?=\formctrl\hidden( "guid", $u->guid )?> + + <p> </p> + + <div class="row"> + <?=image($u, "head", "User Image")?> + <?=image($u, "bg", "Background Image")?> + </div> + + <p> </p> + + <?php if ($u->admin == 1) { ?> + <p class="pull-right"> + <span class="glyphicon glyphicon-sunglasses"></span> <?=$u->getDisplayName()?> is a Scrott Administrator + </p> + <?php } ?> + + <?=\formctrl\text( "Username", "", $u->name, "", false, true )?> + <?=\formctrl\checkbox( "Change Password", "setpasswd", false, false, "#setpasswdCollapse-".$u->guid )?> + + <div class="collapse" id="setpasswdCollapse-<?=$u->guid?>"> + <?=\formctrl\password( "Current Password", "curpasswd", false )?> + <?=\formctrl\password( "New Password", "passwd", false )?> + <?=\formctrl\password( "Confirm Password", "cpasswd", false )?> + </div> + + <?=\formctrl\text( "Alias", "alias", $u->alias, "", false )?> + <?=\formctrl\text( "Email", "email", $u->email, "", false, false, ($u->emailConf == 1 ? "has-success" : "") )?> + + <?php if ($u->email != "" && $u->emailConf == 0) { ?> + <?=\formctrl\text( "Email Verification Key", "emailVer", "", "", false, false, "has-warning", "You have not confirmed ownership of your email address" )?> + <?php } ?> + + <div class="btn-group pull-right"> + <button type="submit" class="btn btn-success"> + <span class="glyphicon glyphicon-ok"></span> Save Changes + </button> + + <a href="<?=ar()?>/deleteaccount" class="btn btn-danger"> + <span class="glyphicon glyphicon-trash"></span> Delete Account + </a> + </div> + + <h6>Created <?=$u->created?></h6> + <h6>Updated <?=$u->updated?></h6> + </form> + +<?php } ?> +<?php function adminTab() : void { ?> + + <form method="post" action="<?=ap()?>"> + <?=\formctrl\formname( "settings-admin" )?> + + <p> </p> + + <div class="well well-sm"> + See detailed statistics, manage users and other objects in the <a href="<?=ar()?>/admin">Administration Panel</a> + </div> + + <legend><h4>General Settings</h4></legend> + <?=\formctrl\checkbox( "Require SSL", "sslOnly", \settings::sslOnly() )?> + <?=\formctrl\checkbox( "Allow anyone to create an account", "allowPublicSignup", \settings::allowPublicSignup() )?> + + <p> </p> + + <legend><h4>SMTP Settings</h4></legend> + + <?php $res = \settings::smtpResult(); ?> + + <?php if ($res == "true") { ?> + <p class="text-success pull-right">Last mail attempt was successful</p> + <?php } else if ($res == "false") { ?> + <p class="text-danger pull-right">Last mail attempt failed</p> + <?php } else { ?> + <p class="text-warning pull-right">No mail has been attempted yet</p> + <?php } ?> + + <?=\formctrl\text( "From Address", "smtpEmailAddress", \settings::smtpEmailAddress(), "", false )?> + <?=\formctrl\text( "From Name", "smtpFrom", \settings::smtpFrom(), "", false )?> + <?=\formctrl\text( "SMTP Server", "smtpServer", \settings::smtpServer(), "", false )?> + <?=\formctrl\text( "Server Port", "smtpPort", \settings::smtpPort() )?> + + <div class="form-group"> + <label>SMTP Security</label> + + <?php $sec = \settings::smtpSecurity(); ?> + <select name="input[smtpSecurity]" class="form-control selectpicker"> + <option value="" <?=($sec == "" ? "selected" : "")?>>None</option> + <option value="ssl" <?=($sec == "ssl" ? "selected" : "")?>>SSL</option> + <option value="tls" <?=($sec == "tls" ? "selected" : "")?>>TLS</option> + </select> + </div> + + <?=\formctrl\text( "Username", "smtpUname", \settings::smtpUname(), "", false )?> + <?=\formctrl\password( "Password", "smtpPasswd", false )?> + + <button type="submit" class="btn btn-success pull-right"> + <span class="glyphicon glyphicon-ok"></span> Save Changes + </button> + + <p> </p> + </form> + +<?php } ?> |