Seite 1 von 1

ACP-Snippets / Zugriff beschleunigen

Verfasst: 04.03.2014 07:22
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.

ACP / Aktualisierung von Styles beschleunigen

Verfasst: 04.03.2014 07:25
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: