Added composer.json for admin

This commit is contained in:
Antonio de la Rosa 2025-11-20 12:30:06 +01:00
parent 90aefd81c9
commit 0b21909a78
2 changed files with 163 additions and 149 deletions

View file

@ -0,0 +1,18 @@
{
"repositories": [
{
"type": "vcs",
"url": "git@bitbucket.org:phangoapp/phamodels.git"
}
],
"minimum-stability": "dev",
"prefer-stable": true,
"require-dev": {
"phpunit/phpunit": "^10.4"
},
"require": {
"phangoapp/phamodels": "dev-master"
}
}

View file

@ -1,188 +1,184 @@
<?php <?php
use PhangoApp\PhaView\View; //use PhangoApp\PhaView\View;
use PhangoApp\PDO\MySQL; //use PhangoApp\WPDO\WPDO;
//use PhangoApp\PhaModels\Webmodel; //use PhangoApp\PhaModels\Webmodel;
include('./modules/admin/libraries/login.php'); include('./modules/admin/libraries/login.php');
function controller($switch='') { include('modules/admin/libraries/tplcontroller.php');
session_start();
switch($switch) {
default:
if(PhangoModule\Admin\login()) {
if($switch=='') {
echo View::load_view(['title' => 'Admin', 'content' => ''], 'dashboard'); class AppController extends TplController{
public function app($op='') {
switch($op) {
default:
if($this->check_login()) {
//Default admin page.
} }
else { else {
//Include module admin. header('Location: '.PhangoApp\PhaRouter\Url::make_url('admin', 'app', ['login']));
} }
} break;
else {
case 'login':
header('Location: '.PhangoApp\PhaRouter\Url::make_url('admin', 'app', 'login'));
echo 'login';
}
/*$conn=MySQL::get_pdo_connection();
break;
$sth=$conn->query('SELECT count(*) as num_items from useradmin');
case 'login':
$conn=MySQL::get_pdo_connection();
$sth=$conn->query('SELECT count(*) as num_items from useradmin');
$count=$sth->fetch()[0]; $count=$sth->fetch()[0];
if($count==0) {
header('Location: '.PhangoApp\PhaRouter\Url::make_url('admin', 'app', 'register')); if($count==0) {
}
echo View::load_view(['login' => 1], 'login');
break;
case 'login_check':
$conn=MySQL::get_pdo_connection();
$data=['error' => 1];
$username=$_POST['username'];
$password=$_POST['password'];
$sth=$conn->prepare('SELECT id, password from useradmin where username=?');
$sth->execute([$username]);
$rows=$sth->fetchAll();
if(count($rows)>0) {
$password_hash=$rows[0]['password'];
if(password_verify($password, $password_hash)) {
$data['error']=0; header('Location: '.PhangoApp\PhaRouter\Url::make_url('admin', 'app', ['signup']));
$_SESSION['phango_login']=1;
} }
}
header('Content-Type: application/json; charset=utf-8');
return json_encode($data); echo View::load_view(['login' => 1], 'login');*/
break; break;
case 'register': case 'login_check':
$conn=MySQL::get_pdo_connection();
$sth=$conn->query('SELECT count(*) as num_items from useradmin');
$count=$sth->fetch()[0]; /*$conn=MySQL::get_pdo_connection();
if($count==0) {
echo View::load_view(['login' => 0], 'login'); $data=['error' => 1];
} $username=$_POST['username'];
break;
case 'signup_check':
$data=['error' => 0];
$arr_data=['username', 'email', 'password', 'repeat_password'];
foreach($arr_data as $v) {
settype($_POST[$v], 'string'); $password=$_POST['password'];
}
//$username=$_POST['username'];
//^[A-Za-z0-9_-]+$
$username=trim($_POST['username']);
if(!preg_match('/^[A-Za-z0-9_-]+$/', $username)) {
$data['error']=1;
$data['username']=_("Error: empty value");
}
$email=filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);
if(!$email) {
$data['error']=1;
$data['email']=_("Error: email is not valid");
}
$password=trim($_POST['password']);
$repeat_password=trim($_POST['repeat_password']);
if($password=='') {
$data['error']=1;
$data['password']=_("Error: password empty");
}
else {
if($password!=$repeat_password) {
$data['error']=1; $sth=$conn->prepare('SELECT id, password from useradmin where username=?');
$data['password']=_("Error: password not equal");
$sth->execute([$username]);
$rows=$sth->fetchAll();
if(count($rows)>0) {
$password_hash=$rows[0]['password'];
if(password_verify($password, $password_hash)) {
$data['error']=0;
$_SESSION['phango_login']=1;
}
} }
}
if($data['error']==0) { header('Content-Type: application/json; charset=utf-8');
$password=password_hash($password, PASSWORD_DEFAULT); return json_encode($data);
break;
case 'register':
$conn=MySQL::get_pdo_connection(); $conn=MySQL::get_pdo_connection();
if(!$conn->prepare('INSERT into useradmin (`username`, `password`, `email`) VALUES (?, ?, ?)')->execute([$username, $password, $email])) { $sth=$conn->query('SELECT count(*) as num_items from useradmin');
$count=$sth->fetch()[0];
if($count==0) {
$data['error']=1; echo View::load_view(['login' => 0], 'login');
$data['username']=_("Error: cannot insert the new user in database, check your database connection");
}
break;
case 'signup_check':
$data=['error' => 0];
$arr_data=['username', 'email', 'password', 'repeat_password'];
foreach($arr_data as $v) {
settype($_POST[$v], 'string');
} }
//$sth->execute([$username, $password, $email]); //$username=$_POST['username'];
//^[A-Za-z0-9_-]+$
$username=trim($_POST['username']);
if(!preg_match('/^[A-Za-z0-9_-]+$/', $username)) {
$data['error']=1;
$data['username']=_("Error: empty value");
}
$email=filter_var($_POST['email'], FILTER_VALIDATE_EMAIL);
if(!$email) {
$data['error']=1;
$data['email']=_("Error: email is not valid");
}
$password=trim($_POST['password']);
$repeat_password=trim($_POST['repeat_password']);
} if($password=='') {
header('Content-Type: application/json; charset=utf-8'); $data['error']=1;
$data['password']=_("Error: password empty");
}
else {
if($password!=$repeat_password) {
$data['error']=1;
$data['password']=_("Error: password not equal");
}
return json_encode($data); }
break; if($data['error']==0) {
$password=password_hash($password, PASSWORD_DEFAULT);
$conn=MySQL::get_pdo_connection();
if(!$conn->prepare('INSERT into useradmin (`username`, `password`, `email`) VALUES (?, ?, ?)')->execute([$username, $password, $email])) {
$data['error']=1;
$data['username']=_("Error: cannot insert the new user in database, check your database connection");
}
//$sth->execute([$username, $password, $email]);
}
header('Content-Type: application/json; charset=utf-8');
return json_encode($data);*/
break;
}
} }
} }