Skip to content

Commit

Permalink
Merge branch '3.0'
Browse files Browse the repository at this point in the history
* 3.0:
  fix: fixed wrong pagination URL, closes #1735
  fix: fixed redirect target
  feat(gdpr): improved user deletion request menu entry
  feat(setup): added required to some required inputs
  fix: corrected URL to category, closes #1731
  fix: fixed drag n drop into TinyMCE, closes #1729
  • Loading branch information
thorsten committed Apr 21, 2020
2 parents 2aa2618 + a366bb9 commit 6064478
Show file tree
Hide file tree
Showing 4 changed files with 49 additions and 42 deletions.
2 changes: 1 addition & 1 deletion phpmyfaq/admin/user.php
Original file line number Diff line number Diff line change
Expand Up @@ -642,7 +642,7 @@ class="form-check-input permission">
$firstPage = $lastPage - $perPage;

$baseUrl = sprintf(
'%s?action=user&user_action=listallusers&page=%d',
'%sadmin/?action=user&user_action=listallusers&page=%d',
$faqConfig->getDefaultUrl(),
$page
);
Expand Down
4 changes: 3 additions & 1 deletion phpmyfaq/assets/themes/default/templates/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -96,9 +96,11 @@
</div>
[/notLoggedIn] [userloggedIn]
<div>
{{ msgUserControlDropDown }} {{ msgUserControl }} {{ msgLogoutUser }}
{{ msgUserControlDropDown }} {{ msgUserControl }}
<div class="dropdown-divider"></div>
{{ msgUserRemoval }}
<div class="dropdown-divider"></div>
{{ msgLogoutUser }}
</div>
[/userloggedIn]
</div>
Expand Down
7 changes: 6 additions & 1 deletion phpmyfaq/setup/index.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@

/**
* The main phpMyFAQ Setup.
*
* This script checks the complete environment, writes the database connection
* parameters into the file config/database.php and the configuration into the database.
*
* This Source Code Form is subject to the terms of the Mozilla Public License,
* v. 2.0. If a copy of the MPL was not distributed with this file, You can
* obtain one at http://mozilla.org/MPL/2.0/.
Expand All @@ -21,7 +23,10 @@
* @since 2002-08-20
*/

use Composer\Autoload\ClassLoader;use phpMyFAQ\Installer;use phpMyFAQ\Strings;use phpMyFAQ\System;
use Composer\Autoload\ClassLoader;
use phpMyFAQ\Installer;
use phpMyFAQ\Strings;
use phpMyFAQ\System;

define('COPYRIGHT', '&copy; 2001-2020 <a href="https://www.phpmyfaq.de/">phpMyFAQ Team</a>');
define('PMF_ROOT_DIR', dirname(dirname(__FILE__)));
Expand Down
78 changes: 39 additions & 39 deletions phpmyfaq/setup/update.php
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,8 @@
$version = Filter::filterInput(INPUT_POST, 'version', FILTER_SANITIZE_STRING);
$query = [];

if (!file_exists(PMF_ROOT_DIR . '/config/database.php')) {
header('Location: setup.php');
if (!file_exists(PMF_ROOT_DIR.'/config/database.php')) {
header('Location: index.php');
exit();
}

Expand Down Expand Up @@ -368,11 +368,11 @@
$faqConfig->add('main.enableGzipCompression', 'true');

if ('sqlite3' === $DB['type']) {
$query[] = 'ALTER TABLE ' . $prefix . 'faquser ADD COLUMN success INT(1) NULL DEFAULT 1';
$query[] = 'ALTER TABLE '.$prefix.'faquser ADD COLUMN success INT(1) NULL DEFAULT 1';
} elseif ('pgsql' === $DB['type']) {
$query[] = 'ALTER TABLE ' . $prefix . 'faquser ADD success SMALLINT NULL DEFAULT 1';
$query[] = 'ALTER TABLE '.$prefix.'faquser ADD success SMALLINT NULL DEFAULT 1';
} else {
$query[] = 'ALTER TABLE ' . $prefix . 'faquser ADD success INTEGER NULL DEFAULT 1';
$query[] = 'ALTER TABLE '.$prefix.'faquser ADD success INTEGER NULL DEFAULT 1';
}
}

Expand All @@ -395,9 +395,9 @@
$faqConfig->delete('search.useAjaxSearchOnStartpage');

if ('sqlite3' === $DB['type']) {
$query[] = 'ALTER TABLE ' . $prefix . 'faqcategories ADD COLUMN active INT(1) NULL DEFAULT 1';
$query[] = 'ALTER TABLE '.$prefix.'faqcategories ADD COLUMN active INT(1) NULL DEFAULT 1';
} else {
$query[] = 'ALTER TABLE ' . $prefix . 'faqcategories ADD active INT NULL DEFAULT 1';
$query[] = 'ALTER TABLE '.$prefix.'faqcategories ADD active INT NULL DEFAULT 1';
}
}

Expand All @@ -413,13 +413,13 @@
$faqConfig->add('records.numberMaxStoredRevisions', '10');

if ('sqlite3' === $DB['type']) {
$query[] = 'ALTER TABLE ' . $prefix . 'faqquestions ADD COLUMN lang VARCHAR(5) NOT NULL DEFAULT \'\'';
$query[] = 'ALTER TABLE ' . $prefix . 'faqcategories ADD COLUMN group_id INT NULL DEFAULT -1';
$query[] = 'ALTER TABLE '.$prefix.'faqquestions ADD COLUMN lang VARCHAR(5) NOT NULL DEFAULT \'\'';
$query[] = 'ALTER TABLE '.$prefix.'faqcategories ADD COLUMN group_id INT NULL DEFAULT -1';
} else {
$query[] = 'ALTER TABLE ' . $prefix . 'faqquestions ADD lang VARCHAR(5) NOT NULL DEFAULT \'\'';
$query[] = 'ALTER TABLE ' . $prefix . 'faqcategories ADD group_id INT NULL DEFAULT -1';
$query[] = 'ALTER TABLE '.$prefix.'faqquestions ADD lang VARCHAR(5) NOT NULL DEFAULT \'\'';
$query[] = 'ALTER TABLE '.$prefix.'faqcategories ADD group_id INT NULL DEFAULT -1';
}
$query[] = 'UPDATE ' . $prefix . "faqquestions SET lang = '" . $faqConfig->getDefaultLanguage() . "'";
$query[] = 'UPDATE '.$prefix."faqquestions SET lang = '".$faqConfig->getDefaultLanguage()."'";
}

//
Expand All @@ -428,18 +428,18 @@
if (version_compare($version, '2.9.0-alpha4', '<')) {
switch ($DB['type']) {
case 'pgsql':
$query[] = 'ALTER TABLE ' . $prefix . 'faqdata RENAME COLUMN datum TO updated';
$query[] = 'ALTER TABLE ' . $prefix . 'faqdata_revisions RENAME COLUMN datum TO updated';
$query[] = 'ALTER TABLE ' . $prefix . 'faqdata ADD created TIMESTAMP DEFAULT CURRENT_TIMESTAMP';
$query[] = 'ALTER TABLE ' . $prefix . 'faqdata_revisions ADD created TIMESTAMP DEFAULT CURRENT_TIMESTAMP';
$query[] = 'ALTER TABLE '.$prefix.'faqdata RENAME COLUMN datum TO updated';
$query[] = 'ALTER TABLE '.$prefix.'faqdata_revisions RENAME COLUMN datum TO updated';
$query[] = 'ALTER TABLE '.$prefix.'faqdata ADD created TIMESTAMP DEFAULT CURRENT_TIMESTAMP';
$query[] = 'ALTER TABLE '.$prefix.'faqdata_revisions ADD created TIMESTAMP DEFAULT CURRENT_TIMESTAMP';
break;
case 'mssql':
case 'sqlsrv':
$query[] = "EXEC sp_RENAME '" . $prefix . "faqdata.datum', 'updated', 'COLUMN'";
$query[] = "EXEC sp_RENAME '" . $prefix . "faqdata_revisions.datum', 'updated', 'COLUMN'";
$query[] = 'ALTER TABLE ' . $prefix . 'faqdata ADD created DATETIME DEFAULT CURRENT_TIMESTAMP';
$query[] = 'ALTER TABLE ' . $prefix . 'faqdata_revisions ADD created DATETIME DEFAULT CURRENT_TIMESTAMP';
break;
$query[] = "EXEC sp_RENAME '".$prefix."faqdata.datum', 'updated', 'COLUMN'";
$query[] = "EXEC sp_RENAME '".$prefix."faqdata_revisions.datum', 'updated', 'COLUMN'";
$query[] = 'ALTER TABLE '.$prefix.'faqdata ADD created DATETIME DEFAULT CURRENT_TIMESTAMP';
$query[] = 'ALTER TABLE '.$prefix.'faqdata_revisions ADD created DATETIME DEFAULT CURRENT_TIMESTAMP';
break;
case 'mysqli':
$query[] = 'ALTER TABLE ' . $prefix . 'faqdata CHANGE datum updated VARCHAR(15) NOT NULL';
$query[] = 'ALTER TABLE ' . $prefix . 'faqdata_revisions CHANGE datum updated VARCHAR(15) NOT NULL';
Expand Down Expand Up @@ -598,33 +598,33 @@
$faqConfig->add('records.enableAutoRevisions', 'false');
// Add superadmin flag
if ('sqlite3' === $DB['type']) {
$query[] = 'ALTER TABLE ' . $prefix . 'faquser ADD COLUMN is_superadmin INT(1) DEFAULT 0';
$query[] = 'ALTER TABLE '.$prefix.'faquser ADD COLUMN is_superadmin INT(1) DEFAULT 0';
} else {
$query[] = 'ALTER TABLE ' . $prefix . 'faquser ADD is_superadmin INT(1) DEFAULT 0';
$query[] = 'ALTER TABLE '.$prefix.'faquser ADD is_superadmin INTEGER DEFAULT 0';
}
$query[] = 'UPDATE ' . $prefix . 'faquser SET is_superadmin = 1 WHERE user_id = 1';
$query[] = 'UPDATE '.$prefix.'faquser SET is_superadmin = 1 WHERE user_id = 1';

// Add domain flag
if ('sqlite3' === $DB['type']) {
$query[] = 'ALTER TABLE ' . $prefix . 'faquserlogin ADD COLUMN domain VARCHAR(255) DEFAULT NULL';
$query[] = 'ALTER TABLE '.$prefix.'faquserlogin ADD COLUMN domain VARCHAR(255) DEFAULT NULL';
} else {
$query[] = 'ALTER TABLE ' . $prefix . 'faquserlogin ADD domain VARCHAR(255) DEFAULT NULL';
$query[] = 'ALTER TABLE '.$prefix.'faquserlogin ADD domain VARCHAR(255) DEFAULT NULL';
}

// Update section flag for faqright table
if ('sqlite3' === $DB['type']) {
$query[] = 'ALTER TABLE ' . $prefix . 'faqright ADD COLUMN for_sections INT(11) DEFAULT 0';
$query[] = 'ALTER TABLE '.$prefix.'faqright ADD COLUMN for_sections INT(11) DEFAULT 0';
} else {
$query[] = 'ALTER TABLE ' . $prefix . 'faqright ADD for_sections INT(11) DEFAULT 0';
$query[] = 'ALTER TABLE '.$prefix.'faqright ADD for_sections INTEGER DEFAULT 0';
}

// Add new tables
$query[] = 'CREATE TABLE ' . $prefix . 'faqcategory_news (category_id INT(11) NOT NULL, news_id INT(11) NOT NULL, PRIMARY KEY (category_id, news_id))';
$query[] = 'CREATE TABLE ' . $prefix . 'faqsections (id INT(11) NOT NULL, name VARCHAR(255) NOT NULL, description VARCHAR(255) DEFAULT NULL, PRIMARY KEY (id))';
$query[] = 'CREATE TABLE ' . $prefix . 'faqsection_category (section_id INT(11) NOT NULL, category_id INT(11) NOT NULL DEFAULT -1, PRIMARY KEY (section_id, category_id))';
$query[] = 'CREATE TABLE ' . $prefix . 'faqsection_group (section_id INT(11) NOT NULL, group_id INT(11) NOT NULL DEFAULT -1, PRIMARY KEY (section_id, group_id))';
$query[] = 'CREATE TABLE ' . $prefix . 'faqsection_news (section_id INT(11) NOT NULL, news_id INT(11) NOT NULL DEFAULT -1, PRIMARY KEY (section_id, news_id))';
$query[] = 'CREATE TABLE ' . $prefix . 'faqmeta (id INT NOT NULL, lang VARCHAR(5) DEFAULT NULL, page_id VARCHAR(48) DEFAULT NULL, type VARCHAR(48) DEFAULT NULL, content TEXT NULL, PRIMARY KEY (id))';
$query[] = 'CREATE TABLE '.$prefix.'faqcategory_news (category_id INTEGER NOT NULL, news_id INTEGER NOT NULL, PRIMARY KEY (category_id, news_id))';
$query[] = 'CREATE TABLE '.$prefix.'faqsections (id INTEGER NOT NULL, name VARCHAR(255) NOT NULL, description VARCHAR(255) DEFAULT NULL, PRIMARY KEY (id))';
$query[] = 'CREATE TABLE '.$prefix.'faqsection_category (section_id INTEGER NOT NULL, category_id INTEGER NOT NULL DEFAULT -1, PRIMARY KEY (section_id, category_id))';
$query[] = 'CREATE TABLE '.$prefix.'faqsection_group (section_id INTEGER NOT NULL, group_id INTEGER NOT NULL DEFAULT -1, PRIMARY KEY (section_id, group_id))';
$query[] = 'CREATE TABLE '.$prefix.'faqsection_news (section_id INTEGER NOT NULL, news_id INTEGER NOT NULL DEFAULT -1, PRIMARY KEY (section_id, news_id))';
$query[] = 'CREATE TABLE '.$prefix.'faqmeta (id INT NOT NULL, lang VARCHAR(5) DEFAULT NULL, page_id VARCHAR(48) DEFAULT NULL, type VARCHAR(48) DEFAULT NULL, content TEXT NULL, PRIMARY KEY (id))';

// Add new rights
$perm->addRight(['name' => 'view_faqs', 'description' => 'Right to view FAQs']);
Expand Down Expand Up @@ -653,9 +653,9 @@

// Add login attempts flag
if ('sqlite3' === $DB['type']) {
$query[] = 'ALTER TABLE ' . $prefix . 'faquser ADD COLUMN login_attempts INT(1) DEFAULT 0';
$query[] = 'ALTER TABLE '.$prefix.'faquser ADD COLUMN login_attempts INT(1) DEFAULT 0';
} else {
$query[] = 'ALTER TABLE ' . $prefix . 'faquser ADD login_attempts INT(1) DEFAULT 0';
$query[] = 'ALTER TABLE '.$prefix.'faquser ADD login_attempts INTEGER DEFAULT 0';
}
}

Expand All @@ -666,10 +666,10 @@
// Fix category table
switch ($DB['type']) {
case 'mysqli':
$query[] = 'ALTER TABLE ' . $prefix . 'faqcategories MODIFY parent_id INTEGER';
$query[] = 'ALTER TABLE '.$prefix.'faqcategories MODIFY parent_id INTEGER';
break;
case 'pgsql':
$query[] = 'ALTER TABLE ' . $prefix . 'faqcategories ALTER COLUMN parent_id TYPE INTEGER;';
$query[] = 'ALTER TABLE '.$prefix.'faqcategories ALTER COLUMN parent_id TYPE INTEGER;';
break;
}

Expand All @@ -682,7 +682,7 @@
// UPDATES FROM 3.0.0-RC
//
if (version_compare($version, '3.0.0-RC', '<=')) {
$query[] = 'UPDATE ' . $prefix . "faqconfig SET config_name = 'main.customPdfFooter'
$query[] = 'UPDATE '.$prefix."faqconfig SET config_name = 'main.customPdfFooter'
WHERE config_name = 'main.customPdfHFooter'";
}

Expand Down

0 comments on commit 6064478

Please sign in to comment.