Browse code

Fixed install process - for PHP 8.1

Jimmi08 authored on 2023/02/19 12:58:30
Showing 4 changed files
... ...
@@ -105,7 +105,7 @@ if(isset($_POST['submit'])) {
105 105
 		$submissionsoff = $_POST['newsubmissionsoff'] == 1 ? 1 : 0;
106 106
 		$autovalidate = $_POST['newautovalidate'] == 1 ? 1 : 0;
107 107
 		$coauthallowed = $_POST['newcoauthallowed'] == 1 ? 1 : 0;
108
-		$store = !empty($_POST['newstore']) ? $_POST['newstore'] == "files" ? "files" : "mysql" : $store;
108
+		$store = !empty($_POST['newstore']) ? ($_POST['newstore'] == "files" ? "files" : "mysql" ) : $store;
109 109
 		$storiespath = descript($_POST['newstoriespath']);
110 110
 		$minwords = isNumber($_POST['newminwords']) ? $_POST['newminwords'] : 0;
111 111
 		$maxwords = isNumber($_POST['newmaxwords']) ? $_POST['newmaxwords'] : 0;
... ...
@@ -64,17 +64,35 @@ $language = "";
64 64
 
65 65
 include ("../includes/class.TemplatePower.inc.php");
66 66
 
67
+/* PHP 8 fix - other way is separated LANs to smaller files */
68
+$allowed_tags = '';
69
+$recentdays = 7;
70
+$sitename = "";
71
+$url = "" ;
72
+$multiplecats = '';
73
+$minwords = '';
74
+$maxwords = '';
75
+$action = '';
76
+$pwdsetting = '';
77
+$imagewidth = '';
78
+$imageheight = '';
79
+$version = '';
80
+$user = array();
81
+$user['penname'] = '';
82
+$user['email'] = '';
83
+$penname = '';
84
+
67 85
 if(!isset($_GET['step']) || $_GET['step'] == 2) {
68
-	//include ("../languages/en.php");
69
-	//include ("../languages/en_admin.php");
86
+	include ("../languages/en.php");
87
+	include ("../languages/en_admin.php");
70 88
 	include ("languages/en.php");
71 89
 }
72 90
 else if(isset($_REQUEST['language'])) {
73 91
 	$language = $_REQUEST['language'];
74
-	//if(file_exists("../languages/".$language.".php")) include ("../languages/".$language.".php");
75
-	//else include ("../languages/en.php");
76
-	//if(file_exists("../languages/".$language."_admin.php")) include("../languages/".$language."_admin.php");
77
-	//else include ("../languages/en_admin.php");
92
+	if(file_exists("../languages/".$language.".php")) include ("../languages/".$language.".php");
93
+	else include ("../languages/en.php");
94
+	if(file_exists("../languages/".$language."_admin.php")) include("../languages/".$language."_admin.php");
95
+	else include ("../languages/en_admin.php");
78 96
 	if(file_exists("languages/".$language.".php")) include("languages/".$language.".php");
79 97
 	else include ("languages/en.php");
80 98
 }
... ...
@@ -83,6 +101,7 @@ include("../config.php");
83 101
 $dbconnect = dbconnect($dbhost, $dbuser, $dbpass, $dbname );
84 102
 $settings = dbquery("SELECT tableprefix, language FROM ".$settingsprefix."fanfiction_settings WHERE sitekey = '".$sitekey."'");
85 103
 list($tableprefix, $language) = dbrow($settings);
104
+
86 105
 define("TABLEPREFIX", $tableprefix);
87 106
 define("SITEKEY", $sitekey);
88 107
 if(file_exists("../languages/".$language.".php")) include ("../languages/".$language.".php");
... ...
@@ -169,8 +188,10 @@ switch($_GET['step']) {
169 188
 		}
170 189
 		else {
171 190
 			$output .= "<div id='pagetitle'>"._ADMINACCT."</div><form method=\"POST\" class='tblborder' style='margin: 1em auto; width: 400px;' enctype=\"multipart/form-data\" action=\"install.php?step=9\">
172
-			<div class='row'><label for='newpenname'>"._PENNAME.":</label> <INPUT name=\"newpenname\" type=\"text\" class=\"textbox\" maxlength=\"200\" value=\"$user[penname]\"></div>
173
-		 	<div class='row'><label for='email'>"._EMAIL.":</label> <INPUT  type=\"text\" class=\"textbox=\" name=\"email\" value=\"$user[email]\" maxlength=\"200\"></div>
191
+			<div class='row'><label for='newpenname'>"._PENNAME.":</label> 
192
+			<input name=\"newpenname\" type=\"text\" class=\"textbox\" maxlength=\"200\" value=\"".$user['penname']."\"></div>
193
+		 	<div class='row'><label for='email'>"._EMAIL.":</label> <INPUT  type=\"text\" class=\"textbox=\" name=\"email\" value=\"".$user['email'].
194
+			"\" maxlength=\"200\"></div>
174 195
 			<div class='row'><label for='password'>"._PASSWORD.":</label>  <INPUT name=\"password\" class=\"textbox\" value=\"\" type=\"password\"></div> 
175 196
 			<div class='row'><label for='password2'>"._PASSWORD2.":</label> <INPUT name=\"password2\" class=\"textbox=\" value=\"\" type=\"password\"></div>
176 197
 			<div style='text-align: center;'><INPUT type=\"submit\"class=\"button\" name=\"submit\" value=\"submit\"></div></form>";	
... ...
@@ -776,6 +797,9 @@ $output .= write_message(_TABLEFAILED."<br /><br /><a href='install.php?step=4'>
776 797
 			$dbconnect = dbconnect($dbhost, $dbuser, $dbpass, $dbname );
777 798
 			$settings = dbquery("SELECT tableprefix, language FROM ".$settingsprefix."fanfiction_settings WHERE sitekey = '".$sitekey."'");
778 799
 			list($tableprefix, $language) = dbrow($settings);
800
+			
801
+			if ($tableprefix == '') $tableprefix = $settingsprefix;
802
+
779 803
 			define("TABLEPREFIX", $tableprefix);
780 804
 			define("SITEKEY", $sitekey);
781 805
 			
... ...
@@ -786,7 +810,6 @@ $output .= write_message(_TABLEFAILED."<br /><br /><a href='install.php?step=4'>
786 810
 				$settingsresults = dbquery("SELECT * FROM ".$settingsprefix."fanfiction_settings WHERE sitekey = '".SITEKEY."'");
787 811
 			}
788 812
 			$settings = dbassoc($settingsresults);
789
-			define("_BASEDIR", "../");
790 813
 			foreach($settings as $var => $val) {
791 814
 				$$var = $val;
792 815
 			}
... ...
@@ -190,4 +190,6 @@ define("_HELP_DBPASS", "Dies ist das Passwort des Datenbankbenutzers.");
190 190
 define("_HELP_INSTALL_SITEKEY", "Der Site-Key wird f�r den Zugriff auf die Seiteneinstellungen benutzt und verhindert Konflikte bei mehreren Installationen auf einer Domain. Du <strong>musst</strong> f�r jede eFiction-Installation einen <strong>eindeutigen</strong> Site-Key angeben! Wenn du das Feld leer l�sst, wird das Script einen zuf�lligen Key generieren.");
191 191
 define("_HELP_SETTINGSPREFIX", "Du kannst unabh�ngig von den anderen Tabellen ein Pr�fix f�r die Einstellungstabelle angeben. Dies erlaubt es, mehrere Instanzen von eFiction in der selben Datenbank mit den gleichen Einstellungen zu betreiben.");
192 192
 
193
-?>
194 193
\ No newline at end of file
194
+//  Missing LANs - fatal error  
195
+define("_EMAILREQUIRED", "Email is required");
196
+define("_BADSITEKEY", "Wrong Sitekey");
... ...
@@ -197,13 +197,6 @@ define("_HELP_DBPASS", "This is the password for the database user.");
197 197
 define("_HELP_INSTALL_SITEKEY", "The sitekey will be used to access the settings for your site.  It is also used to prevent crossed member logins when two or more sites are installed on the same domain.  You <strong>must</strong> have a <strong>unique</strong> sitekey for each eFiction site!  If you leave this blank, the script will randomly generate another one for you.");
198 198
 define("_HELP_SETTINGSPREFIX", "This allows you to define a separate prefix for the settings table.  This allows you to share the settings table among more than one eFiction site in the same database.");
199 199
 
200
-/* LANs from en_admin.php needed in install.php - include all file is not good idea in PHP 8 */
201
-define("_SITEKEY", "Site Key");
202
-define("_LANGUAGE", "Language");
203
-define("_HELP_LANGUAGE", "The language the site will be displayed in.  The language files are found in the languages/ folder.  You may create your own translations through these files.");
204
-
205
-/* LANs from en.php needed in STEP 1 */
206
-define("_CONTINUE", "Continue");
207
-
208
-/* Missing LANs - fatal error */
200
+//  Missing LANs - fatal error  
209 201
 define("_EMAILREQUIRED", "Email is required");
202
+define("_BADSITEKEY", "Wrong Sitekey");