[TASK] Refactor code to match new structure
authorWouter Wolters <typo3@wouterwolters.nl>
Sat, 16 Mar 2013 15:17:05 +0000 (16:17 +0100)
committerPhilipp Gampe <philipp.gampe@typo3.org>
Wed, 27 Mar 2013 08:58:04 +0000 (09:58 +0100)
- Move language files Resources/Private/Language
- Move CSS to Resources/Public/Css
- Move PageTsConfig to Configuration/TsConfig/Page
- Move all reference to .xml to .xlf

Change-Id: I62a738e81c1685d8f6de7aea746d1c8af343e9d7
Resolves: #46360
Releases: 6.1
Reviewed-on: https://review.typo3.org/18977
Reviewed-by: Philipp Gampe
Tested-by: Philipp Gampe
29 files changed:
typo3/sysext/linkvalidator/Classes/LinkAnalyzer.php
typo3/sysext/linkvalidator/Classes/Linktype/AbstractLinktype.php
typo3/sysext/linkvalidator/Classes/Linktype/ExternalLinktype.php
typo3/sysext/linkvalidator/Classes/Linktype/FileLinktype.php
typo3/sysext/linkvalidator/Classes/Linktype/InternalLinktype.php
typo3/sysext/linkvalidator/Classes/Linktype/LinkHandler.php
typo3/sysext/linkvalidator/Classes/Linktype/LinktypeInterface.php
typo3/sysext/linkvalidator/Classes/Report/LinkValidatorReport.php
typo3/sysext/linkvalidator/Classes/Task/ValidatorTask.php
typo3/sysext/linkvalidator/Classes/Task/ValidatorTaskAdditionalFieldProvider.php
typo3/sysext/linkvalidator/Classes/class.tx_linkvalidator_processor.php
typo3/sysext/linkvalidator/Configuration/TsConfig/Page/pagetsconfig.txt [new file with mode: 0644]
typo3/sysext/linkvalidator/Resources/Private/Language/Module/locallang.xlf [new file with mode: 0644]
typo3/sysext/linkvalidator/Resources/Private/Language/Module/locallang_csh.xlf [new file with mode: 0644]
typo3/sysext/linkvalidator/Resources/Private/Language/Module/locallang_mod.xlf [new file with mode: 0644]
typo3/sysext/linkvalidator/Resources/Private/Language/locallang.xlf [new file with mode: 0644]
typo3/sysext/linkvalidator/Resources/Private/Templates/mailtemplate.html [new file with mode: 0644]
typo3/sysext/linkvalidator/Resources/Private/Templates/mod_template.html [new file with mode: 0644]
typo3/sysext/linkvalidator/Resources/Public/Css/linkvalidator.css [new file with mode: 0644]
typo3/sysext/linkvalidator/ext_localconf.php
typo3/sysext/linkvalidator/ext_tables.php
typo3/sysext/linkvalidator/locallang.xlf [deleted file]
typo3/sysext/linkvalidator/modfuncreport/locallang.xlf [deleted file]
typo3/sysext/linkvalidator/modfuncreport/locallang_csh.xlf [deleted file]
typo3/sysext/linkvalidator/modfuncreport/locallang_mod.xlf [deleted file]
typo3/sysext/linkvalidator/modfuncreport/mod_template.html [deleted file]
typo3/sysext/linkvalidator/res/linkvalidator.css [deleted file]
typo3/sysext/linkvalidator/res/mailtemplate.html [deleted file]
typo3/sysext/linkvalidator/res/pagetsconfig.txt [deleted file]

index 0e36e5b..ce3694d 100644 (file)
@@ -24,8 +24,6 @@ namespace TYPO3\CMS\Linkvalidator;
  *  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
  *
@@ -101,6 +99,7 @@ class LinkAnalyzer {
         * 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) {
@@ -226,7 +225,7 @@ class LinkAnalyzer {
        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
@@ -240,7 +239,7 @@ class LinkAnalyzer {
                                $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)) {
@@ -267,7 +266,7 @@ class LinkAnalyzer {
         * @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) {
@@ -275,7 +274,7 @@ class LinkAnalyzer {
                        $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
@@ -333,7 +332,7 @@ class LinkAnalyzer {
                                        }
                                }
                        }
-                       /** @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
@@ -418,6 +417,8 @@ class LinkAnalyzer {
        }
 
        /**
+        * 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
         */
index ae77740..3cf3e86 100644 (file)
@@ -23,6 +23,7 @@ namespace TYPO3\CMS\Linkvalidator\Linktype;
  *
  *  This copyright notice MUST APPEAR in all copies of the script!
  ***************************************************************/
+
 /**
  * This class provides Check Base plugin implementation
  *
@@ -83,5 +84,4 @@ abstract class AbstractLinktype implements \TYPO3\CMS\Linkvalidator\Linktype\Lin
 
 }
 
-
 ?>
\ No newline at end of file
index 3447d19..d1304f1 100644 (file)
@@ -24,6 +24,7 @@ namespace TYPO3\CMS\Linkvalidator\Linktype;
  *
  *  This copyright notice MUST APPEAR in all copies of the script!
  ***************************************************************/
+
 /**
  * This class provides Check External Links plugin implementation
  *
@@ -77,18 +78,18 @@ class ExternalLinktype extends \TYPO3\CMS\Linkvalidator\Linktype\AbstractLinktyp
                        '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) {
@@ -129,26 +130,26 @@ class ExternalLinktype extends \TYPO3\CMS\Linkvalidator\Linktype\AbstractLinktyp
        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;
        }
index 99b04cf..199737f 100644 (file)
@@ -24,6 +24,7 @@ namespace TYPO3\CMS\Linkvalidator\Linktype;
  *
  *  This copyright notice MUST APPEAR in all copies of the script!
  ***************************************************************/
+
 /**
  * This class provides Check File Links plugin implementation
  *
index a65ae42..2e12c3d 100644 (file)
@@ -24,6 +24,7 @@ namespace TYPO3\CMS\Linkvalidator\Linktype;
  *
  *  This copyright notice MUST APPEAR in all copies of the script!
  ***************************************************************/
+
 /**
  * This class provides Check Internal Links plugin implementation
  *
@@ -32,10 +33,26 @@ namespace TYPO3\CMS\Linkvalidator\Linktype;
  */
 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
         *
@@ -183,43 +200,43 @@ class InternalLinktype extends \TYPO3\CMS\Linkvalidator\Linktype\AbstractLinktyp
                $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)) {
index 67b5bc1..0443450 100644 (file)
@@ -24,6 +24,7 @@ namespace TYPO3\CMS\Linkvalidator\Linktype;
  *
  *  This copyright notice MUST APPEAR in all copies of the script!
  ***************************************************************/
+
 /**
  * This class provides Check Link Handler plugin implementation
  *
@@ -32,7 +33,11 @@ namespace TYPO3\CMS\Linkvalidator\Linktype;
  */
 class LinkHandler extends \TYPO3\CMS\Linkvalidator\Linktype\AbstractLinktype {
 
+       /**
+        * @var string
+        */
        const DELETED = 'deleted';
+
        /**
         * TSconfig of the module tx_linkhandler
         *
@@ -42,8 +47,6 @@ class LinkHandler extends \TYPO3\CMS\Linkvalidator\Linktype\AbstractLinktype {
 
        /**
         * Get TSconfig when loading the class
-        *
-        * @todo Define visibility
         */
        public function __construct() {
                $this->tsconfig = \TYPO3\CMS\Backend\Utility\BackendUtility::getModTSconfig(1, 'mod.tx_linkhandler');
index 6acfd63..37d5b80 100644 (file)
@@ -23,6 +23,7 @@ namespace TYPO3\CMS\Linkvalidator\Linktype;
  *
  *  This copyright notice MUST APPEAR in all copies of the script!
  ***************************************************************/
+
 /**
  * This class provides interface implementation.
  *
index b1bd988..7996cf7 100644 (file)
@@ -135,11 +135,6 @@ class LinkValidatorReport extends \TYPO3\CMS\Backend\Module\AbstractFunctionModu
        protected $pageRenderer;
 
        /**
-        * @var string $resPath Path to "linkvalidator/res/" to be used in pageRenderer
-        */
-       protected $resPath = '';
-
-       /**
         * @var \TYPO3\CMS\Linkvalidator\Linktype\LinktypeInterface[]
         */
        protected $hookObjectsArr = array();
@@ -155,7 +150,7 @@ class LinkValidatorReport extends \TYPO3\CMS\Backend\Module\AbstractFunctionModu
         * @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');
@@ -191,11 +186,12 @@ class LinkValidatorReport extends \TYPO3\CMS\Backend\Module\AbstractFunctionModu
                }
                $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){
@@ -219,7 +215,7 @@ class LinkValidatorReport extends \TYPO3\CMS\Backend\Module\AbstractFunctionModu
                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);
@@ -293,7 +289,7 @@ class LinkValidatorReport extends \TYPO3\CMS\Backend\Module\AbstractFunctionModu
                }
                $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;
@@ -384,11 +380,11 @@ class LinkValidatorReport extends \TYPO3\CMS\Backend\Module\AbstractFunctionModu
                // 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>';
@@ -442,6 +438,7 @@ class LinkValidatorReport extends \TYPO3\CMS\Backend\Module\AbstractFunctionModu
                                } else {
                                        $brokenLinksMarker = $this->getNoBrokenLinkMessage($brokenLinksMarker);
                                }
+                               $GLOBALS['TYPO3_DB']->sql_free_result($res);
                        }
                } else {
                        $brokenLinksMarker = $this->getNoBrokenLinkMessage($brokenLinksMarker);
@@ -463,7 +460,7 @@ class LinkValidatorReport extends \TYPO3\CMS\Backend\Module\AbstractFunctionModu
         */
        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'),
@@ -610,7 +607,7 @@ class LinkValidatorReport extends \TYPO3\CMS\Backend\Module\AbstractFunctionModu
                                                }
                                                $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,
@@ -635,7 +632,7 @@ class LinkValidatorReport extends \TYPO3\CMS\Backend\Module\AbstractFunctionModu
         * @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');
        }
 
@@ -717,5 +714,4 @@ class LinkValidatorReport extends \TYPO3\CMS\Backend\Module\AbstractFunctionModu
 
 }
 
-
-?>
+?>
\ No newline at end of file
index a621a7b..85017f1 100644 (file)
@@ -23,6 +23,7 @@ namespace TYPO3\CMS\Linkvalidator\Task;
  *
  *  This copyright notice MUST APPEAR in all copies of the script!
  ***************************************************************/
+
 /**
  * This class provides Scheduler plugin implementation
  *
@@ -232,15 +233,25 @@ class ValidatorTask extends \TYPO3\CMS\Scheduler\Task\AbstractTask {
        /**
         * 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###');
@@ -249,7 +260,7 @@ class ValidatorTask extends \TYPO3\CMS\Scheduler\Task\AbstractTask {
                $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);
@@ -259,7 +270,7 @@ class ValidatorTask extends \TYPO3\CMS\Scheduler\Task\AbstractTask {
                        $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;
        }
@@ -275,10 +286,10 @@ class ValidatorTask extends \TYPO3\CMS\Scheduler\Task\AbstractTask {
                $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;
@@ -286,9 +297,9 @@ class ValidatorTask extends \TYPO3\CMS\Scheduler\Task\AbstractTask {
                        $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;
                        }
@@ -299,7 +310,7 @@ class ValidatorTask extends \TYPO3\CMS\Scheduler\Task\AbstractTask {
                                $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'];
@@ -313,15 +324,15 @@ class ValidatorTask extends \TYPO3\CMS\Scheduler\Task\AbstractTask {
         * 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 />';
                        }
@@ -379,8 +390,8 @@ class ValidatorTask extends \TYPO3\CMS\Scheduler\Task\AbstractTask {
         *
         * @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);
@@ -407,7 +418,7 @@ class ValidatorTask extends \TYPO3\CMS\Scheduler\Task\AbstractTask {
                        }
                }
                $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();
@@ -418,7 +429,7 @@ class ValidatorTask extends \TYPO3\CMS\Scheduler\Task\AbstractTask {
                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']));
@@ -426,13 +437,13 @@ class ValidatorTask extends \TYPO3\CMS\Scheduler\Task\AbstractTask {
                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;
                                }
@@ -453,7 +464,7 @@ class ValidatorTask extends \TYPO3\CMS\Scheduler\Task\AbstractTask {
        /**
         * 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
@@ -489,7 +500,10 @@ class ValidatorTask extends \TYPO3\CMS\Scheduler\Task\AbstractTask {
                                $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);
index 8e72e5e..fd2288c 100644 (file)
@@ -23,6 +23,7 @@ namespace TYPO3\CMS\Linkvalidator\Task;
  *
  *  This copyright notice MUST APPEAR in all copies of the script!
  ***************************************************************/
+
 /**
  * This class provides Scheduler Additional Field plugin implementation
  *
@@ -89,7 +90,7 @@ class ValidatorTaskAdditionalFieldProvider implements \TYPO3\CMS\Scheduler\Addit
                }
                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 {
@@ -97,8 +98,8 @@ class ValidatorTaskAdditionalFieldProvider implements \TYPO3\CMS\Scheduler\Addit
                        }
                }
                $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,
@@ -107,12 +108,12 @@ class ValidatorTaskAdditionalFieldProvider implements \TYPO3\CMS\Scheduler\Addit
                // 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) {
@@ -121,7 +122,7 @@ class ValidatorTaskAdditionalFieldProvider implements \TYPO3\CMS\Scheduler\Addit
                                                '>' . $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,
@@ -130,7 +131,7 @@ class ValidatorTaskAdditionalFieldProvider implements \TYPO3\CMS\Scheduler\Addit
                $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,
@@ -139,7 +140,7 @@ class ValidatorTaskAdditionalFieldProvider implements \TYPO3\CMS\Scheduler\Addit
                $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,
@@ -148,7 +149,7 @@ class ValidatorTaskAdditionalFieldProvider implements \TYPO3\CMS\Scheduler\Addit
                $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,
@@ -157,7 +158,7 @@ class ValidatorTaskAdditionalFieldProvider implements \TYPO3\CMS\Scheduler\Addit
                $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,
@@ -197,7 +198,7 @@ class ValidatorTaskAdditionalFieldProvider implements \TYPO3\CMS\Scheduler\Addit
                        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);
                                }
                        }
                }
@@ -205,7 +206,7 @@ class ValidatorTaskAdditionalFieldProvider implements \TYPO3\CMS\Scheduler\Addit
                        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
                                );
                        }
@@ -213,14 +214,14 @@ class ValidatorTaskAdditionalFieldProvider implements \TYPO3\CMS\Scheduler\Addit
                } 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
                        );
                }
index e4a2909..80a9921 100644 (file)
@@ -21,7 +21,7 @@
  *
  *  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:
diff --git a/typo3/sysext/linkvalidator/Configuration/TsConfig/Page/pagetsconfig.txt b/typo3/sysext/linkvalidator/Configuration/TsConfig/Page/pagetsconfig.txt
new file mode 100644 (file)
index 0000000..7875e01
--- /dev/null
@@ -0,0 +1,17 @@
+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
diff --git a/typo3/sysext/linkvalidator/Resources/Private/Language/Module/locallang.xlf b/typo3/sysext/linkvalidator/Resources/Private/Language/Module/locallang.xlf
new file mode 100644 (file)
index 0000000..9a6c606
--- /dev/null
@@ -0,0 +1,200 @@
+<?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>
diff --git a/typo3/sysext/linkvalidator/Resources/Private/Language/Module/locallang_csh.xlf b/typo3/sysext/linkvalidator/Resources/Private/Language/Module/locallang_csh.xlf
new file mode 100644 (file)
index 0000000..8870125
--- /dev/null
@@ -0,0 +1,65 @@
+<?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>
diff --git a/typo3/sysext/linkvalidator/Resources/Private/Language/Module/locallang_mod.xlf b/typo3/sysext/linkvalidator/Resources/Private/Language/Module/locallang_mod.xlf
new file mode 100644 (file)
index 0000000..653e93e
--- /dev/null
@@ -0,0 +1,17 @@
+<?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>
diff --git a/typo3/sysext/linkvalidator/Resources/Private/Language/locallang.xlf b/typo3/sysext/linkvalidator/Resources/Private/Language/locallang.xlf
new file mode 100644 (file)
index 0000000..29a0e5a
--- /dev/null
@@ -0,0 +1,59 @@
+<?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>
diff --git a/typo3/sysext/linkvalidator/Resources/Private/Templates/mailtemplate.html b/typo3/sysext/linkvalidator/Resources/Private/Templates/mailtemplate.html
new file mode 100644 (file)
index 0000000..8758d71
--- /dev/null
@@ -0,0 +1,22 @@
+<!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
diff --git a/typo3/sysext/linkvalidator/Resources/Private/Templates/mod_template.html b/typo3/sysext/linkvalidator/Resources/Private/Templates/mod_template.html
new file mode 100644 (file)
index 0000000..4551263
--- /dev/null
@@ -0,0 +1,64 @@
+<!-- ###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 -->
diff --git a/typo3/sysext/linkvalidator/Resources/Public/Css/linkvalidator.css b/typo3/sysext/linkvalidator/Resources/Public/Css/linkvalidator.css
new file mode 100644 (file)
index 0000000..4fcca23
--- /dev/null
@@ -0,0 +1,92 @@
+@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;
+}
index eeb996f..afc13e6 100644 (file)
@@ -3,12 +3,14 @@ if (!defined('TYPO3_MODE')) {
        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'
 );
 
index eaa9517..4b7144a 100644 (file)
@@ -2,10 +2,18 @@
 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
diff --git a/typo3/sysext/linkvalidator/locallang.xlf b/typo3/sysext/linkvalidator/locallang.xlf
deleted file mode 100644 (file)
index 29a0e5a..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-<?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>
diff --git a/typo3/sysext/linkvalidator/modfuncreport/locallang.xlf b/typo3/sysext/linkvalidator/modfuncreport/locallang.xlf
deleted file mode 100644 (file)
index 9a6c606..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-<?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>
diff --git a/typo3/sysext/linkvalidator/modfuncreport/locallang_csh.xlf b/typo3/sysext/linkvalidator/modfuncreport/locallang_csh.xlf
deleted file mode 100644 (file)
index 8870125..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-<?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>
diff --git a/typo3/sysext/linkvalidator/modfuncreport/locallang_mod.xlf b/typo3/sysext/linkvalidator/modfuncreport/locallang_mod.xlf
deleted file mode 100644 (file)
index 653e93e..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<?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>
diff --git a/typo3/sysext/linkvalidator/modfuncreport/mod_template.html b/typo3/sysext/linkvalidator/modfuncreport/mod_template.html
deleted file mode 100644 (file)
index 4551263..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-<!-- ###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 -->
diff --git a/typo3/sysext/linkvalidator/res/linkvalidator.css b/typo3/sysext/linkvalidator/res/linkvalidator.css
deleted file mode 100644 (file)
index 4fcca23..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-@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;
-}
diff --git a/typo3/sysext/linkvalidator/res/mailtemplate.html b/typo3/sysext/linkvalidator/res/mailtemplate.html
deleted file mode 100644 (file)
index 8758d71..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-<!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
diff --git a/typo3/sysext/linkvalidator/res/pagetsconfig.txt b/typo3/sysext/linkvalidator/res/pagetsconfig.txt
deleted file mode 100644 (file)
index 7875e01..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-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