PHP 7.3 upgrade, bugs fixed, improved JS log

This commit is contained in:
Juan Ferrer 2019-09-05 18:16:10 +02:00
parent d04ba0695a
commit ccfbdbd9f5
13 changed files with 126 additions and 147 deletions

2
debian/changelog vendored
View File

@ -1,4 +1,4 @@
hedera-web (1.406.61) stable; urgency=low
hedera-web (1.406.62) stable; urgency=low
* Initial Release.

2
debian/control vendored
View File

@ -9,7 +9,7 @@ Vcs-Git: https://git.verdnatura.es/hedera-web
Package: hedera-web
Architecture: all
Depends: apache2 | httpd, nodejs, php-cli, php-vn-lib, php-apcu, php-ldap, php-ssh2, php-mcrypt, php-imap
Depends: apache2 | httpd, nodejs, php-cli, php-vn-lib, php-apcu, php-ldap, php-ssh2, php-imap
Suggests: php-text-captcha, php-soap, libphp-phpmailer, php-gd
Section: misc
Priority: optional

2
debian/postinst vendored
View File

@ -10,6 +10,6 @@ then
apache2_invoke enconf hedera-web.conf
fi
service php7.0-fpm restart
#service php7.3-fpm restart
service cron restart

View File

@ -1,10 +1,8 @@
Hedera.Home = new Class
({
Hedera.Home = new Class({
Extends: Hedera.Form
,onStartOrderClick: function ()
{
,onStartOrderClick: function() {
this.hash.set({'form': 'ecomerce/catalog'});
}
});

View File

@ -2,23 +2,20 @@
var Login = require('./login');
var Gui = require('./gui');
module.exports = new Class
({
module.exports = new Class({
Extends: Vn.Object,
Properties:
{
conn:
{
type: Db.Connection
,get: function ()
{
,get: function() {
return this._conn;
}
}
}
,initialize: function ()
{
,initialize: function() {
window.onerror = this._onWindowError.bind(this);
window.onunload = this._onWindowUnload.bind(this);
Vn.Hash.initialize();
@ -29,8 +26,7 @@ module.exports = new Class
this.initAutoLogin();
}
,run: function ()
{
,run: function() {
if (this.tryAutoLogin())
return;
@ -39,8 +35,7 @@ module.exports = new Class
login.show();
}
,_onLogin: function ()
{
,_onLogin: function() {
this._freeLogin();
if (this._gui)
@ -51,31 +46,26 @@ module.exports = new Class
gui.show();
}
,_onLogout: function ()
{
,_onLogout: function() {
this.clearAutoLogin();
this._freeGui();
this.run();
}
,_onWindowUnload: function ()
{
,_onWindowUnload: function() {
this.unref();
}
,_onWindowError: function (message, file, line, col, err)
{
,_onWindowError: function(message, file, line, col, err) {
var error = new Error(message);
error.fileName = file;
error.lineNumber = line;
this._notifyError(error);
}
,_onConnError: function (conn, error)
{
,_onConnError: function(conn, error) {
if (error instanceof Vn.JsonException)
switch (error.exception)
{
switch (error.exception) {
case 'BadLogin':
Htk.Toast.showError(_('Invalid login'));
this._logout();
@ -90,21 +80,18 @@ module.exports = new Class
default:
Htk.Toast.showError(error.message);
}
else
{
else {
console.error(error);
this._notifyError(error);
}
}
,_logout: function ()
{
,_logout: function() {
if (this._gui)
this._gui.logout();
}
,_newVersion: function ()
{
,_newVersion: function() {
if (this.ignoreVersion)
return;
@ -119,13 +106,11 @@ module.exports = new Class
dialog.open();
}
,_onNewVersionResponse: function ()
{
,_onNewVersionResponse: function() {
location.reload();
}
,_notifyError: function (error)
{
,_notifyError: function(error) {
Htk.Toast.showError(_('Something went wrong'));
var params = {
@ -133,14 +118,14 @@ module.exports = new Class
,line: error.lineNumber
,message: error.message
,stack: error.stack
,agent: navigator.userAgent
,location: location.href
};
this._conn.send('core/log', params);
}
,_freeLogin: function ()
{
if (this._login)
{
,_freeLogin: function() {
if (this._login) {
this._login.disconnectByInstance(this);
this._login.hide();
this._login.unref();
@ -148,10 +133,8 @@ module.exports = new Class
}
}
,_freeGui: function ()
{
if (this._gui)
{
,_freeGui: function() {
if (this._gui) {
this._gui.disconnectByInstance(this);
this._gui.hide();
this._gui.unref();
@ -159,8 +142,7 @@ module.exports = new Class
}
}
,_destroy: function ()
{
,_destroy: function() {
this._freeLogin();
this._freeGui();
this.deinitAutoLogin();
@ -171,47 +153,39 @@ module.exports = new Class
,_firstLogin: true
,initAutoLogin: function ()
{
var isGuest = new Vn.HashParam
({
,initAutoLogin: function() {
var isGuest = new Vn.HashParam({
type: Boolean,
key: 'guest'
});
this.link({_isGuest: isGuest}, {'changed': this._onGuestChange});
var token = new Vn.HashParam
({
var token = new Vn.HashParam({
type: String,
key: 'token'
});
this.link({_token: token}, {'changed': this._onTokenChange});
}
,_onGuestChange: function ()
{
,_onGuestChange: function() {
if (this._isGuest.value)
setTimeout(this.tryAutoLogin.bind(this));
}
,_onTokenChange: function ()
{
,_onTokenChange: function() {
if (this._token.value)
setTimeout(this.tryAutoLogin.bind(this));
}
,deinitAutoLogin: function ()
{
,deinitAutoLogin: function() {
this._isGuest.unref();
this._token.unref();
}
,autoLogin: function ()
{
,autoLogin: function() {
var guest = localStorage.getItem('hederaGuest');
if (this._isGuest.value || guest)
{
if (this._isGuest.value || guest) {
localStorage.setItem('hederaGuest', true);
return true;
}
@ -227,8 +201,7 @@ module.exports = new Class
return false;
}
,tryAutoLogin: function ()
{
,tryAutoLogin: function() {
var ok = this.autoLogin();
this._firstLogin = false;
@ -242,8 +215,7 @@ module.exports = new Class
return true;
}
,clearAutoLogin: function ()
{
,clearAutoLogin: function() {
localStorage.removeItem('hederaGuest');
}
});

View File

@ -1,6 +1,6 @@
{
"name": "hedera-web",
"version": "1.406.61",
"version": "1.406.62",
"description": "Verdnatura web page",
"license": "GPL-3.0",
"repository": {

View File

@ -1,5 +0,0 @@
{
"InvalidAction": "Invalid action"
,"EmptyQuery": "Empty query"
}

View File

@ -2,21 +2,30 @@
class Log extends Vn\Web\JsonRequest {
const PARAMS = [
'file'
'message'
,'file'
,'line'
,'message'
,'location'
,'agent'
,'stack'
];
function run($db) {
$user = isset($_SESSION['user']) ? $_SESSION['user'] : 'guest';
error_log(sprintf("Javascript: User: %s: %s(%d): %s.\n%s"
,$user
,$_REQUEST['file']
,$_REQUEST['line']
,$_REQUEST['message']
,$_REQUEST['stack']
));
$message = $_REQUEST['message'];
$file = $_REQUEST['file'];
$line = $_REQUEST['line'];
$location = $_REQUEST['location'];
$agent = $_REQUEST['agent'];
$stack = $_REQUEST['stack'];
error_log(
"Javascript: $message in $file($line)"
."\nLocation: $location"
."\nAgent: $agent"
."\nUser: $user"
."\nStack: $stack"
);
return TRUE;
}
}

View File

@ -4,6 +4,9 @@ include __DIR__.'/account.php';
class Login extends Vn\Web\JsonRequest {
function run($db) {
if (!$_POST['user'])
throw new Vn\Web\BadLoginException();
try {
Account::trySync($db
,strtolower($_POST['user'])

View File

@ -1,8 +1,9 @@
<?php
require_once('libphp-phpmailer/PHPMailerAutoload.php');
require_once('libphp-phpmailer/autoload.php');
use Vn\Lib;
use PHPMailer\PHPMailer\PHPMailer;
class Contact extends Vn\Web\JsonRequest {
const PARAMS = [

View File

@ -1,6 +1,6 @@
<?php
require_once('libphp-phpmailer/PHPMailerAutoload.php');
require_once('libphp-phpmailer/autoload.php');
class Mail extends Vn\Lib\Method {
function run($db) {

View File

@ -2,9 +2,10 @@
namespace Vn\Web;
require_once 'libphp-phpmailer/PHPMailerAutoload.php';
require_once 'libphp-phpmailer/autoload.php';
use Vn\Lib\UserException;
use PHPMailer\PHPMailer\PHPMailer;
class Mailer {
private $conf;
@ -19,7 +20,7 @@ class Mailer {
function createObject($mailTo, $body, $subject) {
$conf = $this->conf;
$mail = new \PHPMailer();
$mail = new PHPMailer();
$mail->isSMTP();
$mail->Host = $conf->host;