2021-03-23 08:13:54 +00:00
|
|
|
<?php
|
2022-05-07 12:25:27 +00:00
|
|
|
|
2021-03-23 08:13:54 +00:00
|
|
|
/*
|
|
|
|
|
2022-05-07 12:25:27 +00:00
|
|
|
Copyright (C) 2021 Hash Borgir
|
2021-03-23 08:13:54 +00:00
|
|
|
|
2022-05-07 12:25:27 +00:00
|
|
|
This file is part of D2Modder
|
2021-03-23 08:13:54 +00:00
|
|
|
|
2022-05-07 12:25:27 +00:00
|
|
|
Redistribution and use in source and binary forms, with
|
|
|
|
or without modification, are permitted provided that the
|
|
|
|
following conditions are met:
|
2021-03-28 08:12:25 +00:00
|
|
|
|
2022-05-07 12:25:27 +00:00
|
|
|
* Redistributions of source code must retain the above
|
|
|
|
copyright notice, this list of conditions and the
|
|
|
|
following disclaimer.
|
2021-03-28 08:12:25 +00:00
|
|
|
|
2022-05-07 12:25:27 +00:00
|
|
|
* Redistributions in binary form must reproduce the above
|
|
|
|
copyright notice, this list of conditions and the
|
|
|
|
following disclaimer in the documentation and/or other
|
|
|
|
materials provided with the distribution.
|
2021-03-28 08:12:25 +00:00
|
|
|
|
2022-05-07 12:25:27 +00:00
|
|
|
* This software must not be used for commercial purposes
|
|
|
|
* without my consent. Any sales or commercial use are prohibited
|
|
|
|
* without my express knowledge and consent.
|
2021-03-28 08:12:25 +00:00
|
|
|
|
2022-05-07 12:25:27 +00:00
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY!
|
2021-03-28 08:12:25 +00:00
|
|
|
|
2022-05-07 12:25:27 +00:00
|
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
|
|
|
CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
|
|
|
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
|
|
|
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
|
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
|
|
|
|
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
|
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
|
|
|
NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
|
|
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
|
|
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
|
|
|
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
|
|
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
2021-03-23 08:13:54 +00:00
|
|
|
|
|
|
|
*/
|
|
|
|
|
2022-07-06 23:41:24 +00:00
|
|
|
/**
|
2023-06-02 05:32:48 +00:00
|
|
|
* D2Files class.
|
2022-07-06 23:41:24 +00:00
|
|
|
*/
|
2021-03-23 08:13:54 +00:00
|
|
|
class D2Files {
|
|
|
|
|
2022-07-06 23:41:24 +00:00
|
|
|
/**
|
2023-06-02 05:32:48 +00:00
|
|
|
* @var array Holds the list of files.
|
2022-07-06 23:41:24 +00:00
|
|
|
*/
|
2022-05-07 12:25:27 +00:00
|
|
|
public $files = [];
|
2023-06-02 05:32:48 +00:00
|
|
|
|
2022-07-06 23:41:24 +00:00
|
|
|
/**
|
2023-06-02 05:32:48 +00:00
|
|
|
* @var array Holds the character files.
|
2022-07-06 23:41:24 +00:00
|
|
|
*/
|
2022-05-07 12:25:27 +00:00
|
|
|
public $charFiles;
|
|
|
|
|
2022-07-06 23:41:24 +00:00
|
|
|
/**
|
2023-06-02 05:32:48 +00:00
|
|
|
* D2Files constructor.
|
2022-07-06 23:41:24 +00:00
|
|
|
*/
|
2022-05-07 12:25:27 +00:00
|
|
|
public function __construct() {
|
|
|
|
$filesToIgnore = [
|
|
|
|
"aiparms.txt",
|
|
|
|
"shrines.txt",
|
|
|
|
"cubemain.txt", // cubemain is processed manually in sqlite cli tool
|
|
|
|
"misc.txt", // grew too large, process manually in processmanually function
|
|
|
|
"treasureclass.txt",
|
|
|
|
"treasureclassex.txt"
|
|
|
|
];
|
2023-06-02 05:32:48 +00:00
|
|
|
|
|
|
|
$glob = glob($_SESSION['path'] . '*.txt'); // Get a list of all ".txt" files in the specified path.
|
|
|
|
|
2022-05-07 12:25:27 +00:00
|
|
|
foreach ($glob as $g) {
|
2023-06-02 05:32:48 +00:00
|
|
|
$files[] = basename($g); // Add the base name of each file to the $files array.
|
2022-05-07 12:25:27 +00:00
|
|
|
}
|
2023-06-02 05:32:48 +00:00
|
|
|
|
|
|
|
$this->files = array_udiff($files, $filesToIgnore, 'strcasecmp'); // Remove the ignored files from the list, case-insensitive.
|
|
|
|
return $this->files; // Return the list of files.
|
2022-05-07 12:25:27 +00:00
|
|
|
}
|
|
|
|
|
2022-07-06 23:41:24 +00:00
|
|
|
/**
|
2023-06-02 05:32:48 +00:00
|
|
|
* Get the list of character save files.
|
|
|
|
*
|
|
|
|
* @return mixed The list of character save files.
|
2022-07-06 23:41:24 +00:00
|
|
|
*/
|
2022-05-07 12:25:27 +00:00
|
|
|
public function getSaveFiles() {
|
2023-06-02 05:32:48 +00:00
|
|
|
$glob = glob($_SESSION['savepath'] . '*.d2s'); // Get a list of all ".d2s" files in the specified save path.
|
2022-05-07 12:25:27 +00:00
|
|
|
|
|
|
|
foreach ($glob as $g) {
|
2023-06-02 05:32:48 +00:00
|
|
|
$this->charFiles[] = basename($g); // Add the base name of each file to the $charFiles array.
|
2022-05-07 12:25:27 +00:00
|
|
|
}
|
2023-06-02 05:32:48 +00:00
|
|
|
|
|
|
|
return $this->charFiles; // Return the list of character save files.
|
2022-05-07 12:25:27 +00:00
|
|
|
}
|
|
|
|
|
2021-03-26 14:37:56 +00:00
|
|
|
}
|