* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
-$GLOBALS['LANG']->includeLLFile('EXT:linkvalidator/modfuncreport/locallang.xml');
-
/**
* This class provides Processing plugin implementation
*
* Fill hookObjectsArr with different link types and possible XClasses.
*/
public function __construct() {
+ $GLOBALS['LANG']->includeLLFile('EXT:linkvalidator/Resources/Private/Language/Module/locallang.xml');
// Hook to handle own checks
if (is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['linkvalidator']['checkLinks'])) {
foreach ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['linkvalidator']['checkLinks'] as $key => $classRef) {
public function analyzeRecord(array &$results, $table, array $fields, array $record) {
// Put together content of all relevant fields
$haystack = '';
- /** @var \TYPO3\CMS\Core\Html\HtmlParser $htmlParser */
+ /** @var $htmlParser \TYPO3\CMS\Core\Html\HtmlParser */
$htmlParser = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Html\\HtmlParser');
$idRecord = $record['uid'];
// Get all references
$softRefs = \TYPO3\CMS\Backend\Utility\BackendUtility::explodeSoftRefParserList($conf['softref']);
// Traverse soft references
foreach ($softRefs as $spKey => $spParams) {
- /** @var \TYPO3\CMS\Core\Database\SoftReferenceIndex $softRefObj Create or get the soft reference object */
+ /** @var $softRefObj \TYPO3\CMS\Core\Database\SoftReferenceIndex */
$softRefObj = \TYPO3\CMS\Backend\Utility\BackendUtility::softRefParserObj($spKey);
// If there is an object returned...
if (is_object($softRefObj)) {
* @param array $record UID of the current record
* @param string $field The current field
* @param string $table The current table
- * @return void
+ * @return void
*/
protected function analyseLinks(array $resultArray, array &$results, array $record, $field, $table) {
foreach ($resultArray['elements'] as $element) {
$type = '';
$idRecord = $record['uid'];
if (!empty($r)) {
- /** @var \TYPO3\CMS\Linkvalidator\Linktype\AbstractLinktype $hookObj */
+ /** @var $hookObj \TYPO3\CMS\Linkvalidator\Linktype\AbstractLinktype */
foreach ($this->hookObjectsArr as $keyArr => $hookObj) {
$type = $hookObj->fetchType($r, $type, $keyArr);
// Store the type that was found
}
}
}
- /** @var \TYPO3\CMS\Linkvalidator\Linktype\AbstractLinktype $hookObj */
+ /** @var $hookObj \TYPO3\CMS\Linkvalidator\Linktype\AbstractLinktype */
foreach ($this->hookObjectsArr as $keyArr => $hookObj) {
$type = $hookObj->fetchType($currentR, $type, $keyArr);
// Store the type that was found
}
/**
+ * Check if rootline contains a hidden page
+ *
* @param array $pageInfo Array with uid, title, hidden, extendToSubpages from pages table
* @return boolean TRUE if rootline contains a hidden page, FALSE if not
*/
*
* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
+
/**
* This class provides Check Base plugin implementation
*
}
-
?>
\ No newline at end of file
*
* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
+
/**
* This class provides Check External Links plugin implementation
*
'follow_redirects' => TRUE,
'strict_redirects' => TRUE
);
- /** @var \TYPO3\CMS\Core\Http\HttpRequest|\HTTP_Request2 $request */
+ /** @var $request \TYPO3\CMS\Core\Http\HttpRequest|\HTTP_Request2 */
$request = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Http\\HttpRequest', $url, 'HEAD', $config);
// Observe cookies
$request->setCookieJar(TRUE);
try {
- /** @var \HTTP_Request2_Response $response */
+ /** @var $response \HTTP_Request2_Response */
$response = $request->send();
// HEAD was not allowed, now trying GET
if (isset($response) && $response->getStatus() === 405) {
$request->setMethod('GET');
$request->setHeader('Range', 'bytes = 0 - 4048');
- /** @var \HTTP_Request2_Response $response */
+ /** @var $response \HTTP_Request2_Response */
$response = $request->send();
}
} catch (\Exception $e) {
public function getErrorMessage($errorParams) {
$errorType = $errorParams['errorType'];
switch ($errorType) {
- case 300:
- $response = sprintf($GLOBALS['LANG']->getLL('list.report.externalerror'), $errorType);
+ case 300:
+ $response = sprintf($GLOBALS['LANG']->getLL('list.report.externalerror'), $errorType);
break;
- case 403:
- $response = $GLOBALS['LANG']->getLL('list.report.pageforbidden403');
+ case 403:
+ $response = $GLOBALS['LANG']->getLL('list.report.pageforbidden403');
break;
- case 404:
- $response = $GLOBALS['LANG']->getLL('list.report.pagenotfound404');
+ case 404:
+ $response = $GLOBALS['LANG']->getLL('list.report.pagenotfound404');
break;
- case 500:
- $response = $GLOBALS['LANG']->getLL('list.report.internalerror500');
+ case 500:
+ $response = $GLOBALS['LANG']->getLL('list.report.internalerror500');
break;
- case 'loop':
- $response = sprintf($GLOBALS['LANG']->getLL('list.report.redirectloop'), $errorParams['errorCode'], $errorParams['location']);
+ case 'loop':
+ $response = sprintf($GLOBALS['LANG']->getLL('list.report.redirectloop'), $errorParams['errorCode'], $errorParams['location']);
break;
- case 'exception':
- $response = sprintf($GLOBALS['LANG']->getLL('list.report.httpexception'), $errorParams['message']);
+ case 'exception':
+ $response = sprintf($GLOBALS['LANG']->getLL('list.report.httpexception'), $errorParams['message']);
break;
- default:
- $response = sprintf($GLOBALS['LANG']->getLL('list.report.otherhttpcode'), $errorType, $errorParams['message']);
+ default:
+ $response = sprintf($GLOBALS['LANG']->getLL('list.report.otherhttpcode'), $errorType, $errorParams['message']);
}
return $response;
}
*
* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
+
/**
* This class provides Check File Links plugin implementation
*
*
* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
+
/**
* This class provides Check Internal Links plugin implementation
*
*/
class InternalLinktype extends \TYPO3\CMS\Linkvalidator\Linktype\AbstractLinktype {
+ /**
+ * @var string
+ */
const DELETED = 'deleted';
+
+ /**
+ * @var string
+ */
const HIDDEN = 'hidden';
+
+ /**
+ * @var string
+ */
const MOVED = 'moved';
+
+ /**
+ * @var string
+ */
const NOTEXISTING = 'notExisting';
+
/**
* All parameters needed for rendering the error message
*
$errorType = $errorParams['errorType'];
if (is_array($errorParams['page'])) {
switch ($errorType['page']) {
- case self::DELETED:
- $errorPage = $GLOBALS['LANG']->getLL('list.report.pagedeleted');
- $errorPage = str_replace('###title###', $errorParams['page']['title'], $errorPage);
- $errorPage = str_replace('###uid###', $errorParams['page']['uid'], $errorPage);
+ case self::DELETED:
+ $errorPage = $GLOBALS['LANG']->getLL('list.report.pagedeleted');
+ $errorPage = str_replace('###title###', $errorParams['page']['title'], $errorPage);
+ $errorPage = str_replace('###uid###', $errorParams['page']['uid'], $errorPage);
break;
- case self::HIDDEN:
- $errorPage = $GLOBALS['LANG']->getLL('list.report.pagenotvisible');
- $errorPage = str_replace('###title###', $errorParams['page']['title'], $errorPage);
- $errorPage = str_replace('###uid###', $errorParams['page']['uid'], $errorPage);
+ case self::HIDDEN:
+ $errorPage = $GLOBALS['LANG']->getLL('list.report.pagenotvisible');
+ $errorPage = str_replace('###title###', $errorParams['page']['title'], $errorPage);
+ $errorPage = str_replace('###uid###', $errorParams['page']['uid'], $errorPage);
break;
- default:
- $errorPage = $GLOBALS['LANG']->getLL('list.report.pagenotexisting');
- $errorPage = str_replace('###uid###', $errorParams['page']['uid'], $errorPage);
+ default:
+ $errorPage = $GLOBALS['LANG']->getLL('list.report.pagenotexisting');
+ $errorPage = str_replace('###uid###', $errorParams['page']['uid'], $errorPage);
}
}
if (is_array($errorParams['content'])) {
switch ($errorType['content']) {
- case self::DELETED:
- $errorContent = $GLOBALS['LANG']->getLL('list.report.contentdeleted');
- $errorContent = str_replace('###title###', $errorParams['content']['title'], $errorContent);
- $errorContent = str_replace('###uid###', $errorParams['content']['uid'], $errorContent);
+ case self::DELETED:
+ $errorContent = $GLOBALS['LANG']->getLL('list.report.contentdeleted');
+ $errorContent = str_replace('###title###', $errorParams['content']['title'], $errorContent);
+ $errorContent = str_replace('###uid###', $errorParams['content']['uid'], $errorContent);
break;
- case self::HIDDEN:
- $errorContent = $GLOBALS['LANG']->getLL('list.report.contentnotvisible');
- $errorContent = str_replace('###title###', $errorParams['content']['title'], $errorContent);
- $errorContent = str_replace('###uid###', $errorParams['content']['uid'], $errorContent);
+ case self::HIDDEN:
+ $errorContent = $GLOBALS['LANG']->getLL('list.report.contentnotvisible');
+ $errorContent = str_replace('###title###', $errorParams['content']['title'], $errorContent);
+ $errorContent = str_replace('###uid###', $errorParams['content']['uid'], $errorContent);
break;
- case self::MOVED:
- $errorContent = $GLOBALS['LANG']->getLL('list.report.contentmoved');
- $errorContent = str_replace('###title###', $errorParams['content']['title'], $errorContent);
- $errorContent = str_replace('###uid###', $errorParams['content']['uid'], $errorContent);
- $errorContent = str_replace('###wrongpage###', $errorParams['content']['wrongPage'], $errorContent);
- $errorContent = str_replace('###rightpage###', $errorParams['content']['rightPage'], $errorContent);
+ case self::MOVED:
+ $errorContent = $GLOBALS['LANG']->getLL('list.report.contentmoved');
+ $errorContent = str_replace('###title###', $errorParams['content']['title'], $errorContent);
+ $errorContent = str_replace('###uid###', $errorParams['content']['uid'], $errorContent);
+ $errorContent = str_replace('###wrongpage###', $errorParams['content']['wrongPage'], $errorContent);
+ $errorContent = str_replace('###rightpage###', $errorParams['content']['rightPage'], $errorContent);
break;
- default:
- $errorContent = $GLOBALS['LANG']->getLL('list.report.contentnotexisting');
- $errorContent = str_replace('###uid###', $errorParams['content']['uid'], $errorContent);
+ default:
+ $errorContent = $GLOBALS['LANG']->getLL('list.report.contentnotexisting');
+ $errorContent = str_replace('###uid###', $errorParams['content']['uid'], $errorContent);
}
}
if (isset($errorPage) && isset($errorContent)) {
*
* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
+
/**
* This class provides Check Link Handler plugin implementation
*
*/
class LinkHandler extends \TYPO3\CMS\Linkvalidator\Linktype\AbstractLinktype {
+ /**
+ * @var string
+ */
const DELETED = 'deleted';
+
/**
* TSconfig of the module tx_linkhandler
*
/**
* Get TSconfig when loading the class
- *
- * @todo Define visibility
*/
public function __construct() {
$this->tsconfig = \TYPO3\CMS\Backend\Utility\BackendUtility::getModTSconfig(1, 'mod.tx_linkhandler');
*
* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
+
/**
* This class provides interface implementation.
*
*/
protected $pageRenderer;
- /**
- * @var string $resPath Path to "linkvalidator/res/" to be used in pageRenderer
- */
- protected $resPath = '';
-
/**
* @var \TYPO3\CMS\Linkvalidator\Linktype\LinktypeInterface[]
*/
* @return string Module content
*/
public function main() {
- $GLOBALS['LANG']->includeLLFile('EXT:linkvalidator/modfuncreport/locallang.xml');
+ $GLOBALS['LANG']->includeLLFile('EXT:linkvalidator/Resources/Private/Language/Module/locallang.xlf');
$this->searchLevel = \TYPO3\CMS\Core\Utility\GeneralUtility::_GP('search_levels');
if (isset($this->pObj->id)) {
$this->modTS = \TYPO3\CMS\Backend\Utility\BackendUtility::getModTSconfig($this->pObj->id, 'mod.linkvalidator');
}
$GLOBALS['BE_USER']->pushModuleData('web_info', $this->pObj->MOD_SETTINGS);
$this->initialize();
- // Setting up the context sensitive menu
- $this->resPath = $this->doc->backPath . \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('linkvalidator') . 'res/';
+
$this->pageRenderer = $this->doc->getPageRenderer();
// Localization
- $this->pageRenderer->addInlineLanguageLabelFile(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('linkvalidator', 'modfuncreport/locallang.xml'));
+ $this->pageRenderer->addInlineLanguageLabelFile(
+ \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('linkvalidator', 'Resources/Private/Language/Module/locallang.xlf')
+ );
$this->pageRenderer->addJsInlineCode('linkvalidator', 'function toggleActionButton(prefix) {
var buttonDisable = true;
Ext.select(\'.\' + prefix ,false).each(function(checkBox,i){
if ($this->modTS['showCheckLinkTab'] == 1) {
$this->updateListHtml = '<input type="submit" name="updateLinkList" id="updateLinkList" value="' . $GLOBALS['LANG']->getLL('label_update') . '"/>';
}
- $this->refreshListHtml = '<input type="submit" name="refreshLinkList" id="refreshLinkList" value="' . $GLOBALS['LANG']->getLL('label_refresh') . '"/>';
+ $this->refreshListHtml = '<input type="submit" name="refreshLinkList" id="refreshLinkList" value="' . $GLOBALS['LANG']->getLL('label_refresh') . '"/>';
$this->processor = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Linkvalidator\\LinkAnalyzer');
$this->updateBrokenLinks();
$brokenLinkOverView = $this->processor->getLinkCounts($this->pObj->id);
}
$this->doc = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Backend\\Template\\DocumentTemplate');
$this->doc->backPath = $GLOBALS['BACK_PATH'];
- $this->doc->setModuleTemplate(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('linkvalidator') . 'modfuncreport/mod_template.html');
+ $this->doc->setModuleTemplate(\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('linkvalidator') . 'Resources/Private/Templates/mod_template.html');
$this->relativePath = \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extRelPath('linkvalidator');
$this->pageRecord = \TYPO3\CMS\Backend\Utility\BackendUtility::readPageAccess($this->pObj->id, $GLOBALS['BE_USER']->getPagePermsClause(1));
$this->isAccessibleForCurrentUser = FALSE;
// Build level selector
$opt = array();
$parts = array(
- 0 => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:labels.depth_0'),
- 1 => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:labels.depth_1'),
- 2 => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:labels.depth_2'),
- 3 => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:labels.depth_3'),
- 999 => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:labels.depth_infi')
+ 0 => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:labels.depth_0'),
+ 1 => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:labels.depth_1'),
+ 2 => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:labels.depth_2'),
+ 3 => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:labels.depth_3'),
+ 999 => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:labels.depth_infi')
);
foreach ($parts as $kv => $label) {
$opt[] = '<option value="' . $kv . '"' . ($kv == intval($this->searchLevel) ? ' selected="selected"' : '') . '>' . htmlspecialchars($label) . '</option>';
} else {
$brokenLinksMarker = $this->getNoBrokenLinkMessage($brokenLinksMarker);
}
+ $GLOBALS['TYPO3_DB']->sql_free_result($res);
}
} else {
$brokenLinksMarker = $this->getNoBrokenLinkMessage($brokenLinksMarker);
*/
protected function getNoBrokenLinkMessage(array $brokenLinksMarker) {
$brokenLinksMarker['LIST_HEADER'] = $this->doc->sectionHeader($GLOBALS['LANG']->getLL('list.header'));
- /** @var \TYPO3\CMS\Core\Messaging\FlashMessage $message */
+ /** @var $message \TYPO3\CMS\Core\Messaging\FlashMessage */
$message = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance(
'TYPO3\\CMS\\Core\\Messaging\\FlashMessage',
$GLOBALS['LANG']->getLL('list.no.broken.links'),
}
$translation = $GLOBALS['LANG']->getLL('hooks.' . $type);
$translation = $translation ? $translation : $type;
- $option = '<input type="checkbox" ' . $additionalAttr . ' id="' . $prefix . 'SET_' . $type . '" name="' . $prefix . 'SET[' . $type . ']" value="1"' . ($this->pObj->MOD_SETTINGS[$type] ? ' checked="checked"' : '') . '/>' . '<label for="' . $prefix . 'SET[' . $type . ']">' . htmlspecialchars($translation) . '</label>';
+ $option = '<input type="checkbox" ' . $additionalAttr . ' id="' . $prefix . 'SET_' . $type . '" name="' . $prefix . 'SET[' . $type . ']" value="1"' . ($this->pObj->MOD_SETTINGS[$type] ? ' checked="checked"' : '') . '/>' . '<label for="' . $prefix . 'SET[' . $type . ']">' . htmlspecialchars($translation) . '</label>';
$hookSectionMarker['option'] = $option;
$hookSectionContent .= \TYPO3\CMS\Core\Html\HtmlParser::substituteMarkerArray(
$hookSectionTemplate,
* @return void
*/
protected function loadHeaderData() {
- $this->doc->addStyleSheet('linkvalidator', $this->relativePath . 'res/linkvalidator.css', 'linkvalidator');
+ $this->doc->addStyleSheet('linkvalidator', $this->relativePath . 'Resources/Public/Css/linkvalidator.css', 'linkvalidator');
$this->doc->getPageRenderer()->addJsFile($this->doc->backPath . '../t3lib/js/extjs/ux/Ext.ux.FitToParent.js');
}
}
-
-?>
+?>
\ No newline at end of file
*
* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
+
/**
* This class provides Scheduler plugin implementation
*
/**
* Function execute from the Scheduler
*
- * @throws \Exception if the email templale file can not be read
* @return boolean TRUE on successful execution, FALSE on error
+ * @throws \InvalidArgumentException if the email template file can not be read
*/
public function execute() {
$this->setCliArguments();
$successfullyExecuted = TRUE;
if (!file_exists(($file = \TYPO3\CMS\Core\Utility\GeneralUtility::getFileAbsFileName($this->emailTemplateFile)))
- && !empty($this->email)) {
- throw new \Exception($GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.error.invalidEmailTemplateFile'), '1295476972');
+ && !empty($this->email)
+ ) {
+ if ($this->emailTemplateFile === 'EXT:linkvalidator/res/mailtemplate.html') {
+ // Update the default email template file path
+ $this->emailTemplateFile = 'EXT:linkvalidator/Resources/Private/Templates/mailtemplate.html';
+ $this->save();
+ } else {
+ throw new \InvalidArgumentException(
+ $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/Resources/Private/Language/locallang.xlf:tasks.error.invalidEmailTemplateFile'),
+ '1295476972'
+ );
+ }
}
$htmlFile = \TYPO3\CMS\Core\Utility\GeneralUtility::getURL($file);
$this->templateMail = \TYPO3\CMS\Core\Html\HtmlParser::getSubpart($htmlFile, '###REPORT_TEMPLATE###');
$pageSections = '';
$this->isDifferentToLastRun = FALSE;
$pageList = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $this->page, 1);
- $modTS = $this->loadModTsConfig($this->page);
+ $modTs = $this->loadModTsConfig($this->page);
if (is_array($pageList)) {
foreach ($pageList as $page) {
$pageSections .= $this->checkPageLinks($page);
$this->isDifferentToLastRun = TRUE;
}
if ($this->totalBrokenLink > 0 && (!$this->emailOnBrokenLinkOnly || $this->isDifferentToLastRun) && !empty($this->email)) {
- $successfullyExecuted = $this->reportEmail($pageSections, $modTS);
+ $successfullyExecuted = $this->reportEmail($pageSections, $modTs);
}
return $successfullyExecuted;
}
$pageSections = '';
$pageIds = '';
$oldLinkCounts = array();
- $modTS = $this->loadModTsConfig($page);
- $searchFields = $this->getSearchField($modTS);
- $linkTypes = $this->getLinkTypes($modTS);
- /** @var \TYPO3\CMS\Linkvalidator\LinkAnalyzer $processor */
+ $modTs = $this->loadModTsConfig($page);
+ $searchFields = $this->getSearchField($modTs);
+ $linkTypes = $this->getLinkTypes($modTs);
+ /** @var $processor \TYPO3\CMS\Linkvalidator\LinkAnalyzer */
$processor = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Linkvalidator\\LinkAnalyzer');
if ($page === 0) {
$rootLineHidden = FALSE;
$pageRow = $GLOBALS['TYPO3_DB']->exec_SELECTgetSingleRow('*', 'pages', 'uid=' . $page);
$rootLineHidden = $processor->getRootLineIsHidden($pageRow);
}
- if (!$rootLineHidden || $modTS['checkhidden'] == 1) {
- $pageIds = $processor->extGetTreeList($page, $this->depth, 0, '1=1', $modTS['checkhidden']);
- if (isset($pageRow) && $pageRow['hidden'] == 0 || $modTS['checkhidden'] == 1) {
+ if (!$rootLineHidden || $modTs['checkhidden'] == 1) {
+ $pageIds = $processor->extGetTreeList($page, $this->depth, 0, '1=1', $modTs['checkhidden']);
+ if (isset($pageRow) && $pageRow['hidden'] == 0 || $modTs['checkhidden'] == 1) {
// \TYPO3\CMS\Linkvalidator\LinkAnalyzer->extGetTreeList() always adds trailing comma
$pageIds .= $page;
}
$oldLinkCounts = $processor->getLinkCounts($page);
$this->oldTotalBrokenLink += $oldLinkCounts['brokenlinkCount'];
}
- $processor->getLinkStatistics($linkTypes, $modTS['checkhidden']);
+ $processor->getLinkStatistics($linkTypes, $modTs['checkhidden']);
if (!empty($this->email)) {
$linkCounts = $processor->getLinkCounts($page);
$this->totalBrokenLink += $linkCounts['brokenlinkCount'];
* Get the linkvalidator modTSconfig for a page
*
* @param integer $page Uid of the page
- * @throws \Exception
* @return array $modTsConfig mod.linkvalidator TSconfig array
+ * @throws \Exception
*/
protected function loadModTsConfig($page) {
$modTs = \TYPO3\CMS\Backend\Utility\BackendUtility::getModTSconfig($page, 'mod.linkvalidator');
$parseObj = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\TypoScript\\Parser\\TypoScriptParser');
$parseObj->parse($this->configuration);
if (count($parseObj->errors) > 0) {
- $parseErrorMessage = $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.error.invalidTSconfig') . '<br />';
+ $parseErrorMessage = $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/Resources/Private/Language/locallang.xlf:tasks.error.invalidTSconfig') . '<br />';
foreach ($parseObj->errors as $errorInfo) {
$parseErrorMessage .= $errorInfo[0] . '<br />';
}
*
* @param string $pageSections Content of page section
* @param array $modTsConfig TSconfig array
- * @throws \Exception if required modTsConfig settings are missing
* @return boolean TRUE if mail was sent, FALSE if or not
+ * @throws \Exception if required modTsConfig settings are missing
*/
protected function reportEmail($pageSections, array $modTsConfig) {
$content = \TYPO3\CMS\Core\Html\HtmlParser::substituteSubpart($this->templateMail, '###PAGE_SECTION###', $pageSections);
}
}
$content = \TYPO3\CMS\Core\Html\HtmlParser::substituteMarkerArray($content, $markerArray, '###|###', TRUE, TRUE);
- /** @var \TYPO3\CMS\Core\Mail\MailMessage $mail */
+ /** @var $mail \TYPO3\CMS\Core\Mail\MailMessage */
$mail = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\\CMS\\Core\\Mail\\MailMessage');
if (empty($modTsConfig['mail.']['fromemail'])) {
$modTsConfig['mail.']['fromemail'] = \TYPO3\CMS\Core\Utility\MailUtility::getSystemFromAddress();
if (\TYPO3\CMS\Core\Utility\GeneralUtility::validEmail($modTsConfig['mail.']['fromemail'])) {
$mail->setFrom(array($modTsConfig['mail.']['fromemail'] => $modTsConfig['mail.']['fromname']));
} else {
- throw new \Exception($GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.error.invalidFromEmail'), '1295476760');
+ throw new \Exception($GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/Resources/Private/Language/locallang.xlf:tasks.error.invalidFromEmail'), '1295476760');
}
if (\TYPO3\CMS\Core\Utility\GeneralUtility::validEmail($modTsConfig['mail.']['replytoemail'])) {
$mail->setReplyTo(array($modTsConfig['mail.']['replytoemail'] => $modTsConfig['mail.']['replytoname']));
if (!empty($modTsConfig['mail.']['subject'])) {
$mail->setSubject($modTsConfig['mail.']['subject']);
} else {
- throw new \Exception($GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.error.noSubject'), '1295476808');
+ throw new \Exception($GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/Resources/Private/Language/locallang.xlf:tasks.error.noSubject'), '1295476808');
}
if (!empty($this->email)) {
$emailList = \TYPO3\CMS\Core\Utility\GeneralUtility::trimExplode(',', $this->email);
foreach ($emailList as $emailAdd) {
if (!\TYPO3\CMS\Core\Utility\GeneralUtility::validEmail($emailAdd)) {
- throw new \Exception($GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.error.invalidToEmail'), '1295476821');
+ throw new \Exception($GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/Resources/Private/Language/locallang.xlf:tasks.error.invalidToEmail'), '1295476821');
} else {
$validEmailList[] = $emailAdd;
}
/**
* Build the mail content
*
- * @param int $curPage Id of the current page
+ * @param integer $curPage Id of the current page
* @param string $pageList List of pages id
* @param array $markerArray Array of markers
* @param array $oldBrokenLink Marker array with the number of link found
$markerArray[$markerKey . '_old'] = $oldBrokenLink[$markerKey];
}
}
- $markerArray['title'] = \TYPO3\CMS\Backend\Utility\BackendUtility::getRecordTitle('pages', \TYPO3\CMS\Backend\Utility\BackendUtility::getRecord('pages', $curPage));
+ $markerArray['title'] = \TYPO3\CMS\Backend\Utility\BackendUtility::getRecordTitle(
+ 'pages',
+ \TYPO3\CMS\Backend\Utility\BackendUtility::getRecord('pages', $curPage)
+ );
$content = '';
if ($markerArray['brokenlinkCount'] > 0) {
$content = \TYPO3\CMS\Core\Html\HtmlParser::substituteMarkerArray($pageSectionHtml, $markerArray, '###|###', TRUE, TRUE);
*
* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
+
/**
* This class provides Scheduler Additional Field plugin implementation
*
}
if (empty($taskInfo['emailTemplateFile'])) {
if ($schedulerModule->CMD == 'add') {
- $taskInfo['emailTemplateFile'] = 'EXT:linkvalidator/res/mailtemplate.html';
+ $taskInfo['emailTemplateFile'] = 'EXT:linkvalidator/Resources/Private/Templates/mailtemplate.html';
} elseif ($schedulerModule->CMD == 'edit') {
$taskInfo['emailTemplateFile'] = $task->getEmailTemplateFile();
} else {
}
}
$fieldId = 'task_page';
- $fieldCode = '<input type="text" name="tx_scheduler[linkvalidator][page]" id="' . $fieldId . '" value="' . htmlspecialchars($taskInfo['page']) . '"/>';
- $label = $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.validate.page');
+ $fieldCode = '<input type="text" name="tx_scheduler[linkvalidator][page]" id="' . $fieldId . '" value="' . htmlspecialchars($taskInfo['page']) . '"/>';
+ $label = $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/Resources/Private/Language/locallang.xlf:tasks.validate.page');
$label = \TYPO3\CMS\Backend\Utility\BackendUtility::wrapInHelp('linkvalidator', $fieldId, $label);
$additionalFields[$fieldId] = array(
'code' => $fieldCode,
// input for depth
$fieldId = 'task_depth';
$fieldValueArray = array(
- '0' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:labels.depth_0'),
- '1' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:labels.depth_1'),
- '2' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:labels.depth_2'),
- '3' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:labels.depth_3'),
- '4' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:labels.depth_4'),
- '999' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:labels.depth_infi')
+ '0' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:labels.depth_0'),
+ '1' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:labels.depth_1'),
+ '2' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:labels.depth_2'),
+ '3' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:labels.depth_3'),
+ '4' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:labels.depth_4'),
+ '999' => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xlf:labels.depth_infi')
);
$fieldCode = '<select name="tx_scheduler[linkvalidator][depth]" id="' . $fieldId . '">';
foreach ($fieldValueArray as $depth => $label) {
'>' . $label . '</option>';
}
$fieldCode .= '</select>';
- $label = $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.validate.depth');
+ $label = $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/Resources/Private/Language/locallang.xlf:tasks.validate.depth');
$label = \TYPO3\CMS\Backend\Utility\BackendUtility::wrapInHelp('linkvalidator', $fieldId, $label);
$additionalFields[$fieldId] = array(
'code' => $fieldCode,
$fieldId = 'task_configuration';
$fieldCode = '<textarea name="tx_scheduler[linkvalidator][configuration]" id="' . $fieldId . '" >' .
htmlspecialchars($taskInfo['configuration']) . '</textarea>';
- $label = $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.validate.conf');
+ $label = $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/Resources/Private/Language/locallang.xlf:tasks.validate.conf');
$label = \TYPO3\CMS\Backend\Utility\BackendUtility::wrapInHelp('linkvalidator', $fieldId, $label);
$additionalFields[$fieldId] = array(
'code' => $fieldCode,
$fieldId = 'task_email';
$fieldCode = '<input type="text" name="tx_scheduler[linkvalidator][email]" id="' . $fieldId . '" value="' .
htmlspecialchars($taskInfo['email']) . '" />';
- $label = $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.validate.email');
+ $label = $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/Resources/Private/Language/locallang.xlf:tasks.validate.email');
$label = \TYPO3\CMS\Backend\Utility\BackendUtility::wrapInHelp('linkvalidator', $fieldId, $label);
$additionalFields[$fieldId] = array(
'code' => $fieldCode,
$fieldId = 'task_emailOnBrokenLinkOnly';
$fieldCode = '<input type="checkbox" name="tx_scheduler[linkvalidator][emailOnBrokenLinkOnly]" id="' . $fieldId . '" ' .
(htmlspecialchars($taskInfo['emailOnBrokenLinkOnly']) ? 'checked="checked"' : '') . ' />';
- $label = $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.validate.emailOnBrokenLinkOnly');
+ $label = $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/Resources/Private/Language/locallang.xlf:tasks.validate.emailOnBrokenLinkOnly');
$label = \TYPO3\CMS\Backend\Utility\BackendUtility::wrapInHelp('linkvalidator', $fieldId, $label);
$additionalFields[$fieldId] = array(
'code' => $fieldCode,
$fieldId = 'task_emailTemplateFile';
$fieldCode = '<input type="text" name="tx_scheduler[linkvalidator][emailTemplateFile]" id="' . $fieldId .
'" value="' . htmlspecialchars($taskInfo['emailTemplateFile']) . '" />';
- $label = $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.validate.emailTemplateFile');
+ $label = $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/Resources/Private/Language/locallang.xlf:tasks.validate.emailTemplateFile');
$label = \TYPO3\CMS\Backend\Utility\BackendUtility::wrapInHelp('linkvalidator', $fieldId, $label);
$additionalFields[$fieldId] = array(
'code' => $fieldCode,
foreach ($emailList as $emailAdd) {
if (!\TYPO3\CMS\Core\Utility\GeneralUtility::validEmail($emailAdd)) {
$isValid = FALSE;
- $schedulerModule->addMessage($GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.validate.invalidEmail'), \TYPO3\CMS\Core\Messaging\FlashMessage::ERROR);
+ $schedulerModule->addMessage($GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/Resources/Private/Language/locallang.xlf:tasks.validate.invalidEmail'), \TYPO3\CMS\Core\Messaging\FlashMessage::ERROR);
}
}
}
if ($GLOBALS['TYPO3_DB']->sql_num_rows($res) == 0 && $submittedData['linkvalidator']['page'] > 0) {
$isValid = FALSE;
$schedulerModule->addMessage(
- $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.validate.invalidPage'),
+ $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/Resources/Private/Language/locallang.xlf:tasks.validate.invalidPage'),
\TYPO3\CMS\Core\Messaging\FlashMessage::ERROR
);
}
} else {
$isValid = FALSE;
$schedulerModule->addMessage(
- $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.validate.invalidPage'),
+ $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/Resources/Private/Language/locallang.xlf:tasks.validate.invalidPage'),
\TYPO3\CMS\Core\Messaging\FlashMessage::ERROR
);
}
if ($submittedData['linkvalidator']['depth'] < 0) {
$isValid = FALSE;
$schedulerModule->addMessage(
- $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.validate.invalidDepth'),
+ $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/Resources/Private/Language/locallang.xlf:tasks.validate.invalidDepth'),
\TYPO3\CMS\Core\Messaging\FlashMessage::ERROR
);
}
*
* This copyright notice MUST APPEAR in all copies of the script!
***************************************************************/
-$GLOBALS['LANG']->includeLLFile('EXT:linkvalidator/modfuncreport/locallang.xml');
+
/*
* @deprecated since 6.0, the classname tx_linkvalidator_Processor and this file is obsolete
* and will be removed with 6.2. The class was renamed and is now located at:
--- /dev/null
+mod.linkvalidator {
+ searchFields {
+ pages = media,url
+ tt_content = bodytext,header_link,records
+ tt_news = bodytext,links
+ }
+ linktypes = db,file,external
+ checkhidden = 0
+ showCheckLinkTab = 1
+ mail {
+ fromname = Linkvalidator
+ fromemail = Linkvalidator@example.com
+ replytoname =
+ replytoemail =
+ subject = TYPO3 Linkvalidator report
+ }
+}
\ No newline at end of file
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<xliff version="1.0">
+ <file source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:34Z" product-name="linkvalidator">
+ <header/>
+ <body>
+ <trans-unit id="menu.introduction" xml:space="preserve">
+ <source>Introduction</source>
+ </trans-unit>
+ <trans-unit id="menu.checkLinks" xml:space="preserve">
+ <source>Check Links for validity</source>
+ </trans-unit>
+ <trans-unit id="menu.overview" xml:space="preserve">
+ <source>Overview of links on website</source>
+ </trans-unit>
+ <trans-unit id="overview.header" xml:space="preserve">
+ <source>Overview - choose options to check the links</source>
+ </trans-unit>
+ <trans-unit id="overview.all.header" xml:space="preserve">
+ <source>Total amounts in tt_content</source>
+ </trans-unit>
+ <trans-unit id="overview.all.records" xml:space="preserve">
+ <source>Records with ext. links:</source>
+ </trans-unit>
+ <trans-unit id="overview.all.links" xml:space="preserve">
+ <source>External links:</source>
+ </trans-unit>
+ <trans-unit id="overview.branch.header" xml:space="preserve">
+ <source>Amounts from actual branch in tt_content</source>
+ </trans-unit>
+ <trans-unit id="overview.branch.records" xml:space="preserve">
+ <source>Records with ext. links:</source>
+ </trans-unit>
+ <trans-unit id="overview.branch.links" xml:space="preserve">
+ <source>External links:</source>
+ </trans-unit>
+ <trans-unit id="overview.attention.header" xml:space="preserve">
+ <source>Attention:</source>
+ </trans-unit>
+ <trans-unit id="overview.attention.text" xml:space="preserve">
+ <source>Checking links may take up to several minutes. Checking ONE link can last up to 3 seconds.</source>
+ </trans-unit>
+ <trans-unit id="Report" xml:space="preserve">
+ <source>Report</source>
+ </trans-unit>
+ <trans-unit id="CheckLink" xml:space="preserve">
+ <source>Check Links</source>
+ </trans-unit>
+ <trans-unit id="report.statistics.header" xml:space="preserve">
+ <source>Show these types of broken links</source>
+ </trans-unit>
+ <trans-unit id="checklinks.statistics.header" xml:space="preserve">
+ <source>Check these types of broken links</source>
+ </trans-unit>
+ <trans-unit id="report.func.title" xml:space="preserve">
+ <source>Show this level</source>
+ </trans-unit>
+ <trans-unit id="checklinks.func.title" xml:space="preserve">
+ <source>Check this level</source>
+ </trans-unit>
+ <trans-unit id="overviews.nbtotal" xml:space="preserve">
+ <source>Broken links total:</source>
+ </trans-unit>
+ <trans-unit id="hooks.db" xml:space="preserve">
+ <source>Internal Links:</source>
+ </trans-unit>
+ <trans-unit id="hooks.file" xml:space="preserve">
+ <source>File Links:</source>
+ </trans-unit>
+ <trans-unit id="hooks.external" xml:space="preserve">
+ <source>External Links:</source>
+ </trans-unit>
+ <trans-unit id="hooks.linkhandler" xml:space="preserve">
+ <source>Linkhandler Links:</source>
+ </trans-unit>
+ <trans-unit id="label_refresh" xml:space="preserve">
+ <source>Refresh display</source>
+ </trans-unit>
+ <trans-unit id="label_update" xml:space="preserve">
+ <source>Check links</source>
+ </trans-unit>
+ <trans-unit id="list.header" xml:space="preserve">
+ <source>Listing of broken links</source>
+ </trans-unit>
+ <trans-unit id="list.tableHead.path" xml:space="preserve">
+ <source>Path</source>
+ </trans-unit>
+ <trans-unit id="list.tableHead.element" xml:space="preserve">
+ <source>Element</source>
+ </trans-unit>
+ <trans-unit id="list.tableHead.headlink" xml:space="preserve">
+ <source>Link</source>
+ </trans-unit>
+ <trans-unit id="list.tableHead.linktarget" xml:space="preserve">
+ <source>URL / Link Target</source>
+ </trans-unit>
+ <trans-unit id="list.tableHead.linkmessage" xml:space="preserve">
+ <source>Error message</source>
+ </trans-unit>
+ <trans-unit id="list.tableHead.lastCheck" xml:space="preserve">
+ <source>Last check</source>
+ </trans-unit>
+ <trans-unit id="list.edit" xml:space="preserve">
+ <source>Edit element containing this broken link</source>
+ </trans-unit>
+ <trans-unit id="list.field" xml:space="preserve">
+ <source>(Field: %s)</source>
+ </trans-unit>
+ <trans-unit id="list.no.headline" xml:space="preserve">
+ <source>no headline</source>
+ </trans-unit>
+ <trans-unit id="list.report.pagedeleted" xml:space="preserve">
+ <source>Page '###title###' (###uid###) is deleted.</source>
+ </trans-unit>
+ <trans-unit id="list.report.pagenotvisible" xml:space="preserve">
+ <source>Page '###title###' (###uid###) is not visible.</source>
+ </trans-unit>
+ <trans-unit id="list.report.pagenotexisting" xml:space="preserve">
+ <source>Page (###uid###) does not exist.</source>
+ </trans-unit>
+ <trans-unit id="list.report.contentmoved" xml:space="preserve">
+ <source>Element '###title###' (###uid###) is not located on page ###wrongpage###, but on page ###rightpage###.</source>
+ </trans-unit>
+ <trans-unit id="list.report.contentdeleted" xml:space="preserve">
+ <source>Element '###title###' (###uid###) is deleted.</source>
+ </trans-unit>
+ <trans-unit id="list.report.contentnotvisible" xml:space="preserve">
+ <source>Element '###title###' (###uid###) is not visible.</source>
+ </trans-unit>
+ <trans-unit id="list.report.contentnotexisting" xml:space="preserve">
+ <source>Element (###uid###) does not exist.</source>
+ </trans-unit>
+ <trans-unit id="list.report.rowdeleted" xml:space="preserve">
+ <source>###title### row (###uid###) is deleted.</source>
+ </trans-unit>
+ <trans-unit id="list.report.rowdeleted.default.title" xml:space="preserve">
+ <source>Linked</source>
+ </trans-unit>
+ <trans-unit id="list.report.rownotexisting" xml:space="preserve">
+ <source>Row (###uid###) does not exist.</source>
+ </trans-unit>
+ <trans-unit id="list.report.noinformation" xml:space="preserve">
+ <source>No information about the error is available.</source>
+ </trans-unit>
+ <trans-unit id="list.report.noresponse" xml:space="preserve">
+ <source>External Link not reachable.</source>
+ </trans-unit>
+ <trans-unit id="list.report.redirectloop" xml:space="preserve">
+ <source>A redirect loop occurred. (%s: %s)</source>
+ </trans-unit>
+ <trans-unit id="list.report.pageforbidden403" xml:space="preserve">
+ <source>Accessing this address is not allowed (403).</source>
+ </trans-unit>
+ <trans-unit id="list.report.pagenotfound404" xml:space="preserve">
+ <source>The requested url was not found (404).</source>
+ </trans-unit>
+ <trans-unit id="list.report.externalerror" xml:space="preserve">
+ <source>External Link returned HTTP error code (%s).</source>
+ </trans-unit>
+ <trans-unit id="list.report.filenotexisting" xml:space="preserve">
+ <source>File doesn't exist.</source>
+ </trans-unit>
+ <trans-unit id="list.report.timeout" xml:space="preserve">
+ <source>Operation timeout. The specified time-out period was reached according to the conditions.</source>
+ </trans-unit>
+ <trans-unit id="list.report.internalerror500" xml:space="preserve">
+ <source>Internal Server Error (500)</source>
+ </trans-unit>
+ <trans-unit id="list.report.couldnotresolvehost" xml:space="preserve">
+ <source>Could not resolve host. The given remote host was not resolved.</source>
+ </trans-unit>
+ <trans-unit id="list.report.errornetworkdata" xml:space="preserve">
+ <source>Failure with receiving network data.</source>
+ </trans-unit>
+ <trans-unit id="list.report.otherhttpcode" xml:space="preserve">
+ <source>An error occurred (%s): "%s".</source>
+ </trans-unit>
+ <trans-unit id="list.report.httpexception" xml:space="preserve">
+ <source>Exception: %s</source>
+ </trans-unit>
+ <trans-unit id="list.msg.ok" xml:space="preserve">
+ <source>Ok</source>
+ </trans-unit>
+ <trans-unit id="list.msg.lastRun" xml:space="preserve">
+ <source>%1$s %2$s</source>
+ </trans-unit>
+ <trans-unit id="list.no.broken.links.title" xml:space="preserve">
+ <source>No broken links to show!</source>
+ </trans-unit>
+ <trans-unit id="list.no.broken.links" xml:space="preserve">
+ <source>There are no broken links to be displayed.</source>
+ </trans-unit>
+ <trans-unit id="no.access.title" xml:space="preserve">
+ <source>No access!</source>
+ </trans-unit>
+ <trans-unit id="no.access" xml:space="preserve">
+ <source>You do not have access to these listings.</source>
+ </trans-unit>
+ </body>
+ </file>
+</xliff>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<xliff version="1.0">
+ <file source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:34Z" product-name="linkvalidator">
+ <header/>
+ <body>
+ <trans-unit id="checkboxes.description" xml:space="preserve">
+ <source>Click the following checkboxes to consider or to ignore the corresponding broken links.</source>
+ </trans-unit>
+ <trans-unit id="tablehead_path.description" xml:space="preserve">
+ <source>Path to the content element, which contains the broken link.</source>
+ </trans-unit>
+ <trans-unit id="tablehead_element.description" xml:space="preserve">
+ <source>Type of the element containing the broken link, its headline and the field in which the broken link is located.</source>
+ </trans-unit>
+ <trans-unit id="tablehead_headlink.description" xml:space="preserve">
+ <source>The linking text.</source>
+ </trans-unit>
+ <trans-unit id="tablehead_linktarget.description" xml:space="preserve">
+ <source>URL to which the broken link is pointing.</source>
+ </trans-unit>
+ <trans-unit id="tablehead_linkmessage.description" xml:space="preserve">
+ <source>Status of that link.</source>
+ </trans-unit>
+ <trans-unit id="tablehead_lastcheck.description" xml:space="preserve">
+ <source>Date and time of the last update of the information in each table row.</source>
+ </trans-unit>
+ <trans-unit id="task_page.alttitle" xml:space="preserve">
+ <source>Start page of the task</source>
+ </trans-unit>
+ <trans-unit id="task_page.description" xml:space="preserve">
+ <source>UID of the start page for this task.</source>
+ </trans-unit>
+ <trans-unit id="task_depth.alttitle" xml:space="preserve">
+ <source>Depth of the task</source>
+ </trans-unit>
+ <trans-unit id="task_depth.description" xml:space="preserve">
+ <source>Level of pages the task should check.</source>
+ </trans-unit>
+ <trans-unit id="task_configuration.alttitle" xml:space="preserve">
+ <source>Special TSconfig code</source>
+ </trans-unit>
+ <trans-unit id="task_configuration.description" xml:space="preserve">
+ <source>TSconfig Code which defines settings for linkvalidator to be used for this task.</source>
+ </trans-unit>
+ <trans-unit id="task_email.alttitle" xml:space="preserve">
+ <source>Email address</source>
+ </trans-unit>
+ <trans-unit id="task_email.description" xml:space="preserve">
+ <source>Email address to which an email report is sent.</source>
+ </trans-unit>
+ <trans-unit id="task_emailonbrokenlinkonly.alttitle" xml:space="preserve">
+ <source>Mailing option</source>
+ </trans-unit>
+ <trans-unit id="task_emailonbrokenlinkonly.description" xml:space="preserve">
+ <source>Only send an email, if new broken links were found.</source>
+ </trans-unit>
+ <trans-unit id="task_emailfile.alttitle" xml:space="preserve">
+ <source>Email template file</source>
+ </trans-unit>
+ <trans-unit id="task_emailfile.description" xml:space="preserve">
+ <source>Define a template to be used for the email.</source>
+ </trans-unit>
+ </body>
+ </file>
+</xliff>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<xliff version="1.0">
+ <file source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:34Z" product-name="linkvalidator">
+ <header/>
+ <body>
+ <trans-unit id="mlang_tabs_tab" xml:space="preserve">
+ <source>Check Links</source>
+ </trans-unit>
+ <trans-unit id="mlang_labels_tabdescr" xml:space="preserve">
+ <source>Checks the links in your website for validity.</source>
+ </trans-unit>
+ <trans-unit id="mlang_labels_tablabel" xml:space="preserve">
+ <source>Validates links</source>
+ </trans-unit>
+ </body>
+ </file>
+</xliff>
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<xliff version="1.0">
+ <file source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:34Z" product-name="linkvalidator">
+ <header/>
+ <body>
+ <trans-unit id="mod_linkvalidator" xml:space="preserve">
+ <source>Linkvalidator</source>
+ </trans-unit>
+ <trans-unit id="tasks.validate.name" xml:space="preserve">
+ <source>Linkvalidator</source>
+ </trans-unit>
+ <trans-unit id="tasks.validate.description" xml:space="preserve">
+ <source>Search for broken links and store the result into the temporary table tx_linkvalidator_link in order to ease up the backend module.</source>
+ </trans-unit>
+ <trans-unit id="tasks.validate.page" xml:space="preserve">
+ <source>Start page (uid)</source>
+ </trans-unit>
+ <trans-unit id="tasks.validate.depth" xml:space="preserve">
+ <source>Depth</source>
+ </trans-unit>
+ <trans-unit id="tasks.validate.conf" xml:space="preserve">
+ <source>Overwrite TSconfig</source>
+ </trans-unit>
+ <trans-unit id="tasks.validate.email" xml:space="preserve">
+ <source>Send email report to</source>
+ </trans-unit>
+ <trans-unit id="tasks.validate.emailOnBrokenLinkOnly" xml:space="preserve">
+ <source>Send email on new broken links only</source>
+ </trans-unit>
+ <trans-unit id="tasks.validate.emailTemplateFile" xml:space="preserve">
+ <source>Email template file</source>
+ </trans-unit>
+ <trans-unit id="tasks.validate.invalidEmail" xml:space="preserve">
+ <source>Invalid email format!</source>
+ </trans-unit>
+ <trans-unit id="tasks.validate.invalidPage" xml:space="preserve">
+ <source>Invalid page uid, please enter a valid page uid!</source>
+ </trans-unit>
+ <trans-unit id="tasks.validate.invalidDepth" xml:space="preserve">
+ <source>There is no depth set, please set it to one of the offered values!</source>
+ </trans-unit>
+ <trans-unit id="tasks.error.noSubject" xml:space="preserve">
+ <source>No subject for the notification email</source>
+ </trans-unit>
+ <trans-unit id="tasks.error.invalidToEmail" xml:space="preserve">
+ <source>Invalid format of one or more of the recipient email addresses!</source>
+ </trans-unit>
+ <trans-unit id="tasks.error.invalidFromEmail" xml:space="preserve">
+ <source>Invalid format of the email address in the from header</source>
+ </trans-unit>
+ <trans-unit id="tasks.error.invalidTSconfig" xml:space="preserve">
+ <source>Invalid TSconfig in the task configuration!</source>
+ </trans-unit>
+ <trans-unit id="tasks.error.invalidEmailTemplateFile" xml:space="preserve">
+ <source>The email template file is not existing!</source>
+ </trans-unit>
+ </body>
+ </file>
+</xliff>
--- /dev/null
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<!-- ###REPORT_TEMPLATE### -->
+<html>
+<body>
+
+
+Total broken links: ###TOTALBROKENLINK### (last report: ###TOTALBROKENLINK_OLD###)<br />
+ <br />
+
+ <!-- ###PAGE_SECTION### -->
+ Page: ###TITLE###<br />
+ All links types: ###BROKENLINKCOUNT### (last report: ###BROKENLINKCOUNT_OLD###)<br />
+ Internal link: ###DB### (last report: ###DB_OLD###)<br />
+ External link: ###EXTERNAL### (last report: ###EXTERNAL_OLD###)<br />
+
+ <!-- ###PAGE_SECTION### -->
+
+
+</body>
+</html>
+<!-- ###REPORT_TEMPLATE### -->
\ No newline at end of file
--- /dev/null
+<!-- ###FULLDOC### begin -->
+ <div class="linkvalidator_checkoptions">
+ ###ID###
+ ###CHECKALLLINK###
+ <h4>###CHECKOPTIONS_TITLE###</h4>
+ <div>###CHECKOPTIONS###</div>
+ </div>
+ <div class="linkvalidator_funcmenu"><h4>###FUNC_TITLE###</h4><div>###FUNC_MENU###</div></div>
+ <div class="linkvalidator_button">###REFRESH######UPDATE###</div>
+
+ ###CONTENT###
+<!-- ###FULLDOC### end -->
+
+
+<!-- ###CHECKOPTIONS_SECTION### begin -->
+ <table class="typo3-dblist" id="linkvalidator_statsTable" cellspacing="0" cellpadding="0">
+ <tr class="t3-row-header">
+ <td>
+ ###TOTAL_COUNT_LABEL###
+ </td>
+ <td class="number">###TOTAL_COUNT###</td>
+ </tr>
+ <!-- ###HOOK_SECTION### begin -->
+ <tr class="db_list_normal">
+ <td>
+ <div class="linkvalidator_singleOption">###OPTION###</div>
+ </td>
+ <td class="number">###COUNT###</td>
+ </tr>
+ <!-- ###HOOK_SECTION### end -->
+ </table>
+<!-- ###CHECKOPTIONS_SECTION### end -->
+
+
+<!-- ###BROKENLINKS_CONTENT### begin -->
+ ###LIST_HEADER###
+ <table class="typo3-dblist" id="linkvalidator_brokenLinksTable" cellspacing="0" cellpadding="0">
+ <tr class="t3-row-header">
+ <td></td>
+ <td>###TABLEHEAD_PATH###</td>
+ <td>###TABLEHEAD_ELEMENT###</td>
+ <td>###TABLEHEAD_HEADLINK###</td>
+ <td>###TABLEHEAD_LINKTARGET###</td>
+ <td>###TABLEHEAD_LINKMESSAGE###</td>
+ <td>###TABLEHEAD_LASTCHECK###</td>
+ </tr>
+ <!-- ###BROKENLINKS_ITEM### begin -->
+ <tr class="db_list_normal">
+ <td>###ACTIONLINK###</td>
+ <td>###PATH###</td>
+ <td>###ELEMENT###</td>
+ <td>###HEADLINK###</td>
+ <td><a href="###LINKTARGET###" target="_blank">###LINKTARGET###</a></td>
+ <td>###LINKMESSAGE###</td>
+ <td>###LASTCHECK###</td>
+ </tr>
+ <!-- ###BROKENLINKS_ITEM### end -->
+ </table>
+<!-- ###BROKENLINKS_CONTENT### end -->
+
+<!-- ###NOBROKENLINKS_CONTENT### begin -->
+ ###LIST_HEADER###
+ ###NO_BROKEN_LINKS###
+<!-- ###NOBROKENLINKS_CONTENT### end -->
--- /dev/null
+@charset "UTF-8";
+
+#linkvalidator-main div.x-tab-panel-bwrap div div div div.x-panel-body {
+ overflow: auto;
+}
+
+.linkvalidator_funcmenu {
+ margin-bottom: 25px;
+ margin-left: 25px;
+ margin-top: 0;
+ float: left;
+}
+.linkvalidator_funcmenu input {
+ margin-left: 5px;
+}
+.linkvalidator_funcmenu div {
+ margin-top: 11px;
+}
+#linkvalidator-main .linkvalidator_funcmenu h4 {
+ clear: both;
+ padding: 0;
+}
+
+#linkvalidator-main h4 {
+ padding-top: 16px;
+}
+
+.linkvalidator_checkoptions {
+ float: left;
+ display: block;
+ margin-top: 0px;
+ width: 225px;
+}
+.linkvalidator_checkoptions div {
+ float: left;
+}
+#linkvalidator-main .linkvalidator_checkoptions h4 {
+ clear: both;
+ padding-top: 0px;
+}
+
+.linkvalidator_button {
+ clear: both;
+}
+
+#linkvalidator-main .typo3-message {
+ margin-top: 10px;
+}
+
+.linkvalidator_singleOption {
+ padding: 0;
+}
+.linkvalidator_singleOption label {
+ padding-left: 10px;
+ vertical-align: middle;
+}
+.linkvalidator_singleOption input {
+ vertical-align: middle;
+}
+.linkvalidator_singleOption .checkbox,
+.linkvalidator_singleOption .checkbox:hover {
+ margin-top: 0px;
+ margin-bottom: 0px;
+}
+.linkvalidator_singleOption-showalllinks {
+ padding-bottom: 10px;
+}
+
+#linkvalidator_statsTable {
+ width: 230px;
+ margin-top: 5px;
+ margin-bottom: 14px;
+}
+#linkvalidator_statsTable .t3-row-header td.number {
+ padding-top: 4px;
+}
+#linkvalidator_statsTable td,
+#linkvalidator_statsTable span {
+ vertical-align: middle;
+}
+#linkvalidator_statsTable td.number {
+ padding-right: 6px;
+ text-align: center;
+}
+#linkvalidator_statsTable td,
+#linkvalidator_brokenLinksTable td {
+ border-left: 1px solid white;
+}
+#linkvalidator_statsTable td:first-child,
+#linkvalidator_brokenLinksTable td:first-child {
+ border-left: none;
+}
die('Access denied.');
}
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:linkvalidator/res/pagetsconfig.txt">');
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addPageTSConfig(
+ '<INCLUDE_TYPOSCRIPT: source="FILE:EXT:linkvalidator/Configuration/TsConfig/Page/pagetsconfig.txt">'
+);
$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks']['TYPO3\\CMS\\Linkvalidator\\Task\\ValidatorTask'] = array(
'extension' => $_EXTKEY,
- 'title' => 'LLL:EXT:' . $_EXTKEY . '/locallang.xml:tasks.validate.name',
- 'description' => 'LLL:EXT:' . $_EXTKEY . '/locallang.xml:tasks.validate.description',
+ 'title' => 'LLL:EXT:' . $_EXTKEY . '/Resources/Private/Language/locallang.xlf:tasks.validate.name',
+ 'description' => 'LLL:EXT:' . $_EXTKEY . '/Resources/Private/Language/locallang.xlf:tasks.validate.description',
'additionalFields' => 'TYPO3\\CMS\\Linkvalidator\\Task\\ValidatorTaskAdditionalFieldProvider'
);
if (!defined('TYPO3_MODE')) {
die('Access denied.');
}
-if (TYPO3_MODE == 'BE') {
+if (TYPO3_MODE === 'BE') {
// Add module
- \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::insertModuleFunction('web_info', 'TYPO3\\CMS\\Linkvalidator\\Report\\LinkValidatorReport', \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('linkvalidator') . 'Classes/Report/LinkValidatorReport.php', 'LLL:EXT:linkvalidator/locallang.xml:mod_linkvalidator');
+ \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::insertModuleFunction(
+ 'web_info',
+ 'TYPO3\\CMS\\Linkvalidator\\Report\\LinkValidatorReport',
+ \TYPO3\CMS\Core\Utility\ExtensionManagementUtility::extPath('linkvalidator') . 'Classes/Report/LinkValidatorReport.php',
+ 'LLL:EXT:linkvalidator/Resources/Private/Language/locallang.xlf:mod_linkvalidator'
+ );
}
// Initialize Context Sensitive Help (CSH)
-\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr('linkvalidator', 'EXT:linkvalidator/modfuncreport/locallang_csh.xml');
+\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addLLrefForTCAdescr(
+ 'linkvalidator',
+ 'EXT:linkvalidator/Resources/Private/Language/Module/locallang_csh.xlf'
+);
?>
\ No newline at end of file
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<xliff version="1.0">
- <file source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:34Z" product-name="linkvalidator">
- <header/>
- <body>
- <trans-unit id="mod_linkvalidator" xml:space="preserve">
- <source>Linkvalidator</source>
- </trans-unit>
- <trans-unit id="tasks.validate.name" xml:space="preserve">
- <source>Linkvalidator</source>
- </trans-unit>
- <trans-unit id="tasks.validate.description" xml:space="preserve">
- <source>Search for broken links and store the result into the temporary table tx_linkvalidator_link in order to ease up the backend module.</source>
- </trans-unit>
- <trans-unit id="tasks.validate.page" xml:space="preserve">
- <source>Start page (uid)</source>
- </trans-unit>
- <trans-unit id="tasks.validate.depth" xml:space="preserve">
- <source>Depth</source>
- </trans-unit>
- <trans-unit id="tasks.validate.conf" xml:space="preserve">
- <source>Overwrite TSconfig</source>
- </trans-unit>
- <trans-unit id="tasks.validate.email" xml:space="preserve">
- <source>Send email report to</source>
- </trans-unit>
- <trans-unit id="tasks.validate.emailOnBrokenLinkOnly" xml:space="preserve">
- <source>Send email on new broken links only</source>
- </trans-unit>
- <trans-unit id="tasks.validate.emailTemplateFile" xml:space="preserve">
- <source>Email template file</source>
- </trans-unit>
- <trans-unit id="tasks.validate.invalidEmail" xml:space="preserve">
- <source>Invalid email format!</source>
- </trans-unit>
- <trans-unit id="tasks.validate.invalidPage" xml:space="preserve">
- <source>Invalid page uid, please enter a valid page uid!</source>
- </trans-unit>
- <trans-unit id="tasks.validate.invalidDepth" xml:space="preserve">
- <source>There is no depth set, please set it to one of the offered values!</source>
- </trans-unit>
- <trans-unit id="tasks.error.noSubject" xml:space="preserve">
- <source>No subject for the notification email</source>
- </trans-unit>
- <trans-unit id="tasks.error.invalidToEmail" xml:space="preserve">
- <source>Invalid format of one or more of the recipient email addresses!</source>
- </trans-unit>
- <trans-unit id="tasks.error.invalidFromEmail" xml:space="preserve">
- <source>Invalid format of the email address in the from header</source>
- </trans-unit>
- <trans-unit id="tasks.error.invalidTSconfig" xml:space="preserve">
- <source>Invalid TSconfig in the task configuration!</source>
- </trans-unit>
- <trans-unit id="tasks.error.invalidEmailTemplateFile" xml:space="preserve">
- <source>The email template file is not existing!</source>
- </trans-unit>
- </body>
- </file>
-</xliff>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<xliff version="1.0">
- <file source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:34Z" product-name="linkvalidator">
- <header/>
- <body>
- <trans-unit id="menu.introduction" xml:space="preserve">
- <source>Introduction</source>
- </trans-unit>
- <trans-unit id="menu.checkLinks" xml:space="preserve">
- <source>Check Links for validity</source>
- </trans-unit>
- <trans-unit id="menu.overview" xml:space="preserve">
- <source>Overview of links on website</source>
- </trans-unit>
- <trans-unit id="overview.header" xml:space="preserve">
- <source>Overview - choose options to check the links</source>
- </trans-unit>
- <trans-unit id="overview.all.header" xml:space="preserve">
- <source>Total amounts in tt_content</source>
- </trans-unit>
- <trans-unit id="overview.all.records" xml:space="preserve">
- <source>Records with ext. links:</source>
- </trans-unit>
- <trans-unit id="overview.all.links" xml:space="preserve">
- <source>External links:</source>
- </trans-unit>
- <trans-unit id="overview.branch.header" xml:space="preserve">
- <source>Amounts from actual branch in tt_content</source>
- </trans-unit>
- <trans-unit id="overview.branch.records" xml:space="preserve">
- <source>Records with ext. links:</source>
- </trans-unit>
- <trans-unit id="overview.branch.links" xml:space="preserve">
- <source>External links:</source>
- </trans-unit>
- <trans-unit id="overview.attention.header" xml:space="preserve">
- <source>Attention:</source>
- </trans-unit>
- <trans-unit id="overview.attention.text" xml:space="preserve">
- <source>Checking links may take up to several minutes. Checking ONE link can last up to 3 seconds.</source>
- </trans-unit>
- <trans-unit id="Report" xml:space="preserve">
- <source>Report</source>
- </trans-unit>
- <trans-unit id="CheckLink" xml:space="preserve">
- <source>Check Links</source>
- </trans-unit>
- <trans-unit id="report.statistics.header" xml:space="preserve">
- <source>Show these types of broken links</source>
- </trans-unit>
- <trans-unit id="checklinks.statistics.header" xml:space="preserve">
- <source>Check these types of broken links</source>
- </trans-unit>
- <trans-unit id="report.func.title" xml:space="preserve">
- <source>Show this level</source>
- </trans-unit>
- <trans-unit id="checklinks.func.title" xml:space="preserve">
- <source>Check this level</source>
- </trans-unit>
- <trans-unit id="overviews.nbtotal" xml:space="preserve">
- <source>Broken links total:</source>
- </trans-unit>
- <trans-unit id="hooks.db" xml:space="preserve">
- <source>Internal Links:</source>
- </trans-unit>
- <trans-unit id="hooks.file" xml:space="preserve">
- <source>File Links:</source>
- </trans-unit>
- <trans-unit id="hooks.external" xml:space="preserve">
- <source>External Links:</source>
- </trans-unit>
- <trans-unit id="hooks.linkhandler" xml:space="preserve">
- <source>Linkhandler Links:</source>
- </trans-unit>
- <trans-unit id="label_refresh" xml:space="preserve">
- <source>Refresh display</source>
- </trans-unit>
- <trans-unit id="label_update" xml:space="preserve">
- <source>Check links</source>
- </trans-unit>
- <trans-unit id="list.header" xml:space="preserve">
- <source>Listing of broken links</source>
- </trans-unit>
- <trans-unit id="list.tableHead.path" xml:space="preserve">
- <source>Path</source>
- </trans-unit>
- <trans-unit id="list.tableHead.element" xml:space="preserve">
- <source>Element</source>
- </trans-unit>
- <trans-unit id="list.tableHead.headlink" xml:space="preserve">
- <source>Link</source>
- </trans-unit>
- <trans-unit id="list.tableHead.linktarget" xml:space="preserve">
- <source>URL / Link Target</source>
- </trans-unit>
- <trans-unit id="list.tableHead.linkmessage" xml:space="preserve">
- <source>Error message</source>
- </trans-unit>
- <trans-unit id="list.tableHead.lastCheck" xml:space="preserve">
- <source>Last check</source>
- </trans-unit>
- <trans-unit id="list.edit" xml:space="preserve">
- <source>Edit element containing this broken link</source>
- </trans-unit>
- <trans-unit id="list.field" xml:space="preserve">
- <source>(Field: %s)</source>
- </trans-unit>
- <trans-unit id="list.no.headline" xml:space="preserve">
- <source>no headline</source>
- </trans-unit>
- <trans-unit id="list.report.pagedeleted" xml:space="preserve">
- <source>Page '###title###' (###uid###) is deleted.</source>
- </trans-unit>
- <trans-unit id="list.report.pagenotvisible" xml:space="preserve">
- <source>Page '###title###' (###uid###) is not visible.</source>
- </trans-unit>
- <trans-unit id="list.report.pagenotexisting" xml:space="preserve">
- <source>Page (###uid###) does not exist.</source>
- </trans-unit>
- <trans-unit id="list.report.contentmoved" xml:space="preserve">
- <source>Element '###title###' (###uid###) is not located on page ###wrongpage###, but on page ###rightpage###.</source>
- </trans-unit>
- <trans-unit id="list.report.contentdeleted" xml:space="preserve">
- <source>Element '###title###' (###uid###) is deleted.</source>
- </trans-unit>
- <trans-unit id="list.report.contentnotvisible" xml:space="preserve">
- <source>Element '###title###' (###uid###) is not visible.</source>
- </trans-unit>
- <trans-unit id="list.report.contentnotexisting" xml:space="preserve">
- <source>Element (###uid###) does not exist.</source>
- </trans-unit>
- <trans-unit id="list.report.rowdeleted" xml:space="preserve">
- <source>###title### row (###uid###) is deleted.</source>
- </trans-unit>
- <trans-unit id="list.report.rowdeleted.default.title" xml:space="preserve">
- <source>Linked</source>
- </trans-unit>
- <trans-unit id="list.report.rownotexisting" xml:space="preserve">
- <source>Row (###uid###) does not exist.</source>
- </trans-unit>
- <trans-unit id="list.report.noinformation" xml:space="preserve">
- <source>No information about the error is available.</source>
- </trans-unit>
- <trans-unit id="list.report.noresponse" xml:space="preserve">
- <source>External Link not reachable.</source>
- </trans-unit>
- <trans-unit id="list.report.redirectloop" xml:space="preserve">
- <source>A redirect loop occurred. (%s: %s)</source>
- </trans-unit>
- <trans-unit id="list.report.pageforbidden403" xml:space="preserve">
- <source>Accessing this address is not allowed (403).</source>
- </trans-unit>
- <trans-unit id="list.report.pagenotfound404" xml:space="preserve">
- <source>The requested url was not found (404).</source>
- </trans-unit>
- <trans-unit id="list.report.externalerror" xml:space="preserve">
- <source>External Link returned HTTP error code (%s).</source>
- </trans-unit>
- <trans-unit id="list.report.filenotexisting" xml:space="preserve">
- <source>File doesn't exist.</source>
- </trans-unit>
- <trans-unit id="list.report.timeout" xml:space="preserve">
- <source>Operation timeout. The specified time-out period was reached according to the conditions.</source>
- </trans-unit>
- <trans-unit id="list.report.internalerror500" xml:space="preserve">
- <source>Internal Server Error (500)</source>
- </trans-unit>
- <trans-unit id="list.report.couldnotresolvehost" xml:space="preserve">
- <source>Could not resolve host. The given remote host was not resolved.</source>
- </trans-unit>
- <trans-unit id="list.report.errornetworkdata" xml:space="preserve">
- <source>Failure with receiving network data.</source>
- </trans-unit>
- <trans-unit id="list.report.otherhttpcode" xml:space="preserve">
- <source>An error occurred (%s): "%s".</source>
- </trans-unit>
- <trans-unit id="list.report.httpexception" xml:space="preserve">
- <source>Exception: %s</source>
- </trans-unit>
- <trans-unit id="list.msg.ok" xml:space="preserve">
- <source>Ok</source>
- </trans-unit>
- <trans-unit id="list.msg.lastRun" xml:space="preserve">
- <source>%1$s %2$s</source>
- </trans-unit>
- <trans-unit id="list.no.broken.links.title" xml:space="preserve">
- <source>No broken links to show!</source>
- </trans-unit>
- <trans-unit id="list.no.broken.links" xml:space="preserve">
- <source>There are no broken links to be displayed.</source>
- </trans-unit>
- <trans-unit id="no.access.title" xml:space="preserve">
- <source>No access!</source>
- </trans-unit>
- <trans-unit id="no.access" xml:space="preserve">
- <source>You do not have access to these listings.</source>
- </trans-unit>
- </body>
- </file>
-</xliff>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<xliff version="1.0">
- <file source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:34Z" product-name="linkvalidator">
- <header/>
- <body>
- <trans-unit id="checkboxes.description" xml:space="preserve">
- <source>Click the following checkboxes to consider or to ignore the corresponding broken links.</source>
- </trans-unit>
- <trans-unit id="tablehead_path.description" xml:space="preserve">
- <source>Path to the content element, which contains the broken link.</source>
- </trans-unit>
- <trans-unit id="tablehead_element.description" xml:space="preserve">
- <source>Type of the element containing the broken link, its headline and the field in which the broken link is located.</source>
- </trans-unit>
- <trans-unit id="tablehead_headlink.description" xml:space="preserve">
- <source>The linking text.</source>
- </trans-unit>
- <trans-unit id="tablehead_linktarget.description" xml:space="preserve">
- <source>URL to which the broken link is pointing.</source>
- </trans-unit>
- <trans-unit id="tablehead_linkmessage.description" xml:space="preserve">
- <source>Status of that link.</source>
- </trans-unit>
- <trans-unit id="tablehead_lastcheck.description" xml:space="preserve">
- <source>Date and time of the last update of the information in each table row.</source>
- </trans-unit>
- <trans-unit id="task_page.alttitle" xml:space="preserve">
- <source>Start page of the task</source>
- </trans-unit>
- <trans-unit id="task_page.description" xml:space="preserve">
- <source>UID of the start page for this task.</source>
- </trans-unit>
- <trans-unit id="task_depth.alttitle" xml:space="preserve">
- <source>Depth of the task</source>
- </trans-unit>
- <trans-unit id="task_depth.description" xml:space="preserve">
- <source>Level of pages the task should check.</source>
- </trans-unit>
- <trans-unit id="task_configuration.alttitle" xml:space="preserve">
- <source>Special TSconfig code</source>
- </trans-unit>
- <trans-unit id="task_configuration.description" xml:space="preserve">
- <source>TSconfig Code which defines settings for linkvalidator to be used for this task.</source>
- </trans-unit>
- <trans-unit id="task_email.alttitle" xml:space="preserve">
- <source>Email address</source>
- </trans-unit>
- <trans-unit id="task_email.description" xml:space="preserve">
- <source>Email address to which an email report is sent.</source>
- </trans-unit>
- <trans-unit id="task_emailonbrokenlinkonly.alttitle" xml:space="preserve">
- <source>Mailing option</source>
- </trans-unit>
- <trans-unit id="task_emailonbrokenlinkonly.description" xml:space="preserve">
- <source>Only send an email, if new broken links were found.</source>
- </trans-unit>
- <trans-unit id="task_emailfile.alttitle" xml:space="preserve">
- <source>Email template file</source>
- </trans-unit>
- <trans-unit id="task_emailfile.description" xml:space="preserve">
- <source>Define a template to be used for the email.</source>
- </trans-unit>
- </body>
- </file>
-</xliff>
+++ /dev/null
-<?xml version="1.0" encoding="UTF-8"?>
-<xliff version="1.0">
- <file source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:34Z" product-name="linkvalidator">
- <header/>
- <body>
- <trans-unit id="mlang_tabs_tab" xml:space="preserve">
- <source>Check Links</source>
- </trans-unit>
- <trans-unit id="mlang_labels_tabdescr" xml:space="preserve">
- <source>Checks the links in your website for validity.</source>
- </trans-unit>
- <trans-unit id="mlang_labels_tablabel" xml:space="preserve">
- <source>Validates links</source>
- </trans-unit>
- </body>
- </file>
-</xliff>
+++ /dev/null
-<!-- ###FULLDOC### begin -->
- <div class="linkvalidator_checkoptions">
- ###ID###
- ###CHECKALLLINK###
- <h4>###CHECKOPTIONS_TITLE###</h4>
- <div>###CHECKOPTIONS###</div>
- </div>
- <div class="linkvalidator_funcmenu"><h4>###FUNC_TITLE###</h4><div>###FUNC_MENU###</div></div>
- <div class="linkvalidator_button">###REFRESH######UPDATE###</div>
-
- ###CONTENT###
-<!-- ###FULLDOC### end -->
-
-
-<!-- ###CHECKOPTIONS_SECTION### begin -->
- <table class="typo3-dblist" id="linkvalidator_statsTable" cellspacing="0" cellpadding="0">
- <tr class="t3-row-header">
- <td>
- ###TOTAL_COUNT_LABEL###
- </td>
- <td class="number">###TOTAL_COUNT###</td>
- </tr>
- <!-- ###HOOK_SECTION### begin -->
- <tr class="db_list_normal">
- <td>
- <div class="linkvalidator_singleOption">###OPTION###</div>
- </td>
- <td class="number">###COUNT###</td>
- </tr>
- <!-- ###HOOK_SECTION### end -->
- </table>
-<!-- ###CHECKOPTIONS_SECTION### end -->
-
-
-<!-- ###BROKENLINKS_CONTENT### begin -->
- ###LIST_HEADER###
- <table class="typo3-dblist" id="linkvalidator_brokenLinksTable" cellspacing="0" cellpadding="0">
- <tr class="t3-row-header">
- <td></td>
- <td>###TABLEHEAD_PATH###</td>
- <td>###TABLEHEAD_ELEMENT###</td>
- <td>###TABLEHEAD_HEADLINK###</td>
- <td>###TABLEHEAD_LINKTARGET###</td>
- <td>###TABLEHEAD_LINKMESSAGE###</td>
- <td>###TABLEHEAD_LASTCHECK###</td>
- </tr>
- <!-- ###BROKENLINKS_ITEM### begin -->
- <tr class="db_list_normal">
- <td>###ACTIONLINK###</td>
- <td>###PATH###</td>
- <td>###ELEMENT###</td>
- <td>###HEADLINK###</td>
- <td><a href="###LINKTARGET###" target="_blank">###LINKTARGET###</a></td>
- <td>###LINKMESSAGE###</td>
- <td>###LASTCHECK###</td>
- </tr>
- <!-- ###BROKENLINKS_ITEM### end -->
- </table>
-<!-- ###BROKENLINKS_CONTENT### end -->
-
-<!-- ###NOBROKENLINKS_CONTENT### begin -->
- ###LIST_HEADER###
- ###NO_BROKEN_LINKS###
-<!-- ###NOBROKENLINKS_CONTENT### end -->
+++ /dev/null
-@charset "UTF-8";
-
-#linkvalidator-main div.x-tab-panel-bwrap div div div div.x-panel-body {
- overflow: auto;
-}
-
-.linkvalidator_funcmenu {
- margin-bottom: 25px;
- margin-left: 25px;
- margin-top: 0;
- float: left;
-}
-.linkvalidator_funcmenu input {
- margin-left: 5px;
-}
-.linkvalidator_funcmenu div {
- margin-top: 11px;
-}
-#linkvalidator-main .linkvalidator_funcmenu h4 {
- clear: both;
- padding: 0;
-}
-
-#linkvalidator-main h4 {
- padding-top: 16px;
-}
-
-.linkvalidator_checkoptions {
- float: left;
- display: block;
- margin-top: 0px;
- width: 225px;
-}
-.linkvalidator_checkoptions div {
- float: left;
-}
-#linkvalidator-main .linkvalidator_checkoptions h4 {
- clear: both;
- padding-top: 0px;
-}
-
-.linkvalidator_button {
- clear: both;
-}
-
-#linkvalidator-main .typo3-message {
- margin-top: 10px;
-}
-
-.linkvalidator_singleOption {
- padding: 0;
-}
-.linkvalidator_singleOption label {
- padding-left: 10px;
- vertical-align: middle;
-}
-.linkvalidator_singleOption input {
- vertical-align: middle;
-}
-.linkvalidator_singleOption .checkbox,
-.linkvalidator_singleOption .checkbox:hover {
- margin-top: 0px;
- margin-bottom: 0px;
-}
-.linkvalidator_singleOption-showalllinks {
- padding-bottom: 10px;
-}
-
-#linkvalidator_statsTable {
- width: 230px;
- margin-top: 5px;
- margin-bottom: 14px;
-}
-#linkvalidator_statsTable .t3-row-header td.number {
- padding-top: 4px;
-}
-#linkvalidator_statsTable td,
-#linkvalidator_statsTable span {
- vertical-align: middle;
-}
-#linkvalidator_statsTable td.number {
- padding-right: 6px;
- text-align: center;
-}
-#linkvalidator_statsTable td,
-#linkvalidator_brokenLinksTable td {
- border-left: 1px solid white;
-}
-#linkvalidator_statsTable td:first-child,
-#linkvalidator_brokenLinksTable td:first-child {
- border-left: none;
-}
+++ /dev/null
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<!-- ###REPORT_TEMPLATE### -->
-<html>
-<body>
-
-
-Total broken links: ###TOTALBROKENLINK### (last report: ###TOTALBROKENLINK_OLD###)<br />
- <br />
-
- <!-- ###PAGE_SECTION### -->
- Page: ###TITLE###<br />
- All links types: ###BROKENLINKCOUNT### (last report: ###BROKENLINKCOUNT_OLD###)<br />
- Internal link: ###DB### (last report: ###DB_OLD###)<br />
- External link: ###EXTERNAL### (last report: ###EXTERNAL_OLD###)<br />
-
- <!-- ###PAGE_SECTION### -->
-
-
-</body>
-</html>
-<!-- ###REPORT_TEMPLATE### -->
\ No newline at end of file
+++ /dev/null
-mod.linkvalidator {
- searchFields {
- pages = media,url
- tt_content = bodytext,header_link,records
- tt_news = bodytext,links
- }
- linktypes = db,file,external
- checkhidden = 0
- showCheckLinkTab = 1
- mail {
- fromname = Linkvalidator
- fromemail = Linkvalidator@example.com
- replytoname =
- replytoemail =
- subject = TYPO3 Linkvalidator report
- }
-}
\ No newline at end of file