Some more functionalities

This commit is contained in:
2020-02-10 00:52:25 +01:00
parent f4ed99fc72
commit 1853756db4
25 changed files with 897 additions and 188 deletions

View File

@@ -0,0 +1,54 @@
<?php
namespace Views;
class LanguageFlags extends \View {
public function __construct($document) {
parent::__construct($document);
}
public function getCode() {
$requestUri = $_SERVER["REQUEST_URI"];
$queryString = $_SERVER['QUERY_STRING'];
$flags = array();
$request = new \Api\GetLanguages($this->getDocument()->getUser());
$params = explode("&", $queryString);
$query = array();
foreach($params as $param) {
$aParam = explode("=", $param);
$key = $aParam[0];
if($key == "s" && startsWith($requestUri, "/s/"))
continue;
$val = (isset($aParam[1]) ? $aParam[1] : "");
if(!empty($key)) {
$query[$key] = $val;
}
}
$url = parse_url($requestUri, PHP_URL_PATH) . "?";
if($request->execute()) {
foreach($request->getResult()['languages'] as $lang) {
$langCode = $lang['code'];
$langName = $lang['name'];
$query['lang'] = $langCode;
$queryString = http_build_query($query);
$flags[] = $this->createLink(
"$url$queryString",
"<img src=\"/img/icons/lang/$langCode.gif\" alt=\"$langName\" title=\"$langName\">"
);
}
} else {
$flags[] = $this->createErrorText($request->getLastError());
}
return implode('', $flags);
}
}
?>

View File

@@ -0,0 +1,57 @@
<?php
namespace Views;
class Login extends \View {
public function __construct($document) {
parent::__construct($document);
}
public function getCode() {
$html = parent::getCode();
$username = L("Username");
$password = L("Password");
$rememberMe = L("Remember me");
$login = L("Login");
$backToStartPage = L("Back to Start Page");
$flags = new LanguageFlags($this->getDocument());
$iconBack = $this->createIcon("arrow-circle-left", "right");
$domain = $_SERVER['HTTP_HOST'];
$protocol = getProtocol();
$accountCreated = "";
if(isset($_GET["accountCreated"])) {
$accountCreated .= '
<div class="alert alert-success margin-top-xs" id="accountCreated">
Your account was successfully created, you may now login with your credentials
</div>';
}
$html = "
<div class=\"container margin-top-xxl\">
<div class=\"title text-center\">
<h2>Admin Control Panel</h2>
</div>
<div class=\"loginContainer margin-center\">
<form class=\"loginForm\">
<label for=\"username\">$username</label>
<input type=\"text\" class=\"form-control\" name=\"username\" id=\"username\" placeholder=\"$username\" required autofocus />
<label for=\"password\">$password</label>
<input type=\"password\" class=\"form-control\" name=\"password\" id=\"password\" placeholder=\"$password\" required />
<button class=\"btn btn-lg btn-primary btn-block\" id=\"btnLogin\" type=\"button\">$login</button>
<div class=\"alert alert-danger hidden\" role=\"alert\" id=\"loginError\"></div>
</form>
<span class=\"subtitle flags-container\"><span class=\"flags\">$flags</span></span>
<span class=\"subtitle\"><a class=\"link\" href=\"$protocol://$domain\">$iconBack$backToStartPage</a></span>
$accountCreated
</div>
</div>";
return $html;
return $html;
}
}
?>