[TikiWiki-commits] [Git][tikiwiki/tiki][24.x] [FIX] Restore installer api_tiki handling removed in new_user_validation fix
"ushindi bienvenu \(@usbbush\) via TikiWiki-cvs" <[email protected]>
| Newsgroups | gmane.comp.cms.tiki.cvs |
|---|---|
| Message-ID | <6a8c0db16115c_3818cea06116b@gitlab-sidekiq-low-urgency-cpu-bound-v2-fbc867496-9kr8h.mail> |
ushindi bienvenu pushed to branch 24.x at Tiki Wiki CMS Groupware / Tiki
Commits:
3cd3ad27 by Espoir Baraka at 2026-08-24T09:18:21+00:00
[FIX] Restore installer api_tiki handling removed in new_user_validation fix
---
* [FIX] Restore installer api_tiki handling removed in new_user_validation fix
---
* [FIX] Restore installer api_tiki handling removed in new_user_validation fix
See merge request tikiwiki/tiki!11038
(cherry picked from commit 331d9629aab56af83277aaaa32fd7a6fb7af43e8)
See merge request tikiwiki/tiki!11041
- - - - -
2 changed files:
- installer/tiki-installer.php
- tiki-change_password.php
Changes:
=====================================
installer/tiki-installer.php
=====================================
@@ -29,6 +29,7 @@ $inputConfiguration = [
'convert_to_utf8' => 'xss',
'db' => 'alpha',
'dbinfo' => 'alpha',
+ 'defaultpass' => 'raw',
'email_test_cc' => 'digits',
'email_test_to' => 'email',
'use_proxy' => 'alpha',
@@ -176,6 +177,15 @@ $prefs['lang_use_db'] = 'n';
// Which step of the installer
if (empty($_POST['install_step'])) {
$install_step = '0';
+
+ if (isset($_REQUEST['setdbversion'])) {
+ // Sets dbversion_tiki when installing the WebDeploy package
+ $db = fopen('db/' . $tikidomainslash . 'local.php', 'a');
+ require_once 'lib/setup/twversion.class.php';
+ $TWV = new TWVersion();
+ fwrite($db, "\n\$dbversion_tiki='" . $TWV->getBaseVersion() . "';\n");
+ fclose($db);
+ }
} else {
$install_step = $_POST['install_step'];
@@ -318,6 +328,20 @@ if ($errors) {
// if local then build dsn and try to connect
// then get con or nocon
+//adodb settings
+
+if (! defined('ADODB_FORCE_NULLS')) {
+ define('ADODB_FORCE_NULLS', 1);
+}
+
+if (! defined('ADODB_ASSOC_CASE')) {
+ define('ADODB_ASSOC_CASE', 2);
+}
+
+if (! defined('ADODB_CASE_ASSOC')) { // typo in adodb's driver for sybase? // so do we even need this without sybase? What's this?
+ define('ADODB_CASE_ASSOC', 2);
+}
+
require_once('lib/tikilib.php');
// Get list of available languages
@@ -335,13 +359,30 @@ $dbcon = (bool) TikiDb::get();
$installer = null;
if (file_exists($local)) {
// include the file to get the variables
+ $default_api_tiki = $api_tiki;
+ $api_tiki = '';
include $local;
if (! $client_charset_forced = isset($client_charset)) {
$client_charset = '';
}
+ $previousDbApi = $api_tiki;
+ if (empty($api_tiki)) {
+ $api_tiki_forced = false;
+ $api_tiki = $default_api_tiki;
+ if (! empty($dbversion_tiki) && $dbversion_tiki[0] < 4) {
+ $previousDbApi = 'adodb'; // AdoDB was the default DB abstraction layer before 4.0
+ }
+ } else {
+ $api_tiki_forced = true;
+ }
+
+ unset($default_api_tiki);
// In case of replication, ignore it during installer.
unset($shadow_dbs, $shadow_user, $shadow_pass, $shadow_host);
+ if ($dbversion_tiki == '1.10') {
+ $dbversion_tiki = '2.0';
+ }
if (! isset($db_tiki)) {
// if no db is specified, use the first db that this php installation can handle
@@ -499,10 +540,13 @@ if ($dbcon) {
// Some initializations to avoid PHP error messages
$smarty->assign('tikidb_created', false);
$smarty->assign('tikidb_is20', false);
+$smarty->assign('tikidb_oldPerms', 0);
if ($dbcon) {
$has_tiki_db = has_tiki_db();
$smarty->assign('tikidb_created', $has_tiki_db);
+ $oldPerms = $installer->getOne('SELECT COUNT(*) FROM `users_permissions` WHERE `permDesc` = \'Can view categorized items\'');
+ $smarty->assign('tikidb_oldPerms', $oldPerms);
if ($install_step == '6' && $has_tiki_db) {
if (isset($_POST['install_type']) && $_POST['install_type'] === 'scratch') {
@@ -513,7 +557,7 @@ if ($dbcon) {
}
update_preferences($prefs);
$smarty->assign('admin_email', get_admin_email());
- $smarty->assign('upgradefix', 'y');
+ $smarty->assign('upgradefix', (empty($dbversion_tiki) || $dbversion_tiki[0] < 4) ? 'y' : 'n');
}
$smarty->assign('tikidb_is20', has_tiki_db_20());
}
@@ -547,6 +591,8 @@ if (
// Set Administrator password
$randompass = TikiLib::lib('user')->genPass();
set_system_administrator_password($randompass);
+ $_SESSION['install_admin_defaultpass'] = $randompass;
+ $_SESSION['install_type'] = 'scratch';
$smarty->assign('defaultpass', $randompass);
$default_password_field = '<input type="hidden" name="defaultpass" value="' . $randompass . '">';
$smarty->assign('default_password_field', $default_password_field);
@@ -642,6 +688,11 @@ if ($install_step == '9') {
touch('db/' . $tikidomainslash . 'lock');
}
+ $install_admin_defaultpass = $_POST['defaultpass'] ?? $_SESSION['install_admin_defaultpass'] ?? null;
+ if (empty($install_type) && ! empty($_SESSION['install_type'])) {
+ $install_type = $_SESSION['install_type'];
+ }
+
$userlib = TikiLib::lib('user');
$cachelib = TikiLib::lib('cache');
if (session_id()) {
@@ -652,6 +703,11 @@ if ($install_step == '9') {
if ($install_type == 'scratch') {
initialize_prefs(true);
TikiLib::lib('unifiedsearch')->rebuild();
+ if (! empty($install_admin_defaultpass)) {
+ $_SESSION['pending_new_user_password'] = ['user' => 'admin'];
+ $_SESSION['last_validation'] = ['user' => 'admin', 'pass' => $install_admin_defaultpass];
+ $defaultpass = $install_admin_defaultpass;
+ }
// Always pass oldpass so first admin password setup cannot rely on a forgeable flag
$u = 'tiki-change_password.php?user=admin&oldpass=' . urlencode($defaultpass ?? 'admin') . '&newuser=y';
$tikilib = TikiLib::lib('tiki');
=====================================
tiki-change_password.php
=====================================
@@ -78,8 +78,7 @@ if ($server_new_user_validation) {
$smarty->assign('userlogin', $_REQUEST["user"]);
if (
- empty($_REQUEST['oldpass'])
- && $server_new_user_validation
+ $server_new_user_validation
&& ! empty($_SESSION['last_validation']['pass'])
) {
$smarty->assign('oldpass', $_SESSION['last_validation']['pass']);
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/3cd3ad2724d5090371d36309bdf21134c2ab3f50
--
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/3cd3ad2724d5090371d36309bdf21134c2ab3f50
You're receiving this email because of your account on gitlab.com. Manage all notifications: https://gitlab.com/-/profile/notifications | Help: https://gitlab.com/help
_______________________________________________
TikiWiki-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs