Page 1 of 4

[3.2][3.3][RC] Prime Post Revisions

Posted: Wed May 02, 2018 4:41 pm
by primehalo
I was able to copy over all of the many translations from my original MOD, but I had to add some additional text so please let me know if you can translate those additional lines.

Extension Name: Prime Post Revisions
Author: primehalo

Description:
A phpBB 3.2/3.3 extension that keeps a revision history of all posts edits. These revisions can be viewed, deleted, and restored only by users with the necessary permissions.

Version: 1.0.0-rc1

Download:
http://www.absoluteanime.com/_phpbb-ext ... isions.zip

GitHub:
https://github.com/primehalo/primepostrevisions

Screenshot: Viewing post revision history
Image

Screenshot: Button to view revision history
Image

Screenshot: ACP options
Image

Re: [3.2][BETA] Prime Post Revisions

Posted: Wed May 02, 2018 11:32 pm
by Tarantino
Excellent! Great to see you back! I was waiting for this :)

Re: [3.2][BETA] Prime Post Revisions

Posted: Thu May 03, 2018 10:35 am
by canonknipser
What's the difference to this extension: viewtopic.php?f=456&t=2450106 (which is a fork of this extension: viewtopic.php?f=501&t=2354286 )?

Re: [3.2][BETA] Prime Post Revisions

Posted: Thu May 03, 2018 11:54 am
by Tarantino
The forks are only a simple converting from the mod.
This one we can see on the pics, goes beyond a simple convertion. Seems way better then the mod version.

The question should be, will it be better then this one?
https://www.phpbb.com/customise/db/exte ... dit_log_2/

I hope so :p

Re: [3.2][BETA] Prime Post Revisions

Posted: Thu May 03, 2018 3:20 pm
by primehalo
Tarantino wrote:
Thu May 03, 2018 11:54 am
The forks are only a simple converting from the mod.
This one we can see on the pics, goes beyond a simple convertion. Seems way better then the mod version.
I had looked over those after I had started working on my conversion but didn't end up using any of the code. Mine is more efficient, does more error checking, keeps better track of edit info (editor, time, and count which the board doesn't update on every edit), has more permissions (local and global moderator, and local forum) for better control (of who can see, change, and delete edits), allows deletion of multiple revisions at a time, will show comparisons between the edits when hitting a button, allows you to add/change the edit reason when restoring a post, allows you to turn it on and off for each forum, and has cron job that can auto-prune old posts.
Tarantino wrote:
Thu May 03, 2018 11:54 am
The question should be, will it be better then this one?
https://www.phpbb.com/customise/db/exte ... dit_log_2/
I had not downloaded or looked over that extension. If anyone has, what features does it have that you would like?

Re: [3.2][BETA] Prime Post Revisions

Posted: Thu May 03, 2018 3:25 pm
by Tarantino
I'll compare and get back to you ;) Since I didnt test it yet yours. But for what you explained now, I'm pretty sure its more complete and better then the one I talked about. In any case I'll check it personally.

Re: [3.2][BETA] Prime Post Revisions

Posted: Thu May 03, 2018 6:28 pm
by Tarantino
So, after installation, permissions were added and it was by default activated (good thing). But on Foruns tab it was not enabled for all foruns, and enable 1 by 1 to all foruns is a killer-mood lol

So it would be great if by default it would activate it for all foruns, or at least add a note on the topic so we would know how to edit the extension so it would enable by default, since its more useful for big foruns.

You could added the word "Days" after the number box:
Image

Possible feature: It would be great to been able to see the code like an quick edit button that will provide a quick way to get access to the code without being able to really editing the revision, but it could be handy to have access to the code.

Re: [3.2][BETA] Prime Post Revisions

Posted: Thu May 03, 2018 6:55 pm
by primehalo
Sounds like something went wrong with your installation as it does enable it by default for all forums. If you look at the migration/install_schema.php file which does the database changes you'll see it sets primepostrev_enable to 1:

Code: Select all

			'add_columns'	=> array(
				FORUMS_TABLE => array(
					'primepostrev_enable'		=> array('BOOL', 1),
					'primepostrev_autoprune'	=> array('UINT:8', 0),
				),
I just tried installing it again fresh and it worked, it was enabled by default for all forums and I was able to change the options. Can you check your database and see if those columns were added to the forums table?
Tarantino wrote:
Thu May 03, 2018 6:28 pm
Possible feature: It would be great to been able to see the code like an quick edit button that will provide a quick way to get access to the code without being able to really editing the revision, but it could be handy to have access to the code.
Interesting idea, but for now I'd like to get it tested and make sure everything is working before adding such a feature.

Re: [3.2][BETA] Prime Post Revisions

Posted: Thu May 03, 2018 7:38 pm
by Tarantino
Yup, it was not well uploaded. 1 file missing lol.

I tried again, and it works indeed ;)

Re: [3.2][BETA] Prime Post Revisions

Posted: Sat May 05, 2018 12:33 pm
by spaceace
installed fine and seems to be working without issue

nice work :D

Re: [3.2][BETA] Prime Post Revisions

Posted: Sat May 05, 2018 2:03 pm
by </Solidjeuh>
NL:

Code: Select all

<?php
/**
*
* prime_post_revisions [Dutch]
*
* @copyright (c) 2018 Ken F. Innes IV <https://www.absoluteanime.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
*/

/**
* DO NOT CHANGE
*/
if (!defined('IN_PHPBB'))
{
	exit;
}

if (empty($lang) || !is_array($lang))
{
	$lang = array();
}

// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
//
// Some characters you may want to copy&paste:
// ’ » “ ” …
//

$lang = array_merge($lang, array(
	// Viewing posts
	'PRIMEPOSTREVISIONS_VIEW'				=> 'Bekijk berichten geschiedenis.',	// Text for the link to view the revision history

	// Viewing revisions
	'PRIMEPOSTREVISIONS_VIEWING'			=> 'Bekijkt berichten geschiedenis',
	'PRIMEPOSTREVISIONS_VIEWING_EXPLAIN'	=> 'Op deze pagina vindt u alle versies van de post, te beginnen met de meest recente versie.',
	'PRIMEPOSTREVISIONS_TITLE'				=> 'Bekijkt berichten geschiedenis',
	'PRIMEPOSTREVISIONS_FIRST'				=> 'Origineel bericht',
	'PRIMEPOSTREVISIONS_FINAL'				=> 'Huidig bericht',
	'PRIMEPOSTREVISIONS_COUNT'				=> 'Revisie %d',
	#'PRIMEPOSTREVISIONS_INFO'				=> 'Aangepast door %1$s op %2$s.',
	'PRIMEPOSTREVISIONS_EDIT_BY'			=> 'Aangepast door',
	'PRIMEPOSTREVISIONS_NO_SUBJECT'			=> '[geen onderwerp]',
	'PRIMEPOSTREVISIONS_COMPARE'			=> 'Vergelijk',
	'PRIMEPOSTREVISIONS_VIEW_DENIED'		=> 'U mist de nodige rechten om deze post revisies te bekijken.',

	// Delete a revision
	'PRIMEPOSTREVISIONS_DELETE'				=> 'Verwijder revisie',
	'PRIMEPOSTREVISIONS_DELETE_CONFIRM'		=> 'Weet u zeker dat u deze revisie wilt verwijderen? ',
	'PRIMEPOSTREVISIONS_DELETE_DENIED'		=> 'Je hebt je beschikt niet over voldoende permissies om deze revisie te verwijderen.',
	'PRIMEPOSTREVISIONS_DELETE_FAILED'		=> 'Er is een fout opgetreden bij het verwijderen van de revisie.',
	'PRIMEPOSTREVISIONS_DELETE_SUCCESS'		=> 'De revisie is met succes verwijderd!.',
	'PRIMEPOSTREVISIONS_DELETE_INVALID'		=> 'Geen revisie berichten geselecteerd om te verwijderen.',

	// Delete all revisions
	'PRIMEPOSTREVISIONS_DELETES'			=> 'Verwijder geselecteerde revisie',
	'PRIMEPOSTREVISIONS_DELETES_CONFIRM'	=> 'Weet u zeker dat u deze revisie wilt verwijderen? ',
	'PRIMEPOSTREVISIONS_DELETES_DENIED'		=> 'Je hebt je beschikt niet over voldoende permissies om deze revisie te verwijderen.',
	'PRIMEPOSTREVISIONS_DELETES_FAILED'		=> 'Er is een fout opgetreden bij het verwijderen van de revisie.',
	'PRIMEPOSTREVISIONS_DELETES_SUCCESS'	=> 'De revisie is met succes verwijderd!.',
	'PRIMEPOSTREVISIONS_DELETES_INVALID'	=> 'Geen revisie berichten geselecteerd om te verwijderen.',

	// Restore a revision
	'PRIMEPOSTREVISIONS_RESTORE'			=> 'Revisie herstellen',
	'PRIMEPOSTREVISIONS_RESTORE_CONFIRM'	=> 'Weet je zeker dat je deze revisie wilt herstellen?',
	'PRIMEPOSTREVISIONS_RESTORE_DENIED'		=> 'U mist de nodige rechten om deze revisie te herstellen.',
	'PRIMEPOSTREVISIONS_RESTORE_FAILED'		=> 'Er is een fout opgetreden bij een poging de revisie te herstellen.',
	'PRIMEPOSTREVISIONS_RESTORE_SUCCESS'	=> 'Het bericht is succesvol hersteld.',
));
FR:

Code: Select all

<?php
/**
*
* prime_post_revisions [French]
*
* @copyright (c) 2018 Ken F. Innes IV <https://www.absoluteanime.com>
* @license GNU General Public License, version 2 (GPL-2.0)
*
*/

/**
* DO NOT CHANGE
*/
if (!defined('IN_PHPBB'))
{
	exit;
}

if (empty($lang) || !is_array($lang))
{
	$lang = array();
}

// DEVELOPERS PLEASE NOTE
//
// All language files should use UTF-8 as their encoding and the files must not contain a BOM.
//
// Placeholders can now contain order information, e.g. instead of
// 'Page %s of %s' you can (and should) write 'Page %1$s of %2$s', this allows
// translators to re-order the output of data while ensuring it remains correct
//
// You do not need this where single placeholders are used, e.g. 'Message %d' is fine
// equally where a string contains only two placeholders which are used to wrap text
// in a url you again do not need to specify an order e.g., 'Click %sHERE%s' is fine
//
// Some characters you may want to copy&paste:
// ’ » “ ” …
//

$lang = array_merge($lang, array(
	// Viewing posts
	'PRIMEPOSTREVISIONS_VIEW'				=> 'Voir l’historique.',	// Text for the link to view the revision history

	// Viewing revisions
	'PRIMEPOSTREVISIONS_VIEWING'			=> 'Voir l’historique des éditions',
	'PRIMEPOSTREVISIONS_VIEWING_EXPLAIN'	=> 'Cette page permet de consulter l’historique des éditions.',
	'PRIMEPOSTREVISIONS_TITLE'				=> 'Historique éditions',
	'PRIMEPOSTREVISIONS_FIRST'				=> 'Message initial',
	'PRIMEPOSTREVISIONS_FINAL'				=> 'Dernière édition',
	'PRIMEPOSTREVISIONS_COUNT'				=> 'Édition %d',
	#'PRIMEPOSTREVISIONS_INFO'				=> 'Édité par %1$s le %2$s.',
	'PRIMEPOSTREVISIONS_EDIT_BY'			=> 'Édité par',
	'PRIMEPOSTREVISIONS_NO_SUBJECT'			=> '[sans sujet]',
	'PRIMEPOSTREVISIONS_COMPARE'			=> 'Comparer',
	'PRIMEPOSTREVISIONS_VIEW_DENIED'		=> 'Vous ne disposez pas des autorisations nécessaires pour afficher ces révisions post.',

	// Delete a revision
	'PRIMEPOSTREVISIONS_DELETE'				=> 'Effacer édition',
	'PRIMEPOSTREVISIONS_DELETE_CONFIRM'		=> 'Êtes vous sur de vouloir supprimer cette édition ?',
	'PRIMEPOSTREVISIONS_DELETE_DENIED'		=> 'Vous n’avez pas les permissions nécessaires pour supprimer une édition.',
	'PRIMEPOSTREVISIONS_DELETE_FAILED'		=> 'Une erreur est apparue pendant la suppression de l’édition.',
	'PRIMEPOSTREVISIONS_DELETE_SUCCESS'		=> 'Cette édition à été supprimée avec succès.',
	'PRIMEPOSTREVISIONS_DELETE_INVALID'		=> 'Aucune édition n’a été sélectionnée pour être supprimée.',

	// Delete all revisions
	'PRIMEPOSTREVISIONS_DELETES'			=> 'Effacer les éditions sélectionnées',
	'PRIMEPOSTREVISIONS_DELETES_CONFIRM'	=> 'Êtes vous sur de vouloir supprimer ces éditions ?',
	'PRIMEPOSTREVISIONS_DELETES_DENIED'		=> 'Vous n’avez pas les permissions nécessaires pour supprimer ces éditions.',
	'PRIMEPOSTREVISIONS_DELETES_FAILED'		=> 'Une erreur est apparue pendant la suppression des éditions.',
	'PRIMEPOSTREVISIONS_DELETES_SUCCESS'	=> 'Ces éditions ont été supprimées avec succès.',
	'PRIMEPOSTREVISIONS_DELETES_INVALID'	=> 'Aucune édition n’a été sélectionnée pour être supprimée.',

	// Restore a revision
	'PRIMEPOSTREVISIONS_RESTORE'			=> 'Restaurer la révision',
	'PRIMEPOSTREVISIONS_RESTORE_CONFIRM'	=> 'Êtes-vous sûr de vouloir restaurer cette révision?',
	'PRIMEPOSTREVISIONS_RESTORE_DENIED'		=> 'Vous n’avez pas les autorisations nécessaires pour restaurer cette révision.',
	'PRIMEPOSTREVISIONS_RESTORE_FAILED'		=> 'Une erreur s’est produite lors de la tentative de restauration de la révision.',
	'PRIMEPOSTREVISIONS_RESTORE_SUCCESS'	=> 'Le message a été restauré avec succès.',
));

Re: [3.2][BETA] Prime Post Revisions

Posted: Tue Jun 05, 2018 7:13 pm
by leschek
It seems to be interesting extension. Unfortunately I get this error when I edit very long post:

Code: Select all

General Error
SQL ERROR [ mysqli ]

Data too long for column 'post_text' at row 1 [1406]

SQL

INSERT INTO phpbb3_primepostrev (revision_time, post_id, post_subject, post_text, bbcode_uid, bbcode_bitfield, post_edit_time, post_edit_reason, post_edit_user, post_edit_count, primepost_edit_time, primepost_edit_user, primepost_edit_count) VALUES (....

Re: [3.2][BETA] Prime Post Revisions

Posted: Tue Jun 05, 2018 10:13 pm
by primehalo
Thanks for letting me know about this bug. I have fixed it and released v1.0.0 beta 3.

Re: [3.2][BETA] Prime Post Revisions

Posted: Wed Jun 06, 2018 5:21 pm
by leschek
Thank you for the new version. I test it and unfortunately I get another error when I try to edit very long posts:

Code: Select all

General Error
SQL ERROR [ mysqli ]

Duplicate entry '0' for key 'PRIMARY' [1062]

SQL

INSERT INTO phpbb3_primepostrev (revision_time, post_id, post_subject, post_text, bbcode_uid, bbcode_bitfield, post_edit_time, post_edit_reason, post_edit_user, post_edit_count, primepost_edit_time, primepost_edit_user, primepost_edit_count) VALUES (......

Re: [3.2][BETA] Prime Post Revisions

Posted: Wed Jun 06, 2018 7:45 pm
by primehalo
That bug got introduced in my last update when I forgot to set the auto-increment. I've released v1.0.0 beta 4 which fixes it.