Skip to content
This repository was archived by the owner on Feb 8, 2022. It is now read-only.

Commit b62f087

Browse files
authored
Merge pull request #162 from Sterc/feature-137
Adding checkbox allowing bulk redirect removal
2 parents 64cf490 + 37134f1 commit b62f087

File tree

7 files changed

+87
-1
lines changed

7 files changed

+87
-1
lines changed

assets/components/stercseo/js/mgr/widgets/redirects.grid.js

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@ StercSEO.grid.Redirects = function(config) {
33
if (!config.id) {
44
config.id = 'stercseo-grid-redirects';
55
}
6+
7+
this.sm = new Ext.grid.CheckboxSelectionModel();
68
Ext.applyIf(config,{
79
id: config.id
810
,url: StercSEO.config.connectorUrl
@@ -15,7 +17,8 @@ StercSEO.grid.Redirects = function(config) {
1517
,autoHeight: true
1618
,paging: true
1719
,remoteSort: true
18-
,columns: [{
20+
,sm: this.sm
21+
,columns: [this.sm, {
1922
header: _('stercseo.uri_label')
2023
,dataIndex: 'url'
2124
,width: 280
@@ -37,6 +40,9 @@ StercSEO.grid.Redirects = function(config) {
3740
,scope: this
3841
,cls:'primary-button'
3942
,id: 'btn-add-uri'
43+
}, {
44+
text: _('stercseo.uri_remove_bulk'),
45+
handler: this.removeRedirectsFromGrid
4046
},'->',{
4147
xtype: 'modx-combo-context'
4248
,fieldLabel: _('context')
@@ -154,6 +160,24 @@ Ext.extend(StercSEO.grid.Redirects,MODx.grid.Grid,{
154160
});
155161
}
156162

163+
,removeRedirectsFromGrid: function () {
164+
var cs = this.getSelectedAsList();
165+
if (cs === false) return false;
166+
167+
MODx.msg.confirm({
168+
title: _('stercseo.uri_remove_bulk'),
169+
text: _('stercseo.uri_remove_bulk_confirm'),
170+
url: this.config.url,
171+
params: {
172+
action: 'mgr/redirect/removeMultiple',
173+
redirects: cs
174+
},
175+
listeners: {
176+
'success': { fn:function() { this.refresh(); }, scope:this }
177+
}
178+
});
179+
}
180+
157181
,filter: function (tf, nv, ov) {
158182
var store = this.getStore();
159183
var key = tf.getName();

core/components/stercseo/lexicon/de/default.inc.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,10 @@
9797
$_lang['stercseo.uri_update'] = 'Weiterleitung bearbeiten';
9898
$_lang['stercseo.uri_remove'] = 'Weiterleitung löschen';
9999
$_lang['stercseo.uri_remove_confirm'] = 'Sind Sie sicher, dass Sie diese Weiterleitung löschen wollen?';
100+
$_lang['stercseo.uri_remove_bulk'] = 'Remove selected redirects';
101+
$_lang['stercseo.uri_remove_bulk_confirm'] = 'Are you sure you want to remove the selected redirects?';
102+
$_lang['stercseo.uri_remove_bulk.redirect_err_ns'] = 'Redirect not specified';
103+
100104
$_lang['stercseo.migrate'] = 'Weiterleitung migrieren';
101105
$_lang['stercseo.migrate_desc'] = 'Sie können Ihre Weiterleitung (SEO Tab version 1.2.2 und niedriger) von Ressourcen Eigenschaften zu eigenständigen seoURL Objekten migireren. Dies wird automatisch die Daten aller Weiterleitungen für Sie migrieren. Es ist keine weitere Aktion notwendig. Bitte lassen Sie diese Seite geöffnet, damit SEO Tab die Migrierung korrekt beenden kann.';
102106
$_lang['stercseo.migrate_alert'] = 'Ihre SEO Tab Weiterleitungen müssen migriert werden, bitte klicken Sie hier um die Migrierungs Seite anzuzeigen.';

core/components/stercseo/lexicon/en/default.inc.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,10 @@
9696
$_lang['stercseo.uri_update'] = 'Update redirect';
9797
$_lang['stercseo.uri_remove'] = 'Remove redirect';
9898
$_lang['stercseo.uri_remove_confirm'] = 'Are you sure you want to remove this redirect?';
99+
$_lang['stercseo.uri_remove_bulk'] = 'Remove selected redirects';
100+
$_lang['stercseo.uri_remove_bulk_confirm'] = 'Are you sure you want to remove the selected redirects?';
101+
$_lang['stercseo.uri_remove_bulk.redirect_err_ns'] = 'Redirect not specified';
102+
99103
$_lang['stercseo.migrate'] = 'Migrate redirects';
100104
$_lang['stercseo.migrate_desc'] = 'Upgrading to 2.0.0 from 1.* is highly recommended, but it does introduce some risks. SEO Tab 1.* stored the 301 redirects into the properties-column of a resource. SEO Tab 2 stores it in a seperate database table. This means a migration is needed. The migration-process is memory-intensive and might take a very long time, so just let it roll until it mentions a finished migration.<br /><br />The migration is running while you read this. This page will automatically migrate all the redirects for you, so no action is required, but please keep this page open for SEO Tab to correctly handle the migration process.';
101105
$_lang['stercseo.migrate_alert'] = 'SEO Tab was updated, but your 301 redirects need to be migrated. Click here to start the migration.';

core/components/stercseo/lexicon/fr/default.inc.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,10 @@
9696
$_lang['stercseo.uri_update'] = 'Mettre à jour';
9797
$_lang['stercseo.uri_remove'] = 'Supprimer';
9898
$_lang['stercseo.uri_remove_confirm'] = 'Êtes-vous sûr de vouloir supprimer cette redirection ?';
99+
$_lang['stercseo.uri_remove_bulk'] = 'Remove selected redirects';
100+
$_lang['stercseo.uri_remove_bulk_confirm'] = 'Are you sure you want to remove the selected redirects?';
101+
$_lang['stercseo.uri_remove_bulk.redirect_err_ns'] = 'Redirect not specified';
102+
99103
$_lang['stercseo.migrate'] = 'Migrer les redirections';
100104
$_lang['stercseo.migrate_desc'] = 'Vous pouvez migrez vos redirections (des versions 1.2.2 et antérieures) des propriétés de ressources vers les objets seoUrl. Cette page migrera automatiquement les redirections, aucune action de votre part n\'est requise, mais veuillez garder cette page ouverte afin que SEO Tab puisse gérer correctement le processus de migration.';
101105
$_lang['stercseo.migrate_alert'] = 'Vos redirections ont besoin d\'être migrées. Cliquez ici pour vous rendre à la page de migration.';

core/components/stercseo/lexicon/nl/default.inc.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,10 @@
9696
$_lang['stercseo.uri_update'] = 'Update redirect';
9797
$_lang['stercseo.uri_remove'] = 'Verwijder redirect';
9898
$_lang['stercseo.uri_remove_confirm'] = 'Weet je zeker dat je deze redirect wil verwijderen?';
99+
$_lang['stercseo.uri_remove_bulk'] = 'Verwijder geselecteerde redirects';
100+
$_lang['stercseo.uri_remove_bulk_confirm'] = 'Weet je zeker dat je de geselecteerde redirects wilt verwijderen?';
101+
$_lang['stercseo.uri_remove_bulk.redirect_err_ns'] = 'Redirect niet gespecificeerd';
102+
99103
$_lang['stercseo.migrate'] = 'Migreer redirects';
100104
$_lang['stercseo.migrate_desc'] = 'Hier kun je je redirects (SEO Tab versie 1.2.2 en ouder) migreren van resource properties naar seoUrl objects. Deze pagina migreert al je redirects automatisch, een handeling is dus niet vereist. Houd a.u.b. wel deze pagina open zodat SEO Tab het migratieproces correct kan afhandelen.';
101105
$_lang['stercseo.migrate_alert'] = 'Je SEO Tab redirects moeten worden gemigreerd. Klik hier om de migratie te starten.';

core/components/stercseo/lexicon/ru/default.inc.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,10 @@
9696
$_lang['stercseo.uri_update'] = 'Обновить редирект';
9797
$_lang['stercseo.uri_remove'] = 'Удалить редирект';
9898
$_lang['stercseo.uri_remove_confirm'] = 'Вы действительно хотите удалить этот редирект?';
99+
$_lang['stercseo.uri_remove_bulk'] = 'Remove selected redirects';
100+
$_lang['stercseo.uri_remove_bulk_confirm'] = 'Are you sure you want to remove the selected redirects?';
101+
$_lang['stercseo.uri_remove_bulk.redirect_err_ns'] = 'Redirect not specified';
102+
99103
$_lang['stercseo.migrate'] = 'Миграция редиректа';
100104
$_lang['stercseo.migrate_desc'] = 'Здесь вы можете перенести свои редиректы (SEO Tab версии 1.2.2 и ниже) из свойств ресурса в объекты seoUrl. Эта страница будет автоматически переносить все перенаправления для вас, поэтому никаких действий не требуется, но пожалуйста, держите эту страницу открытой для SEO Tab, чтобы правильно обрабатывать процесс миграции.';
101105
$_lang['stercseo.migrate_alert'] = 'Редиректы вашей SEO-страницы необходимо перенести. Нажмите здесь, чтобы перейти на страницу перехода.';
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<?php
2+
include_once __DIR__ . '/remove.class.php';
3+
/**
4+
* Remove multiple redirects
5+
*
6+
* @param string $redirects Comma-separated redirect ids
7+
*/
8+
9+
class StercSeoRemoveMultipleProcessor extends StercSeoRemoveProcessor
10+
{
11+
public $redirects = array();
12+
13+
public function initialize()
14+
{
15+
$redirects = $this->getProperty('redirects', '');
16+
if (empty($redirects)) {
17+
return $this->modx->lexicon('stercseo.uri_remove_bulk.redirect_err_ns');
18+
}
19+
$this->redirects = explode(',', $redirects);
20+
21+
return true;
22+
}
23+
24+
public function process()
25+
{
26+
foreach ($this->redirects as $redirect) {
27+
$this->setProperty('id', $redirect);
28+
$initialized = parent::initialize();
29+
if ($initialized === true) {
30+
$process = parent::process();
31+
if (!$process['success']) {
32+
return $process;
33+
}
34+
} else {
35+
return $this->failure($initialized);
36+
}
37+
}
38+
return $this->success();
39+
}
40+
}
41+
42+
return 'StercSeoRemoveMultipleProcessor';

0 commit comments

Comments
 (0)