From b3387ed3e67714a89650d5cbfdaa60b878c2cddb Mon Sep 17 00:00:00 2001
From: Thibault Dockx <thibault.dockx@fusiondirectory.org>
Date: Mon, 10 Mar 2025 14:01:37 +0000
Subject: [PATCH] :sparkles: Feat(setup) - setup folder to php8.2

PHP Setup for FD installation first step to php8.2
---
 html/setup.php                    | 10 +++++++---
 include/class_ldap.inc            |  2 +-
 setup/class_setupStepChecks.inc   |  2 --
 setup/class_setupStepFinish.inc   |  2 --
 setup/class_setupStepLanguage.inc |  1 -
 setup/class_setupStepLdap.inc     |  3 +--
 setup/class_setupStepMigrate.inc  | 19 +++----------------
 setup/class_setupStepWelcome.inc  |  2 --
 8 files changed, 12 insertions(+), 29 deletions(-)

diff --git a/html/setup.php b/html/setup.php
index a39929fec..11205caa7 100755
--- a/html/setup.php
+++ b/html/setup.php
@@ -59,7 +59,11 @@ ini_set("session.gc_maxlifetime", 24 * 60 * 60);
 session::start();
 session::set('DEBUGLEVEL', 0);
 
-CSRFProtection::check();
+try {
+  CSRFProtection::check();
+} catch (FusionDirectoryException $e) {
+
+}
 
 /* Attribute initialization, reset errors */
 reset_errors();
@@ -106,10 +110,10 @@ if (!session::is_set('config')) {
   $config = new config('');
   session::set('config', $config);
 }
-$config = session::get('config');
+//$config = session::get('config');
 IconTheme::loadThemes('themes');
 /* Fake user bypassing acl system */
-$ui = new userinfoNoAuth('setup');
+//$ui = new userinfoNoAuth('setup');
 /* Call setup */
 setup::mainInc();
 /**
diff --git a/include/class_ldap.inc b/include/class_ldap.inc
index 13e80573e..5bde7ed04 100755
--- a/include/class_ldap.inc
+++ b/include/class_ldap.inc
@@ -607,7 +607,7 @@ class LDAP
   function count ($srp)
   {
     if ($this->hascon) {
-      if ($this->hasres[$srp] && !is_bool($this->start[$srp])) {
+      if ($this->hasres[$srp] && !is_bool($this->hasres[$srp])) {
         $rv = @ldap_count_entries($this->cid, $this->sr[$srp]);
         $this->error = @ldap_error($this->cid);
         logging::debug(DEBUG_LDAP, __LINE__, __FUNCTION__, __FILE__, $this->error, 'count()');
diff --git a/setup/class_setupStepChecks.inc b/setup/class_setupStepChecks.inc
index 9c48022d8..f1182ee09 100755
--- a/setup/class_setupStepChecks.inc
+++ b/setup/class_setupStepChecks.inc
@@ -200,8 +200,6 @@ class setupStepChecks extends setupStep
 
   public function update (): bool
   {
-    parent::update();
-
     $this->run_checks();
 
     /* If everything is fine, set this step to completed
diff --git a/setup/class_setupStepFinish.inc b/setup/class_setupStepFinish.inc
index 14d3e81ca..35adfaf1e 100755
--- a/setup/class_setupStepFinish.inc
+++ b/setup/class_setupStepFinish.inc
@@ -54,8 +54,6 @@ class setupStepFinish extends setupStep
 
   public function readPost ()
   {
-    parent::readPost();
-
     $exists = file_exists(CONFIG_DIR.'/'.CONFIG_FILE);
 
     /* Redirect to FusionDirectory login, if :
diff --git a/setup/class_setupStepLanguage.inc b/setup/class_setupStepLanguage.inc
index 9ef9a9323..11ed52436 100755
--- a/setup/class_setupStepLanguage.inc
+++ b/setup/class_setupStepLanguage.inc
@@ -64,7 +64,6 @@ class setupStepLanguage extends setupStep
 
   public function update (): bool
   {
-    parent::update();
     $this->is_completed   = TRUE;
 
     if ($this->lang_selected != '') {
diff --git a/setup/class_setupStepLdap.inc b/setup/class_setupStepLdap.inc
index fa73de096..3e0116d3f 100755
--- a/setup/class_setupStepLdap.inc
+++ b/setup/class_setupStepLdap.inc
@@ -137,7 +137,6 @@ class setupStepLdap extends setupStep
 
   public function update (): bool
   {
-    parent::update();
     $this->connection = preg_replace('/\/$/', '', $this->connection);
     if (($this->base != $this->lastBase) || ($this->connection != $this->lastConnection)) {
       $this->parent->disable_steps_from(($this->parent->step_name_to_id(static::class)) + 1);
@@ -204,7 +203,7 @@ class setupStepLdap extends setupStep
 
   function check (): array
   {
-    $errors = parent::check();
+    $errors = null;
     if (!empty($errors)) {
       $this->update_base_choices();
     } elseif ($this->is_completed) {
diff --git a/setup/class_setupStepMigrate.inc b/setup/class_setupStepMigrate.inc
index 54af3a95b..2a54ac02d 100755
--- a/setup/class_setupStepMigrate.inc
+++ b/setup/class_setupStepMigrate.inc
@@ -47,12 +47,9 @@ array_to_ldif               - Create ldif output of an ldap result array
 
 class CheckFailedException extends FusionDirectoryException
 {
-  private $error;
-
-  public function __construct ($msg, $error)
+  public function __construct ($msg, private $error)
   {
     parent::__construct($msg);
-    $this->error = $error;
   }
 
   public function getError ()
@@ -66,15 +63,8 @@ class StepMigrateDialog implements FusionDirectoryDialog
   protected $post_cancel = 'dialog_cancel';
   protected $post_finish = 'dialog_confirm';
 
-  private $infos;
-  private $tplfile;
-  private $check;
-
-  public function __construct (&$check, $tpl, $infos)
+  public function __construct(private $check, private $tplfile, private $infos)
   {
-    $this->infos      = $infos;
-    $this->tplfile    = $tpl;
-    $this->check      = $check;
   }
 
   public function readPost ()
@@ -129,14 +119,12 @@ class StepMigrateCheck
   public $msg     = '';
   public $error   = '';
   public $fnc;
-  private $step;
 
-  public function __construct (setupStepMigrate $step, string $name, string $title)
+  public function __construct (private readonly setupStepMigrate $step, string $name, string $title)
   {
     $this->name   = $name;
     $this->title  = $title;
     $this->fnc    = 'check_'.$name;
-    $this->step   = $step;
   }
 
   public function run ($fnc = NULL)
@@ -321,7 +309,6 @@ class setupStepMigrate extends setupStep
       set_time_limit(180);
     }
     $this->is_completed = TRUE;
-    parent::readPost();
     if (isset($_POST['reload'])) {
       $this->checks = [];
     }
diff --git a/setup/class_setupStepWelcome.inc b/setup/class_setupStepWelcome.inc
index aa563dfd6..94ddfcba3 100755
--- a/setup/class_setupStepWelcome.inc
+++ b/setup/class_setupStepWelcome.inc
@@ -54,8 +54,6 @@ class setupStepWelcome extends setupStep
 
   public function update (): bool
   {
-    parent::update();
-
     $id = '';
 
     /* Get auth ID from file */
-- 
GitLab