Skip to content

Commit

Permalink
#221 [Admin] fix: clean admin files
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolas-eoxia committed Apr 7, 2023
1 parent 34940c7 commit c98445d
Show file tree
Hide file tree
Showing 6 changed files with 629 additions and 602 deletions.
50 changes: 23 additions & 27 deletions admin/about.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2023 EVARISK <dev@evarisk.com>
/* Copyright (C) 2021-2023 EVARISK <technique@evarisk.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Expand All @@ -21,54 +21,50 @@
* \brief About page of module DoliSIRH.
*/

// Load Dolibarr environment
$res = 0;
// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined)
if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php";
// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME
$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1;
while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { $i--; $j--; }
if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php";
if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php";
// Try main.inc.php using relative path
if (!$res && file_exists("../../main.inc.php")) $res = @include "../../main.inc.php";
if (!$res && file_exists("../../../main.inc.php")) $res = @include "../../../main.inc.php";
if (!$res) die("Include of main fails");
// Load DoliSIRH environment
if (file_exists('../dolisirh.main.inc.php')) {
require_once __DIR__ . '/../dolisirh.main.inc.php';
} elseif (file_exists('../../dolisirh.main.inc.php')) {
require_once __DIR__ . '/../../dolisirh.main.inc.php';
} else {
die('Include of dolisirh main fails');
}

// Libraries
require_once '../lib/dolisirh.lib.php';
require_once '../core/modules/modDoliSIRH.class.php';
require_once __DIR__ . '/../lib/dolisirh.lib.php';
require_once __DIR__ . '/../core/modules/modDoliSIRH.class.php';

// Global variables definitions
global $db, $langs, $user;

// Translations
$langs->loadLangs(array("errors", "admin", "dolisirh@dolisirh"));
// Load translation files required by the page
saturne_load_langs(['admin']);

// Initialize technical objects
$modDoliSIRH = new modDoliSIRH($db);

// Access control
// Get parameters
$backtopage = GETPOST('backtopage', 'alpha');

// Security check - Protection if external user
$permissiontoread = $user->rights->dolisirh->adminpage->read;
if (empty($conf->dolisirh->enabled)) accessforbidden();
if (!$permissiontoread) accessforbidden();
saturne_check_access($permissiontoread);

/*
* View
*/

$title = $langs->trans('ModuleAbout', 'DoliSIRH');
$help_url = 'FR:Module_DoliSIRH';
$title = $langs->trans("DoliSIRHAbout");
$morejs = array("/dolisirh/js/dolisirh.js");
$morecss = array("/dolisirh/css/dolisirh.css");

llxHeader('', $title, $help_url, '', 0, 0, $morejs, $morecss);
saturne_header(0,'', $title, $help_url);

// Subheader
print load_fiche_titre($title, '', 'dolisirh_color@dolisirh');
$linkback = '<a href="' . ($backtopage ?: DOL_URL_ROOT . '/admin/modules.php?restore_lastsearch_values=1') . '">' . $langs->trans('BackToModuleList') . '</a>';
print load_fiche_titre($title, $linkback, 'dolisirh_color@dolisirh');

// Configuration header
$head = dolisirhAdminPrepareHead();
$head = dolisirh_admin_prepare_head();
print dol_get_fiche_head($head, 'about', $title, -1, 'dolisirh_color@dolisirh');

print $modDoliSIRH->getDescLong();
Expand Down
202 changes: 104 additions & 98 deletions admin/certificate.php
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?php
/* Copyright (C) 2023 EVARISK <dev@evarisk.com>
/* Copyright (C) 2021-2023 EVARISK <technique@evarisk.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
Expand All @@ -21,150 +21,156 @@
* \brief DoliSIRH certificate config page.
*/

// Load Dolibarr environment
$res = 0;
// Try main.inc.php into web root known defined into CONTEXT_DOCUMENT_ROOT (not always defined)
if (!$res && !empty($_SERVER["CONTEXT_DOCUMENT_ROOT"])) $res = @include $_SERVER["CONTEXT_DOCUMENT_ROOT"]."/main.inc.php";
// Try main.inc.php into web root detected using web root calculated from SCRIPT_FILENAME
$tmp = empty($_SERVER['SCRIPT_FILENAME']) ? '' : $_SERVER['SCRIPT_FILENAME']; $tmp2 = realpath(__FILE__); $i = strlen($tmp) - 1; $j = strlen($tmp2) - 1;
while ($i > 0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { $i--; $j--; }
if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php";
if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php";
// Try main.inc.php using relative path
if (!$res && file_exists("../../main.inc.php")) $res = @include "../../main.inc.php";
if (!$res && file_exists("../../../main.inc.php")) $res = @include "../../../main.inc.php";
if (!$res && file_exists("../../../../main.inc.php")) $res = @include "../../../../main.inc.php";
if (!$res) die("Include of main fails");
// Load DoliSIRH environment
if (file_exists('../dolisirh.main.inc.php')) {
require_once __DIR__ . '/../dolisirh.main.inc.php';
} elseif (file_exists('../../dolisirh.main.inc.php')) {
require_once __DIR__ . '/../../dolisirh.main.inc.php';
} else {
die('Include of dolisirh main fails');
}

// Libraries
require_once DOL_DOCUMENT_ROOT . "/core/lib/admin.lib.php";
require_once DOL_DOCUMENT_ROOT . '/core/lib/admin.lib.php';

require_once '../lib/dolisirh.lib.php';
require_once '../class/certificate.class.php';
require_once __DIR__ . '/../lib/dolisirh.lib.php';
require_once __DIR__ . '/../class/certificate.class.php';

// Global variables definitions
global $conf, $db, $langs, $user;

// Load translation files required by the page
$langs->loadLangs(array("admin", "dolisirh@dolisirh"));
saturne_load_langs(['admin']);

// Get parameters
$action = GETPOST('action', 'alpha');
$backtopage = GETPOST('backtopage', 'alpha');

// Initialize technical objects
$object = new Certificate($db);

// Access control
$permissiontoread = $user->rights->dolisirh->adminpage->read;
if (empty($conf->dolisirh->enabled)) accessforbidden();
if (!$permissiontoread) accessforbidden();
// Initialize view objects
$form = new Form($db);

// Security check - Protection if external user
$permissiontoread = $user->rights->dolisirh->adminpage->read;
saturne_check_access($permissiontoread);
/*
* View
*/

// Initialize view objects
$form = new Form($db);

$title = $langs->trans(ucfirst($object->element));
$help_url = 'FR:Module_DoliSIRH';
$title = $langs->trans("Certificate");
$morejs = array("/dolisirh/js/dolisirh.js");
$morecss = array("/dolisirh/css/dolisirh.css");

llxHeader('', $title, $help_url, '', 0, 0, $morejs, $morecss);
saturne_header(0,'', $title, $help_url);

// Subheader
print load_fiche_titre($title, '', 'object_'.$object->picto);
$linkback = '<a href="' . ($backtopage ?: DOL_URL_ROOT . '/admin/modules.php?restore_lastsearch_values=1') . '">' . $langs->trans('BackToModuleList') . '</a>';
print load_fiche_titre($title, $linkback, 'dolisirh_color@dolisirh');

// Configuration header
$head = dolisirhAdminPrepareHead();
print dol_get_fiche_head($head, 'certificate', $title, -1, 'dolisirh_color@dolisirh');
$head = dolisirh_admin_prepare_head();
print dol_get_fiche_head($head, $object->element, $title, -1, 'dolisirh_color@dolisirh');

print load_fiche_titre($langs->trans("CertificateManagement"), '', 'object_'.$object->picto);
print load_fiche_titre($langs->trans('Configs', $langs->trans(ucfirst($object->element) . 'Min')), '', 'object_' . $object->picto);
print '<hr>';

/*
* Numbering module Certificate
* Numbering module
*/

print load_fiche_titre($langs->trans("DoliSIRHCertificateNumberingModule"), '', '');
print load_fiche_titre($langs->trans('NumberingModule'), '', '');

print '<table class="noborder centpercent">';
print '<tr class="liste_titre">';
print '<td>'.$langs->trans("Name").'</td>';
print '<td>'.$langs->trans("Description").'</td>';
print '<td class="nowrap">'.$langs->trans("Example").'</td>';
print '<td class="center">'.$langs->trans("Status").'</td>';
print '<td class="center">'.$langs->trans("ShortInfo").'</td>';
print '<td>' . $langs->trans('Name') . '</td>';
print '<td>' . $langs->trans('Description') . '</td>';
print '<td class="nowrap">' . $langs->trans('Example') . '</td>';
print '<td class="center">' . $langs->trans('Status') . '</td>';
print '<td class="center">' . $langs->trans('ShortInfo') . '</td>';
print '</tr>';

clearstatcache();

$dir = dol_buildpath("/custom/dolisirh/core/modules/dolisirh/certificate/");
$dir = dol_buildpath('/custom/dolisirh/core/modules/dolisirh/' . $object->element . '/');
if (is_dir($dir)) {
$handle = opendir($dir);
if (is_resource($handle)) {
while (($file = readdir($handle)) !== false ) {
if (!is_dir($dir.$file) || (substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS')) {
$filebis = $file;

$classname = preg_replace('/\.php$/', '', $file);
$classname = preg_replace('/-.*$/', '', $classname);

if (!class_exists($classname) && is_readable($dir.$filebis) && (preg_match('/mod_/', $filebis) || preg_match('/mod_/', $classname)) && substr($filebis, dol_strlen($filebis) - 3, 3) == 'php') {
// Charging the numbering class
require_once $dir.$filebis;

$module = new $classname($db);

if ($module->isEnabled()) {
print '<tr class="oddeven"><td>';
print $langs->trans($module->name);
print "</td><td>";
print $module->info();
print '</td>';

// Show example of numbering module
print '<td class="nowrap">';
$tmp = $module->getExample();
if (preg_match('/^Error/', $tmp)) print '<div class="error">'.$langs->trans($tmp).'</div>';
elseif ($tmp == 'NotConfigured') print $langs->trans($tmp);
else print $tmp;
print '</td>';

print '<td class="center">';
$confType = 'DOLISIRH_CERTIFICATE_ADDON';
if ($conf->global->$confType == $file || $conf->global->$confType.'.php' == $file) {
print img_picto($langs->trans("Activated"), 'switch_on');
}
else {
print '<a class="reposition" href="'.$_SERVER["PHP_SELF"].'?action=setmod&value='.preg_replace('/\.php$/', '', $file).'&const='.$module->scandir.'&label='.urlencode($module->name).'&token='.newToken().'">'.img_picto($langs->trans("Disabled"), 'switch_off').'</a>';
}
print '</td>';

// Example for certificate
$htmltooltip = '' . $langs->trans("Version") . ': <b>' . $module->getVersion() . '</b><br>';
$nextval = $module->getNextValue($object);
if ("$nextval" != $langs->trans("NotAvailable")) { // Keep " on nextval
$htmltooltip .= $langs->trans("NextValue").': ';
if ($nextval) {
if (preg_match('/^Error/', $nextval) || $nextval == 'NotConfigured')
$nextval = $langs->trans($nextval);
$htmltooltip .= $nextval.'<br>';
while (($file = readdir($handle)) !== false) {
$filelist[] = $file;
}
closedir($handle);
arsort($filelist);
if (is_array($filelist) && !empty($filelist)) {
foreach ($filelist as $file) {
if (preg_match('/mod_/', $file) && preg_match('/' . $object->element . '/i', $file)) {
if (file_exists($dir . '/' . $file)) {
$classname = substr($file, 0, dol_strlen($file) - 4);

require_once $dir . '/' . $file;
$module = new $classname($db);

if ($module->isEnabled()) {
print '<tr class="oddeven"><td>';
print $langs->trans($module->name);
print '</td><td>';
print $module->info();
print '</td>';

// Show example of numbering module
print '<td class="nowrap">';
$tmp = $module->getExample();
if (preg_match('/^Error/', $tmp)) {
print '<div class="error">' . $langs->trans($tmp) . '</div>';
} elseif ($tmp == 'NotConfigured') {
print $langs->trans($tmp);
} else {
$htmltooltip .= $langs->trans($module->error).'<br>';
print $tmp;
}
}
print '</td>';

print '<td class="center">';
print $form->textwithpicto('', $htmltooltip, 1, 0);
if ($conf->global->$confType.'.php' == $file) { // If module is the one used, we show existing errors
if (!empty($module->error)) dol_htmloutput_mesg($module->error, '', 'error', 1);
print '<td class="center">';
$confType = 'DOLISIRH_' . strtoupper($object->element) . '_ADDON';
if ($conf->global->$confType == $file || $conf->global->$confType . '.php' == $file) {
print img_picto($langs->trans('Activated'), 'switch_on');
} else {
print '<a class="reposition" href="' . $_SERVER['PHP_SELF'] . '?action=setmod&value=' . preg_replace('/\.php$/', '', $file) . '&const=' . $module->scandir . '&label=' . urlencode($module->name) . '&token=' . newToken() . '">' . img_picto($langs->trans('Disabled'), 'switch_off') . '</a>';
}
print '</td>';

// Example for listing risks action
$htmltooltip = '' . $langs->trans('Version') . ': <b>' . $module->getVersion() . '</b><br>';

// require_once __DIR__ . '/../class/dolisirhdocuments/' . $type . 'document.class.php';
// $classdocumentname = $type . 'Document';
// $object_document = new $classdocumentname($db);
//
// $nextval = $module->getNextValue($object_document);
// if ("$nextval" != $langs->trans('NotAvailable')) { // Keep " on nextval
// $htmltooltip .= $langs->trans('NextValue') . ': ';
// if ($nextval) {
// if (preg_match('/^Error/', $nextval) || $nextval == 'NotConfigured')
// $nextval = $langs->trans($nextval);
// $htmltooltip .= $nextval . '<br>';
// } else {
// $htmltooltip .= $langs->trans($module->error) . '<br>';
// }
// }

print '<td class="center">';
print $form->textwithpicto('', $htmltooltip, 1, 0);
if ($conf->global->$confType . '.php' == $file) { // If module is the one used, we show existing errors
if (!empty($module->error)) {
dol_htmloutput_mesg($module->error, '', 'error', 1);
}
}
print '</td>';
print '</tr>';
}
print '</td>';
print "</tr>";
}
}
}
}
closedir($handle);
}
}
print '</table>';
Expand Down
Loading

0 comments on commit c98445d

Please sign in to comment.