ACP-Snippets / Zugriff beschleunigen

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Antworten
regazer
Mitglied
Beiträge: 278
Registriert: 04.01.2014 16:08

ACP-Snippets / Zugriff beschleunigen

Beitrag von regazer »

Leider ist dieses Forum sehr unübersichtlich, so daß ich nicht genau weiß, wo ich meine Snippets vorstellen kann. Also bitte ggf. verschieben.

Ich habe hier 2 Sachen, die mich immer genervt haben.

Direkter Zugriff zum ACP

Es ist immer wieder lästig. wenn man als Administrator seine eigenen Rechte nochmal bestätigen muß, um ins Admin Control Center (ACP) gelangen zu können.

Lange habe ich überlegt, wie man das umgehen kann :roll: und fand leider auch im Internet nichts darüber. Also habe ich einfach selbst die Quelltexte durchsucht und die passende Stelle gefunden.

Mit dem folgenden Patch erfolgt der Zugriff direkt, also unter Umgehung der Abfrage und deren Auswertung.

Im Verzeichnis adm die Datei index.php öffnen und den folgenden Abschnitt finden:

Code: Alles auswählen

// Have they authenticated (again) as an admin for this session?
if (!isset($user->data['session_admin']) || !$user->data['session_admin'])
{
	login_box('', $user->lang['LOGIN_ADMIN_CONFIRM'], $user->lang['LOGIN_ADMIN_SUCCESS'], true, false);
}

// Is user any type of admin? No, then stop here, each script needs to
// check specific permissions but this is a catchall
if (!$auth->acl_get('a_'))
{
	trigger_error('NO_ADMIN');
}
In die Leerzeile vor dem Abschnitt ein /* und in die Leerzeile danach ein */ einfügen und schon entfällt die lästige Kontrollabfrage. :lol:

Dieser Patch betrifft bei den Versionen phpBB 3.08 bis phpBB 3.0.13 dev jeweils identische Positionen. Ältere phpBB-Versionen habe ich nicht geprüft, aber da wird es sicher ähnlich sein. Wenn zuvor keine anderen Änderungen an der Datei vorgenommen wurden, müssen die entsprechenden Ausklammerungs-Zeichen in die Zeilen 29 und 42 eingefügt werden.
Zuletzt geändert von regazer am 04.03.2014 07:28, insgesamt 2-mal geändert.
Never run a touching system. Automatic updates can be dangerous. :o
To steal ideas from one person is plagiarism. To steal from many is research. :lol:
regazer
Mitglied
Beiträge: 278
Registriert: 04.01.2014 16:08

ACP / Aktualisierung von Styles beschleunigen

Beitrag von regazer »

Aktualisierung von Styles beschleunigen

Die Aktualisierung der Einzelkomponenten von Styles im ACP wird künstlich erschwert, indem nach dem Klick auf "Aktualisieren" (bei Tewmplates, Themes und Grafiksammlungen) immer noch eine zusätzliche Abfrage kommt, ob man dies wirklich tun möchte. Anschließend kommt dann noch eine Meldung, daß der Vorgang erfolgreich durchgeführt wurde und man muß ein weiteres Mal klicken, um zur vorherigen Seite zurück zu gelangen. Warum machen es einem die Entwickler von phpBB unnötig so schwer? :?

Nehmen wir uns also die Datei includes\acp\acp_styles.php vor und suchen nach if (confirm_box(true)) :!: :lol:

Das kommt genau dreimal vor. Ändern wir also diese Zeilen zunächst zu

Code: Alles auswählen

/*						if (confirm_box(true))*/
und suchen dann den jeweiligen else-Zweig. Diese Bereiche müssen dann ebenfalls komplett ausgeklammert werden.

Code: Alles auswählen

  						else
						{
							confirm_box(false, ($template_row['template_storedb']) ? $user->lang['CONFIRM_TEMPLATE_REFRESH'] : $user->lang['CONFIRM_TEMPLATE_CLEAR_CACHE'], build_hidden_fields(array(
								'i'			=> $id,
								'mode'		=> $mode,
								'action'	=> $action,
								'id'		=> $style_id
							)));
						}
wird zu

Code: Alles auswählen

/*						else
						{
							confirm_box(false, ($template_row['template_storedb']) ? $user->lang['CONFIRM_TEMPLATE_REFRESH'] : $user->lang['CONFIRM_TEMPLATE_CLEAR_CACHE'], build_hidden_fields(array(
								'i'			=> $id,
								'mode'		=> $mode,
								'action'	=> $action,
								'id'		=> $style_id
							)));
						} */

Code: Alles auswählen

  						else
						{
							confirm_box(false, $user->lang['CONFIRM_THEME_REFRESH'], build_hidden_fields(array(
								'i'			=> $id,
								'mode'		=> $mode,
								'action'	=> $action,
								'id'		=> $style_id
							)));
						}
wird zu

Code: Alles auswählen

/*						else
						{
							confirm_box(false, $user->lang['CONFIRM_THEME_REFRESH'], build_hidden_fields(array(
								'i'			=> $id,
								'mode'		=> $mode,
								'action'	=> $action,
								'id'		=> $style_id
							)));
						} */

Code: Alles auswählen

  						else
						{
							confirm_box(false, $user->lang['CONFIRM_IMAGESET_REFRESH'], build_hidden_fields(array(
								'i'			=> $id,
								'mode'		=> $mode,
								'action'	=> $action,
								'id'		=> $style_id
							)));
						}
wird zu

Code: Alles auswählen

/*						else
						{
							confirm_box(false, $user->lang['CONFIRM_IMAGESET_REFRESH'], build_hidden_fields(array(
								'i'			=> $id,
								'mode'		=> $mode,
								'action'	=> $action,
								'id'		=> $style_id
							)));
						} */
Damit sind dann schon mal die lästigen Bestätigungsabfragen weg.

Bleibt die Frage, wie man die anderen Meldungen ebenfalls los wird. :roll:
Auch nicht wirklich schwierig.

Vor die folgenden Zeilen jeweils // setzen:
trigger_error($template_refreshed . $user->lang['TEMPLATE_CACHE_CLEARED'] . adm_back_link($this->u_action));
trigger_error($user->lang['THEME_REFRESHED'] . adm_back_link($this->u_action));
trigger_error($user->lang['IMAGESET_REFRESHED'] . adm_back_link($this->u_action));

also so:
// trigger_error($template_refreshed . $user->lang['TEMPLATE_CACHE_CLEARED'] . adm_back_link($this->u_action));
// trigger_error($user->lang['THEME_REFRESHED'] . adm_back_link($this->u_action));
// trigger_error($user->lang['IMAGESET_REFRESHED'] . adm_back_link($this->u_action));

Problem gegessen und verdaut. :lol:

Wie sehen wir jetzt aber, ob alles korrekt vor sich ging? :roll: Am geänderten Inhalt der Adress- umd Statuszeile des Browsers. :ugeek: :oops:
Never run a touching system. Automatic updates can be dangerous. :o
To steal ideas from one person is plagiarism. To steal from many is research. :lol:
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“