</header>
{if $errorField}
- <p class="error">{lang}wcf.global.form.error{/lang} ({$errorField})</p>
+ <p class="error">{lang}wcf.global.form.error{/lang}</p>
{/if}
<div class="contentNavigation">
</fieldset>*}
- <fieldset>
+ <fieldset{if $errorField == 'database'} class="formError"{/if}>
<legend>{lang}wcf.acp.dataImport.configure.database{/lang}</legend>
<dl>
<dt><label for="dbPrefix">{lang}wcf.acp.dataImport.configure.database.prefix{/lang}</label></dt>
<dd>
<input type="text" id="dbPrefix" name="dbPrefix" value="{$dbPrefix}" class="short" />
+ {if $errorField == 'database'}
+ <small class="innerError">{lang}wcf.acp.dataImport.configure.database.error{/lang}</small>
+ {/if}
</dd>
</dl>
</fieldset>
<fieldset>
<legend>{lang}wcf.acp.dataImport.configure.fileSystem{/lang}</legend>
- <dl>
+ <dl{if $errorField == 'fileSystemPath'} class="formError"{/if}>
<dt><label for="fileSystemPath">{lang}wcf.acp.dataImport.configure.fileSystem.path{/lang}</label></dt>
<dd>
<input type="text" id="fileSystemPath" name="fileSystemPath" value="{$fileSystemPath}" class="long" />
+ {if $errorField == 'fileSystemPath'}
+ <small class="innerError">{lang}wcf.acp.dataImport.configure.fileSystem.path.error{/lang}</small>
+ {/if}
<small>{lang}wcf.acp.dataImport.configure.fileSystem.path.description{/lang}</small>
</dd>
</dl>
namespace wcf\acp\form;
use wcf\data\object\type\ObjectTypeCache;
use wcf\form\AbstractForm;
+use wcf\system\database\DatabaseException;
use wcf\system\exception\IllegalLinkException;
use wcf\system\exception\UserInputException;
use wcf\system\WCF;
$this->exporter->setData($this->dbHost, $this->dbUser, $this->dbPassword, $this->dbName, $this->dbPrefix, $this->fileSystemPath);
// validate database Access
- if (!$this->exporter->validateDatabaseAccess()) {
+ try {
+ $this->exporter->validateDatabaseAccess();
+ }
+ catch (DatabaseException $e) {
+ WCF::getTPL()->assign('exception', $e);
throw new UserInputException('database');
}
* @see wcf\system\exporter\IExporter::validateDatabaseAccess()
*/
public function validateDatabaseAccess() {
- try {
- $this->init();
- }
- catch (DatabaseException $e) {
- return false;
- }
-
- return true;
+ $this->init();
}
/**
public function exportData($objectType, $loopCount = 0);
/**
- * Validates database access. Returns false on failure.
+ * Validates database access.
*
- * @return boolean
+ * @throws wcf\system\database\DatabaseException
*/
public function validateDatabaseAccess();
<item name="wcf.acp.dataImport.data.com.woltlab.wcf.user.option"><![CDATA[Benutzerprofilfelder]]></item>
<item name="wcf.acp.dataImport.data.com.woltlab.wcf.user.follower"><![CDATA[TODO: Wer wem folgt]]></item>
<item name="wcf.acp.dataImport.data.com.woltlab.wcf.user.rank"><![CDATA[Benutzeränge]]></item>
+ <item name="wcf.acp.dataImport.data.com.woltlab.wcf.user.avatar"><![CDATA[Avatare]]></item>
+ <item name="wcf.acp.dataImport.data.com.woltlab.wcf.user.comment"><![CDATA[Pinwand-Kommentare]]></item>
<item name="wcf.acp.dataImport.configure.database"><![CDATA[Datenbank-Zugang]]></item>
<item name="wcf.acp.dataImport.configure.database.host"><![CDATA[Hostname]]></item>
<item name="wcf.acp.dataImport.configure.database.user"><![CDATA[Benutzername]]></item>
<item name="wcf.acp.dataImport.configure.fileSystem"><![CDATA[Datei-System-Zugang]]></item>
<item name="wcf.acp.dataImport.configure.fileSystem.path"><![CDATA[Pfad zur Installation]]></item>
<item name="wcf.acp.dataImport.configure.fileSystem.path.description"><![CDATA[Wird für den Import von Datei-basierten Inhalten (wie z.B. Avatare) benötigt.]]></item>
+ <item name="wcf.acp.dataImport.configure.database.error"><![CDATA[Beim Verbindungsversuch mit der Datenbank ist folgender Fehler aufgetreten:
+ <br /><strong>{$exception->getMessage()}<br />{$exception->getErrorDesc()}</strong>]]></item>
+ <item name="wcf.acp.dataImport.configure.fileSystem.path.error"><![CDATA[Es wurde keine Installation unter dem angegeben Pfad gefunden.]]></item>
</category>
<category name="wcf.acp.exceptionLog">
<item name="wcf.acp.dataImport.data.com.woltlab.wcf.user.option"><![CDATA[TODO: Benutzerprofilfelder]]></item>
<item name="wcf.acp.dataImport.data.com.woltlab.wcf.user.follower"><![CDATA[TODO: Wer wem folgt]]></item>
<item name="wcf.acp.dataImport.data.com.woltlab.wcf.user.rank"><![CDATA[TODO: Benutzeränge]]></item>
+ <item name="wcf.acp.dataImport.data.com.woltlab.wcf.user.avatar"><![CDATA[TODO: Avatare]]></item>
+ <item name="wcf.acp.dataImport.data.com.woltlab.wcf.user.comment"><![CDATA[TODO: Pinwand-Kommentare]]></item>
<item name="wcf.acp.dataImport.configure.database"><![CDATA[TODO: Datenbank-Zugang]]></item>
<item name="wcf.acp.dataImport.configure.database.host"><![CDATA[TODO: Hostname]]></item>
<item name="wcf.acp.dataImport.configure.database.user"><![CDATA[TODO: Benutzername]]></item>
<item name="wcf.acp.dataImport.configure.fileSystem"><![CDATA[TODO: Datei-System-Zugang]]></item>
<item name="wcf.acp.dataImport.configure.fileSystem.path"><![CDATA[TODO: Pfad zur Installation]]></item>
<item name="wcf.acp.dataImport.configure.fileSystem.path.description"><![CDATA[TODO: Wird für den Import von Datei-basierten Inhalten (wie z.B. Avatare) benötigt.]]></item>
+ <item name="wcf.acp.dataImport.configure.database.error"><![CDATA[TODO: Beim Verbindungsversuch mit der Datenbank ist folgender Fehler aufgetreten:
+ <br /><strong>{$exception->getMessage()}<br />{$exception->getErrorDesc()}</strong>]]></item>
+ <item name="wcf.acp.dataImport.configure.fileSystem.path.error"><![CDATA[TODO: Es wurde keine Installation unter dem angegeben Pfad gefunden.]]></item>
</category>
<category name="wcf.acp.exceptionLog">