31
0
mirror of https://github.com/joomla-extensions/patchtester.git synced 2024-06-03 14:10:47 +00:00

Fixed revert/applying patch methods and added language constants.

This commit is contained in:
datsepp 2019-09-11 11:41:01 +02:00
parent 16c415872c
commit 84cb1b369b
5 changed files with 188 additions and 132 deletions

View File

@ -75,11 +75,11 @@ abstract class Helper
$options = new Registry;
// Set CI server address for the request
$options->set('server.url', 'https://joomla-dev.lukaskimpel.com');
$options->set('server.url', 'https://stuff.gramma.name');
// Set name of the zip archive
$options->set('zip.name', 'build.zip');
$options->set('zip.deleted_log', 'deleted_files.log');
$options->set('zip.log.name', 'deleted_files.log');
// Set temp archive for extracting and downloading files
$options->set('folder.temp', Factory::getConfig()->get('tmp_path'));

View File

@ -196,11 +196,13 @@ class PullModel extends AbstractModel
Folder::create($ciSettings->get('folder.temp'));
}
$tempPath = $ciSettings->get('folder.temp') . "/$id";
$backupsPath = $ciSettings->get('folder.backups') . "/$id";
$deletedFilesPath = $tempPath . '/' . $ciSettings->get('zip.deleted_log');
$zipPath = $tempPath . '/' . $ciSettings->get('zip.name');
$serverPath = sprintf($ciSettings->get('zip.url'), $id);
$tempPath = $ciSettings->get('folder.temp') . "/$id";
$backupsPath = $ciSettings->get('folder.backups') . "/$id";
$delLogPath = $tempPath . '/' . $ciSettings->get('zip.log.name');
$zipPath = $tempPath . '/' . $ciSettings->get('zip.name');
$serverZipPath = sprintf($ciSettings->get('zip.url'), $id);
// Patch has already been applied
if (file_exists($backupsPath))
@ -209,7 +211,7 @@ class PullModel extends AbstractModel
}
// Check if zip folder exists on server
$serverHeaders = @get_headers($serverPath);
$serverHeaders = @get_headers($serverZipPath);
if (!$serverHeaders || $serverHeaders[0] != 'HTTP/1.1 200 OK')
{
@ -217,7 +219,7 @@ class PullModel extends AbstractModel
}
Folder::create($tempPath);
file_put_contents($zipPath, fopen($serverPath, "r"));
file_put_contents($zipPath, fopen($serverZipPath, "r"));
// Check if zip folder could have been downloaded
if (!file_exists($zipPath))
@ -234,49 +236,72 @@ class PullModel extends AbstractModel
throw new \RuntimeException(Text::_('COM_PATCHTESTER_ZIP_EXTRACT_FAILED'));
}
// Get a list of files from folder and deleted.log
// remove zip to avoid get listing afterwards
File::delete($zipPath);
// get files from deleted_logs
$deletedFiles = file($delLogPath);
// remove deleted_logs to avoid get listing afterwards
File::delete($delLogPath);
// retrieve all files and merge them into one array
$files = Folder::files($tempPath, null, true, true);
$files = str_replace(Path::clean("$tempPath\\"), '', $files);
$deletedFiles = file($deletedFilesPath);
$files = array_merge($files, $deletedFiles);
Folder::create($backupsPath);
// Moves existent files to backup and replace them or creates new one if they don't exist
foreach ($files as $file)
foreach ($files as $key => $file)
{
$filePath = explode("\\", $file);
array_pop($filePath);
$filePath = implode("\\", $filePath);
if (file_exists(JPATH_ROOT . "/$file"))
try
{
// Create directories if they don't exist until file
if (!file_exists("$backupsPath/$filePath"))
$filePath = explode("\\", $file);
array_pop($filePath);
$filePath = implode("\\", $filePath);
// deleted_logs returns files as well as folder, if value is folder, unset and skip
if (is_dir(JPATH_ROOT . "/$file"))
{
Folder::create("$backupsPath/$filePath");
unset($files[$key]);
continue;
}
File::move(JPATH_ROOT . "/$file", "$backupsPath/$file");
}
if (file_exists(JPATH_ROOT . "/$file"))
{
// Create directories if they don't exist until file
if (!file_exists("$backupsPath/$filePath"))
{
Folder::create("$backupsPath/$filePath");
}
// Create directories if they don't exist until file
if (!file_exists(JPATH_ROOT . "/$filePath"))
{
Folder::create(JPATH_ROOT . "/$filePath");
}
File::move(JPATH_ROOT . "/$file", "$backupsPath/$file");
}
if (file_exists("$tempPath/$file"))
// Create directories if they don't exist until file
if (!file_exists(JPATH_ROOT . "/$filePath") || !is_dir(JPATH_ROOT . "/$filePath"))
{
Folder::create(JPATH_ROOT . "/$filePath");
}
if (file_exists("$tempPath/$file"))
{
File::copy("$tempPath/$file", JPATH_ROOT . "/$file");
}
}
catch(\RuntimeException $e)
{
File::copy("$tempPath/$file", JPATH_ROOT . "/$file");
Folder::delete($tempPath);
Folder::move($backupsPath, $backupsPath . "_failed");
throw new \RuntimeException(Text::sprintf('COM_PATCHTESTER_FAILED_APPLYING_PATCH', $file, $e->getMessage()));
}
}
// Clear temp folder and store applied patch in database
Folder::delete($tempPath);
$this->saveAppliedPatch($id, $files, $sha);
$this->saveAppliedPatch($id, $files);
// Change the media version
$version = new Version;
@ -586,31 +611,44 @@ class PullModel extends AbstractModel
foreach ($files as $file)
{
// Delete file from root of it exists
if (file_Exists(JPATH_ROOT . "/$file"))
try
{
$filePath = explode("\\", $file);
array_pop($filePath);
$filePath = implode("\\", $filePath);
File::delete(JPATH_ROOT . "/$file");
// If folder is empty, remove it as well
if (count(glob(JPATH_ROOT . "/$filePath/*")) === 0)
// Delete file from root of it exists
if (file_Exists(JPATH_ROOT . "/$file"))
{
Folder::delete(JPATH_ROOT . "/$filePath");
File::delete(JPATH_ROOT . "/$file");
// Move from backup, if it exists there
if (file_exists("$backupsPath/$file"))
{
File::move("$backupsPath/$file", JPATH_ROOT . "/$file");
}
// If folder is empty, remove it as well
if (count(glob(JPATH_ROOT . "/$filePath/*")) === 0)
{
Folder::delete(JPATH_ROOT . "/$filePath");
}
}
// Move from backup, if it exists there
if (file_exists("$backupsPath/$file"))
// Move from backup, if file exists there - got deleted by patch
elseif (file_exists("$backupsPath/$file"))
{
if (!file_exists(JPATH_ROOT . "/$filePath"))
{
Folder::create(JPATH_ROOT . "/$filePath");
}
File::move("$backupsPath/$file", JPATH_ROOT . "/$file");
}
}
// Move from backup, if file exists there - got deleted by patch
elseif (file_exists("$backupsPath/$file"))
catch(\RuntimeException $e)
{
File::move("$backupsPath/$file", JPATH_ROOT . "/$file");
throw new \RuntimeException(Text::sprintf('COM_PATCHTESTER_FAILED_REVERT_PATCH', $file, $e->getMessage()));
}
}

View File

@ -3,92 +3,99 @@
; License GNU General Public License version 2 or later
; Note : All ini files need to be saved as UTF-8
COM_PATCHTESTER="Joomla! Patch Tester"
COM_PATCHTESTER_40_WARNING="Solange Joomla! 4.0 in der Entwicklung ist, muss der Patch-Tester als experimentell angesehen werden, da Änderungen in Joomla, einschließlich des in einem Patch enthaltenen Codes, möglicherweise nicht rückwärts-kompatibel sind."
COM_PATCHTESTER_API_LIMIT_ACTION="Das Github API Limit für diese Aktion wurde erreicht. Es konnte keine Verbindung zu Github aufgebaut werden um die angeforderte Aktion anzuführen. Das Limit wird um %s zurückgesetzt"
COM_PATCHTESTER_API_LIMIT_LIST="Das Github API Limit für diese Aktion wurde erreicht. Es konnte keine Verbindung zu Github aufgebaut werden um die Daten zu aktualisieren. Das Limit wird um %s zurückgesetzt"
COM_PATCHTESTER_APPLIED="Angewendet"
COM_PATCHTESTER_APPLIED_COMMIT_SHA="Angewandter Commit SHA: %s"
COM_PATCHTESTER_APPLY_OK="Patch erfolgreich angewendet"
COM_PATCHTESTER_APPLY_PATCH="Patch installieren"
COM_PATCHTESTER_BRANCH="Versionszweig"
COM_PATCHTESTER_CONFIGURATION="Joomla! Patch-Tester Einstellungen"
COM_PATCHTESTER_CONFIRM_RESET="Das Zurücksetzen versucht, alle installierten Patches rückgängig zu machen. Dabei werden alle Backup-Dateien entfernt. Dies könnte dazu führen, dass die Umgebung nicht mehr stabil ist. Sind Sie sicher, dass Sie fortfahren möchten?"
COM_PATCHTESTER_CONFLICT_S="Der Patch konnte nicht installiert werden, weil es einen Konflikt mit einem anderen Patch gibt: %s"
COM_PATCHTESTER_COULD_NOT_CONNECT_TO_GITHUB="Keine Verbindung zu GitHub: %s"
COM_PATCHTESTER_ERROR_APPLIED_PATCHES="Daten von GitHub können nicht abgerufen werden, solange Patches installiert sind. Entfernen Sie bitte die Patches, bevor Sie fortfahren."
COM_PATCHTESTER_ERROR_CANNOT_COPY_FILE="Die Datei %1$s konnte nicht nach %2$s kopiert werden."
COM_PATCHTESTER_ERROR_CANNOT_DELETE_FILE="Die Datei %s kann nicht gelöscht werden."
COM_PATCHTESTER_ERROR_CANNOT_WRITE_FILE="Die Datei %s kann nicht geschrieben werden."
COM_PATCHTESTER_ERROR_GITHUB_FETCH="Fehler beim Abrufen der Patches von GitHub: %s"
COM_PATCHTESTER_ERROR_INSERT_DATABASE="Fehler beim Eintragen der Patches in die Datenbank: %s"
COM_PATCHTESTER_ERROR_MODEL_NOT_FOUND="Model-Klasse %s nicht gefunden."
COM_PATCHTESTER_ERROR_READING_DATABASE_TABLE="%1$s - Fehler beim Abrufen von Tabellendaten (%2$s)"
COM_PATCHTESTER_ERROR_TRUNCATING_PULLS_TABLE="Fehler beim Leeren der Pulls-Tabelle: %s"
COM_PATCHTESTER_ERROR_TRUNCATING_TESTS_TABLE="Fehler beim Leeren der Tests-Tabelle %s"
COM_PATCHTESTER_ERROR_UNSUPPORTED_ENCODING="Die Patch-Dateien sind in mit einem nicht unterstützten Format codiert."
COM_PATCHTESTER_ERROR_VIEW_NOT_FOUND="Ansicht nicht gefunden [Name, Format]: %1$s, %2$s"
COM_PATCHTESTER_FETCH_AN_ERROR_HAS_OCCURRED="Fehler beim Abrufen der Daten von GitHub."
COM_PATCHTESTER_FETCH_COMPLETE_CLOSE_WINDOW="Alle Daten wurden abgerufen. Schließen Sie bitte dieses Popup um die Seite neu zu laden."
COM_PATCHTESTER_FETCH_INITIALIZING="Vorbereitungen für das Abrufen der Daten von GitHub"
COM_PATCHTESTER_FETCH_INITIALIZING_DESCRIPTION="Überprüfe die Vorbereitungen für den Datenabruf. Bitte haben Sie etwas Geduld."
COM_PATCHTESTER_FETCH_PAGE_NUMBER="Verarbeite Seite %s der GitHub-Daten"
COM_PATCHTESTER_FETCH_PAGE_NUMBER_OF_TOTAL="Verarbeite Seite %1$s von %2$s der GitHub-Daten"
COM_PATCHTESTER_FETCH_PROCESSING="Verarbeite Daten von GitHub"
COM_PATCHTESTER_FETCH_SUCCESSFUL="Patches wurden erfolgreich abgerufen"
COM_PATCHTESTER_FIELD_GH_AUTH_DESC="Wähle die 'Anmeldeinformationen' für die Authentifizierung durch Deinen GitHub Usernamen und Passwort oder 'Token' für die Verwendung eines GitHub API Token"
COM_PATCHTESTER_FIELD_GH_AUTH_LABEL="GitHub Authentifizierungs-Methode"
COM_PATCHTESTER_FIELD_GH_AUTH_OPTION_CREDENTIALS="Anmeldeinformationen"
COM_PATCHTESTER_FIELD_GH_AUTH_OPTION_TOKEN="Token"
COM_PATCHTESTER_FIELD_GH_PASSWORD_LABEL="GitHub-Passwort"
COM_PATCHTESTER_FIELD_GH_PASSWORD_DESC="Passwort für das im 'GitHub Konto' eingetragene Benutzerkonto. Beachte, dass für Konten mit Zwei-Faktor-Authentifizierung auch ein Token generiert werden muss."
COM_PATCHTESTER_FIELD_GH_TOKEN_DESC="Verwenden Sie dieses Feld, um ein GitHub API-Token anstelle von Benutzernamen und Passwort anzugeben. Beachten Sie, dass dies erforderlich ist, wenn Ihr Konto Zwei-Faktor-Authentifizierung aktiviert hat."
COM_PATCHTESTER_FIELD_GH_TOKEN_LABEL="GitHub-Token"
COM_PATCHTESTER_FIELD_GH_USER_LABEL="GitHub Benutzername"
COM_PATCHTESTER_FIELD_GH_USER_DESC="Name des GitHub Kontos, das für die Authentifizierung des API genutzt wird."
COM_PATCHTESTER_FIELD_ORG_LABEL="Projektinhaber"
COM_PATCHTESTER_FIELD_ORG_DESC="Benutzername oder Organisation auf Github, welcher die Pull Requests überwachen soll."
COM_PATCHTESTER_FIELD_REPO_LABEL="Individuelle Projekt-Repository"
COM_PATCHTESTER_FIELD_REPO_DESC="Name des GitHub Repositorys, dessen Pull Requests überwacht werden."
COM_PATCHTESTER_FIELD_REPOSITORY_DESC="Verfügbare Joomla! Repositories. Wähle um die Organisation und die Repository Feldwerte automatisch zu füllen."
COM_PATCHTESTER_FIELD_REPOSITORY_LABEL="GitHub Repository"
COM_PATCHTESTER_FIELD_REPOSITORY_OPTION_JOOMLA_CMS="Joomla! CMS"
COM_PATCHTESTER_FIELD_REPOSITORY_OPTION_PATCHTESTER="Joomla! Patch-Tester Komponente"
COM_PATCHTESTER_FIELD_REPOSITORY_OPTION_INSTALL_FROM_WEB="Joomla! Webkataloginstallations-Plugin"
COM_PATCHTESTER_FIELD_REPOSITORY_OPTION_WEBLINKS="Joomla! Weblinks-Paket"
COM_PATCHTESTER_FIELD_REPOSITORY_CUSTOM="Benutzerdefiniert"
COM_PATCHTESTER_FIELDSET_REPOSITORIES_DESC="Konfigurationswerte für GitHub Repository"
COM_PATCHTESTER_FIELDSET_REPOSITORIES_LABEL="GitHub Repository"
COM_PATCHTESTER_FIELDSET_AUTHENTICATION_DESC="Konfigurationswerte für GitHub Authentifizierung"
COM_PATCHTESTER_FIELDSET_AUTHENTICATION_LABEL="GitHub Authentifizierung"
COM_PATCHTESTER_FILE_DELETED_DOES_NOT_EXIST_S="Die zu löschende Datei existiert nicht: %s"
COM_PATCHTESTER_FILE_MODIFIED_DOES_NOT_EXIST_S="Die zu ändernde Datei existiert nicht: %s"
COM_PATCHTESTER_FILTER_APPLIED_PATCHES="Angewendete Patches filtern"
COM_PATCHTESTER_FILTER_BRANCH="Versionszweig filtern"
COM_PATCHTESTER_FILTER_RTC_PATCHES="RTC Patches filtern"
COM_PATCHTESTER_FILTER_SEARCH_DESCRIPTION="Die Liste nach Titel oder mit 'id:' nach Pull Request ID durchsuchen."
COM_PATCHTESTER_GITHUB="GitHub"
COM_PATCHTESTER_HEADING_FETCH_DATA="Rufe GitHub Daten ab"
COM_PATCHTESTER_JISSUE="J! Issue"
COM_PATCHTESTER_JISSUES="Issue-Tracker"
COM_PATCHTESTER_PULL_ID="Pull-ID"
COM_PATCHTESTER_NO_CREDENTIALS="In den Optionen wurden noch keine Benutzerdaten eingetragen. Deshalb können höchstens 60 Anfragen pro Stunde an das Github API gestellt werden. Mit Benutzerdaten sind bis zu 5.000 Anfragen pro Stunde möglich."
COM_PATCHTESTER_NO_FILES_TO_PATCH="Es sind keine Dateien aus diesem Pull Request zu patchen. Dies kann bedeuten, dass die Dateien des Pull Requests in Ihrer Installation nicht vorhanden sind."
COM_PATCHTESTER_NO_ITEMS="Es wurden noch keine Daten von Github abgerufen. Klicken Sie auf 'Daten abrufen' um die aktuellen Daten von Github zu holen."
COM_PATCHTESTER_NOT_APPLIED="Nicht angewendet"
COM_PATCHTESTER_NOT_RTC="Nicht RTC"
COM_PATCHTESTER_READY_TO_COMMIT="Ready to Commit"
COM_PATCHTESTER_REPO_IS_GONE="Der Patch konnte nicht angewendet werden, weil das Repository fehlt"
COM_PATCHTESTER_REQUIREMENT_HTTPS="HTTPS Wrapper müssen aktiviert sein"
COM_PATCHTESTER_REQUIREMENT_OPENSSL="Die OpenSSL-Erweiterung muss installiert und in der php.ini aktivert sein"
COM_PATCHTESTER_REQUIREMENTS_HEADING="Die Vorraussetzungen sind nicht erfüllt"
COM_PATCHTESTER_REQUIREMENTS_NOT_MET="Ihr System erfüllt nicht die Vorraussetzungen um den Patch-Tester auszuführen:"
COM_PATCHTESTER_RESET_HAS_ERRORS="Die Daten wurden zurück gesetzt. Leider sind dabei Fehler aufgetreten. Bitte entferne alle .txt Dateien im Verzeichnis '%1$s' und leere die Datenbanktabelle '%2$s'."
COM_PATCHTESTER_RESET_OK="Die Daten wurden erfolgreich zurück gesetzt."
COM_PATCHTESTER_REVERT_OK="Der Patch wurde erfolgreich entfernt"
COM_PATCHTESTER_REVERT_PATCH="Patch entfernen"
COM_PATCHTESTER_RTC="RTC"
COM_PATCHTESTER_TEST_THIS_PATCH="Diesen Patch testen"
COM_PATCHTESTER_TOOLBAR_FETCH_DATA="Daten abrufen"
COM_PATCHTESTER_TOOLBAR_RESET="Zurücksetzen"
COM_PATCHTESTER = "Joomla! Patch Tester"
COM_PATCHTESTER_40_WARNING = "Solange Joomla! 4.0 in der Entwicklung ist, muss der Patch-Tester als experimentell angesehen werden, da Änderungen in Joomla, einschließlich des in einem Patch enthaltenen Codes, möglicherweise nicht rückwärts-kompatibel sind."
COM_PATCHTESTER_API_LIMIT_ACTION = "Das Github API Limit für diese Aktion wurde erreicht. Es konnte keine Verbindung zu Github aufgebaut werden um die angeforderte Aktion anzuführen. Das Limit wird um %s zurückgesetzt"
COM_PATCHTESTER_API_LIMIT_LIST = "Das Github API Limit für diese Aktion wurde erreicht. Es konnte keine Verbindung zu Github aufgebaut werden um die Daten zu aktualisieren. Das Limit wird um %s zurückgesetzt"
COM_PATCHTESTER_APPLIED = "Angewendet"
COM_PATCHTESTER_APPLIED_COMMIT_SHA = "Angewandter Commit SHA: %s"
COM_PATCHTESTER_APPLY_OK = "Patch erfolgreich angewendet"
COM_PATCHTESTER_APPLY_PATCH = "Patch installieren"
COM_PATCHTESTER_BRANCH = "Versionszweig"
COM_PATCHTESTER_CONFIGURATION = "Joomla! Patch-Tester Einstellungen"
COM_PATCHTESTER_CONFIRM_RESET = "Das Zurücksetzen versucht, alle installierten Patches rückgängig zu machen. Dabei werden alle Backup-Dateien entfernt. Dies könnte dazu führen, dass die Umgebung nicht mehr stabil ist. Sind Sie sicher, dass Sie fortfahren möchten?"
COM_PATCHTESTER_CONFLICT_S = "Der Patch konnte nicht installiert werden, weil es einen Konflikt mit einem anderen Patch gibt: %s"
COM_PATCHTESTER_COULD_NOT_CONNECT_TO_GITHUB = "Keine Verbindung zu GitHub: %s"
COM_PATCHTESTER_ERROR_APPLIED_PATCHES = "Daten von GitHub können nicht abgerufen werden, solange Patches installiert sind. Entfernen Sie bitte die Patches, bevor Sie fortfahren."
COM_PATCHTESTER_ERROR_CANNOT_COPY_FILE = "Die Datei %1$s konnte nicht nach %2$s kopiert werden."
COM_PATCHTESTER_ERROR_CANNOT_DELETE_FILE = "Die Datei %s kann nicht gelöscht werden."
COM_PATCHTESTER_ERROR_CANNOT_WRITE_FILE = "Die Datei %s kann nicht geschrieben werden."
COM_PATCHTESTER_ERROR_GITHUB_FETCH = "Fehler beim Abrufen der Patches von GitHub: %s"
COM_PATCHTESTER_ERROR_INSERT_DATABASE = "Fehler beim Eintragen der Patches in die Datenbank: %s"
COM_PATCHTESTER_ERROR_MODEL_NOT_FOUND = "Model-Klasse %s nicht gefunden."
COM_PATCHTESTER_ERROR_READING_DATABASE_TABLE = "%1$s - Fehler beim Abrufen von Tabellendaten (%2$s)"
COM_PATCHTESTER_ERROR_TRUNCATING_PULLS_TABLE = "Fehler beim Leeren der Pulls-Tabelle: %s"
COM_PATCHTESTER_ERROR_TRUNCATING_TESTS_TABLE = "Fehler beim Leeren der Tests-Tabelle %s"
COM_PATCHTESTER_ERROR_UNSUPPORTED_ENCODING = "Die Patch-Dateien sind in mit einem nicht unterstützten Format codiert."
COM_PATCHTESTER_ERROR_VIEW_NOT_FOUND = "Ansicht nicht gefunden [Name, Format]: %1$s, %2$s"
COM_PATCHTESTER_FAILED_APPLYING_PATCH="Der Patch konnte nicht angewendet werden aufgrund eines Problems mit %1$s. %2$s"
COM_PATCHTESTER_FAILED_REVERT_PATCH="Der Patch konnte nicht zurückgesetzt werden aufgrund eines Problems mit %1$s. %2$s"
COM_PATCHTESTER_FETCH_AN_ERROR_HAS_OCCURRED = "Fehler beim Abrufen der Daten von GitHub."
COM_PATCHTESTER_FETCH_COMPLETE_CLOSE_WINDOW = "Alle Daten wurden abgerufen. Schließen Sie bitte dieses Popup um die Seite neu zu laden."
COM_PATCHTESTER_FETCH_INITIALIZING = "Vorbereitungen für das Abrufen der Daten von GitHub"
COM_PATCHTESTER_FETCH_INITIALIZING_DESCRIPTION = "Überprüfe die Vorbereitungen für den Datenabruf. Bitte haben Sie etwas Geduld."
COM_PATCHTESTER_FETCH_PAGE_NUMBER = "Verarbeite Seite %s der GitHub-Daten"
COM_PATCHTESTER_FETCH_PAGE_NUMBER_OF_TOTAL = "Verarbeite Seite %1$s von %2$s der GitHub-Daten"
COM_PATCHTESTER_FETCH_PROCESSING = "Verarbeite Daten von GitHub"
COM_PATCHTESTER_FETCH_SUCCESSFUL = "Patches wurden erfolgreich abgerufen"
COM_PATCHTESTER_FIELD_GH_AUTH_DESC = "Wähle die 'Anmeldeinformationen' für die Authentifizierung durch Deinen GitHub Usernamen und Passwort oder 'Token' für die Verwendung eines GitHub API Token"
COM_PATCHTESTER_FIELD_GH_AUTH_LABEL = "GitHub Authentifizierungs-Methode"
COM_PATCHTESTER_FIELD_GH_AUTH_OPTION_CREDENTIALS = "Anmeldeinformationen"
COM_PATCHTESTER_FIELD_GH_AUTH_OPTION_TOKEN = "Token"
COM_PATCHTESTER_FIELD_GH_PASSWORD_LABEL = "GitHub-Passwort"
COM_PATCHTESTER_FIELD_GH_PASSWORD_DESC = "Passwort für das im 'GitHub Konto' eingetragene Benutzerkonto. Beachte, dass für Konten mit Zwei-Faktor-Authentifizierung auch ein Token generiert werden muss."
COM_PATCHTESTER_FIELD_GH_TOKEN_DESC = "Verwenden Sie dieses Feld, um ein GitHub API-Token anstelle von Benutzernamen und Passwort anzugeben. Beachten Sie, dass dies erforderlich ist, wenn Ihr Konto Zwei-Faktor-Authentifizierung aktiviert hat."
COM_PATCHTESTER_FIELD_GH_TOKEN_LABEL = "GitHub-Token"
COM_PATCHTESTER_FIELD_GH_USER_LABEL = "GitHub Benutzername"
COM_PATCHTESTER_FIELD_GH_USER_DESC = "Name des GitHub Kontos, das für die Authentifizierung des API genutzt wird."
COM_PATCHTESTER_FIELD_ORG_LABEL = "Projektinhaber"
COM_PATCHTESTER_FIELD_ORG_DESC = "Benutzername oder Organisation auf Github, welcher die Pull Requests überwachen soll."
COM_PATCHTESTER_FIELD_REPO_LABEL = "Individuelle Projekt-Repository"
COM_PATCHTESTER_FIELD_REPO_DESC = "Name des GitHub Repositorys, dessen Pull Requests überwacht werden."
COM_PATCHTESTER_FIELD_REPOSITORY_DESC = "Verfügbare Joomla! Repositories. Wähle um die Organisation und die Repository Feldwerte automatisch zu füllen."
COM_PATCHTESTER_FIELD_REPOSITORY_LABEL = "GitHub Repository"
COM_PATCHTESTER_FIELD_REPOSITORY_OPTION_JOOMLA_CMS = "Joomla! CMS"
COM_PATCHTESTER_FIELD_REPOSITORY_OPTION_PATCHTESTER = "Joomla! Patch-Tester Komponente"
COM_PATCHTESTER_FIELD_REPOSITORY_OPTION_INSTALL_FROM_WEB = "Joomla! Webkataloginstallations-Plugin"
COM_PATCHTESTER_FIELD_REPOSITORY_OPTION_WEBLINKS = "Joomla! Weblinks-Paket"
COM_PATCHTESTER_FIELD_REPOSITORY_CUSTOM = "Benutzerdefiniert"
COM_PATCHTESTER_FIELDSET_REPOSITORIES_DESC = "Konfigurationswerte für GitHub Repository"
COM_PATCHTESTER_FIELDSET_REPOSITORIES_LABEL = "GitHub Repository"
COM_PATCHTESTER_FIELDSET_AUTHENTICATION_DESC = "Konfigurationswerte für GitHub Authentifizierung"
COM_PATCHTESTER_FIELDSET_AUTHENTICATION_LABEL = "GitHub Authentifizierung"
COM_PATCHTESTER_FILE_DELETED_DOES_NOT_EXIST_S = "Die zu löschende Datei existiert nicht: %s"
COM_PATCHTESTER_FILE_MODIFIED_DOES_NOT_EXIST_S = "Die zu ändernde Datei existiert nicht: %s"
COM_PATCHTESTER_FILTER_APPLIED_PATCHES = "Angewendete Patches filtern"
COM_PATCHTESTER_FILTER_BRANCH = "Versionszweig filtern"
COM_PATCHTESTER_FILTER_RTC_PATCHES = "RTC Patches filtern"
COM_PATCHTESTER_FILTER_SEARCH_DESCRIPTION = "Die Liste nach Titel oder mit 'id:' nach Pull Request ID durchsuchen."
COM_PATCHTESTER_GITHUB = "GitHub"
COM_PATCHTESTER_HEADING_FETCH_DATA = "Rufe GitHub Daten ab"
COM_PATCHTESTER_JISSUE = "J! Issue"
COM_PATCHTESTER_JISSUES = "Issue-Tracker"
COM_PATCHTESTER_PULL_ID = "Pull-ID"
COM_PATCHTESTER_NO_CREDENTIALS = "In den Optionen wurden noch keine Benutzerdaten eingetragen. Deshalb können höchstens 60 Anfragen pro Stunde an das Github API gestellt werden. Mit Benutzerdaten sind bis zu 5.000 Anfragen pro Stunde möglich."
COM_PATCHTESTER_NO_FILES_TO_PATCH = "Es sind keine Dateien aus diesem Pull Request zu patchen. Dies kann bedeuten, dass die Dateien des Pull Requests in Ihrer Installation nicht vorhanden sind."
COM_PATCHTESTER_NO_ITEMS = "Es wurden noch keine Daten von Github abgerufen. Klicken Sie auf 'Daten abrufen' um die aktuellen Daten von Github zu holen."
COM_PATCHTESTER_NOT_APPLIED = "Nicht angewendet"
COM_PATCHTESTER_NOT_RTC = "Nicht RTC"
COM_PATCHTESTER_READY_TO_COMMIT = "Ready to Commit"
COM_PATCHTESTER_REPO_IS_GONE = "Der Patch konnte nicht angewendet werden, weil das Repository fehlt"
COM_PATCHTESTER_REQUIREMENT_HTTPS = "HTTPS Wrapper müssen aktiviert sein"
COM_PATCHTESTER_REQUIREMENT_OPENSSL = "Die OpenSSL-Erweiterung muss installiert und in der php.ini aktivert sein"
COM_PATCHTESTER_REQUIREMENTS_HEADING = "Die Vorraussetzungen sind nicht erfüllt"
COM_PATCHTESTER_REQUIREMENTS_NOT_MET = "Ihr System erfüllt nicht die Vorraussetzungen um den Patch-Tester auszuführen:"
COM_PATCHTESTER_RESET_HAS_ERRORS = "Die Daten wurden zurück gesetzt. Leider sind dabei Fehler aufgetreten. Bitte entferne alle .txt Dateien im Verzeichnis '%1$s' und leere die Datenbanktabelle '%2$s'."
COM_PATCHTESTER_RESET_OK = "Die Daten wurden erfolgreich zurück gesetzt."
COM_PATCHTESTER_REVERT_OK = "Der Patch wurde erfolgreich entfernt"
COM_PATCHTESTER_REVERT_PATCH = "Patch entfernen"
COM_PATCHTESTER_RTC = "RTC"
COM_PATCHTESTER_SERVER_RESPONDED_NOT_200 = "Es konnte entweder keine Verbindung zum Server aufgebaut werden oder der angegebene Pull Request existiert nicht auf dem Server."
COM_PATCHTESTER_TEST_THIS_PATCH = "Diesen Patch testen"
COM_PATCHTESTER_TOOLBAR_FETCH_DATA = "Daten abrufen"
COM_PATCHTESTER_TOOLBAR_RESET = "Zurücksetzen"
COM_PATCHTESTER_ZIP_DOES_NOT_EXIST="Der Patch konnte nicht angewendet werden, weil er nicht vom Server heruntergeladen werden konnte."
COM_PATCHTESTER_ZIP_EXTRACT_FAILED="Der Patch konnte nicht angewendet werden, weil nicht entpackt werden konnte."

View File

@ -28,6 +28,8 @@ COM_PATCHTESTER_ERROR_TRUNCATING_PULLS_TABLE="Error truncating the pulls table:
COM_PATCHTESTER_ERROR_TRUNCATING_TESTS_TABLE="Error truncating the tests table: %s"
COM_PATCHTESTER_ERROR_UNSUPPORTED_ENCODING="The patch's files are encoded in an unsupported format."
COM_PATCHTESTER_ERROR_VIEW_NOT_FOUND="View not found [name, format]: %1$s, %2$s"
COM_PATCHTESTER_FAILED_APPLYING_PATCH="Patch could not be applied due to exception with %1$s. %2$s"
COM_PATCHTESTER_FAILED_REVERT_PATCH="Patch could not be reverted due to exception with %1$s. %2$s"
COM_PATCHTESTER_FETCH_AN_ERROR_HAS_OCCURRED="An error has occurred while fetching the data from GitHub."
COM_PATCHTESTER_FETCH_COMPLETE_CLOSE_WINDOW="All data has been retrieved. Please close this modal window to refresh the page."
COM_PATCHTESTER_FETCH_INITIALIZING="Preparing to fetch GitHub data"
@ -91,8 +93,12 @@ COM_PATCHTESTER_RESET_OK="The reset process has completed successfully."
COM_PATCHTESTER_REVERT_OK="Patch successfully reverted"
COM_PATCHTESTER_REVERT_PATCH="Revert Patch"
COM_PATCHTESTER_RTC="RTC"
COM_PATCHTESTER_SERVER_RESPONDED_NOT_200 ="The patch could not be applied either due to missing connection to the server or missing patch on the server."
COM_PATCHTESTER_TEST_THIS_PATCH="Test This Patch"
COM_PATCHTESTER_TOOLBAR_FETCH_DATA="Fetch Data"
COM_PATCHTESTER_TOOLBAR_RESET="Reset"
COM_PATCHTESTER_VIEW_ON_GITHUB="View on GitHub"
COM_PATCHTESTER_VIEW_ON_JOOMLA_ISSUE_TRACKER="View on Joomla! Issue Tracker"
COM_PATCHTESTER_ZIP_DOES_NOT_EXIST="The patch could not be applied, because it couldn't be retrieved from server."
COM_PATCHTESTER_ZIP_EXTRACT_FAILED="The patch could not be applied, because it couldn't be extracted."

View File

@ -28,6 +28,8 @@ COM_PATCHTESTER_ERROR_TRUNCATING_PULLS_TABLE="Error truncating the pulls table:
COM_PATCHTESTER_ERROR_TRUNCATING_TESTS_TABLE="Error truncating the tests table: %s"
COM_PATCHTESTER_ERROR_UNSUPPORTED_ENCODING="The patch's files are encoded in an unsupported format."
COM_PATCHTESTER_ERROR_VIEW_NOT_FOUND="View not found [name, format]: %1$s, %2$s"
COM_PATCHTESTER_FAILED_APPLYING_PATCH="Patch could not be applied due to exception with %1$s. %2$s"
COM_PATCHTESTER_FAILED_REVERT_PATCH="Patch could not be reverted due to exception with %1$s. %2$s"
COM_PATCHTESTER_FETCH_AN_ERROR_HAS_OCCURRED="An error has occurred while fetching the data from GitHub."
COM_PATCHTESTER_FETCH_COMPLETE_CLOSE_WINDOW="All data has been retrieved. Please close this modal window to refresh the page."
COM_PATCHTESTER_FETCH_INITIALIZING="Preparing to fetch GitHub data"
@ -88,7 +90,10 @@ COM_PATCHTESTER_RESET_OK="The reset process has completed successfully."
COM_PATCHTESTER_REVERT_OK="Patch successfully reverted"
COM_PATCHTESTER_REVERT_PATCH="Revert Patch"
COM_PATCHTESTER_RTC="RTC"
COM_PATCHTESTER_SERVER_RESPONDED_NOT_200 ="The patch could not be applied either due to missing connection to the server or missing patch on the server."
COM_PATCHTESTER_TEST_THIS_PATCH="Test This Patch"
COM_PATCHTESTER_TOOLBAR_FETCH_DATA="Fetch Data"
COM_PATCHTESTER_TOOLBAR_RESET="Reset"
COM_PATCHTESTER_ZIP_DOES_NOT_EXIST="The patch could not be applied, because it couldn't be retrieved from server."
COM_PATCHTESTER_ZIP_EXTRACT_FAILED="The patch could not be applied, because it couldn't be extracted."