[TASK] Integrate system extension linkvalidator as submodule
authorOliver Hader <oliver@typo3.org>
Tue, 29 Nov 2011 09:30:19 +0000 (10:30 +0100)
committerOliver Hader <oliver@typo3.org>
Wed, 7 Dec 2011 10:03:17 +0000 (11:03 +0100)
Integrate system extension linkvalidator as Git submodule.
git://git.typo3.org/TYPO3v4/Extensions/linkvalidator.git

Change-Id: Ic0ec09fa6997106f28b6d24cf59eb296318bf176
Resolves: #32075
Reviewed-on: http://review.typo3.org/6970
Reviewed-by: Oliver Hader
Tested-by: Oliver Hader
29 files changed:
.gitmodules
typo3/sysext/linkvalidator [new submodule]
typo3/sysext/linkvalidator/ChangeLog [deleted file]
typo3/sysext/linkvalidator/classes/class.tx_linkvalidator_processor.php [deleted file]
typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_abstract.php [deleted file]
typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_external.php [deleted file]
typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_file.php [deleted file]
typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_interface.php [deleted file]
typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_internal.php [deleted file]
typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_linkhandler.php [deleted file]
typo3/sysext/linkvalidator/classes/tasks/class.tx_linkvalidator_tasks_validator.php [deleted file]
typo3/sysext/linkvalidator/classes/tasks/class.tx_linkvalidator_tasks_validatoradditionalfieldprovider.php [deleted file]
typo3/sysext/linkvalidator/doc/manual.sxw [deleted file]
typo3/sysext/linkvalidator/doc/manual.txt [deleted file]
typo3/sysext/linkvalidator/ext_autoload.php [deleted file]
typo3/sysext/linkvalidator/ext_emconf.php [deleted file]
typo3/sysext/linkvalidator/ext_icon.gif [deleted file]
typo3/sysext/linkvalidator/ext_localconf.php [deleted file]
typo3/sysext/linkvalidator/ext_tables.php [deleted file]
typo3/sysext/linkvalidator/ext_tables.sql [deleted file]
typo3/sysext/linkvalidator/locallang.xml [deleted file]
typo3/sysext/linkvalidator/modfuncreport/class.tx_linkvalidator_modfuncreport.php [deleted file]
typo3/sysext/linkvalidator/modfuncreport/locallang.xml [deleted file]
typo3/sysext/linkvalidator/modfuncreport/locallang_csh.xml [deleted file]
typo3/sysext/linkvalidator/modfuncreport/locallang_mod.xml [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 0c6cc76..ab6a72f 100644 (file)
@@ -13,3 +13,6 @@
 [submodule "typo3/sysext/fluid"]
        path = typo3/sysext/fluid
        url = git://git.typo3.org/TYPO3v4/CoreProjects/MVC/fluid.git
+[submodule "typo3/sysext/linkvalidator"]
+       path = typo3/sysext/linkvalidator
+       url = git://git.typo3.org/TYPO3v4/Extensions/linkvalidator.git
diff --git a/typo3/sysext/linkvalidator b/typo3/sysext/linkvalidator
new file mode 160000 (submodule)
index 0000000..f9d0263
--- /dev/null
@@ -0,0 +1 @@
+Subproject commit f9d026397dc75df807a817e2807a8a3a7efd69cb
diff --git a/typo3/sysext/linkvalidator/ChangeLog b/typo3/sysext/linkvalidator/ChangeLog
deleted file mode 100644 (file)
index 9494c33..0000000
+++ /dev/null
@@ -1,271 +0,0 @@
-2011-08-15  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * Task: Update Version Number to 1.0.5
-       * Cleaned emconf for the release of TYPO3 4.5.5
-       * Release linkvalidator 1.0.5
-
-2011-07-17  Philipp Gampe  <forge.typo3.org@philippgampe.info>
-
-       * Correct initialisation of BACK_PATH
-
-2011-07-15  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * Add .gitignore file
-
-2011-07-12  Philipp Gampe  <forge.typo3.org@philippgampe.info>
-
-       * Task: CGLize code, which was changed for TYPO3 4.5.3
-
-2011-05-22  Philipp Gampe  <forge.typo3.org@philippgampe.info>
-
-       * Task: Fix whitespace issues in all branches
-       * Task: Update Version Number to 1.0.3
-       * Cleaned emconf for the release of TYPO3 4.5.3
-       * Release linkvalidator 1.0.3
-
-2011-05-21  Philipp Gampe  <forge.typo3.org@philippgampe.info>
-
-       * Feature #13800: Add user-agent header
-       * Fixed Bug #13680: Refactor external link, do not follow senseless     loop, add user agent (thanks to Daniel Minder)
-
-2011-05-18  Philipp Gampe  <forge.typo3.org@philippgampe.info>
-
-       * Fixed bug #13953: Third-party classes cannot be checked due to dynamicConfigFile in TCA (thanks to Jan Philipp Timme)
-       * Fixed bug #13757: Scheduler task does not work at all (Michael Miousse)
-       * Fixed bug #13828: checkhidden has no effect for some configurations (Michael Miousse)
-       * Fixed bug #26731: The info module does not show up in IE 7 and 8 (Michael Miousse)
-       * Fixed bug #13368: Content of Tab is not scrollable (Michael Miousse)
-
-2011-02-24  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * Cleaned emconf for the release of TYPO3 4.5.2
-       * Release linkvalidator 1.0.2
-
-2011-02-24  Michael Miousse  <michael.miousse@infoglobe.ca>
-
-       * Fixed bug #13340: Regression in TYPO3 4.5.1: pid and uid database fields are always 0
-
-2011-02-24  Steffen Kamper  <steffen@typo3.org>
-
-       * Fixed bug #13318: Regression in linkvalidator
-
-2011-02-22  Michael Miousse  <michael.miousse@infoglobe.ca>
-
-       * Fixed bug #12649: Split up analyzeRecord()
-       * Cleaned emconf for the release of TYPO3 4.5.1
-       * Release linkvalidator 1.0.1
-       
-2011-02-15     Michael Miousse  <michael.miousse@infoglobe.ca>
-
-       * Fixed bug #12652:     If none of the link types are marked to be checked, all of them are checked
-       * Fixed bug #12650:     tx_linkvalidator_tasks_validator: exec() is too long
-       * Fixed bug #12454: Use setting "defaultMailFromName" and "defaultMailFromAddress"
-       
-2011-02-06  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * Fixed bug #12517: Replace exec_SELECTgetRows with exec_SELECTgetSingleRow whenever a single record is expected (thanks to Jo Hasenau)
-       * Fixed bug #12549: Unify capitalization of language labels
-
-2011-01-26  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * Fixed bug #12526: Manual needs new screenshots and text since we now use 2 tabs in the module (thanks to Patrick Gaumond)
-       * Cleaned emconf for the release of TYPO3 4.5
-       * Release linkvalidator 1.0.0
-
-2011-01-25  Michael Miousse  <michael.miousse@infoglobe.ca>
-
-       * Added Feature #12447: Clearly separate Checks from Report in the module (thanks to Patrick Gaumond, Philipp Gampe, Steffen Kamper and Christopher Stelmaszyk)
-
-2011-01-21  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * Merged changes from mantis-#17176: Remove unnecessary comments and color profiles from all shipped .png / .gif files (Thanks to Steffen Gebert)
-
-2011-01-20  Michael Miousse  <michael.miousse@infoglobe.ca>
-
-       * Fixed bug #12432: Selected page metas are not processed
-       * Fixed bug #12431: Do not put labels into members
-       * Fixed bug #12429: Do not use private accessors
-       * Fixed bug #12428: Adapt Variable Names to naming conventions
-       * Fixed bug #12427: Rename draw*() methods to render*()
-       * Fixed bug #12426: Rename classes according to naming conventions
-       * Fixed bug #12425: Give modfunc1 a better name
-       * Fixed bug #12424: Only use the class name for the hook
-       * Fixed bug #12416: tx_linkvalidator_tasks_Validate: Missing public / protected declarations
-       * Fixed bug #12226: website that has multiple domainsrecords produces funny links
-       * Fixed bug #12414: OOP principle of data encapsulation violated in tx_linkvalidator_tasks_Validate
-       * Fixed bug #12385: Conflict scheduler:testtask with linkvalidator::task
-       * Fixed bug #12411: Fix Copyright Notices
-
-2011-01-20  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * Fixed bug #12360: Show error message, if the module is not accessible for the current user
-       * Fixed bug #12412: XSS issue in tx_linkvalidator_tasks_ValidateAdditionalFieldProvider
-       * Fixed bug #12419: Use American English for "analyseRecord"
-       * Fixed bug #12420: Indentation in modfunc1, getTemplateMarkers()
-       * Fixed bug #12421: Rename tx_linkvalidator_links to tx_linkvalidator_link
-       * Fixed bug #12423: ext_tables.sql: Use underscores to separate words in field names
-       * Fixed bug #12422: ext_tables.sql: Do not use abbreviations for field names
-
-2011-01-19  Michael Miousse  <michael.miousse@infoglobe.ca>
-
-       * Added Feature #12340: Enhance the tx_linkvalidator_linkTypes_Interface (thanks to Ernesto Baschny and Christopher Stelmaszyk)
-       * Added Feature #12344: Migrate to t3lib_htmlmail to SwiftMailer (thanks to Ernesto Baschny and Christopher Stelmaszyk)
-       * Fixed bug #12377: Other link types than supported use the same type than the last found
-
-2011-01-18  Oliver Hader  <oliver.hader@typo3.org>
-
-       * Cleanup: Fixed PHPdoc comments and type hints in module, processing and abstract linktype class
-
-2011-01-17  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * Fixed bug #10989: Anchors in internal links are incorrectly treated as pages (thanks to Michael Miousse)
-
-2011-01-17  Michael Miousse  <michael.miousse@infoglobe.ca>
-
-       * Fixed bug #12226: Website that has multiple domainsrecords produces funny links
-
-2011-01-15  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * Fixed bug #12243: Information on storage location of broken links is wrong in text
-       * Fixed bug #12232: Redirects to https get reported as 404 (thanks to Andreas Lappe)
-       * Fixed bug #12235: Reporting errors does not work with cURL (thanks to Andreas Lappe)
-
-2011-01-08  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * Fixed bug #12019: Do not display the format of the date of the last check
-       * Fixed bug #12026: Combine columns Type, Headline and Field
-       * Fixed bug #12022: Add CSH labels for the labels of the Scheduler job
-       * Fixed bug #12024: Remove cellspacing (thanks to Steffen Gebert)
-       * Fixed bug #12025: Add link to scheduler
-
-2011-01-07  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * Followup to bug #11269: Proofread the manual
-       * Followup to bug #11822: Add extension description in ext_emconf.php
-       * Fixed bug #12008: Row "Title" should be called "Headline"
-       * Fixed bug #12009: Display a nice text, if an element does not have a headline
-
-2011-01-07  Pierre Boivin  <pierre.boivin@infoglobe.ca>
-
-       * Followup to bug #11794: If website root is active, searching for links does not work
-
-2011-01-06  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * Followup to bug #11836: Make use of Flash Messages
-       * Fixed bug #11888: Button "Check Links" only checks those categories of links which are marked with the checkboxes below
-       * Fixed bug #11269: Proofread the manual
-
-2011-01-05  Pierre Boivin  <pierre.boivin@infoglobe.ca>
-
-       * Fixed bug #11794: If website root is active, searching for links does not work
-
-2011-01-05  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * Fixed bug #11797: linkvalidator saves translated texts in the database which is not good (thanks to Michael Miousse and Philipp Gampe)
-       * Fixed bug #11802: Field linktitle often stays empty (thanks to Philipp Gampe)
-       * Followup to bug #11776: URL/Linktarget for files is broken
-
-2011-01-04  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * Fixed bug #11889: Clean up CSS
-
-2011-01-03  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * Fixed bug #11866: When the edit pencil next to a link is clicked, you end up at tree root with search_levels=0 after saving
-       * Followup to bug #10907: Invalid external url not detected (thanks to Philipp Gampe)
-
-2011-01-02  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * Fixed bug #11821: Do not use abbreviations in code
-       * Fixed bug #11777: Add CSH to table headers
-       * Fixed bug #11848: Use labels for the table fields containing the broken links
-
-2011-01-01  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * Fixed bug #11822: Add extension description in ext_emconf.php
-       * Fixed bug #11820: Remove comments "End of function xy"
-       * Fixed bug #11817: Use new documentation template for the manual
-       * Fixed bug #11269: Proofread the manual
-       * Fixed bug #11799: Improve usability of the linkvalidator interface
-       * Fixed bug #11834: Do not show the table with the list of broken links, if there are no broken links
-       * Fixed bug #11836: Make use of Flash Messages
-       * Fixed bug #11819: Prevent PHP notices by fixing XClass inclusion code
-       * Fixed bug #11823: Add @package and @subpackage to comment blocks
-
-2010-12-31  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * Fixed bug #11776: URL/Linktarget for files is broken
-       * Fixed bug #11800: Checkboxes showing the number of broken links do not display the value "zero"
-       * Fixed bug #11803: Fix locallang files
-       * Fixed bug #11801: Variable in the message "Page '' does not exist." will never be filled
-       * Fixed bug #11798: Table displaying the number of broken links must be styled
-       * Fixed bug #11813: Give the User Interface a clear structure
-       * Fixed bug #11811: Label tags in Statistics table do not work
-       * Fixed bug #11812: Changing a checkbox from the statistics table resets the depth chosen for pages to check
-       * Fixed bug #11814: Fix indentation in HTML templates, CSS files and SQL file
-
-2010-12-30  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * Fixed bug #11779: Unify usage of tooltips in table rows
-       * Fixed bug #11775: Table should use new design for TYPO3 4.5
-       * Fixed bug #11796: Improve usage of $GLOBALS['LANG']
-
-2010-12-28  Pierre Boivin  <pierre.boivin@infoglobe.ca>
-
-       * Fixed bug #11715: Use localized format for date and time
-
-2010-12-06  Pierre Boivin  <pierre.boivin@infoglobe.ca>
-
-       * Fixed bug #11277: Initialize and other methods in modfunc1 could be protected
-       * Fixed bug #11278: Create an interface for the linktype classes
-       * Fixed bug #10589: HTTP errors might not be detected (Thanks to Tolleiv Nietsch)
-       * Fixed bug #11274: Change true to 1 for showUpdateButton
-       * Fixed bug #11272: Fix dos line endings in ext_tables.php
-       * Fixed bug #11270: List in the BE module should be sorted by record
-       * Fixed bug #11275: Remove clear.gif in modfunc1
-       * Fixed bug #10987: linkvalidator doesn't detect hidden pages (Thanks to Joh. Feustel)
-
-2010-12-03  Pierre Boivin  <pierre.boivin@infoglobe.ca>
-
-       * Fixed bug #11271: Lowercase all filenames
-       * Fixed bug #11280: Refactor class tx_linkvalidator_processing
-       * Fixed bug #10907: Invalid external url not detected
-
-2010-11-22  Tolleiv Nietsch  <info@tolleiv.de>
-
-       * Fixed bug #10988: getBrokenUrl returns wrong url (Thanks to Johannes Feustel)
-
-2010-11-20  Christian Kuhn  <lolli@schwarzbu.ch>
-
-       * Fixed bug #10998: Rename and move link classes and processing class
-
-2010-11-17  Christian Kuhn  <lolli@schwarzbu.ch>
-
-       * Fixed bug #10912: Rename and move task to classes/tasks and change locallang namespace
-       * Fixed bug #10900: Regression: Fatal error in class.tx_linkvalidator_modfunc1.php
-       * Tagging version 1.0.0
-       * Fixed bug #10892: Basic cleanup throughout the extension
-       * Fixed bug #10891: Fix deprecation warning "call by reference" in modfunc1
-       * Fixed bug #10820: Error and warning in scheduler task
-       * Fixed bug #10890: Add ext:info as dependency in ext_emconf
-
-2010-11-12  Tolleiv Nietsch  <info@tolleiv.de>
-
-       * Fixed bug #10763: The mailtemplate setting should have a default setting
-       * Fixed bug #10598: "Check links" button must be hideable with TS - renamed noUpdateButton to showUpdateButton, manual updated
-
-2010-11-11  Michael Miousse  <michael.miousse@infoglobe.ca>
-
-       * Fixed bug #10740: news field added in the table tx_linkvalidator_links, 2 new index in locallang.xml for the header of the new column and the format of the string in the column, news column added in tx_linkvalidator_modfunc1 and time() saved in the new field added to the table tx_linkvalidator_links
-       * Fixed bug #10737: news mod tsconfig added to remove the check link button. mod.linkvalidator.noUpdateButton = 0
-       * Fixed bug #10739: Refresh Button added in tx_linkvalidator_modfunc1, news index in the locallang file, new marquer in the template mod_template.html and new css
-       * Fixed bug #10736: Automatic refresh on changing selection of depth level has been removed
-       * Fixed bug #10643: Fix PHP Warning "array_search() expects parameter 2 to be array, null given" in modfunc1/class.tx_linkvalidator_modfunc1.php
-
-2010-11-03  Tolleiv Nietsch  <info@tolleiv.de>
-
-       * Fixed bug #10598: Extend tx_linkvalidator_checkbase API a bit
-
-2010-07-19  Jochen Rieger / Dimitri König / Michael Miousse  <j.rieger@connecta.ag, mmiousse@infoglobe.ca>
-
-       * initial code generated with kickstarter
diff --git a/typo3/sysext/linkvalidator/classes/class.tx_linkvalidator_processor.php b/typo3/sysext/linkvalidator/classes/class.tx_linkvalidator_processor.php
deleted file mode 100644 (file)
index a9ebf05..0000000
+++ /dev/null
@@ -1,448 +0,0 @@
-<?php
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 2010 - 2011 Michael Miousse (michael.miousse@infoglobe.ca)
- *  All rights reserved
- *
- *  This script is part of the TYPO3 project. The TYPO3 project is
- *  free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *
- *  This script is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-
-/**
- * This class provides Processing plugin implementation.
- *
- * @author Michael Miousse <michael.miousse@infoglobe.ca>
- * @author Jochen Rieger <j.rieger@connecta.ag>
- * @package TYPO3
- * @subpackage linkvalidator
- */
-
-$GLOBALS['LANG']->includeLLFile('EXT:linkvalidator/modfuncreport/locallang.xml');
-
-class tx_linkvalidator_Processor {
-
-       /**
-        * Array of tables and fields to search for broken links.
-        *
-        * @var array
-        */
-       protected $searchFields = array();
-
-       /**
-        * List of comma seperated page uids (rootline downwards).
-        *
-        * @var string
-        */
-       protected $pidList = '';
-
-       /**
-        * Array of tables and the number of external links they contain.
-        *
-        * @var array
-        */
-       protected $linkCounts = array();
-
-       /**
-        * Array of tables and the number of broken external links they contain.
-        *
-        * @var array
-        */
-       protected $brokenLinkCounts = array();
-
-       /**
-        * Array of tables and records containing broken links.
-        *
-        * @var array
-        */
-       protected $recordsWithBrokenLinks = array();
-
-       /**
-        * Array for hooks for own checks.
-        *
-        * @var array
-        */
-       protected $hookObjectsArr = array();
-
-       /**
-        * Array with information about the current page.
-        *
-        * @var array
-        */
-       protected $extPageInTreeInfo = array();
-
-       /**
-        * Fill hookObjectsArr with different link types and possible XClasses.
-        */
-       public function __construct() {
-                       // 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) {
-                               $this->hookObjectsArr[$key] = &t3lib_div::getUserObj($classRef);
-                       }
-               }
-       }
-
-       /**
-        * Init Function: Here all the needed configuration values are stored in class variables.
-        *
-        * @param       array           $searchField: list of fields in which to search for links
-        * @param       string          $pid: list of comma separated page uids in which to search for links
-        * @return      void
-        */
-       public function init($searchField, $pid) {
-               $this->searchFields = $searchField;
-               $this->pidList = $pid;
-
-               foreach ($searchField as $tableName => $table) {
-                       t3lib_div::loadTCA($tableName);
-               }
-       }
-
-       /**
-        * Find all supported broken links and store them in tx_linkvalidator_link.
-        *
-        * @param       array           $checkOptions: list of hook object to activate
-        * @param       boolean         $considerHidden: defines whether to look into hidden fields or not
-        * @return      void
-        */
-       public function getLinkStatistics($checkOptions = array(), $considerHidden = FALSE) {
-               $results = array();
-               $checlLinkTypeCondition = '';
-               if(count($checkOptions) > 0) {
-                       $checkKeys = array_keys($checkOptions);
-                       $checlLinkTypeCondition = ' and link_type in (\'' . implode('\',\'',$checkKeys) . '\')';
-
-                       $GLOBALS['TYPO3_DB']->exec_DELETEquery('tx_linkvalidator_link', '(record_pid in (' . $this->pidList . ') or ( record_uid IN (' . $this->pidList . ') and table_name like \'pages\')) ' . $checlLinkTypeCondition);
-
-                               // let's traverse all configured tables
-                       foreach ($this->searchFields as $table => $fields) {
-                               if($table == 'pages'){
-                                       $where = 'deleted = 0 AND uid IN (' . $this->pidList . ')';
-                               }
-                               else{
-                                       $where = 'deleted = 0 AND pid IN (' . $this->pidList . ')';
-                               }
-                               if (!$considerHidden) {
-                                       $where .= t3lib_BEfunc::BEenableFields($table);
-                               }
-                                       // if table is not configured, we assume the ext is not installed and therefore no need to check it
-                               if (!is_array($GLOBALS['TCA'][$table])) continue;
-
-                                       // re-init selectFields for table
-                               $selectFields = 'uid, pid';
-                               $selectFields .= ', ' . $GLOBALS['TCA'][$table]['ctrl']['label'] . ', ' . implode(', ', $fields);
-
-                                       // TODO: only select rows that have content in at least one of the relevant fields (via OR)
-                               $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery($selectFields, $table, $where);
-                                       // Get record rows of table
-                               while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
-                                       // Analyse each record
-                                       $this->analyzeRecord($results, $table, $fields, $row);
-                               }
-                       }
-
-                       foreach ($this->hookObjectsArr as $key => $hookObj) {
-                               if ((is_array($results[$key])) && empty($checkOptions) || (is_array($results[$key]) && $checkOptions[$key])) {
-                                               //  check'em!
-                                       foreach ($results[$key] as $entryKey => $entryValue) {
-                                               $table = $entryValue['table'];
-                                               $record = array();
-                                               $record['headline'] = $entryValue['row'][$GLOBALS['TCA'][$table]['ctrl']['label']];
-                                               $record['record_pid'] = $entryValue['row']['pid'];
-                                               $record['record_uid'] = $entryValue['uid'];
-                                               $record['table_name'] = $table;
-                                               $record['link_title'] = $entryValue['link_title'];
-                                               $record['field'] = $entryValue['field'];
-                                               $record['last_check'] = time();
-
-                                               $this->recordReference = $entryValue['substr']['recordRef'];
-
-                                               $this->pageWithAnchor = $entryValue['pageAndAnchor'];
-
-                                               if (!empty($this->pageWithAnchor)) {
-                                                               // page with anchor, e.g. 18#1580
-                                                       $url = $this->pageWithAnchor;
-                                               } else {
-                                                       $url = $entryValue['substr']['tokenValue'];
-                                               }
-
-                                               $this->linkCounts[$table]++;
-                                               $checkURL = $hookObj->checkLink($url, $entryValue, $this);
-                                                       // broken link found!
-                                               if (!$checkURL) {
-                                                       $response = array();
-                                                       $response['valid'] = FALSE;
-                                                       $response['errorParams'] = $hookObj->getErrorParams();
-                                                       $this->brokenLinkCounts[$table]++;
-                                                       $record['link_type'] = $key;
-                                                       $record['url'] = $url;
-                                                       $record['url_response'] = serialize($response);
-                                                       $GLOBALS['TYPO3_DB']->exec_INSERTquery('tx_linkvalidator_link', $record);
-                                               } elseif (t3lib_div::_GP('showalllinks')) {
-                                                       $response = array();
-                                                       $response['valid'] = TRUE;
-                                                       $this->brokenLinkCounts[$table]++;
-                                                       $record['url'] = $url;
-                                                       $record['link_type'] = $key;
-                                                       $record['url_response'] = serialize($response);
-                                                       $GLOBALS['TYPO3_DB']->exec_INSERTquery('tx_linkvalidator_link', $record);
-                                               }
-                                       }
-                               }
-                       }
-               }
-       }
-
-
-       /**
-        * Find all supported broken links for a specific record.
-        *
-        * @param       array           $results: array of broken links
-        * @param       string          $table: table name of the record
-        * @param       array           $fields: array of fields to analyze
-        * @param       array           $record: record to analyse
-        * @return      void
-        */
-       public function analyzeRecord(&$results, $table, $fields, $record) {
-
-                       // array to store urls from relevant field contents
-               $urls = array();
-
-               $referencedRecordType = '';
-                       // last-parsed link element was a page.
-               $wasPage = TRUE;
-
-                       // flag whether row contains a broken link in some field or not
-               $rowContainsBrokenLink = FALSE;
-
-                       // put together content of all relevant fields
-               $haystack = '';
-               $htmlParser = t3lib_div::makeInstance('t3lib_parsehtml');
-
-               $idRecord = $record['uid'];
-
-                       // get all references
-               foreach ($fields as $field) {
-                       $haystack .= $record[$field] . ' --- ';
-                       $conf = $GLOBALS['TCA'][$table]['columns'][$field]['config'];
-
-                       $valueField = $record[$field];
-
-                               // Check if a TCA configured field has softreferences defined (see TYPO3 Core API document)
-                       if ($conf['softref'] && strlen($valueField)) {
-                                       // Explode the list of softreferences/parameters
-                               $softRefs = t3lib_BEfunc::explodeSoftRefParserList($conf['softref']);
-                                       // Traverse soft references
-                               foreach ($softRefs as $spKey => $spParams) {
-                                               // create / get object
-                                       $softRefObj = &t3lib_BEfunc::softRefParserObj($spKey);
-
-                                               // If there was an object returned...:
-                                       if (is_object($softRefObj)) {
-
-                                                       // Do processing
-                                               $resultArray = $softRefObj->findRef($table, $field, $idRecord, $valueField, $spKey, $spParams);
-                                               if (!empty($resultArray['elements'])) {
-
-                                                       if ($spKey == 'typolink_tag') {
-                                                               $this->analyseTypoLinks($resultArray, $results, $htmlParser, $record, $field, $table);
-                                                       } else {
-                                                               $this->analyseLinks($resultArray, $results, $record, $field, $table);
-                                                       }
-                                               }
-                                       }
-                               }
-                       }
-               }
-       }
-
-       /**
-        * Find all supported broken links for a specific link lsit.
-        *
-        * @param       array           $resultArray: findRef parsed records
-        * @param       array           $results: array of broken links
-        * @return      void
-        */
-       private function analyseLinks($resultArray, &$results, $record, $field, $table) {
-               foreach ($resultArray['elements'] as $element) {
-                       $r = $element['subst'];
-                       $title = '';
-                       $type = '';
-                       $idRecord = $record['uid'];
-                       if (!empty($r)) {
-                                       // Parse string for special TYPO3 <link> tag:
-
-                               foreach ($this->hookObjectsArr as $keyArr => $hookObj) {
-                                       $type = $hookObj->fetchType($r, $type, $keyArr);
-                               }
-                               $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $r["tokenID"]]["substr"] = $r;
-                               $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $r["tokenID"]]["row"] = $record;
-                               $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $r["tokenID"]]["table"] = $table;
-                               $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $r["tokenID"]]["field"] = $field;
-                               $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $r["tokenID"]]["uid"] = $idRecord;
-
-                       }
-               }
-       }
-
-       /**
-        * Find all supported broken links for a specific typoLink.
-        *
-        * @param       array                   $resultArray: findRef parsed records
-        * @param       array                   $results: array of broken links
-        * @param       t3lib_parsehtml $htmlParser: instance of htmlparser
-        * @return      void
-        */
-       private function analyseTypoLinks($resultArray, &$results, $htmlParser, $record, $field, $table) {
-               $linkTags = $htmlParser->splitIntoBlock('link', $resultArray['content']);
-               $idRecord = $record['uid'];
-               for ($i = 1; $i < count($linkTags); $i += 2) {
-                       $referencedRecordType = '';
-                       foreach($resultArray['elements'] as $element) {
-                                       $type = '';
-                                       $r = $element['subst'];
-
-                                       if (!empty($r['tokenID'])) {
-                                               if (substr_count($linkTags[$i], $r['tokenID'])) {
-                                                               // Type of referenced record
-                                                       if (strpos($r['recordRef'], 'pages') !== FALSE) {
-                                                               $currentR = $r;
-                                                                       // contains number of the page
-                                                               $referencedRecordType = $r['tokenValue'];
-                                                               $wasPage = TRUE;
-                                                       }
-                                                               // append number of content element to the page saved in the last loop
-                                                       elseif ((strpos($r['recordRef'], 'tt_content') !== FALSE) && ($wasPage === TRUE)) {
-                                                               $referencedRecordType = $referencedRecordType . '#c' . $r['tokenValue'];
-                                                               $wasPage = FALSE;
-                                                       } else {
-                                                               $currentR = $r;
-                                                       }
-                                                       $title = strip_tags($linkTags[$i]);
-                                               }
-                                       }
-                       }
-                       foreach ($this->hookObjectsArr as $keyArr => $hookObj) {
-                               $type = $hookObj->fetchType($currentR, $type, $keyArr);
-                       }
-
-                       $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $currentR["tokenID"]]["substr"] = $currentR;
-                       $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $currentR["tokenID"]]["row"] = $record;
-                       $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $currentR["tokenID"]]["table"] = $table;
-                       $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $currentR["tokenID"]]["field"] = $field;
-                       $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $currentR["tokenID"]]["uid"] = $idRecord;
-                       $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $currentR["tokenID"]]["link_title"] = $title;
-                       $results[$type][$table . ':' . $field . ':' . $idRecord . ':' . $currentR["tokenID"]]["pageAndAnchor"] = $referencedRecordType;
-
-               }
-       }
-
-       /**
-        * Fill a markerarray with the number of links found in a list of pages.
-        *
-        * @param   string         $curPage: comma separated list of page uids
-        * @return  array          markerarray with the number of links found
-        */
-       public function getLinkCounts($curPage) {
-               $markerArray = array();
-               if (($res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
-                               'count(uid) as nbBrokenLinks,link_type',
-                               'tx_linkvalidator_link',
-                               'record_pid in (' . $this->pidList . ')',
-                               'link_type'
-               ))) {
-                       while (($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res))) {
-                               $markerArray[$row['link_type']] = $row['nbBrokenLinks'];
-                               $markerArray['brokenlinkCount'] += $row['nbBrokenLinks'];
-                       }
-               }
-               return $markerArray;
-       }
-
-       /**
-        * Calls t3lib_tsfeBeUserAuth::extGetTreeList.
-        * Although this duplicates the function t3lib_tsfeBeUserAuth::extGetTreeList
-        * this is necessary to create the object that is used recursively by the original function.
-        *
-        * Generates a list of page uids from $id. List does not include $id itself.
-        * The only pages excluded from the list are deleted pages.
-        *
-        *                                                        level in the tree to start collecting uids. Zero means
-        *                                                        'start right away', 1 = 'next level and out'
-        *
-        * @param       integer         Start page id
-        * @param       integer         Depth to traverse down the page tree.
-        * @param       integer         $begin is an optional integer that determines at which
-        * @param       string          Perms clause
-        * @return      string          Returns the list with a comma in the end (if any pages selected!)
-        */
-       public function extGetTreeList($id, $depth, $begin = 0, $permsClause,  $considerHidden = FALSE) {
-               $depth = intval($depth);
-               $begin = intval($begin);
-               $id = intval($id);
-               $theList = '';
-
-               if ($depth > 0) {
-                       $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
-                               'uid,title,hidden,extendToSubpages',
-                               'pages',
-                               'pid=' . $id . ' AND deleted=0 AND ' . $permsClause
-                       );
-
-                       while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
-                               if ($begin <= 0 && ($row['hidden']==0 || $considerHidden == 1)) {
-                                       $theList .= $row['uid'] . ',';
-                                       $this->extPageInTreeInfo[] = array($row['uid'], htmlspecialchars($row['title'], $depth));
-                               }
-                               if ($depth > 1 && (!($row['hidden']==1 && $row['extendToSubpages']==1) || $considerHidden == 1)) {
-                                       $theList .= $this->extGetTreeList($row['uid'], $depth - 1, $begin - 1, $permsClause, $considerHidden);
-                               }
-                       }
-               }
-               return $theList;
-       }
-
-       public function getRootLineIsHidden($pageInfo){
-               $hidden = FALSE;
-               if ($pageInfo['extendToSubpages'] == 1 && $pageInfo['hidden'] == 1){
-                       $hidden = TRUE;
-               } else {
-                       if ($pageInfo['pid'] > 0) {
-                               $res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
-                                       'uid,title,hidden,extendToSubpages',
-                                       'pages',
-                                       'uid=' . $pageInfo['pid']
-                               );
-
-                               while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
-                                       $hidden = $this->getRootLineIsHidden($row);
-                               }
-                       }
-                       else {
-                               $hidden = FALSE;
-                       }
-               }
-               return $hidden;
-
-       }
-
-}
-
-if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/linkvalidator/classes/class.tx_linkvalidator_processor.php'])) {
-       include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/linkvalidator/classes/class.tx_linkvalidator_processor.php']);
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_abstract.php b/typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_abstract.php
deleted file mode 100644 (file)
index e45d361..0000000
+++ /dev/null
@@ -1,86 +0,0 @@
-<?php
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 2010 - 2011 Michael Miousse (michael.miousse@infoglobe.ca)
- *  All rights reserved
- *
- *  This script is part of the TYPO3 project. The TYPO3 project is
- *  free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *
- *  This script is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-
-/**
- * This class provides Check Base plugin implementation.
- *
- * @author Michael Miousse <michael.miousse@infoglobe.ca>
- * @package TYPO3
- * @subpackage linkvalidator
- */
-abstract class tx_linkvalidator_linktype_Abstract implements tx_linkvalidator_linktype_Interface {
-
-       /**
-        * Contains parameters needed for the rendering of the error message
-        *
-        * @var array
-        */
-       protected $errorParams = array();
-
-       /**
-        * Base type fetching method, based on the type that softRefParserObj returns.
-        *
-        * @param   array        $value: reference properties
-        * @param   string       $type: current type
-        * @param   string       $key: validator hook name
-        * @return  string       fetched type
-        */
-       public function fetchType($value, $type, $key) {
-               if ($value['type'] == $key) {
-                       $type = $value['type'];
-               }
-               return $type;
-       }
-
-       /**
-        * Set the value of the private property errorParams.
-        *
-        * @param  array      all parameters needed for the rendering of the error message
-        * @return void
-        */
-       protected function setErrorParams(array $value) {
-               $this->errorParams = $value;
-       }
-
-       /**
-        * Get the value of the private property errorParams.
-        *
-        * @return  array      all parameters needed for the rendering of the error message
-        */
-       public function getErrorParams() {
-               return $this->errorParams;
-       }
-
-       /**
-        * Base url parsing
-        *
-        * @param       array           $row: broken link record
-        * @return      string          parsed broken url
-        */
-       public function getBrokenUrl($row) {
-               return $row['url'];
-       }
-}
-
-?>
\ No newline at end of file
diff --git a/typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_external.php b/typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_external.php
deleted file mode 100644 (file)
index acd22dd..0000000
+++ /dev/null
@@ -1,251 +0,0 @@
-<?php
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 2010 - 2009 Jochen Rieger (j.rieger@connecta.ag)
- *  (c) 2010 - 2011 Michael Miousse (michael.miousse@infoglobe.ca)
- *  All rights reserved
- *
- *  This script is part of the TYPO3 project. The TYPO3 project is
- *  free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *
- *  This script is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-/**
- * This class provides Check External Links plugin implementation.
- *
- * @author Dimitri König <dk@cabag.ch>
- * @author Michael Miousse <michael.miousse@infoglobe.ca>
- * @package TYPO3
- * @subpackage linkvalidator
- */
-class tx_linkvalidator_linktype_External extends tx_linkvalidator_linktype_Abstract {
-
-       /**
-        * Cached list of the URLs, which were already checked for the current processing.
-        *
-        * @var array
-        */
-       protected $urlReports = array();
-
-       /**
-        * Cached list of all error parameters of the URLs, which were already checked for the current processing.
-        *
-        * @var array
-        */
-       protected $urlErrorParams = array();
-
-       /**
-        * List of headers to be used for metching an URL for the current processing
-        *
-        * @var array
-        */
-       protected $additionalHeaders = array();
-
-
-       /**
-        * Checks a given URL + /path/filename.ext for validity
-        *
-        * @param       string          $url: url to check
-        * @param        array     $softRefEntry: the softref entry which builds the context of that url
-        * @param       object          $reference:  parent instance of tx_linkvalidator_Processor
-        * @return      string          TRUE on success or FALSE on error
-        */
-       public function checkLink($url, $softRefEntry, $reference) {
-               $errorParams = array();
-               $report = array();
-               $additionalHeaders['User-Agent'] = 'User-Agent: Mozilla/5.0 TYPO3-linkvalidator';
-
-               if (isset($this->urlReports[$url])) {
-                       if(!$this->urlReports[$url]) {
-                               if(is_array($this->urlErrorParams[$url])) {
-                                   $this->setErrorParams($this->urlErrorParams[$url]);
-                               }
-                       }
-                       return $this->urlReports[$url];
-               }
-
-                       // remove possible anchor from the url
-               if (strrpos($url, '#') !== FALSE) {
-                       $url = substr($url, 0, strrpos($url, '#'));
-               }
-
-                       // try to fetch the content of the URL
-               $content = t3lib_div::getURL($url, 1, $additionalHeaders, $report);
-
-               $tries = 0;
-               $lastUrl = $url;
-               while (($report['http_code'] == 301 || $report['http_code'] == 302
-                               || $report['http_code'] == 303 || $report['http_code'] == 307)
-                          && ($tries < 5)) {
-
-                               // split header into lines and find Location:
-                       $responseHeaders = t3lib_div::trimExplode(chr(10), $content, TRUE);
-                       foreach ($responseHeaders as $line) {
-                                       // construct new URL
-                               if ((preg_match('/Location: ([^\r\n]+)/', $line, $location))) {
-                                       if (isset($location[1])) {
-                                               $parsedUrl = parse_url($location[1]);
-                                               if (!isset($parsedUrl['host'])) {
-                                                               // the location did not contain a complete URI, build it!
-                                                       $parsedUrl = parse_url($lastUrl);
-                                                       $newUrl = $parsedUrl['scheme'] . '://' . (isset($parsedUrl['user']) ?
-                                                               $parsedUrl['user'] . (isset($parsedUrl['pass']) ? ':' . $parsedUrl['pass'] : '')
-                                                               : '') . $parsedUrl['host'] . (
-                                                       isset($parsedUrl['port']) ? ':' . $parsedUrl['port'] : '') . $location[1];
-                                               } else {
-                                                       $newUrl = $location[1];
-                                               }
-
-                                               if ($lastUrl === $newUrl) {
-                                                       break 2;
-                                               }
-                                       } else {
-                                               break 2;
-                                       }
-                               }
-                       }
-
-                               // now try to fetch again
-                       $content = t3lib_div::getURL($newUrl, 1, $additionalHeaders, $report);
-                       $lastUrl = $newUrl;
-                       $tries++;
-               }
-
-
-               $response = TRUE;
-
-                       // analyze the response
-               if ($report['error']) {
-                               // More cURL error codes can be found here:
-                               // http://curl.haxx.se/libcurl/c/libcurl-errors.html
-                       if ($report['lib'] === 'cURL' && $report['error'] === 28) {
-                               $errorParams['errorType'] = 'cURL28';
-                       } elseif ($report['lib'] === 'cURL' && $report['error'] === 22) {
-                               if (strstr($report['message'], '404')) {
-                                       $errorParams['errorType'] = 404;
-                               } elseif(strstr($report['message'], '403')) {
-                                       $errorParams['errorType'] = 403;
-                               } elseif(strstr($report['message'], '500')) {
-                                       $errorParams['errorType'] = 500;
-                               }
-                       } elseif ($report['lib'] === 'cURL' && $report['error'] === 6) {
-                               $errorParams['errorType'] = 'cURL6';
-                       } elseif ($report['lib'] === 'cURL' && $report['error'] === 56) {
-                               $errorParams['errorType'] = 'cURL56';
-                       }
-
-                       $response = FALSE;
-               }
-
-
-                       // special handling for more information
-               if (($report['http_code'] == 301) || ($report['http_code'] == 302)
-                       || ($report['http_code'] == 303) || ($report['http_code'] == 307)) {
-                               $errorParams['errorType'] = $report['http_code'];
-                               $errorParams['location'] = $lastUrl;
-                               $response = FALSE;
-               }
-
-               if ($report['http_code'] >= 300 && $response) {
-                       $errorParams['errorType'] = $report['http_code'];
-                       $response = FALSE;
-               }
-
-               if(!$response) {
-                       $this->setErrorParams($errorParams);
-               }
-
-               $this->urlReports[$url] = $response;
-               $this->urlErrorParams[$url] = $errorParams;
-
-               return $response;
-       }
-
-       /**
-        * Generate the localized error message from the error params saved from the parsing.
-        *
-        * @param   array    all parameters needed for the rendering of the error message
-        * @return  string    validation error message
-        */
-       public function getErrorMessage($errorParams) {
-               $errorType = $errorParams['errorType'];
-               switch ($errorType) {
-                       case 300:
-                               $response = sprintf($GLOBALS['LANG']->getLL('list.report.externalerror'), $errorType);
-                               break;
-
-                       case 301:
-                       case 302:
-                       case 303:
-                       case 307:
-                               $response = sprintf($GLOBALS['LANG']->getLL('list.report.redirectloop'), $errorType, $errorParams['location']);
-                               break;
-
-                       case 403:
-                               $response = $GLOBALS['LANG']->getLL('list.report.pageforbidden403');
-                               break;
-
-                       case 404:
-                               $response = $GLOBALS['LANG']->getLL('list.report.pagenotfound404');
-                               break;
-
-                       case 500:
-                               $response = $GLOBALS['LANG']->getLL('list.report.internalerror500');
-                               break;
-
-                       case 'cURL6':
-                               $response = $GLOBALS['LANG']->getLL('list.report.couldnotresolvehost');
-                               break;
-
-                       case 'cURL28':
-                               $response = $GLOBALS['LANG']->getLL('list.report.timeout');
-                               break;
-
-                       case 'cURL56':
-                               $response = $GLOBALS['LANG']->getLL('list.report.errornetworkdata');
-                               break;
-
-                       default:
-                               $response = $GLOBALS['LANG']->getLL('list.report.noresponse');
-               }
-
-               return $response;
-       }
-
-       /**
-        * get the external type from the softRefParserObj result.
-        *
-        * @param   array         $value: reference properties
-        * @param   string       $type: current type
-        * @param   string       $key: validator hook name
-        * @return  string       fetched type
-        */
-       public function fetchType($value, $type, $key) {
-               preg_match_all('/((?:http|https|ftp|ftps))(?::\/\/)(?:[^\s<>]+)/i', $value['tokenValue'], $urls, PREG_PATTERN_ORDER);
-
-               if (!empty($urls[0][0])) {
-                       $type = "external";
-               }
-
-               return $type;
-       }
-
-}
-
-if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/linkvalidator/classes/linktypes/class.tx_linkvalidator_linktypes_external.php'])) {
-       include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/linkvalidator/classes/linktypes/class.tx_linkvalidator_linktypes_external.php']);
-}
-
-?>
diff --git a/typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_file.php b/typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_file.php
deleted file mode 100644 (file)
index 4ece1b2..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-<?php
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 2005 - 2010 Jochen Rieger (j.rieger@connecta.ag)
- *  (c) 2010 - 2011 Michael Miousse (michael.miousse@infoglobe.ca)
- *  All rights reserved
- *
- *  This script is part of the TYPO3 project. The TYPO3 project is
- *  free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *
- *  This script is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-/**
- * This class provides Check File Links plugin implementation.
- *
- * @author Dimitri König <dk@cabag.ch>
- * @author Michael Miousse <michael.miousse@infoglobe.ca>
- * @package TYPO3
- * @subpackage linkvalidator
- */
-class tx_linkvalidator_linktype_File extends tx_linkvalidator_linktype_Abstract {
-
-       /**
-        * Checks a given URL + /path/filename.ext for validity.
-        *
-        * @param   string        $url: url to check
-        * @param        array     $softRefEntry: the softref entry which builds the context of that url
-        * @param   object        $reference:  parent instance of tx_linkvalidator_Processor
-        * @return  string        TRUE on success or FALSE on error
-        */
-       public function checkLink($url, $softRefEntry, $reference) {
-               if (!@file_exists(PATH_site . rawurldecode($url))) {
-                       return FALSE;
-               }
-
-               return TRUE;
-       }
-
-       /**
-        * Generate the localized error message from the error params saved from the parsing.
-        *
-        * @param   array    all parameters needed for the rendering of the error message
-        * @return  string    validation error message
-        */
-       public function getErrorMessage($errorParams) {
-               $response = $GLOBALS['LANG']->getLL('list.report.filenotexisting');
-               return $response;
-       }
-
-
-       /**
-        * Url parsing
-        *
-        * @param   array          $row: broken link record
-        * @return  string        parsed broken url
-        */
-       public function getBrokenUrl($row) {
-               $brokenUrl = t3lib_div::getIndpEnv('TYPO3_SITE_URL') . $row['url'];
-               return $brokenUrl;
-       }
-}
-
-
-if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/linkvalidator/classes/linktypes/class.tx_linkvalidator_linktypes_file.php'])) {
-       include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/linkvalidator/classes/linktypes/class.tx_linkvalidator_linktypes_file.php']);
-}
-
-?>
\ No newline at end of file
diff --git a/typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_interface.php b/typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_interface.php
deleted file mode 100644 (file)
index ee3128d..0000000
+++ /dev/null
@@ -1,71 +0,0 @@
-<?php
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 2010 - 2011 Michael Miousse (michael.miousse@infoglobe.ca)
- *  All rights reserved
- *
- *  This script is part of the TYPO3 project. The TYPO3 project is
- *  free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *
- *  This script is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-
-/**
- * This class provides interface implementation.
- *
- * @author Michael Miousse <michael.miousse@infoglobe.ca>
- * @package TYPO3
- * @subpackage linkvalidator
- */
-interface tx_linkvalidator_linktype_Interface {
-
-       /**
-        * Checks a given URL + /path/filename.ext for validity
-        *
-        * @param   string        $url: url to check
-        * @param        array     $softRefEntry: the softref entry which builds the context of that url
-        * @param   object        $reference:  parent instance of tx_linkvalidator_Processor
-        * @return  string        validation error message or succes code
-        */
-       public function checkLink($url, $softRefEntry, $reference);
-
-       /**
-        * Base type fetching method, based on the type that softRefParserObj returns.
-        *
-        * @param   array        $value: reference properties
-        * @param   string       $type: current type
-        * @param   string       $key: validator hook name
-        * @return  string       fetched type
-        */
-       public function fetchType($value, $type, $key);
-
-       /**
-        * Get the value of the private property errorParams.
-        *
-        * @return  array      all parameters needed for the rendering of the error message
-        */
-       public function getErrorParams();
-
-       /**
-        * Base url parsing
-        *
-        * @param       array           $row: broken link record
-        * @return      string          parsed broken url
-        */
-       public function getBrokenUrl($row);
-
-}
-
-?>
\ No newline at end of file
diff --git a/typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_internal.php b/typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_internal.php
deleted file mode 100644 (file)
index 615e156..0000000
+++ /dev/null
@@ -1,303 +0,0 @@
-<?php
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 2005 - 2010 Jochen Rieger (j.rieger@connecta.ag)
- *  (c) 2010 - 2011 Michael Miousse (michael.miousse@infoglobe.ca)
- *  All rights reserved
- *
- *  This script is part of the TYPO3 project. The TYPO3 project is
- *  free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *
- *  This script is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-/**
- * This class provides Check Internal Links plugin implementation.
- *
- * @author Dimitri König <dk@cabag.ch>
- * @author Michael Miousse <michael.miousse@infoglobe.ca>
- * @package TYPO3
- * @subpackage linkvalidator
- */
-class tx_linkvalidator_linktype_Internal extends tx_linkvalidator_linktype_Abstract {
-
-       const DELETED = 'deleted';
-       const HIDDEN = 'hidden';
-       const MOVED = 'moved';
-       const NOTEXISTING = 'notExisting';
-
-       /**
-        * All parameters needed for rendering the error message.
-        *
-        * @var array
-        */
-       protected $errorParams = array();
-
-       /**
-        * Result of the check, if the current page uid is valid or not.
-        *
-        * @var boolean
-        */
-       protected $responsePage = TRUE;
-
-       /**
-        * Result of the check, if the current content uid is valid or not.
-        *
-        * @var boolean
-        */
-       protected $responseContent = TRUE;
-
-       /**
-        * Checks a given URL + /path/filename.ext for validity
-        *
-        * @param   string        $url: url to check as page-id or page-id#anchor (if anchor is present)
-        * @param        array    $softRefEntry: the softref entry which builds the context of that url
-        * @param   object        $reference:  parent instance of tx_linkvalidator_Processor
-        * @return  string        TRUE on success or FALSE on error
-        */
-       public function checkLink($url, $softRefEntry, $reference) {
-               $page = '';
-               $anchor = '';
-               $response = TRUE;
-               $this->responseContent = TRUE;
-
-                       // Might already contain values - empty it.
-               unset($this->errorParams);
-
-                       // defines the linked page and anchor (if any).
-               if (strpos($url, '#c') !== FALSE) {
-                       $parts = explode('#c', $url);
-                       $page = $parts[0];
-                       $anchor = $parts[1];
-               } else {
-                       $page = $url;
-               }
-
-                       // Check if the linked page is OK.
-               $this->responsePage = $this->checkPage($page, $softRefEntry, $reference);
-
-                       // Check if the linked content element is OK.
-               if ($anchor) {
-
-                               // Check if the content element is OK.
-                       $this->responseContent = $this->checkContent($page, $anchor, $softRefEntry, $reference);
-
-               }
-
-               if ((is_array($this->errorParams['page']) && !$this->responsePage)
-                       || (is_array($this->errorParams['content']) && !$this->responseContent)) {
-                       $this->setErrorParams($this->errorParams);
-               }
-
-               if (($this->responsePage === TRUE) && ($this->responseContent === TRUE)) {
-                       $response = TRUE;
-               } else {
-                       $response = FALSE;
-               }
-
-               return $response;
-       }
-
-       /**
-        * Checks a given page uid for validity
-        *
-        * @param   string        $page: page uid to check
-        * @param        array    $softRefEntry: the softref entry which builds the context of that url
-        * @param   object        $reference:  parent instance of tx_linkvalidator_Processor
-        * @return  string        TRUE on success or FALSE on error
-        */
-       protected function checkPage($page, $softRefEntry, $reference) {
-               $row = $GLOBALS['TYPO3_DB']->exec_SELECTgetSingleRow(
-                       'uid, title, deleted, hidden, starttime, endtime',
-                       'pages',
-                       'uid = ' . intval($page)
-               );
-               $this->responsePage = TRUE;
-
-               if ($row) {
-                       if ($row['deleted'] == '1') {
-                               $this->errorParams['errorType']['page'] = DELETED;
-                               $this->errorParams['page']['title'] = $row['title'];
-                               $this->errorParams['page']['uid'] = $row['uid'];
-                               $this->responsePage = FALSE;
-                       } elseif ($row['hidden'] == '1'
-                               || $GLOBALS['EXEC_TIME'] < intval($row['starttime'])
-                               || ($row['endtime'] && intval($row['endtime']) < $GLOBALS['EXEC_TIME'])) {
-                               $this->errorParams['errorType']['page'] = HIDDEN;
-                               $this->errorParams['page']['title'] = $row['title'];
-                               $this->errorParams['page']['uid'] = $row['uid'];
-                               $this->responsePage = FALSE;
-                       }
-               } else {
-                       $this->errorParams['errorType']['page'] = NOTEXISTING;
-                       $this->errorParams['page']['uid'] = intval($page);
-                       $this->responsePage = FALSE;
-               }
-
-               return $this->responsePage;
-       }
-
-       /**
-        * Checks a given content uid for validity
-        *
-        * @param   string    $page: uid of the page to which the link is pointing
-        * @param   string        $anchor: uid of the content element to check
-        * @param        array    $softRefEntry: the softref entry which builds the context of that url
-        * @param   object        $reference:  parent instance of tx_linkvalidator_Processor
-        * @return  string        TRUE on success or FALSE on error
-        */
-       protected function checkContent($page, $anchor, $softRefEntry, $reference) {
-                       // Get page ID on which the content element in fact is located
-               $res = $GLOBALS['TYPO3_DB']->exec_SELECTgetSingleRow(
-                       'uid, pid, header, deleted, hidden, starttime, endtime',
-                       'tt_content',
-                       'uid = ' . intval($anchor)
-               );
-               $this->responseContent = TRUE;
-
-                       // this content element exists
-               if ($res) {
-                               // page ID on which this CE is in fact located.
-                       $correctPageID = $res['pid'];
-
-                               // check if the element is on the linked page
-                               // (the element might have been moved to another page)
-                       if (!($correctPageID === $page)) {
-                               $this->errorParams['errorType']['content'] = MOVED;
-                               $this->errorParams['content']['uid'] = intval($anchor);
-                               $this->errorParams['content']['wrongPage'] = intval($page);
-                               $this->errorParams['content']['rightPage'] = intval($correctPageID);
-                               $this->responseContent = FALSE;
-
-                       } else {
-                                       // the element is located on the page to which the link is pointing
-                               if ($res['deleted'] == '1') {
-                                       $this->errorParams['errorType']['content'] = DELETED;
-                                       $this->errorParams['content']['title'] = $res['header'];
-                                       $this->errorParams['content']['uid'] = $res['uid'];
-                                       $this->responseContent = FALSE;
-                               } elseif ($res['hidden'] == '1'
-                                       || $GLOBALS['EXEC_TIME'] < intval($res['starttime'])
-                                       || ($res['endtime'] && intval($res['endtime']) < $GLOBALS['EXEC_TIME'])) {
-                                       $this->errorParams['errorType']['content'] = HIDDEN;
-                                       $this->errorParams['content']['title'] = $res['header'];
-                                       $this->errorParams['content']['uid'] = $res['uid'];
-                                       $this->responseContent = FALSE;
-                               }
-                       }
-
-               } else {
-                               // content element does not exist
-                       $this->errorParams['errorType']['content'] = NOTEXISTING;
-                       $this->errorParams['content']['uid'] = intval($anchor);
-                       $this->responseContent = FALSE;
-               }
-
-               return $this->responseContent;
-       }
-
-       /**
-        * Generate the localized error message from the error params saved from the parsing.
-        *
-        * @param   array    all parameters needed for the rendering of the error message
-        * @return  string    validation error message
-        */
-       public function getErrorMessage($errorParams) {
-               $errorType = $errorParams['errorType'];
-
-               if (is_array($errorParams['page'])) {
-                       switch ($errorType['page']) {
-                               case 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 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);
-                       }
-               }
-
-               if (is_array($errorParams['content'])) {
-                       switch ($errorType['content']) {
-                               case 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 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 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);
-                       }
-               }
-
-               if ($errorPage && $errorContent) {
-                       $response = $errorPage . '<br />' . $errorContent;
-               } elseif ($errorPage) {
-                       $response = $errorPage;
-               } elseif ($errorContent) {
-                       $response = $errorContent;
-               }
-
-               return $response;
-       }
-
-       /**
-        * Url parsing
-        *
-        * @param   array          $row: broken link record
-        * @return  string        parsed broken url
-        */
-       public function getBrokenUrl($row) {
-               $domain = rtrim(t3lib_div::getIndpEnv('TYPO3_SITE_URL'), '/');
-               $rootLine = t3lib_BEfunc::BEgetRootLine($row['record_pid']);
-                       // checks alternate domains
-               if (count($rootLine) > 0) {
-                               $protocol = t3lib_div::getIndpEnv('TYPO3_SSL') ? 'https://' : 'http://';
-                               $domainRecord = t3lib_BEfunc::firstDomainRecord($rootLine);
-                               if(!empty($domainRecord)) {
-                                       $domain = $protocol . $domainRecord;
-                               }
-               }
-               return $domain . '/index.php?id=' . $row['url'];
-       }
-}
-
-if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/linkvalidator/classes/linktypes/class.tx_linkvalidator_linktypes_internal.php'])) {
-       include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/linkvalidator/classes/linktypes/class.tx_linkvalidator_linktypes_internal.php']);
-}
-
-?>
diff --git a/typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_linkhandler.php b/typo3/sysext/linkvalidator/classes/linktype/class.tx_linkvalidator_linktype_linkhandler.php
deleted file mode 100644 (file)
index 5aa192d..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-<?php
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 2005 - 2010 Jochen Rieger (j.rieger@connecta.ag)
- *  (c) 2010 - 2011 Michael Miousse (michael.miousse@infoglobe.ca)
- *  All rights reserved
- *
- *  This script is part of the TYPO3 project. The TYPO3 project is
- *  free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *
- *  This script is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-/**
- * This class provides Check Link Handler plugin implementation.
- *
- * @author Dimitri König <dk@cabag.ch>
- * @author Michael Miousse <michael.miousse@infoglobe.ca>
- * @package TYPO3
- * @subpackage linkvalidator
- */
-class tx_linkvalidator_linktype_LinkHandler extends tx_linkvalidator_linktype_Abstract {
-
-       const DELETED = 'deleted';
-
-       /**
-        * TSconfig of the module tx_linkhandler.
-        *
-        * @var array
-        */
-       protected $tsconfig;
-
-       /**
-        * Get TSconfig when loading the class.
-        */
-       function __construct() {
-               $this->tsconfig = t3lib_BEfunc::getModTSconfig(1, 'mod.tx_linkhandler');
-       }
-
-       /**
-        * Checks a given URL + /path/filename.ext for validity
-        *
-        * @param   string        $url: url to check
-        * @param        array     $softRefEntry: the softref entry which builds the context of that url
-        * @param   object        $reference:  parent instance of tx_linkvalidator_Processor
-        * @return  string        TRUE on success or FALSE on error
-        */
-       public function checkLink($url, $softRefEntry, $reference) {
-               $response = TRUE;
-               $errorParams = array();
-               $parts = explode(":", $url);
-               if (count($parts) == 3) {
-                       $tableName = htmlspecialchars($parts[1]);
-                       $rowid = intval($parts[2]);
-                       $row = $GLOBALS['TYPO3_DB']->exec_SELECTgetSingleRow(
-                               '*',
-                               $tableName,
-                               'uid = ' . intval($rowid)
-                       );
-
-                       if ($row) {
-                               if ($row['deleted'] == '1') {
-                                       $errorParams['errorType'] = DELETED;
-                                       $errorParams['tablename'] = $tableName;
-                                       $errorParams['uid'] = $rowid;
-                                       $response =  FALSE;
-                               }
-                       } else {
-                               $errorParams['tablename'] = $tableName;
-                               $errorParams['uid'] = $rowid;
-                               $response =  FALSE;
-                       }
-               }
-
-               if(!$response) {
-                       $this->setErrorParams();
-               }
-
-               return $response;
-       }
-
-       /**
-        * type fetching method, based on the type that softRefParserObj returns.
-        *
-        * @param   array         $value: reference properties
-        * @param   string       $type: current type
-        * @param   string       $key: validator hook name
-        * @return  string       fetched type
-        */
-       public function fetchType($value, $type, $key) {
-               if ($type == 'string' && strtolower(substr($value['tokenValue'], 0, 7)) == 'record:') {
-                       $type = 'linkhandler';
-               }
-               return $type;
-       }
-
-       /**
-        * Generate the localized error message from the error params saved from the parsing.
-        *
-        * @param   array    all parameters needed for the rendering of the error message
-        * @return  string    validation error message
-        */
-       public function getErrorMessage($errorParams) {
-               $errorType = $errorParams['errorType'];
-               $tableName = $errorParams['tablename'];
-               $title = $GLOBALS['LANG']->getLL('list.report.rowdeleted.default.title');
-
-               if ($this->tsconfig['properties'][$tableName . '.']) {
-                       $title = $this->tsconfig['properties'][$tableName . '.']['label'];
-               }
-
-               switch ($errorType) {
-                       case DELETED:
-                               $response = $GLOBALS['LANG']->getLL('list.report.rowdeleted');
-                               $response = str_replace('###title###', $title, $response);
-                               $response = str_replace('###uid###', $errorParams['uid'], $response);
-                               break;
-
-                       default:
-                               $response = $GLOBALS['LANG']->getLL('list.report.rownotexisting');
-                               $response = str_replace('###uid###', $errorParams['uid'], $response);
-                               break;
-               }
-
-               return $response;
-       }
-}
-
-
-if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/linkvalidator/classes/linktypes/class.tx_linkvalidator_linktypes_linkhandler.php'])) {
-       include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/linkvalidator/classes/linktypes/class.tx_linkvalidator_linktypes_linkhandler.php']);
-}
-
-?>
\ No newline at end of file
diff --git a/typo3/sysext/linkvalidator/classes/tasks/class.tx_linkvalidator_tasks_validator.php b/typo3/sysext/linkvalidator/classes/tasks/class.tx_linkvalidator_tasks_validator.php
deleted file mode 100644 (file)
index 0d84be2..0000000
+++ /dev/null
@@ -1,513 +0,0 @@
-<?php
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 2010 - 2011 Michael Miousse (michael.miousse@infoglobe.ca)
- *  All rights reserved
- *
- *  This script is part of the TYPO3 project. The TYPO3 project is
- *  free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *
- *  This script is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-
-/**
- * This class provides Scheduler plugin implementation.
- *
- * @author Michael Miousse <michael.miousse@infoglobe.ca>
- * @package TYPO3
- * @subpackage linkvalidator
- */
-class tx_linkvalidator_tasks_Validator extends tx_scheduler_Task {
-
-       /**
-        * @var integer
-        */
-       protected $sleepTime;
-
-       /**
-        * @var integer
-        */
-       protected $sleepAfterFinish;
-
-       /**
-        * @var integer
-        */
-       protected $countInARun;
-
-       /**
-        * Total number of broken links.
-        *
-        * @var integer
-        */
-       protected $totalBrokenLink = 0;
-
-       /**
-        * Total number of broken links from the last run.
-        *
-        * @var integer
-        */
-       protected $oldTotalBrokenLink = 0;
-
-       /**
-        * Mail template fetched from the given template file.
-        *
-        * @var string
-        */
-       protected $templateMail;
-
-       /**
-        * specific TSconfig for this task.
-        *
-        * @var array
-        */
-       protected $configuration = array();
-
-       /**
-        * Shows if number of result was diferent from the result of the last check or not.
-        *
-        * @var boolean
-        */
-       protected $dif;
-
-       /**
-        * Template to be used for the email.
-        *
-        * @var string
-        */
-       protected $emailTemplateFile;
-
-       /**
-        * Level of pages the task should check.
-        *
-        * @var integer
-        */
-       protected $depth;
-
-       /**
-        * UID of the start page for this task.
-        *
-        * @var integer
-        */
-       protected $page;
-
-       /**
-        * Email address to which an email report is sent.
-        *
-        * @var string
-        */
-       protected $email;
-
-       /**
-        * Only send an email, if new broken links were found.
-        *
-        * @var boolean
-        */
-       protected $emailOnBrokenLinkOnly;
-
-       /**
-        * Get the value of the protected property email.
-        *
-        * @return  string      Email address to which an email report is sent
-        */
-       public function getEmail() {
-               return $this->email;
-       }
-
-       /**
-        * Set the value of the private property email.
-        *
-        * @param  string       Email address to which an email report is sent
-        * @return void
-        */
-       public function setEmail($email) {
-               $this->email=$email;
-       }
-
-       /**
-        * Get the value of the protected property emailOnBrokenLinkOnly.
-        *
-        * @return  boolean      Only send an email, if new broken links were found.
-        */
-       public function getEmailOnBrokenLinkOnly() {
-               return $this->emailOnBrokenLinkOnly;
-       }
-
-       /**
-        * Set the value of the private property emailOnBrokenLinkOnly.
-        *
-        * @param  boolean      Only send an email, if new broken links were found.
-        * @return void
-        */
-       public function setEmailOnBrokenLinkOnly($emailOnBrokenLinkOnly) {
-               $this->emailOnBrokenLinkOnly = $emailOnBrokenLinkOnly;
-       }
-
-       /**
-        * Get the value of the protected property page.
-        *
-        * @return  integer      UID of the start page for this task.
-        */
-       public function getPage() {
-               return $this->page;
-       }
-
-       /**
-        * Set the value of the private property page.
-        *
-        * @param  integer      UID of the start page for this task.
-        * @return void
-        */
-       public function setPage($page) {
-               $this->page =$page;
-       }
-
-       /**
-        * Get the value of the protected property depth.
-        *
-        * @return  integer     Level of pages the task should check.
-        */
-       public function getDepth() {
-               return $this->depth;
-       }
-
-       /**
-        * Set the value of the private property depth.
-        *
-        * @param  integer     Level of pages the task should check.
-        * @return void
-        */
-       public function setDepth($depth) {
-               $this->depth = $depth;
-       }
-
-       /**
-        * Get the value of the protected property emailTemplateFile.
-        *
-        * @return  string    Template to be used for the email.
-        */
-       public function getEmailTemplateFile() {
-               return $this->emailTemplateFile;
-       }
-
-       /**
-        * Set the value of the private property emailTemplateFile.
-        *
-        * @param  string    Template to be used for the email.
-        * @return void
-        */
-       public function setEmailTemplateFile($emailTemplateFile) {
-               $this->emailTemplateFile = $emailTemplateFile;
-       }
-
-       /**
-        * Get the value of the protected property configuration.
-        *
-        * @return  array    specific TSconfig for this task.
-        */
-       public function getConfiguration() {
-               return $this->configuration;
-       }
-
-       /**
-        * Set the value of the private property configuration.
-        *
-        * @param  array    specific TSconfig for this task.
-        * @return void
-        */
-       public function setConfiguration($configuration) {
-               $this->configuration = $configuration;
-       }
-
-
-       /**
-        * Function executed from the Scheduler.
-        *
-        * @return      void
-        */
-       public function execute() {
-               $this->setCliArguments();
-               $successfullyExecuted = TRUE;
-               if (!file_exists($file = t3lib_div::getFileAbsFileName($this->emailTemplateFile)) && !empty($this->email)) {
-                       throw new Exception(
-                               $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.error.invalidEmailTemplateFile'),
-                               '1295476972'
-                       );
-               }
-               $htmlFile = t3lib_div::getURL($file);
-               $this->templateMail = t3lib_parsehtml::getSubpart($htmlFile, '###REPORT_TEMPLATE###');
-
-                       // The array to put the content into
-               $html = array();
-               $pageSections = '';
-               $this->dif = FALSE;
-               $pageList = t3lib_div::trimExplode(',', $this->page, 1);
-               $modTS = $this->loadModTSconfig($this->page);
-               if (is_array($pageList)) {
-                       foreach ($pageList as $page) {
-                               $pageSections .= $this->checkPageLinks($page);
-                       }
-               }
-               if ($this->totalBrokenLink != $this->oldTotalBrokenLink) {
-                       $this->dif = TRUE;
-               }
-               if ($this->totalBrokenLink > 0
-                       && (!$this->emailOnBrokenLinkOnly || $this->dif)
-                       && !empty($this->email)
-               ) {
-                       $successfullyExecuted = $this->reportEmail($pageSections, $modTS);
-               }
-               return $successfullyExecuted;
-       }
-
-       /**
-        * Validate all links for a page based on the task configuration.
-        *
-        * @param       integer $page: uid of the page to parse.
-        * @return      string  $pageSections: Content of page section.
-        */
-       protected function checkPageLinks($page) {
-               $pageSections = '';
-               $modTS = $this->loadModTSconfig($page);
-               $searchFields = $this->getSearchField($modTS);
-               $linkTypes = $this->getLinkTypes($modTS);
-               $processor = t3lib_div::makeInstance('tx_linkvalidator_Processor');
-               $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 ($pageRow['hidden'] == 0 || $modTS['checkhidden']==1) {
-                               $pageIds .= $page;
-                       }
-
-                       $processor->init($searchFields, $pageIds);
-                       if (!empty($this->email)) {
-                               $oldLinkCounts = $processor->getLinkCounts($page);
-                               $this->oldTotalBrokenLink += $oldLinkCounts['brokenlinkCount'];
-                       }
-               }
-
-               $processor->getLinkStatistics($linkTypes, $modTS['checkhidden']);
-
-               if (!empty($this->email)) {
-                       $linkCounts = $processor->getLinkCounts($page);
-                       $this->totalBrokenLink += $linkCounts['brokenlinkCount'];
-                       $pageSections = $this->buildMail($page, $pageIds, $linkCounts, $oldLinkCounts);
-               }
-               return $pageSections;
-       }
-
-       /**
-        * Get the linkvalidator modTSconfig for a page.
-        *
-        * @param       integer $page: uid of the page.
-        * @return      array   $modTS: mod.linkvalidator TSconfig array.
-        */
-       protected function loadModTSconfig($page) {
-               $modTS = t3lib_BEfunc::getModTSconfig($page, 'mod.linkvalidator');
-               $parseObj = t3lib_div::makeInstance('t3lib_TSparser');
-               $parseObj->parse($this->configuration);
-               if(count($parseObj->errors) > 0){
-                       $parseErrorMessage = $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.error.invalidTSconfig') . '<br />';
-                       foreach($parseObj->errors as $errorInfo){
-                               $parseErrorMessage .= $errorInfo[0] . '<br />';
-                       }
-                       throw new Exception(
-                               $parseErrorMessage,
-                               '1295476989'
-                       );
-               }
-               $TSconfig = $parseObj->setup;
-               $modTS = $modTS['properties'];
-               $overrideTs = $TSconfig['mod.']['tx_linkvalidator.'];
-               if (is_array($overrideTs)) {
-                       $modTS = t3lib_div::array_merge_recursive_overrule($modTS, $overrideTs);
-               }
-               return $modTS;
-       }
-
-       /**
-        * Get the list of fields to parse in modTSconfig.
-        *
-        * @param       array   $modTS: mod.linkvalidator TSconfig array.
-        * @return      array   $searchFields: list of fields.
-        */
-       protected function getSearchField($modTS) {
-                       // get the searchFields from TypoScript
-               foreach ($modTS['searchFields.'] as $table => $fieldList) {
-                       $fields = t3lib_div::trimExplode(',', $fieldList);
-                       foreach ($fields as $field) {
-                               $searchFields[$table][] = $field;
-                       }
-               }
-               return $searchFields;
-       }
-
-       /**
-        * Get the list of linkTypes to parse in modTSconfig.
-        *
-        * @param       array   $modTS: mod.linkvalidator TSconfig array.
-        * @return      array   $linkTypes: list of link types.
-        */
-       protected function getLinkTypes($modTS) {
-               $linkTypes = array();
-               $typesTmp = t3lib_div::trimExplode(',', $modTS['linktypes'], 1);
-               if (is_array($typesTmp)) {
-                       if (!empty($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['linkvalidator']['checkLinks'])
-                                       && is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['linkvalidator']['checkLinks'])) {
-                               foreach ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['linkvalidator']['checkLinks'] as $type => $value) {
-                                       if (in_array($type, $typesTmp)) {
-                                               $linkTypes[$type] = 1;
-                                       }
-                               }
-                       }
-               }
-               return $linkTypes;
-       }
-
-       /**
-        * Build and send warning email when new broken links were found.
-        *
-        * @param       string          $pageSections: Content of page section
-        * @param       string          $modTS: TSconfig array
-        * @return      bool            TRUE if mail was sent, FALSE if or not
-        */
-       protected function reportEmail($pageSections, $modTS) {
-               $content = t3lib_parsehtml::substituteSubpart($this->templateMail, '###PAGE_SECTION###', $pageSections);
-               /** @var array $markerArray */
-               $markerArray = array();
-               /** @var array $validEmailList */
-               $validEmailList = array();
-               /** @var boolean $sendEmail */
-               $sendEmail = TRUE;
-
-               $markerArray['totalBrokenLink'] = $this->totalBrokenLink;
-               $markerArray['totalBrokenLink_old'] = $this->oldTotalBrokenLink;
-               $content = t3lib_parsehtml::substituteMarkerArray($content, $markerArray, '###|###', TRUE, TRUE);
-               
-               /** @var t3lib_mail_Message $mail */
-               $mail = t3lib_div::makeInstance('t3lib_mail_Message');
-               if(empty($modTS['mail.']['fromemail'])) {
-                       $modTS['mail.']['fromemail'] = t3lib_utility_Mail::getSystemFromAddress();
-               }
-               if(empty($modTS['mail.']['fromname'])) {
-                       $modTS['mail.']['fromname'] = t3lib_utility_Mail::getSystemFromName();
-               }
-               if (t3lib_div::validEmail($modTS['mail.']['fromemail'])) {
-                       $mail->setFrom(array($modTS['mail.']['fromemail'] => $modTS['mail.']['fromname']));
-               }  else {
-                       throw new Exception(
-                               $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.error.invalidFromEmail'),
-                               '1295476760'
-                       );
-               }
-               if(t3lib_div::validEmail($modTS['mail.']['replytoemail'])) {
-                       $mail->setReplyTo(array($modTS['mail.']['replytoemail'] => $modTS['mail.']['replytoname']));
-               }
-
-               if(!empty($modTS['mail.']['subject'])) {
-                       $mail->setSubject($modTS['mail.']['subject']);
-               } else {
-                       throw new Exception(
-                               $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.error.noSubject'),
-                               '1295476808'
-                       );
-               }
-               if (!empty($this->email)) {
-                       $emailList = t3lib_div::trimExplode(',', $this->email);
-                       foreach ($emailList as $emailAdd) {
-                               if (!t3lib_div::validEmail($emailAdd)) {
-                                       throw new Exception(
-                                               $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.error.invalidToEmail'),
-                                               '1295476821'
-                                       );
-                               } else {
-                                       $validEmailList[] = $emailAdd;
-                               }
-                       }
-               }
-               if (is_array($validEmailList) && !empty($validEmailList)) {
-                       $mail->setTo($this->email);
-               } else {
-                       $sendEmail = FALSE;
-               }
-
-               if($sendEmail) {
-                       $mail->setBody($content,'text/html');
-                       $mail->send();
-               }
-
-               return $sendEmail;
-       }
-
-
-       /**
-        * Build the mail content.
-        *
-        * @param       int                     $curPage: id of the current page
-        * @param       string          $pageList: list of pages id
-        * @param       array           $markerArray: array of markers
-        * @param       array           $oldBrokenLink: markerarray with the number of link found
-        * @return      string          Content of the mail
-        */
-       protected function buildMail($curPage, $pageList, $markerArray, $oldBrokenLink) {
-               $pageSectionHTML = t3lib_parsehtml::getSubpart($this->templateMail, '###PAGE_SECTION###');
-
-               if (is_array($markerArray)) {
-                       foreach ($markerArray as $markerKey => $markerValue) {
-                               if (empty($oldBrokenLink[$markerKey])) {
-                                       $oldBrokenLink[$markerKey] = 0;
-                               }
-                               if ($markerValue != $oldBrokenLink[$markerKey]) {
-                                       $this->dif = TRUE;
-                               }
-                               $markerArray[$markerKey . '_old'] = $oldBrokenLink[$markerKey];
-                       }
-               }
-               $markerArray['title'] = t3lib_BEfunc::getRecordTitle('pages', t3lib_BEfunc::getRecord('pages', $curPage));
-
-               $content = '';
-               if ($markerArray['brokenlinkCount'] > 0) {
-                       $content = t3lib_parsehtml::substituteMarkerArray($pageSectionHTML, $markerArray, '###|###', TRUE, TRUE);
-               }
-               return $content;
-       }
-
-
-       /**
-        * Simulate cli call with setting the required options to the $_SERVER['argv']
-        *
-        * @return      void
-        * @access protected
-        */
-       protected function setCliArguments() {
-               $_SERVER['argv'] = array(
-                       $_SERVER['argv'][0],
-                       'tx_link_scheduler_link',
-                       '0',
-                       '-ss',
-                       '--sleepTime',
-                       $this->sleepTime,
-                       '--sleepAfterFinish',
-                       $this->sleepAfterFinish,
-                       '--countInARun',
-                       $this->countInARun
-               );
-       }
-}
-
-if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/linkvalidator/classes/tasks/class.tx_linkvalidator_tasks_validator.php'])) {
-       include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/linkvalidator/classes/tasks/class.tx_linkvalidator_tasks_validator.php']);
-}
-?>
\ No newline at end of file
diff --git a/typo3/sysext/linkvalidator/classes/tasks/class.tx_linkvalidator_tasks_validatoradditionalfieldprovider.php b/typo3/sysext/linkvalidator/classes/tasks/class.tx_linkvalidator_tasks_validatoradditionalfieldprovider.php
deleted file mode 100644 (file)
index 8ed2232..0000000
+++ /dev/null
@@ -1,277 +0,0 @@
-<?php
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 2010 - 2011 Michael Miousse (michael.miousse@infoglobe.ca)
- *  All rights reserved
- *
- *  This script is part of the TYPO3 project. The TYPO3 project is
- *  free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *
- *  This script is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-/**
- * This class provides Scheduler Additional Field plugin implementation.
- *
- * @author Dimitri König <dk@cabag.ch>
- * @author Michael Miousse <michael.miousse@infoglobe.ca>
- * @package TYPO3
- * @subpackage linkvalidator
- */
-class tx_linkvalidator_tasks_ValidatorAdditionalFieldProvider implements tx_scheduler_AdditionalFieldProvider {
-
-       /**
-        * Render additional information fields within the scheduler backend.
-        *
-        * @param       array           $taksInfo: array information of task to return
-        * @param       task            $task: task object
-        * @param       tx_scheduler_Module             $schedulerModule: reference to the calling object (BE module of the Scheduler)
-        * @return      array           additional fields
-        * @see interfaces/tx_scheduler_AdditionalFieldProvider#getAdditionalFields($taskInfo, $task, $schedulerModule)
-        */
-       public function getAdditionalFields(array &$taskInfo, $task, tx_scheduler_Module $schedulerModule) {
-               $additionalFields = array();
-               if (empty($taskInfo['configuration'])) {
-                       if ($schedulerModule->CMD == 'add') {
-                               $taskInfo['configuration'] = '';
-                       } elseif ($schedulerModule->CMD == 'edit') {
-                               $taskInfo['configuration'] = $task->getConfiguration();
-                       } else {
-                               $taskInfo['configuration'] = $task->getConfiguration();
-                       }
-               }
-
-               if (empty($taskInfo['depth'])) {
-                       if ($schedulerModule->CMD == 'add') {
-                               $taskInfo['depth'] = array();
-                       } elseif ($schedulerModule->CMD == 'edit') {
-                               $taskInfo['depth'] = $task->getDepth();
-                       } else {
-                               $taskInfo['depth'] = $task->getDepth();
-                       }
-               }
-
-               if (empty($taskInfo['page'])) {
-                       if ($schedulerModule->CMD == 'add') {
-                               $taskInfo['page'] = '';
-                       } elseif ($schedulerModule->CMD == 'edit') {
-                               $taskInfo['page'] = $task->getPage();
-                       } else {
-                               $taskInfo['page'] = $task->getPage();
-                       }
-               }
-               if (empty($taskInfo['email'])) {
-                       if ($schedulerModule->CMD == 'add') {
-                               $taskInfo['email'] = '';
-                       } elseif ($schedulerModule->CMD == 'edit') {
-                               $taskInfo['email'] = $task->getEmail();
-                       } else {
-                               $taskInfo['email'] = $task->getEmail();
-                       }
-               }
-
-               if (empty($taskInfo['emailOnBrokenLinkOnly'])) {
-                       if ($schedulerModule->CMD == 'add') {
-                               $taskInfo['emailOnBrokenLinkOnly'] = 1;
-                       } elseif ($schedulerModule->CMD == 'edit') {
-                               $taskInfo['emailOnBrokenLinkOnly'] = $task->getEmailOnBrokenLinkOnly();
-                       } else {
-                               $taskInfo['emailOnBrokenLinkOnly'] = $task->getEmailOnBrokenLinkOnly();
-                       }
-               }
-               if (empty($taskInfo['emailTemplateFile'])) {
-                       if ($schedulerModule->CMD == 'add') {
-                               $taskInfo['emailTemplateFile'] = 'EXT:linkvalidator/res/mailtemplate.html';
-                       } elseif ($schedulerModule->CMD == 'edit') {
-                               $taskInfo['emailTemplateFile'] = $task->getEmailTemplateFile();
-                       } else {
-                               $taskInfo['emailTemplateFile'] = $task->getEmailTemplateFile();
-                       }
-               }
-
-
-               $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');
-               $label = t3lib_BEfunc::wrapInHelp('linkvalidator', $fieldID, $label);
-               $additionalFields[$fieldID] = array(
-                       'code' => $fieldCode,
-                       'label' => $label
-               );
-
-                       // 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'),
-               );
-               $fieldCode = '<select name="tx_scheduler[linkvalidator][depth]" id="' . $fieldID . '">';
-
-               foreach ($fieldValueArray as $depth => $label) {
-                       $fieldCode .= "\t" . '<option value="' .  htmlspecialchars($depth) . '"' . (($depth ==$taskInfo['depth']) ? ' selected="selected"' : '') . '>' . $label . '</option>';
-               }
-
-               $fieldCode .= '</select>';
-               $label = $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.validate.depth');
-               $label = t3lib_BEfunc::wrapInHelp('linkvalidator', $fieldID, $label);
-               $additionalFields[$fieldID] = array(
-                       'code' => $fieldCode,
-                       'label' => $label
-               );
-
-               $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 = t3lib_BEfunc::wrapInHelp('linkvalidator', $fieldID, $label);
-               $additionalFields[$fieldID] = array(
-                       'code' => $fieldCode,
-                       'label' => $label
-               );
-
-               $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 = t3lib_BEfunc::wrapInHelp('linkvalidator', $fieldID, $label);
-               $additionalFields[$fieldID] = array(
-                       'code' => $fieldCode,
-                       'label' => $label
-               );
-               $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 = t3lib_BEfunc::wrapInHelp('linkvalidator', $fieldID, $label);
-               $additionalFields[$fieldID] = array(
-                       'code' => $fieldCode,
-                       'label' => $label
-               );
-
-               $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 = t3lib_BEfunc::wrapInHelp('linkvalidator', $fieldID, $label);
-               $additionalFields[$fieldID] = array(
-                       'code' => $fieldCode,
-                       'label' => $label
-               );
-
-               return $additionalFields;
-       }
-
-
-       /**
-        * Mark current value as selected by returning the "selected" attribute.
-        *
-        * @param       array           $configurationArray: array of configuration
-        * @param       string          $currentValue: value of selector object
-        * @return      string          Html fragment for a selected option or empty
-        * @access protected
-        */
-       protected function getSelectedState($configurationArray, $currentValue) {
-               $selected = '';
-               for ($i = 0; $i < count($configurationArray); $i++) {
-                       if (strcmp($configurationArray[$i], $currentValue) === 0) {
-                               $selected = 'selected="selected" ';
-                       }
-               }
-               return $selected;
-       }
-
-
-       /**
-        * This method checks any additional data that is relevant to the specific task.
-        * If the task class is not relevant, the method is expected to return TRUE.
-        *
-        * @param       array           $submittedData: reference to the array containing the data submitted by the user
-        * @param       tx_scheduler_module1            $parentObject: reference to the calling object (BE module of the Scheduler)
-        * @return      boolean         TRUE if validation was ok (or selected class is not relevant), FALSE otherwise
-        */
-       public function validateAdditionalFields(array &$submittedData, tx_scheduler_Module $schedulerModule) {
-               $isValid = TRUE;
-
-               //!TODO add validation to validate the $submittedData['configuration'] wich is normally a comma seperated string
-               if (!empty($submittedData['linkvalidator']['email'])) {
-                       $emailList = t3lib_div::trimExplode(',', $submittedData['linkvalidator']['email']);
-                       foreach ($emailList as $emailAdd) {
-                               if (!t3lib_div::validEmail($emailAdd)) {
-                                       $isValid = FALSE;
-                                       $schedulerModule->addMessage(
-                                               $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.validate.invalidEmail'),
-                                               t3lib_FlashMessage::ERROR
-                                       );
-                               }
-                       }
-               }
-
-               if ($res = $GLOBALS['TYPO3_DB']->exec_SELECTquery('*', 'pages', 'uid = ' . intval($submittedData['linkvalidator']['page']))) {
-                       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'),
-                                       t3lib_FlashMessage::ERROR
-                               );
-                       }
-               } else {
-                       $isValid = FALSE;
-                       $schedulerModule->addMessage(
-                               $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.validate.invalidPage'),
-                               t3lib_FlashMessage::ERROR
-                       );
-               }
-
-               if ($submittedData['linkvalidator']['depth'] < 0) {
-                       $isValid = FALSE;
-                       $schedulerModule->addMessage(
-                               $GLOBALS['LANG']->sL('LLL:EXT:linkvalidator/locallang.xml:tasks.validate.invalidDepth'),
-                               t3lib_FlashMessage::ERROR
-                       );
-               }
-
-               return $isValid;
-       }
-
-
-       /**
-        * This method is used to save any additional input into the current task object
-        * if the task class matches.
-        *
-        * @param       array           $submittedData: array containing the data submitted by the user
-        * @param       tx_scheduler_Task               $task: reference to the current task object
-        * @return      void
-        */
-       public function saveAdditionalFields(array $submittedData, tx_scheduler_Task $task) {
-               $task->setDepth($submittedData['linkvalidator']['depth']);
-               $task->setPage($submittedData['linkvalidator']['page']);
-               $task->setEmail($submittedData['linkvalidator']['email']);
-               if($submittedData['linkvalidator']['emailOnBrokenLinkOnly']){
-                       $task->setEmailOnBrokenLinkOnly(1);
-               }
-               else{
-                       $task->setEmailOnBrokenLinkOnly(0);
-               }
-               $task->setConfiguration($submittedData['linkvalidator']['configuration']);
-               $task->setEmailTemplateFile($submittedData['linkvalidator']['emailTemplateFile']);
-       }
-
-
-}
-
-if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/linkvalidator/classes/tasks/class.tx_linkvalidator_tasks_validatoradditionalfieldprovider.php'])) {
-       include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/linkvalidator/classes/tasks/class.tx_linkvalidator_tasks_validatoradditionalfieldprovider.php']);
-}
-
-?>
\ No newline at end of file
diff --git a/typo3/sysext/linkvalidator/doc/manual.sxw b/typo3/sysext/linkvalidator/doc/manual.sxw
deleted file mode 100644 (file)
index 2e2f33f..0000000
Binary files a/typo3/sysext/linkvalidator/doc/manual.sxw and /dev/null differ
diff --git a/typo3/sysext/linkvalidator/doc/manual.txt b/typo3/sysext/linkvalidator/doc/manual.txt
deleted file mode 100644 (file)
index 7229e05..0000000
+++ /dev/null
@@ -1,176 +0,0 @@
-Manual for Linkvalidator
-Extension Key: linkvalidator
-Language: en
-Version: 1.0.0
-Keywords: forEditors, forAdmins, forBeginners, forIntermediates, forAdvanced
-Copyright 2000-2011, Linkvalidator Team, <j.rieger@connecta.ag>, <mmiousse@infoglobe.ca>
-
-This document is published under the Open Content License
-available from http://www.opencontent.org/opl.shtml
-
-The content of this document is related to TYPO3 
-- a GNU/GPL CMS/Framework available from www.typo3.org
-
-
-
-Official documentation
-This document is included as part of the official TYPO3 documentation. It has been approved by the TYPO3 Documentation Team following a peer-review process. The reader should expect the information in this document to be accurate - please report discrepancies to the Documentation Team (documentation@typo3.org). Official documents are kept up-to-date to the best of the Documentation Team's abilities.
-
-Core Manual
-This document is a Core Manual. Core Manuals address the built in functionality of TYPO3 and are designed to provide the reader with in-depth information. Each Core Manual addresses a particular process or function and how it is implemented within the TYPO3 source code. These may include information on available APIs, specific configuration options, etc.
-Core Manuals are written as reference manuals. The reader should rely on the Table of Contents to identify what particular section will best address the task at hand.
-Table of Contents
-Manual for Linkvalidator       1
-Introduction   3
-About this document    3
-What's new     3
-Credits        3
-Feedback       3
-Introduction   4
-What does it do?       4
-Screenshots    4
-Administration 7
-Configuration  8
-Reference      8
-Hint for large sites   10
-Next steps     11
-
-
-Introduction
-About this document
-Linkvalidator is a system extension which enables you to conveniently check your website for broken links. This manual explains how to install and configure the extension for your needs. 
-What's new
-The extension is based on cag_linkchecker. For inclusion in TYPO3 4.5 the code has undergone a major overhaul. As a result not only some bugs were fixed, but also the functional range and the styling were adapted and a brand new scheduler task was added. 
-Credits
-This extension is particularly based on the extension "cag_linkchecker", which was originally developed for Connecta AG, Wiesbaden. cag_linkchecker is maintained by Jochen Rieger and Dimitri König. 
-Feedback
-For general questions about the documentation get in touch by writing to documentation@typo3.org.
-If you find a bug in this manual, please file an issue in the bug tracker of this extension: http://forge.typo3.org/projects/extension-linkvalidator/issues
-Maintaining quality documentation is hard work and the Documentation Team is always looking for volunteers. If you feel like helping please join the documentation mailing list (typo3.projects.documentation on lists.typo3.org).
-
-Introduction
-What does it do?
-Linkvalidator checks the links in your website for validity, reports broken links or missing files in your TYPO3 installation and provides a way to conveniently fix these problems. 
-
-It includes the following features: 
-Linkvalidator can check all kinds of links. This includes internal links to pages and content elements, file links to files in the local file system and external links to files somewhere else in the web. 
-Linkvalidator by default looks into header fields and bodytext fields. It can be configured to check any field you like. 
-Linkvalidator offers a just in time check of your website. Additionally the TYPO3 scheduler is fully supported to run checks automatically. In this case you can choose, if you want to receive an email report, if broken links were found. 
-Linkvalidator is extendable. It provides hooks to check special types of links like those from the extension "linkhandler". The possibility to check these already is built in. 
-
-Screenshots
-This is the linkvalidator backend module. It is located inside the info module and by default provides two tabs: "Report" and "Check Links". The Report tab is always shown first. Here you can view the broken links which were found, when your website was last checked. 
-
-The Check Links tab is used to check links on demand and can be hidden with TSconfig, if desired. 
-
-The workflow in the module is the following: 
-First you set the depth of pages you want to consider when checking for broken links in the Check Links tab. Then click the Check links button. 
-Once the checks are done, the module automatically switches to the Report tab where the results are displayed. 
-The type and ID of the content containing the broken link become visible when you move the mouse over the icon for the content type. The pencil icons at the beginning of each row enable you to quickly fix the displayed elements. 
-
-Linkvalidator features full support of the TYPO3 scheduler. This is the linkvalidator task: 
-
-With this task you can run linkvalidator regularly via cron without having to manually update the stored information on broken links. 
-You can e.g. overwrite the TypoScript configuration. Without any change, the linkvalidator settings which apply for the respective pages will be used. If you set values there, the former will be overwritten. 
-The linkvalidator task can send you a status report via email. You can create an own email template as needed. The default template is located in typo3/sysext/linkvalidator/res/mailtemplate.html. 
-Administration
-Use the extension manager to install linkvalidator. It is not installed by default. 
-Apply the needed changes to the database. 
-
-
-Configuration
-You find the standard configuration in typo3/sysext/linkvalidator/res/pagetsconfig.txt. 
-This may serve you as an example on how to configure the extension for your needs. 
-
-Reference
-You can set the following options in the TSconfig for a page (e.g. the root page) and override them in user or groups TSconfig. You must prefix them with mod.linkvalidator, e.g. mod.linkvalidator.searchFields.pages = media. 
-Property
-Data type
-Description
-Default
-searchFields.[key]
-string
-Comma separated list of table fields in which to check for broken links. 
-
-Example:
-
-pages = media,url
-pages = media,url
-tt_content = bodytext,header_link,records
-tt_news = bodytext,links
-linktypes
-string
-Comma separated list of hooks to load. 
-
-Possible values: 
-
-db: Check links to database records. 
-file: Check links to files located in your local TYPO3 installation. 
-external: Check links to external files. 
-linkhandler: Check links provided by the extension "linkhandler". 
-db,file,external
-checkhidden
-boolean
-If set, hidden content elements are checked for broken links, too. 
-0
-showCheckLinkTab
-boolean
-If set, the backend module shows a "Check Links" tab, which you can use to perform the checks on demand. 
-
-
-Note: Depending on the number of page levels to check and on the number of links in these pages, this check can take some time and need some resources. For large sites it might therefore be advisable to hide the tab. 
-
-Note: Linkvalidator uses a database table to store information about the broken links, which it found in your website. If showCheckLinkTab is set to 0, you must use the scheduler task provided by linkvalidator to update these information. 
-1
-mail.fromname
-string
-Set the from name of the report mail sent by the cron script. 
-Install Tool
-defaultMailFromName
-mail.fromemail
-string
-Set the from email of the report mail sent by the cron script. 
-Install Tool
-defaultMailFromAddress
-mail.replytoname
-string
-Set the replyto name of the report mail sent by the cron script. 
-
-mail.replytoemail
-string
-Set the replyto email of the report mail sent by the cron script. 
-
-mail.subject
-string
-Set the subject of the report mail sent by the cron script. 
-TYPO3 Linkvalidator report
-[page:mod.linkvalidator; beuser:mod.linkvalidator]
-
-Example:
-mod.linkvalidator {
-       searchFields {
-               pages = media,url
-               tt_content = bodytext,header_link,records
-               tt_news = bodytext,links
-       }
-       linktypes = db,file,external
-       checkhidden = 0
-       mail {
-               fromname = TYPO3 Linkvalidator
-               fromemail = no_reply@mydomain.com
-               replytoname =
-               replytoemail =
-               subject = TYPO3 Linkvalidator report
-       }
-}
-
-
-Hint for large sites
-If you have a website with many hundreds of pages, checking all links will take some time and might lead to a time out. It will also need some resources so that it might make sense to do the check at night. If you want to check many pages, you should not use the "Check Links" tab in the backend module of linkvalidator. Use the TYPO3 scheduler instead. The task provided by linkvalidator will cache the broken links just like the button "Check Links" would do. Afterwards you can use the backend module as usual to fix the according elements. 
-If you still want to check trees with many pages just in time, set the depth to a reasonable level like 2 or 3. Do not use "infinite". 
-
-
-Next steps
-If you need more information on how to use the TYPO3 scheduler to run linkvalidator regularly via cron job, please refer to the scheduler manual. You can open it from the TYPO3 extension manager. 
-
-
diff --git a/typo3/sysext/linkvalidator/ext_autoload.php b/typo3/sysext/linkvalidator/ext_autoload.php
deleted file mode 100644 (file)
index b2b96b4..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<?php
-$extensionPath = t3lib_extMgm::extPath('linkvalidator');
-
-return array(
-       'tx_linkvalidator_linktype_abstract' => $extensionPath . 'classes/linktype/class.tx_linkvalidator_linktype_abstract.php',
-       'tx_linkvalidator_linktype_interface' => $extensionPath . 'classes/linktype/class.tx_linkvalidator_linktype_interface.php',
-       'tx_linkvalidator_linktype_external' => $extensionPath . 'classes/linktype/class.tx_linkvalidator_linktype_external.php',
-       'tx_linkvalidator_linktype_file' => $extensionPath . 'classes/linktype/class.tx_linkvalidator_linktype_file.php',
-       'tx_linkvalidator_linktype_internal' => $extensionPath . 'classes/linktype/class.tx_linkvalidator_linktype_internal.php',
-       'tx_linkvalidator_linktype_linkhandler' => $extensionPath . 'classes/linktype/class.tx_linkvalidator_linktype_linkhandler.php',
-
-       'tx_linkvalidator_processor' => $extensionPath . 'classes/class.tx_linkvalidator_processor.php',
-
-       'tx_linkvalidator_tasks_validator'  => $extensionPath . 'classes/tasks/class.tx_linkvalidator_tasks_validator.php',
-       'tx_linkvalidator_tasks_validatoradditionalfieldprovider' => $extensionPath . 'classes/tasks/class.tx_linkvalidator_tasks_validatoradditionalfieldprovider.php',
-);
-?>
\ No newline at end of file
diff --git a/typo3/sysext/linkvalidator/ext_emconf.php b/typo3/sysext/linkvalidator/ext_emconf.php
deleted file mode 100644 (file)
index 550e0eb..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-<?php
-
-########################################################################
-# Extension Manager/Repository config file for ext "linkvalidator".
-#
-# Auto generated 18-10-2011 10:57
-#
-# Manual updates:
-# Only the data in the array - everything else is removed by next
-# writing. "version" and "dependencies" must not be touched!
-########################################################################
-
-$EM_CONF[$_EXTKEY] = array(
-       'title' => 'Linkvalidator',
-       'description' => 'Linkvalidator checks the links in your website for validity. It can validate all kinds of links: internal, external and file links. Scheduler is supported to run Linkvalidator via Cron including the option to send status mails, if broken links were detected.',
-       'category' => 'module',
-       'author' => 'Jochen Rieger / Dimitri König / Michael Miousse',
-       'author_email' => 'j.rieger@connecta.ag, mmiousse@infoglobe.ca',
-       'shy' => '',
-       'dependencies' => 'info',
-       'conflicts' => '',
-       'priority' => '',
-       'module' => '',
-       'state' => 'stable',
-       'internal' => '',
-       'uploadfolder' => 0,
-       'createDirs' => '',
-       'modify_tables' => '',
-       'clearCacheOnLoad' => 0,
-       'lockType' => '',
-       'author_company' => 'Connecta AG / cab services ag / Infoglobe',
-       'version' => '1.0.6',
-       'constraints' => array(
-               'depends' => array(
-                       'typo3' => '4.5.0-0.0.0',
-                       'info' => '1.0.0-0.0.0',
-               ),
-               'conflicts' => array(
-               ),
-               'suggests' => array(
-               ),
-       ),
-       '_md5_values_when_last_written' => 'a:26:{s:9:"ChangeLog";s:4:"e90d";s:16:"ext_autoload.php";s:4:"4efa";s:12:"ext_icon.gif";s:4:"838b";s:17:"ext_localconf.php";s:4:"5e6f";s:14:"ext_tables.php";s:4:"1679";s:14:"ext_tables.sql";s:4:"2489";s:13:"locallang.xml";s:4:"f460";s:44:"classes/class.tx_linkvalidator_processor.php";s:4:"3551";s:61:"classes/linktype/class.tx_linkvalidator_linktype_abstract.php";s:4:"4c43";s:61:"classes/linktype/class.tx_linkvalidator_linktype_external.php";s:4:"d372";s:57:"classes/linktype/class.tx_linkvalidator_linktype_file.php";s:4:"9f48";s:62:"classes/linktype/class.tx_linkvalidator_linktype_interface.php";s:4:"b40b";s:61:"classes/linktype/class.tx_linkvalidator_linktype_internal.php";s:4:"cc68";s:64:"classes/linktype/class.tx_linkvalidator_linktype_linkhandler.php";s:4:"ad63";s:56:"classes/tasks/class.tx_linkvalidator_tasks_validator.php";s:4:"e874";s:79:"classes/tasks/class.tx_linkvalidator_tasks_validatoradditionalfieldprovider.php";s:4:"a065";s:14:"doc/manual.sxw";s:4:"a6b9";s:14:"doc/manual.txt";s:4:"9221";s:54:"modfuncreport/class.tx_linkvalidator_modfuncreport.php";s:4:"e8f3";s:27:"modfuncreport/locallang.xml";s:4:"ca3f";s:31:"modfuncreport/locallang_csh.xml";s:4:"7953";s:31:"modfuncreport/locallang_mod.xml";s:4:"c589";s:31:"modfuncreport/mod_template.html";s:4:"4c0f";s:21:"res/linkvalidator.css";s:4:"2c65";s:21:"res/mailtemplate.html";s:4:"c425";s:20:"res/pagetsconfig.txt";s:4:"fb0b";}',
-       'suggests' => array(
-       ),
-);
-
-?>
\ No newline at end of file
diff --git a/typo3/sysext/linkvalidator/ext_icon.gif b/typo3/sysext/linkvalidator/ext_icon.gif
deleted file mode 100644 (file)
index f3d52ea..0000000
Binary files a/typo3/sysext/linkvalidator/ext_icon.gif and /dev/null differ
diff --git a/typo3/sysext/linkvalidator/ext_localconf.php b/typo3/sysext/linkvalidator/ext_localconf.php
deleted file mode 100644 (file)
index 5250d47..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-<?php
-if (!defined ('TYPO3_MODE')) {
-       die ('Access denied.');
-}
-
-t3lib_extMgm::addPageTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:linkvalidator/res/pagetsconfig.txt">');
-
-$GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['scheduler']['tasks']['tx_linkvalidator_tasks_Validator'] = array(
-    'extension'        => $_EXTKEY,
-    'title'            => 'LLL:EXT:' . $_EXTKEY . '/locallang.xml:tasks.validate.name',
-    'description'      => 'LLL:EXT:' . $_EXTKEY . '/locallang.xml:tasks.validate.description',
-    'additionalFields' => 'tx_linkvalidator_tasks_ValidatorAdditionalFieldProvider'
-);
-
-if (!is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['linkvalidator']['checkLinks'])) {
-       $GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['linkvalidator']['checkLinks'] = array();
-}
-
-$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['linkvalidator']['checkLinks']['db'] = 'tx_linkvalidator_linktype_Internal';
-$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['linkvalidator']['checkLinks']['file'] = 'tx_linkvalidator_linktype_File';
-$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['linkvalidator']['checkLinks']['external'] = 'tx_linkvalidator_linktype_External';
-$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['linkvalidator']['checkLinks']['linkhandler'] = 'tx_linkvalidator_linktype_LinkHandler';
-
-?>
\ No newline at end of file
diff --git a/typo3/sysext/linkvalidator/ext_tables.php b/typo3/sysext/linkvalidator/ext_tables.php
deleted file mode 100644 (file)
index 6e804f4..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-<?php
-if (!defined ('TYPO3_MODE')) {
-       die ('Access denied.');
-}
-
-if (TYPO3_MODE == 'BE') {
-               // add module
-       t3lib_extMgm::insertModuleFunction(
-               'web_info',
-               'tx_linkvalidator_ModFuncReport',
-               t3lib_extMgm::extPath('linkvalidator') . 'modfuncreport/class.tx_linkvalidator_modfuncreport.php',
-               'LLL:EXT:linkvalidator/locallang.xml:mod_linkvalidator'
-       );
-}
-
-       // Initialize Context Sensitive Help (CSH)
-t3lib_extMgm::addLLrefForTCAdescr('linkvalidator', 'EXT:linkvalidator/modfuncreport/locallang_csh.xml');
-
-?>
\ No newline at end of file
diff --git a/typo3/sysext/linkvalidator/ext_tables.sql b/typo3/sysext/linkvalidator/ext_tables.sql
deleted file mode 100644 (file)
index 16d3edd..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-CREATE TABLE tx_linkvalidator_link (
-       uid int(11) NOT NULL auto_increment,
-       record_uid int(11) DEFAULT '0' NOT NULL,
-       record_pid int(11) DEFAULT '0' NOT NULL,
-       headline varchar(255) DEFAULT '' NOT NULL,
-       field varchar(255) DEFAULT '' NOT NULL,
-       table_name varchar(255) DEFAULT '' NOT NULL,
-       link_title text,
-       url text,
-       url_response text,
-       last_check int(11) DEFAULT '0' NOT NULL,
-       link_type varchar(50) DEFAULT '' NOT NULL,
-
-       PRIMARY KEY (uid)
-);
\ No newline at end of file
diff --git a/typo3/sysext/linkvalidator/locallang.xml b/typo3/sysext/linkvalidator/locallang.xml
deleted file mode 100644 (file)
index d85cc8e..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<T3locallang>
-       <meta type="array">
-               <description>Labels for the Linkvalidator Task.</description>
-               <type>module</type>
-               <csh_table></csh_table>
-               <labelContext type="array">
-               </labelContext>
-       </meta>
-       <data type="array">
-               <languageKey index="default" type="array">
-                       <label index="mod_linkvalidator">Linkvalidator</label>
-                       <label index="tasks.validate.name">Linkvalidator</label>
-                       <label index="tasks.validate.description">Search for broken Links and store the Result into the temporary Table tx_linkvalidator_link in order to ease up the Backend Module.</label>
-                       <label index="tasks.validate.page">Start Page (uid)</label>
-                       <label index="tasks.validate.depth">Depth</label>
-                       <label index="tasks.validate.conf">Overwrite TSconfig</label>
-                       <label index="tasks.validate.email">Send Email Report to</label>
-                       <label index="tasks.validate.emailOnBrokenLinkOnly">Send Email on new broken Links only</label>
-                       <label index="tasks.validate.emailTemplateFile">Email Template File</label>
-                       <label index="tasks.validate.invalidEmail">Invalid Email Format!</label>
-                       <label index="tasks.validate.invalidPage">Invalid Page uid, please enter a valid Page uid!</label>
-                       <label index="tasks.validate.invalidDepth">There is no Depth set, please set it to one of the Values offered!</label>
-                       <label index="tasks.error.noSubject">No Subject for the Notification Email</label>
-                       <label index="tasks.error.invalidToEmail">Invalid Format of one or more of the Recipient Email Addresses!</label>
-                       <label index="tasks.error.invalidFromEmail">Invalid Format of the Email Address in the From Header</label>
-                       <label index="tasks.error.invalidTSconfig">Invalid TSconfig in the Task Configuration!</label>
-                       <label index="tasks.error.invalidEmailTemplateFile">The Email Template File is not existing!</label>
-               </languageKey>
-       </data>
-</T3locallang>
\ No newline at end of file
diff --git a/typo3/sysext/linkvalidator/modfuncreport/class.tx_linkvalidator_modfuncreport.php b/typo3/sysext/linkvalidator/modfuncreport/class.tx_linkvalidator_modfuncreport.php
deleted file mode 100644 (file)
index 03dc07a..0000000
+++ /dev/null
@@ -1,762 +0,0 @@
-<?php
-/***************************************************************
- *  Copyright notice
- *
- *  (c) 2005 - 2010 Jochen Rieger (j.rieger@connecta.ag)
- *  (c) 2010 - 2011 Michael Miousse (michael.miousse@infoglobe.ca)
- *  All rights reserved
- *
- *  This script is part of the TYPO3 project. The TYPO3 project is
- *  free software; you can redistribute it and/or modify
- *  it under the terms of the GNU General Public License as published by
- *  the Free Software Foundation; either version 2 of the License, or
- *  (at your option) any later version.
- *
- *  The GNU General Public License can be found at
- *  http://www.gnu.org/copyleft/gpl.html.
- *
- *  This script is distributed in the hope that it will be useful,
- *  but WITHOUT ANY WARRANTY; without even the implied warranty of
- *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *  GNU General Public License for more details.
- *
- *  This copyright notice MUST APPEAR in all copies of the script!
- ***************************************************************/
-
-/**
- * Module 'Linkvalidator' for the 'linkvalidator' extension.
- *
- * @author Michael Miousse <michael.miousse@infoglobe.ca>
- * @author Jochen Rieger <j.rieger@connecta.ag>
- * @package TYPO3
- * @subpackage linkvalidator
- */
-class tx_linkvalidator_ModFuncReport extends t3lib_extobjbase {
-
-       /**
-        * @var template
-        */
-       public $doc;
-
-       /**
-        * @var string
-        */
-       protected $relativePath;
-
-       /**
-        * Information about the current page record.
-        *
-        * @var array
-        */
-       protected $pageRecord = array();
-
-       /**
-        * Information, if the module is accessible for the current user or not.
-        *
-        * @var boolean
-        */
-       protected $isAccessibleForCurrentUser = FALSE;
-
-       /**
-        * Depth for the recursivity of the link validation.
-        *
-        * @var integer
-        */
-       protected $searchLevel;
-
-       /**
-        * Link validation class.
-        *
-        * @var tx_linkvalidator_Processor
-        */
-       protected $processor;
-
-       /**
-        * TSconfig of the current module.
-        *
-        * @var array
-        */
-       protected $modTS = array();
-
-       /**
-        * List of available link types to check defined in the TSconfig.
-        *
-        * @var array
-        */
-       protected $availableOptions = array();
-
-       /**
-        * List of link types currently chosen in the Statistics table.
-        * Used to show broken links of these types only.
-        *
-        * @var array
-        */
-       protected $checkOpt = array();
-
-       /**
-        * Html for the button "Check Links".
-        *
-        * @var string
-        */
-       protected $updateListHtml;
-
-       /**
-        * Html for the button "Refresh Display".
-        *
-        * @var string
-        */
-       protected $refreshListHtml;
-
-       /**
-        * Html for the Statistics table with the checkboxes of the link types and the numbers of broken links for Report tab.
-        *
-        * @var string
-        */
-       protected $checkOptHtml;
-
-
-       /**
-        * Html for the Statistics table with the checkboxes of the link types and the numbers of broken links for Check links tab.
-        *
-        * @var string
-        */
-       protected $checkOptHtmlCheck;
-
-       /**
-        * Complete content (html) to be displayed.
-        *
-        * @var string
-        */
-       protected $content;
-
-       /**
-        * Main method of modfuncreport
-        *
-        * @return string Module content
-        */
-       public function main() {
-               $GLOBALS['LANG']->includeLLFile('EXT:linkvalidator/modfuncreport/locallang.xml');
-
-               $this->searchLevel = t3lib_div::_GP('search_levels');
-
-               if (isset($this->pObj->id)) {
-                       $this->modTS = t3lib_BEfunc::getModTSconfig($this->pObj->id, 'mod.linkvalidator');
-                       $this->modTS = $this->modTS['properties'];
-               }
-               $update = t3lib_div::_GP('updateLinkList');
-               $prefix = '';
-               if (!empty($update)) {
-                       $prefix = 'check';
-               }
-               $set = t3lib_div::_GP($prefix . 'SET');
-               $this->pObj->handleExternalFunctionValue();
-
-               if(isset($this->searchLevel)) {
-                       $this->pObj->MOD_SETTINGS['searchlevel'] = $this->searchLevel;
-               } else {
-                       $this->searchLevel = $this->pObj->MOD_SETTINGS['searchlevel'];
-               }
-
-               if (is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['linkvalidator']['checkLinks'])) {
-                       foreach ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['linkvalidator']['checkLinks'] as $linkType => $value) {
-                                       // Compile list of all available types. Used for checking with button "Check Links".
-                               if (strpos($this->modTS['linktypes'], $linkType) !== FALSE) {
-                                       $this->availableOptions[$linkType] = 1;
-                               }
-                                       // Compile list of types currently selected by the checkboxes.
-                               if (($this->pObj->MOD_SETTINGS[$linkType] && empty($set)) || $set[$linkType]) {
-                                       $this->checkOpt[$linkType] = 1;
-                                       $this->pObj->MOD_SETTINGS[$linkType] = 1;
-                               } else {
-                                       $this->pObj->MOD_SETTINGS[$linkType] = 0;
-                                       unset($this->checkOpt[$linkType]);
-                               }
-                       }
-               }
-               $GLOBALS['BE_USER']->pushModuleData('web_info', $this->pObj->MOD_SETTINGS);
-
-               $this->initialize();
-                       // Setting up the context sensitive menu:
-               $this->resPath = $this->doc->backPath . t3lib_extMgm::extRelPath('linkvalidator') . 'res/';
-               /** @var t3lib_pageRenderer $pageRenderer */
-               $this->pageRenderer = $this->doc->getPageRenderer();
-
-                       // Localization
-               $this->pageRenderer->addInlineLanguageLabelFile(t3lib_extMgm::extPath('linkvalidator', 'modfuncreport/locallang.xml'));
-
-
-       $this->pageRenderer->addJsInlineCode('linkvalidator','function toggleActionButton(prefix) {
-                       var buttonDisable = true;
-                       Ext.select(\'.\' + prefix ,false).each(function(checkBox,i){
-                       checkDom = checkBox.dom;
-                       if(checkDom.checked){
-                               buttonDisable = false;
-                       }
-
-                       });
-                       if(prefix == \'check\'){
-                               checkSub = document.getElementById(\'updateLinkList\');
-                       }
-                       else{
-                               checkSub = document.getElementById(\'refreshLinkList\');
-                       }
-                       checkSub.disabled = buttonDisable;
-
-
-               }');
-                       // Add JS
-               $this->pageRenderer->addJsFile($this->doc->backPath . '../t3lib/js/extjs/ux/Ext.ux.FitToParent.js');
-               $this->pageRenderer->addJsFile($this->doc->backPath . '../t3lib/js/extjs/ux/flashmessages.js');
-               $this->pageRenderer->addJsFile($this->doc->backPath . 'js/extjs/iframepanel.js');
-
-               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->processor = t3lib_div::makeInstance('tx_linkvalidator_Processor');
-               $this->updateBrokenLinks();
-
-               $brokenLinkOverView = $this->processor->getLinkCounts($this->pObj->id);
-               $this->checkOptHtml = $this->getCheckOptions($brokenLinkOverView);
-               $this->checkOptHtmlCheck = $this->getCheckOptions($brokenLinkOverView, 'check');
-               $this->createTabs();
-               return '<div id="linkvalidator-modfuncreport"></div>';
-       }
-
-       /**
-        * Create TabPanel to split the report and the checklinks functions
-        *
-        * @return void
-        */
-       protected function createTabs() {
-               $panelCheck = '';
-               if ($this->modTS['showCheckLinkTab'] == 1) {
-                       $panelCheck = '{
-                      title: TYPO3.lang.CheckLink,
-                      html: ' . json_encode($this->flush()) . '
-                       }';
-               }
-
-               $this->render();
-               $js = 'var panel = new Ext.TabPanel( {
-                       renderTo : "linkvalidator-modfuncreport",
-                       id: "linkvalidator-main",
-                       plain: true,
-                       activeTab: 0,
-                       bodyStyle: "padding:10px;",
-                       items : [
-                       {
-                               autoHeight: true,
-                               title: TYPO3.lang.Report,
-                               html: ' . json_encode($this->flush(TRUE)) . '
-                       },
-                       ' . $panelCheck . '
-                       ]
-
-               });
-               ';
-               $this->pageRenderer->addExtOnReadyCode($js);
-       }
-
-       /**
-        * Initializes the menu array internally.
-        *
-        * @return array Module menu
-        */
-       public function modMenu() {
-               $modMenu = array (
-                       'checkAllLink' => 0,
-               );
-
-               if (is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['linkvalidator']['checkLinks'])) {
-                       foreach ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['linkvalidator']['checkLinks'] as $linkType => $value) {
-                               $modMenu[$linkType] = 1;
-                       }
-               }
-
-               return $modMenu;
-       }
-
-
-       /**
-        * Initializes the Module.
-        *
-        * @return void
-        */
-       protected function initialize() {
-               if (is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['linkvalidator']['checkLinks'])) {
-                       foreach ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['linkvalidator']['checkLinks'] as $linkType => $classRef) {
-                               $this->hookObjectsArr[$linkType] = &t3lib_div::getUserObj($classRef);
-                       }
-               }
-
-               $this->doc = t3lib_div::makeInstance('template');
-               $this->doc->backPath = $GLOBALS['BACK_PATH'];
-               $this->doc->setModuleTemplate(t3lib_extMgm::extPath('linkvalidator') . 'modfuncreport/mod_template.html');
-
-               $this->relativePath = t3lib_extMgm::extRelPath('linkvalidator');
-               $this->pageRecord = t3lib_BEfunc::readPageAccess($this->pObj->id, $this->perms_clause);
-
-               $this->isAccessibleForCurrentUser = FALSE;
-               if ($this->pObj->id && is_array($this->pageRecord) || !$this->pObj->id && $this->isCurrentUserAdmin()) {
-                       $this->isAccessibleForCurrentUser = TRUE;
-               }
-
-               $this->loadHeaderData();
-
-                       // Don't access in workspace
-               if ($GLOBALS['BE_USER']->workspace !== 0) {
-                       $this->isAccessibleForCurrentUser = FALSE;
-               }
-       }
-
-
-       /**
-        * Updates the table of stored broken links.
-        *
-        * @return void
-        */
-       protected function updateBrokenLinks() {
-               $searchFields = array();
-
-                       // get the searchFields from TypoScript
-               foreach ($this->modTS['searchFields.'] as $table => $fieldList) {
-                       $fields = t3lib_div::trimExplode(',', $fieldList);
-                       foreach ($fields as $field) {
-                               if (!$searchFields || !is_array($searchFields[$table]) || array_search($field, $searchFields[$table]) == FALSE) {
-                                       $searchFields[$table][] = $field;
-                               }
-                       }
-               }
-               $rootLineHidden = $this->processor->getRootLineIsHidden($this->pObj->pageinfo);
-               if (!$rootLineHidden || $this->modTS['checkhidden']==1) {
-                               // get children pages
-                       $pageList = $this->processor->extGetTreeList(
-                               $this->pObj->id,
-                               $this->searchLevel,
-                               0,
-                               $GLOBALS['BE_USER']->getPagePermsClause(1),
-                               $this->modTS['checkhidden']
-                       );
-
-
-                       if ($this->pObj->pageinfo['hidden'] == 0 || $this->modTS['checkhidden']==1){
-                               $pageList .= $this->pObj->id;
-                       }
-
-
-                       $this->processor->init($searchFields, $pageList);
-
-                               // check if button press
-                       $update = t3lib_div::_GP('updateLinkList');
-
-                       if (!empty($update)) {
-                               $this->processor->getLinkStatistics($this->checkOpt, $this->modTS['checkhidden']);
-                       }
-               }
-       }
-
-       /**
-        * Renders the content of the module.
-        *
-        * @return void
-        */
-       protected function render() {
-               if ($this->isAccessibleForCurrentUser) {
-                       $this->content = $this->renderBrokenLinksTable();
-               } else {
-                               // If no access or if ID == zero
-                       $message = t3lib_div::makeInstance(
-                               't3lib_FlashMessage',
-                               $GLOBALS['LANG']->getLL('no.access'),
-                               $GLOBALS['LANG']->getLL('no.access.title'),
-                               t3lib_FlashMessage::ERROR
-                       );
-                       $this->content .= $message->render();
-               }
-       }
-
-
-       /**
-        * Flushes the rendered content to the browser.
-        *
-        * @param boolean $form
-        * @return void
-        */
-       protected function flush($form = FALSE) {
-               $content = $this->doc->moduleBody(
-                       $this->pageRecord,
-                       $this->getDocHeaderButtons(),
-                       ($form) ? $this->getTemplateMarkers(): $this->getTemplateMarkersCheck()
-               );
-
-               return $content;
-       }
-
-
-       /**
-        * Builds the selector for the level of pages to search.
-        *
-        * @return string Html code of that selector
-        */
-       protected function getLevelSelector() {
-                       // Make 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'),
-               );
-
-               foreach ($parts as $kv => $label) {
-                       $opt[] = '<option value="' . $kv . '"' . ($kv == intval($this->searchLevel) ? ' selected="selected"' : '') . '>' . htmlspecialchars($label) . '</option>';
-               }
-               $lMenu = '<select name="search_levels">' . implode('', $opt) . '</select>';
-               return $lMenu;
-       }
-
-       /**
-        * Displays the table of broken links or a note if there were no broken links.
-        *
-        * @return html Content of the table or of the note
-        */
-       protected function renderBrokenLinksTable() {
-               $items = $brokenLinksMarker = array();
-               $brokenLinkItems = $brokenLinksTemplate = '';
-               $brokenLinksTemplate = t3lib_parsehtml::getSubpart($this->doc->moduleTemplate, '###NOBROKENLINKS_CONTENT###');
-               $keyOpt = array();
-
-               if (is_array($this->checkOpt)) {
-                       $keyOpt = array_keys($this->checkOpt);
-               }
-               $rootLineHidden = $this->processor->getRootLineIsHidden($this->pObj->pageinfo);
-               if (!$rootLineHidden || $this->modTS['checkhidden']==1) {
-                       $pageList = $this->processor->extGetTreeList(
-                               $this->pObj->id,
-                               $this->searchLevel,
-                               0,
-                               $GLOBALS['BE_USER']->getPagePermsClause(1),
-                               $this->modTS['checkhidden']
-                       );
-                       if ($this->pObj->pageinfo['hidden'] == 0 || $this->modTS['checkhidden']==1){
-                               $pageList .= $this->pObj->id;
-                       }
-
-                       if (($res = $GLOBALS['TYPO3_DB']->exec_SELECTquery(
-                               '*',
-                               'tx_linkvalidator_link',
-                               'record_pid in (' . $pageList . ') and link_type in (\'' . implode("','", $keyOpt) . '\')',
-                               '',
-                               'record_uid ASC, uid ASC')
-                       )) {
-                               // Display table with broken links
-                               if ($GLOBALS['TYPO3_DB']->sql_num_rows($res) > 0) {
-                                       $brokenLinksTemplate = t3lib_parsehtml::getSubpart($this->doc->moduleTemplate, '###BROKENLINKS_CONTENT###');
-
-                                       $brokenLinksItemTemplate = t3lib_parsehtml::getSubpart($this->doc->moduleTemplate, '###BROKENLINKS_ITEM###');
-
-                                               // Table header
-                                       $brokenLinksMarker = $this->startTable();
-
-                                               // Table rows containing the broken links
-                                       while (($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res))) {
-                                               $items[] = $this->renderTableRow($row['table_name'], $row, $brokenLinksItemTemplate);
-                                       }
-                                       $brokenLinkItems = implode(chr(10), $items);
-
-                                       // Display note that there are no broken links to display
-                               } else {
-                                       $brokenLinksMarker = $this->getNoBrokenLinkMessage($brokenLinksMarker);
-                               }
-                       }
-               } else {
-
-                       $brokenLinksMarker = $this->getNoBrokenLinkMessage($brokenLinksMarker);
-               }
-               $brokenLinksTemplate = t3lib_parsehtml::substituteMarkerArray($brokenLinksTemplate, $brokenLinksMarker, '###|###', TRUE);
-               $content = t3lib_parsehtml::substituteSubpart($brokenLinksTemplate, '###BROKENLINKS_ITEM', $brokenLinkItems);
-
-               return $content;
-       }
-
-       protected  function getNoBrokenLinkMessage($brokenLinksMarker){
-               $brokenLinksMarker['LIST_HEADER'] = $this->doc->sectionHeader($GLOBALS['LANG']->getLL('list.header'));
-               $message = t3lib_div::makeInstance(
-                       't3lib_FlashMessage',
-                       $GLOBALS['LANG']->getLL('list.no.broken.links'),
-                       $GLOBALS['LANG']->getLL('list.no.broken.links.title'),
-                       t3lib_FlashMessage::OK
-               );
-               $brokenLinksMarker['NO_BROKEN_LINKS'] = $message->render();
-
-               return $brokenLinksMarker;
-       }
-
-       /**
-        * Displays the table header of the table with the broken links.
-        *
-        * @return string Code of content
-        */
-       protected function startTable() {
-
-                       // Listing head
-               $makerTableHead = array();
-
-               $makerTableHead['tablehead_path'] = $GLOBALS['LANG']->getLL('list.tableHead.path');
-               $makerTableHead['tablehead_element'] = $GLOBALS['LANG']->getLL('list.tableHead.element');
-               $makerTableHead['tablehead_headlink'] = $GLOBALS['LANG']->getLL('list.tableHead.headlink');
-               $makerTableHead['tablehead_linktarget'] = $GLOBALS['LANG']->getLL('list.tableHead.linktarget');
-               $makerTableHead['tablehead_linkmessage'] = $GLOBALS['LANG']->getLL('list.tableHead.linkmessage');
-               $makerTableHead['tablehead_lastcheck'] = $GLOBALS['LANG']->getLL('list.tableHead.lastCheck');
-
-                       // Add CSH to the header of each column
-               foreach($makerTableHead as $column => $label) {
-                       $label = t3lib_BEfunc::wrapInHelp('linkvalidator', $column, $label);
-                       $makerTableHead[$column] = $label;
-               }
-
-                       // Add section header
-               $makerTableHead['list_header'] = $this->doc->sectionHeader($GLOBALS['LANG']->getLL('list.header'));
-
-               return $makerTableHead;
-       }
-
-
-       /**
-        * Displays one line of the broken links table.
-        *
-        * @param string $table Name of database table
-        * @param array $row Record row to be processed
-        * @param array $brokenLinksItemTemplate Markup of the template to be used
-        * @return string HTML of the rendered row
-        */
-       protected function renderTableRow($table, array $row, $brokenLinksItemTemplate) {
-               $markerArray = array();
-               if (is_array($row) && !empty($row['link_type'])) {
-                       if (($hookObj = $this->hookObjectsArr[$row['link_type']])) {
-                               $brokenUrl = $hookObj->getBrokenUrl($row);
-                       }
-               }
-
-               $params = '&edit[' . $table . '][' . $row['record_uid'] . ']=edit';
-               $actionLinks = '<a href="#" onclick="' .
-                               t3lib_BEfunc::editOnClick(
-                                       $params,
-                                       $GLOBALS['BACK_PATH'],
-                                       t3lib_div::getIndpEnv('REQUEST_URI') . '?id=' . $this->pObj->id . '&search_levels=' . $this->searchLevel
-                               ) . '"' .
-                               ' title="' . $GLOBALS['LANG']->getLL('list.edit') . '">' .
-                               t3lib_iconWorks::getSpriteIcon('actions-document-open') . '</a>';
-
-               $elementHeadline = $row['headline'];
-               if (empty($elementHeadline)) {
-                       $elementHeadline = '<i>' . $GLOBALS['LANG']->getLL('list.no.headline') . '</i>';
-               }
-
-                       // Get the language label for the field from TCA
-               if ($GLOBALS['TCA'][$table]['columns'][$row['field']]['label']) {
-                       $fieldName = $GLOBALS['TCA'][$table]['columns'][$row['field']]['label'];
-                       $fieldName = $GLOBALS['LANG']->sL($fieldName);
-                               // Crop colon from end if present.
-                       if (substr($fieldName, '-1', '1') === ':') {
-                               $fieldName = substr($fieldName, '0', strlen($fieldName)-1);
-                       }
-               }
-                       // Fallback, if there is no label
-               $fieldName = $fieldName ? $fieldName : $row['field'];
-
-                       // column "Element"
-               $element = t3lib_iconWorks::getSpriteIconForRecord($table, $row, array('title' => $table . ':' . $row['record_uid']));
-               $element .= $elementHeadline;
-               $element .= ' ' . sprintf($GLOBALS['LANG']->getLL('list.field'), $fieldName);
-
-               $markerArray['actionlink'] = $actionLinks;
-               $markerArray['path'] = t3lib_BEfunc::getRecordPath($row['record_pid'], '', 0, 0);
-               $markerArray['element'] = $element;
-               $markerArray['headlink'] = $row['link_title'];
-               $markerArray['linktarget'] = $brokenUrl;
-
-               $response = unserialize($row['url_response']);
-               if ($response['valid']) {
-                       $linkMessage = '<span style="color: green;">' . $GLOBALS['LANG']->getLL('list.msg.ok') . '</span>';
-               } else {
-                       $linkMessage = '<span style="color: red;">' . $hookObj->getErrorMessage($response['errorParams']) . '</span>';
-               }
-               $markerArray['linkmessage'] = $linkMessage;
-
-               $lastRunDate = date($GLOBALS['TYPO3_CONF_VARS']['SYS']['ddmmyy'], $row['last_check']);
-               $lastRunTime = date($GLOBALS['TYPO3_CONF_VARS']['SYS']['hhmm'], $row['last_check']);
-               $message = sprintf($GLOBALS['LANG']->getLL('list.msg.lastRun'), $lastRunDate, $lastRunTime);
-               $markerArray['lastcheck'] = $message;
-
-                       // Return the table html code as string
-               return t3lib_parsehtml::substituteMarkerArray($brokenLinksItemTemplate, $markerArray, '###|###', TRUE, TRUE);
-       }
-
-
-       /**
-        * Builds the checkboxes out of the hooks array.
-        *
-        * @param array $brokenLinkOverView array of broken links information
-        * @return string code content
-        */
-       protected function getCheckOptions(array $brokenLinkOverView, $prefix = '') {
-               $markerArray = array();
-               $additionalAttr = '';
-               if(!empty($prefix)) {
-                       $additionalAttr = ' onclick="toggleActionButton(\'' . $prefix . '\');" class="' . $prefix . '" ';
-               }
-               else {
-                       $additionalAttr = ' onclick="toggleActionButton(\'refresh\');" class="refresh" ';
-               }
-               $checkOptionsTemplate = t3lib_parsehtml::getSubpart($this->doc->moduleTemplate, '###CHECKOPTIONS_SECTION###');
-
-               $hookSectionContent = '';
-               $hookSectionTemplate = t3lib_parsehtml::getSubpart($checkOptionsTemplate, '###HOOK_SECTION###');
-
-               $markerArray['statistics_header'] = $this->doc->sectionHeader($GLOBALS['LANG']->getLL('report.statistics.header'));
-
-               $totalCountLabel = $GLOBALS['LANG']->getLL('overviews.nbtotal');
-               $totalCountLabel = t3lib_BEfunc::wrapInHelp('linkvalidator', 'checkboxes', $totalCountLabel);
-               $markerArray['total_count_label'] = $totalCountLabel;
-
-               if (empty($brokenLinkOverView['brokenlinkCount'])) {
-                       $markerArray['total_count'] = '0';
-               } else {
-                       $markerArray['total_count'] = $brokenLinkOverView['brokenlinkCount'];
-               }
-
-               $linktypes = t3lib_div::trimExplode(',', $this->modTS['linktypes'], 1);
-               $hookSectionContent = '';
-
-               if (is_array($linktypes)) {
-                       if (!empty($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['linkvalidator']['checkLinks'])
-                               && is_array($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['linkvalidator']['checkLinks'])
-                       ) {
-                               foreach ($GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['linkvalidator']['checkLinks'] as $type => $value) {
-                                       if (in_array($type, $linktypes)) {
-                                               $hookSectionMarker = array();
-                                               if (empty($brokenLinkOverView[$type])) {
-                                                       $hookSectionMarker['count'] = '0';
-                                               } else {
-                                                       $hookSectionMarker['count'] = $brokenLinkOverView[$type];
-                                               }
-                                               $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>';
-                                               $hookSectionMarker['option'] = $option;
-                                               $hookSectionContent .= t3lib_parsehtml::substituteMarkerArray($hookSectionTemplate, $hookSectionMarker, '###|###', TRUE, TRUE);
-                                       }
-                               }
-                       }
-               }
-
-               $checkOptionsTemplate = t3lib_parsehtml::substituteSubpart($checkOptionsTemplate, '###HOOK_SECTION###', $hookSectionContent);
-
-               return t3lib_parsehtml::substituteMarkerArray($checkOptionsTemplate, $markerArray, '###|###', TRUE, TRUE);
-       }
-
-
-       /**
-        * Loads data in the HTML head section (e.g. JavaScript or stylesheet information).
-        *
-        * @return void
-        */
-       protected function loadHeaderData() {
-               $this->doc->addStyleSheet('linkvalidator', $this->relativePath . 'res/linkvalidator.css', 'linkvalidator');
-               $this->doc->getPageRenderer()->addJsFile($this->doc->backPath . '../t3lib/js/extjs/ux/Ext.ux.FitToParent.js');
-       }
-
-
-       /**
-        * Gets the buttons that shall be rendered in the docHeader.
-        *
-        * @return array Available buttons for the docHeader
-        */
-       protected function getDocHeaderButtons() {
-               $buttons = array(
-                       'csh' => t3lib_BEfunc::cshItem('_MOD_web_func', '', $GLOBALS['BACK_PATH']),
-                       'shortcut' => $this->getShortcutButton(),
-                       'save' => ''
-               );
-               return $buttons;
-       }
-
-
-       /**
-        * Gets the button to set a new shortcut in the backend (if current user is allowed to).
-        *
-        * @return string HTML representiation of the shortcut button
-        */
-       protected function getShortcutButton() {
-               $result = '';
-               if ($GLOBALS['BE_USER']->mayMakeShortcut()) {
-                       $result = $this->doc->makeShortcutIcon('', 'function', $this->MCONF['name']);
-               }
-               return $result;
-       }
-
-
-       /**
-        * Gets the filled markers that are used in the HTML template.
-        *
-        * @return array The filled marker array
-        */
-       protected function getTemplateMarkers() {
-               $markers = array(
-                       'FUNC_TITLE'            => $GLOBALS['LANG']->getLL('report.func.title'),
-                       'CHECKOPTIONS_TITLE'    => $GLOBALS['LANG']->getLL('report.statistics.header'),
-                       'FUNC_MENU'             => $this->getLevelSelector(),
-                       'CONTENT'               => $this->content,
-                       'CHECKALLLINK'          => $this->checkAllHtml,
-                       'CHECKOPTIONS'          => $this->checkOptHtml,
-                       'ID'                    => '<input type="hidden" name="id" value="' . $this->pObj->id . '" />',
-                       'REFRESH'               => $this->refreshListHtml,
-                       'UPDATE'                => ''
-               );
-
-               return $markers;
-       }
-
-       /**
-        * Gets the filled markers that are used in the HTML template.
-        *
-        * @return array The filled marker array
-        */
-       protected function getTemplateMarkersCheck() {
-               $markers = array(
-                       'FUNC_TITLE'                    =>$GLOBALS['LANG']->getLL('checklinks.func.title'),
-                       'CHECKOPTIONS_TITLE'    =>$GLOBALS['LANG']->getLL('checklinks.statistics.header'),
-                       'FUNC_MENU'             => $this->getLevelSelector(),
-                       'CONTENT'               => '',
-                       'CHECKALLLINK'          => $this->checkAllHtml,
-                       'CHECKOPTIONS'          => $this->checkOptHtmlCheck,
-                       'ID'                    => '<input type="hidden" name="id" value="' . $this->pObj->id . '" />',
-                       'REFRESH'               => '',
-                       'UPDATE'                => $this->updateListHtml
-               );
-
-               return $markers;
-       }
-
-
-       /**
-        * Determines whether the current user is an admin.
-        *
-        * @return boolean Whether the current user is admin
-        */
-       protected function isCurrentUserAdmin() {
-               return ((bool) $GLOBALS['BE_USER']->user['admin']);
-       }
-}
-
-if (defined('TYPO3_MODE') && isset($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/linkvalidator/modfuncreport/class.tx_linkvalidator_modfuncreport.php'])) {
-       include_once($GLOBALS['TYPO3_CONF_VARS'][TYPO3_MODE]['XCLASS']['ext/linkvalidator/modfuncreport/class.tx_linkvalidator_modfuncreport.php']);
-}
-
-?>
diff --git a/typo3/sysext/linkvalidator/modfuncreport/locallang.xml b/typo3/sysext/linkvalidator/modfuncreport/locallang.xml
deleted file mode 100644 (file)
index 4412a81..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<T3locallang>
-       <meta type="array">
-               <description>Labels for the Linkvalidator Backend Module.</description>
-               <type>module</type>
-               <csh_table></csh_table>
-               <labelContext type="array">
-               </labelContext>
-       </meta>
-       <data type="array">
-               <languageKey index="default" type="array">
-                       <label index="menu.introduction">Introduction</label>
-                       <label index="menu.checkLinks">Check Links for Validity</label>
-                       <label index="menu.overview">Overview of Links on Website</label>
-                       <label index="overview.header">Overview - Choose Options to check the Links</label>
-                       <label index="overview.all.header">Total Amounts in tt_content</label>
-                       <label index="overview.all.records">Records with ext. Links:</label>
-                       <label index="overview.all.links">External Links:</label>
-                       <label index="overview.branch.header">Amounts from actual Branch in tt_content</label>
-                       <label index="overview.branch.records">Records with ext. Links:</label>
-                       <label index="overview.branch.links">External Links:</label>
-                       <label index="overview.attention.header">Attention:</label>
-                       <label index="overview.attention.text">Checking Links may take up to several Minutes. Checking ONE Link can last up to 3 Seconds.</label>
-                       <label index="Report">Report</label>
-                       <label index="CheckLink">Check Links</label>
-                       <label index="report.statistics.header">Show these Types of broken Links</label>
-                       <label index="checklinks.statistics.header">Check these Types of broken Links</label>
-                       <label index="report.func.title">Show this Level</label>
-                       <label index="checklinks.func.title">Check this Level</label>
-                       <label index="overviews.nbtotal">Broken Links Total:</label>
-                       <label index="hooks.db">Internal Links:</label>
-                       <label index="hooks.file">File Links:</label>
-                       <label index="hooks.external">External Links:</label>
-                       <label index="hooks.linkhandler">Linkhandler Links:</label>
-                       <label index="label_refresh">Refresh Display</label>
-                       <label index="label_update">Check Links</label>
-                       <label index="list.header">Listing of broken Links</label>
-                       <label index="list.tableHead.path">Path</label>
-                       <label index="list.tableHead.element">Element</label>
-                       <label index="list.tableHead.headlink">Link</label>
-                       <label index="list.tableHead.linktarget">URL / Link Target</label>
-                       <label index="list.tableHead.linkmessage">Error Message</label>
-                       <label index="list.tableHead.lastCheck">Last Check</label>
-                       <label index="list.edit">Edit Element containing this broken Link</label>
-                       <label index="list.field">(Field: %s)</label>
-                       <label index="list.no.headline">no Headline</label>
-                       <label index="list.report.pagedeleted">Page '###title###' (###uid###) is deleted.</label>
-                       <label index="list.report.pagenotvisible">Page '###title###' (###uid###) is not visible.</label>
-                       <label index="list.report.pagenotexisting">Page (###uid###) does not exist.</label>
-                       <label index="list.report.contentmoved">Element '###title###' (###uid###) is not located on Page ###wrongpage###, but on Page ###rightpage###.</label>
-                       <label index="list.report.contentdeleted">Element '###title###' (###uid###) is deleted.</label>
-                       <label index="list.report.contentnotvisible">Element '###title###' (###uid###) is not visible.</label>
-                       <label index="list.report.contentnotexisting">Element (###uid###) does not exist.</label>
-                       <label index="list.report.rowdeleted">###title### Row (###uid###) is deleted.</label>
-                       <label index="list.report.rowdeleted.default.title">Linked</label>
-                       <label index="list.report.rownotexisting">Row (###uid###) does not exist.</label>
-                       <label index="list.report.noresponse">External Link not reachable.</label>
-                       <label index="list.report.redirectloop">A Redirect Loop occurred. (%s: %s)</label>
-                       <label index="list.report.pageforbidden403">Accessing this Address is not allowed (403).</label>
-                       <label index="list.report.pagenotfound404">The requested URL was not found (404).</label>
-                       <label index="list.report.externalerror">External Link returned HTTP Error Code (%s).</label>
-                       <label index="list.report.filenotexisting">File does not exist.</label>
-                       <label index="list.report.timeout">Operation Timeout. The specified Time-Out Period was reached according to the Conditions.</label>
-                       <label index="list.report.internalerror500">Internal Server Error (500)</label>
-                       <label index="list.report.couldnotresolvehost">Could not resolve Host. The given Remote Host was not resolved.</label>
-                       <label index="list.report.errornetworkdata">Failure with receiving Network Data.</label>
-                       <label index="list.msg.ok">Ok</label>
-                       <label index="list.msg.lastRun">%1$s %2$s</label>
-                       <label index="list.no.broken.links.title">No broken Links to show!</label>
-                       <label index="list.no.broken.links">There are no broken Links to be displayed.</label>
-                       <label index="no.access.title">No Access!</label>
-                       <label index="no.access">You do not have Access to these Listings.</label>
-               </languageKey>
-       </data>
-</T3locallang>
\ No newline at end of file
diff --git a/typo3/sysext/linkvalidator/modfuncreport/locallang_csh.xml b/typo3/sysext/linkvalidator/modfuncreport/locallang_csh.xml
deleted file mode 100644 (file)
index 4378de4..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<T3locallang>
-       <meta type="array">
-               <description>CSH for Linkvalidator Labels</description>
-               <type>CSH</type>
-               <csh_table>linkvalidator</csh_table>
-       </meta>
-       <data type="array">
-               <languageKey index="default" type="array">
-                       <label index="checkboxes.description">Click the following Checkboxes to consider or to ignore the corresponding broken Links.</label>
-                       <label index="tablehead_path.description">Path to the Content Element, which contains the broken Link.</label>
-                       <label index="tablehead_element.description">Type of the Element containing the broken Link, its Headline and the Field in which the broken Link is located.</label>
-                       <label index="tablehead_headlink.description">The linking Text.</label>
-                       <label index="tablehead_linktarget.description">URL to which the broken Link is pointing.</label>
-                       <label index="tablehead_linkmessage.description">Status of that Link.</label>
-                       <label index="tablehead_lastcheck.description">Date and Time of the last Update of the Information in each Table Row.</label>
-                       <label index="task_page.alttitle">Start Page of the Task</label>
-                       <label index="task_page.description">UID of the Start Page for this Task.</label>
-                       <label index="task_depth.alttitle">Depth of the Task</label>
-                       <label index="task_depth.description">Level of Pages the Task should check.</label>
-                       <label index="task_configuration.alttitle">Special TSconfig Code</label>
-                       <label index="task_configuration.description">TSconfig Code which defines Settings for Linkvalidator to be used for this Task.</label>
-                       <label index="task_email.alttitle">Email Address</label>
-                       <label index="task_email.description">Email Address to which an Email Report is sent.</label>
-                       <label index="task_emailonbrokenlinkonly.alttitle">Mailing Option</label>
-                       <label index="task_emailonbrokenlinkonly.description">Only send an Email, if new broken Links were found.</label>
-                       <label index="task_emailfile.alttitle">Email Template File</label>
-                       <label index="task_emailfile.description">Define a Template to be used for the Email.</label>
-               </languageKey>
-       </data>
-</T3locallang>
\ No newline at end of file
diff --git a/typo3/sysext/linkvalidator/modfuncreport/locallang_mod.xml b/typo3/sysext/linkvalidator/modfuncreport/locallang_mod.xml
deleted file mode 100644 (file)
index 63bc7fa..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
-<T3locallang>
-       <meta type="array">
-               <description>Labels for linkvalidator.</description>
-               <type>module</type>
-               <csh_table></csh_table>
-               <labelContext type="array">
-               </labelContext>
-       </meta>
-       <data type="array">
-               <languageKey index="default" type="array">
-                       <label index="mlang_tabs_tab">Check Links</label>
-                       <label index="mlang_labels_tabdescr">Checks the Links in your Website for Validity.</label>
-                       <label index="mlang_labels_tablabel">Validates Links</label>
-               </languageKey>
-       </data>
-</T3locallang>
\ No newline at end of file
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 fe323c3..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-@charset "UTF-8";
-
-#ext-gen19 {
-       overflow: auto;
-}
-
-.linkvalidator_funcmenu {
-       margin-bottom: 25px;
-       margin-left: 35px;
-       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: 235px;
-}
-.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;
-}
-
-input#updateLinkList:disabled, input#refreshLinkList:disabled {
-       color: graytext;
-}
\ No newline at end of file
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 09266e2..0000000
+++ /dev/null
@@ -1,15 +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 {
-               replytoname =
-               replytoemail =
-               subject = TYPO3 Linkvalidator report
-       }
-}
\ No newline at end of file