File tree Expand file tree Collapse file tree 2 files changed +32
-5
lines changed Expand file tree Collapse file tree 2 files changed +32
-5
lines changed Original file line number Diff line number Diff line change 12
12
use rex_path ;
13
13
use rex_sql ;
14
14
use rex_yform_manager_table_api ;
15
+ use Url \Profile ;
15
16
16
17
/** @var rex_addon $this */
17
18
86
87
*/
87
88
if (rex_addon::get ('url ' )->isAvailable ()) {
88
89
if (false === rex_config::get ('neues ' , 'url_profile ' , false )) {
90
+ $ urlProfileTable = rex::getTable (Profile::TABLE_NAME );
89
91
// Category
90
- $ sql ->setTable (rex:: getTable ( ' url_generator_profile ' ) );
92
+ $ sql ->setTable ($ urlProfileTable );
91
93
$ sql ->setWhere ('table_name = :tn ' , [':tn ' => '1_xxx_rex_neues_category ' ]);
92
94
$ sql ->select ();
93
95
if (0 === $ sql ->getRows ()) {
94
96
$ this ->includeFile (__DIR__ . '/install/url_profile_category.php ' , $ subScriptParams );
95
97
}
96
98
97
99
// Entry
98
- $ sql ->setTable (rex:: getTable ( ' url_generator_profile ' ) );
100
+ $ sql ->setTable ($ urlProfileTable );
99
101
$ sql ->setWhere ('table_name = :tn ' , [':tn ' => '1_xxx_rex_neues_entry ' ]);
100
102
$ sql ->select ();
101
103
if (0 === $ sql ->getRows ()) {
Original file line number Diff line number Diff line change 15
15
*/
16
16
17
17
use FriendsOfRedaxo \Neues \Cronjob \Publish ;
18
+ use Url \Cache ;
19
+ use Url \Profile ;
18
20
19
21
/**
20
22
* Url-Parameter nscope auswerten: unbekannt oder ungültig lösen die
63
65
}
64
66
65
67
try {
66
- $ sql ->setTable (rex::getTable ('url_generator_profile ' ));
67
- $ sql ->setWhere ('table_name LIKE :tn ' , [':tn ' => '1_xxx_rex_neues_% ' ]);
68
- $ sql ->delete ();
68
+ /**
69
+ * In enger Anlehnung an den Originalcode (Profil-Löschen) in der Datei
70
+ * «pages/generator.profiles.php» des Url-Addons.
71
+ * Siehe: if ($func == 'delete' && $id > 0) usw.
72
+ *
73
+ * Funktioniert nur bei aktiviertem Url-Addon. Bei deaktiviertem Url-Addon
74
+ * bleiben die Einträge erhalten.
75
+ */
76
+ $ urlProfileTable = rex::getTable (Profile::TABLE_NAME );
77
+
78
+ $ profiles = $ sql ->setTable ($ urlProfileTable )
79
+ ->setWhere ('table_name LIKE :tn ' , [':tn ' => '1_xxx_rex_neues_% ' ])
80
+ ->select ('id ' )
81
+ ->getArray (fetchType: PDO ::FETCH_COLUMN );
82
+
83
+ foreach ($ profiles as $ profileId ) {
84
+ $ profile = Profile::get ($ profileId );
85
+ if (null !== $ profile ) {
86
+ $ profile ->deleteUrls ();
87
+ }
88
+ $ sql ->setTable ($ urlProfileTable )
89
+ ->setWhere ('id = :id ' , ['id ' => $ profileId ])
90
+ ->delete ();
91
+ }
92
+
93
+ Cache::deleteProfiles ();
69
94
} catch (Throwable $ th ) {
70
95
// void; falls rex_url_generator_profile nicht existiert / Url-Addon fehlt
71
96
}
You can’t perform that action at this time.
0 commit comments