Duplicate Records In MySQL Database For Each Page In SP Page Builder Pro - Question | JoomShaper

Duplicate Records In MySQL Database For Each Page In SP Page Builder Pro

BAE Productions

BAE Productions

SP Page Builder 1 month ago

I'm not sure of the exact timing when this occurred ... it was after the brute force attack we all experienced, and I believe after the recent SSP update, version 6.6.2.

Each of the Pages has been duplicated so there are two identical pages with the same Asset ID. Perhaps rather obvious, but trying to remove one of the duplicate pages as Administrator working within the SSP Component doesn't work. Example: selecting one of the duplicates and trashing it will trash both duplicate pages.

Looking at my datebase, in the sppagebuilder table, I am unable to remove one of the duplicates because the ID and Asset_ID are the same... therefore it does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available.

I wanted to give you the opportunity to suggest the best way to fix this matter. I assume I'll have to run a SQL query since the basics in phpMyAdmin cannot address it.

I'm not sure if anyone else using SP PageBuilder Pro has experienced or is experiencing this. If you've already provided details about the issue, please point me to that thread and/or fix.

Thank You

0
15 Answers
Toufiq
Toufiq
Accepted Answer
Senior Staff 1 month ago #228404

Hi there,

Thank you for reaching out, and I apologize for any inconvenience caused by this oversight. Watch the video first.

https://drive.google.com/file/d/1nxDCGjvYchgbsEyrZ1JmhbduuEcQFmmE/view

Best regards,

Toufiqur Rahman (Team Lead, Support)

0
BAE Productions
BAE Productions
Accepted Answer
1 month ago #228419

Downloaded com_sppbscan-1.0.5.zip

Tried to install and received this Error Message: Component Install: Field 'extension_id' doesn't have a default value

0
Toufiq
Toufiq
Accepted Answer
Senior Staff 1 month ago #228429

Does it solved your issue?

0
BAE Productions
BAE Productions
Accepted Answer
1 month ago #228434

No, it doesn't resolve the issue because I can't install the component.

When I attempt to install SP PageBuilder Scan, I get the error I posted in my previous response.

I've tried several versions of the component, but the error is the same:

Component Install: Field 'extensionid' doesn't have a default value

I've watch the movie as well, in case you are going to ask that.

0
BAE Productions
BAE Productions
Accepted Answer
1 month ago #228462

If you would, please follow-up with me on how to resolve this matter.

Has anyone else run into the install error for com_sppbscan? Please advise me on how to workaround the issue; I'd like to install and get these duplicate database records cleaned up.

0
Toufiq
Toufiq
Accepted Answer
Senior Staff 1 month ago #228569

Could you please provide your site's login credentials? Before sharing them, please make sure you're using a staging site rather than your live website, as I'd like to investigate the issue in a safe environment. If you don't already have a staging site, please create one and let me know once it's ready. Then, share the staging site's login details so I can take a closer look.

0
BAE Productions
BAE Productions
Accepted Answer
1 month ago #228624

I've created the staging site as you've requested; credentials are hidden below.

FYI ... the corruption from the attack has created duplicates of everything within the database. If you would like me to send you a sql dump file, just let me know. You'll see that all of the Joomla content articles, sppagebuilder pages, etc., has been duplicated. Since the sql tables no longer have unique id in the ID column, records cannot be deleted as normal in phpMyAdmin.

Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available.

I was able to run ALTER TABLE commands, adding a new column with auto_increment which then allowed me to remove the duplicate record rows. The duplication corruption runs so deep that I was unable to remove duplicates without creating new issues (e.g., no longer being able to view pages in backend of SPPageBuilder while logged in as administrator).

The staging site I've provided has the original Joomla 6 files and database from after the critical security vulnerability attack in SP Page Builder (v6.1.1).

I appreciate your time and efforts with this situation.

0
Toufiq
Toufiq
Accepted Answer
Senior Staff 1 month ago #228665

Please make sure that your extension_id exists this settings.

https://prnt.sc/ysP7zj1s3oMR

0
BAE Productions
BAE Productions
Accepted Answer
1 month ago #228667

The extension_id exists ... however there is a length/value setting of 11, so it's int(11) ... it's not blank as in your example. Also, the checkboxes for Adjust Privileges and A_I are not checked... infact I am unable to check the box to turn on Adjust Privileges (it's grayed out).

Are you needing me to change the extension_id settings to be identical to your example?

0
Toufiq
Toufiq
Accepted Answer
Senior Staff 1 month ago #228733

Can you provide me database access?

0
BAE Productions
BAE Productions
Accepted Answer
1 month ago #228871

I see that the admin login is now broken. Guess what's why you now need access to the database. I can't give you access to the root of my server. I can send you a dump of the SQL database if you want, or I can create another clone of the original database to put the sandbox site back in working order.

Let me know.

0
Toufiq
Toufiq
Accepted Answer
Senior Staff 1 month ago #228895

Please provide me database sql file

0
BAE Productions
BAE Productions
Accepted Answer
1 month ago #228992

Below is a link to a zip file of the sql dump.

0
Toufiq
Toufiq
Accepted Answer
Senior Staff 1 month ago #228997

Can't upload it my database. Cause, huge large size. Just try to make it auto_increament - checkmark.

0
AGON PARTNERS INNOVATION AG
AGON PARTNERS INNOVATION AG
Accepted Answer
1 month ago #229023

Hello,

The behaviour you describe normally means that the #__sppagebuilder table no longer has a valid unique primary key on the idcolumn. Because two physical rows contain the same idand asset_id, SP Page Builder cannot distinguish between them, so deleting or trashing one record affects both.

I created a small Joomla repair installer for this specific situation. as I belive this would help you.. :-)

Before running it, please create a complete Akeeba Backup of the website and database. Ideally, also test the repair on a staging copy first.

The installer:

  • Supports Joomla 3.10.x, 4.x, 5.x, and 6.x.
  • Is intended for SP Page Builder 6.x.
  • Creates a database backup table before making changes.
  • Checks duplicate #__sppagebuilder.id records.
  • Deletes additional rows only when the duplicate records are completely identical.
  • Restores the primary key and AUTO_INCREMENT property on the id column.
  • Checks the Joomla #__extensions.extension_id structure as well, because a damaged primary key there can prevent Joomla extensions from installing.
  • Stops without deleting anything if duplicate rows with the same ID contain different data.
  • Leaves the database backup tables in place after the repair.

You can install it through:

System → Install → Extensions → Upload Package File

Installer package:

files_agon_sppb_duplicate_page_repair_1.0.0_j3-j6.zip - I can link it via our deposit if you like. https://vault.agon-solution.ch/#/shared/19382987A0E3DF85828DC0E365F08A343FEAEB50145B71F2B6E291CD1A54C895 But it is protected. The Joomshaper Team which I share the SECRET can pass it to you.

Creator: AGON PARTNERS INNOVATION AG Author: Tobi Gurtner

After installation, please check the Joomla installer messages, then verify that:

  1. Each SP Page Builder page appears only once.
  2. Existing pages can be opened and edited.
  3. Trashing one page no longer affects another page.
  4. A newly created page receives a new unique ID.
  5. The frontend pages continue to work correctly.

This is a focused repair for exact duplicate records and missing primary-key definitions. If the attack duplicated records across many other Joomla tables, the safer approach is to restore a known-good backup and perform a full security cleanup rather than repairing every table automatically.

This is an independent emergency repair tool and not an official JoomShaper package.

0