[TASK] Integrate system extension linkvalidator as submodule
authorOliver Hader <oliver@typo3.org>
Fri, 25 Nov 2011 07:59:37 +0000 (08:59 +0100)
committerOliver Hader <oliver@typo3.org>
Tue, 29 Nov 2011 10:03:40 +0000 (11:03 +0100)
Integrate system extension linkvalidator as Git submodule.
git://git.typo3.org/TYPO3v4/Extensions/linkvalidator.git

Change-Id: Idd931c0864692e4fc73d048192467205492f7497
Resolves: #32075
Reviewed-on: http://review.typo3.org/6911
Reviewed-by: Steffen Ritter
Tested-by: Steffen Ritter
30 files changed:
.gitmodules
typo3/sysext/linkvalidator [new submodule]
typo3/sysext/linkvalidator/.gitignore [deleted file]
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.xlf [deleted file]
typo3/sysext/linkvalidator/modfuncreport/class.tx_linkvalidator_modfuncreport.php [deleted file]
typo3/sysext/linkvalidator/modfuncreport/locallang.xlf [deleted file]
typo3/sysext/linkvalidator/modfuncreport/locallang_csh.xlf [deleted file]
typo3/sysext/linkvalidator/modfuncreport/locallang_mod.xlf [deleted file]
typo3/sysext/linkvalidator/modfuncreport/mod_template.html [deleted file]
typo3/sysext/linkvalidator/res/linkvalidator.css [deleted file]
typo3/sysext/linkvalidator/res/mailtemplate.html [deleted file]
typo3/sysext/linkvalidator/res/pagetsconfig.txt [deleted file]

index 2593a6b..9ecb7a7 100644 (file)
@@ -13,3 +13,6 @@
 [submodule "typo3/sysext/extbase"]
        path = typo3/sysext/extbase
        url = git://git.typo3.org/TYPO3v4/CoreProjects/MVC/extbase.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..29735ea
--- /dev/null
@@ -0,0 +1 @@
+Subproject commit 29735ea0ee5a27df00ab7d969d1c7b5b9f222b68
diff --git a/typo3/sysext/linkvalidator/.gitignore b/typo3/sysext/linkvalidator/.gitignore
deleted file mode 100644 (file)
index 349a4d9..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-#########################
-# Linkvalidator
-# global ignore file
-########################
-# ignoring temporary files (left by e.g. vim)
-# ignoring by common IDE's used directories/files
-# dont ignore .rej and .orig as we want to see/clean files after conflict resolution
-#
-# for local exclude patterns please edit .git/info/exclude
-#
-*~
-*.bak
-*.idea
-*.project
-*.swp
-.buildpath
-.cache
-.project
-.session
-.settings
-.TemporaryItems
-.webprj
-nbproject
diff --git a/typo3/sysext/linkvalidator/ChangeLog b/typo3/sysext/linkvalidator/ChangeLog
deleted file mode 100644 (file)
index 5d78e45..0000000
+++ /dev/null
@@ -1,344 +0,0 @@
-2011-10-23 TYPO3 4.6 (linkvalidator 1.5.0)
-
-22feb54    [BUGFIX] Pootle: Multi-line labels are not rendered (Xavier Perseguers)
-b4393ad    [TASK] Fix version number of 4.6 branch (Philipp Gampe)
-a195d11    [TASK] English XLIFF files should not contain target element (Dominique Feyer)
-3b062e3    [TASK] Prepare merge for 4.6-RC1 (part 2)  05/5705/2 4.6RC1 (Philipp Gampe)
-
-2011-10-11 TYPO3 4.6-RC1 (linkvalidator 1.5.0-rc1)
-
-27e93d6    Merge "[BUGFIX] Invalid target language in localization file" (Philipp Gampe)
-ba0178b    [BUGFIX] Invalid target language in localization file (Xavier Perseguers)
-36f1b21    [BUGFIX][SECURITY] SQL Injection in Scheduler Task of Linkvalidator (Oliver Hader)
-9636b77    [TASK] Merge Changes from core since last sync (Philipp Gampe)
-709531e    [TASK] Prepare merge for 4.6-RC1 (Philipp Gampe)
-5607748    Merge "[BUGFIX] SQL error if a task is run on a disabled page" (Philipp Gampe)
-e2bb756    [TASK] Update manual (Philipp Gampe)
-79b4741    [BUGFIX] SQL error if a task is run on a disabled page (Philipp Gampe)
-6856163    Merge "[BUGFIX] It is not possible to set page 0 to schedular task" (Philipp Gampe)
-28a38da    Merge "[BUGFIX] SQL error if opening a disabled page with module" (Philipp Gampe)
-0fece3f    [BUGFIX] It is not possible to set page 0 to schedular task (Philipp Gampe)
-df464d4    [BUGFIX] Revert change in interface signature (Philipp Gampe)
-4335331    [BUGFIX] SQL error if opening a disabled page with module (Philipp Gampe)
-c12d8f5    [TASK] Fix CGL issues (Philipp Gampe)
-74a9c14    [BUGFIX] Initialize $currentR in analyseTypoLinks (Bjoern Pedersen)
-e5d6b19    [TASK] Bump version number (Christopher)
-0c69001    [TASK] Release linkvalidator 1.0.4 (Philipp Gampe)
-defb32e    [TASK] Fix phpdoc and method signatures (Philipp Gampe)
-2f1f5e0    [BUGFIX] Fatal error with E_STRICT: Declarations of fetchType and checkLink must be compatible with interface
-64769ad    [BUGFIX] XLIFF: Approved attribute is on wrong element (Christopher)
-11b6535    [TASK] Unify table layouts (Christopher)
-fb76d81    [TASK] Update ChangeLog (Christopher)
-5096f76    [TASK] Refactor to t3lib_http_Request for external URLs (Philipp Gampe)
-ad08acf    [TASK] Add XLIFF files (Philipp Gampe)
-267122e    [TASK] Fix localization handling to support XLIFF (Christopher)
-2a9f3ff    [TASK] Merge changes from 4.5 upstream to master (Philipp Gampe)
-6b026f3    [BUGFIX] Correct initialisation of BACK_PATH (Stefan Neufeind)
-79e5177    [TASK] Add .gitignore file. (Christopher)
-
-
-Since linkvalidator switched to git, you can always get the full changelog via:
-http://git.typo3.org/TYPO3v4/Extensions/linkvalidator.git
-
-For you convenience the git log is included above.
-
-
-
-2011-10-05  Philipp Gampe  <forge.typo3.org@philippgampe.info>
-
-       * [TASK] Fix CGL issues
-
-2011-08-30  Philipp Gampe  <forge.typo3.org@philippgampe.info>
-
-       * [TASK] Release linkvalidator 1.0.4
-
-2011-08-26  Philipp Gampe  <forge.typo3.org@philippgampe.info>
-
-       * [BUGFIX] Fatal error with E_STRICT: Declaration of fetchType must be compatible with interface
-       * [TASK] Fix phpdoc and method signatures
-
-2011-08-26  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * [BUGFIX] XLIFF: Approved attribute is on wrong element
-
-2011-08-19  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * [TASK] Unify table layouts
-
-2011-08-11  Philipp Gampe  <forge.typo3.org@philippgampe.info>
-
-       * [TASK] Refactor to t3lib_http_Request for external URLs
-
-2011-08-10  Philipp Gampe  <forge.typo3.org@philippgampe.info>
-
-       * [TASK] Add XLIFF files
-
-2011-07-17  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * [TASK] Fix localization handling to support XLIFF
-
-2011-07-17  Philipp Gampe  <forge.typo3.org@philippgampe.info>
-
-       * [TASK] Merge changes from 4.5 upstream to master
-
-2011-07-17  Philipp Gampe  <forge.typo3.org@philippgampe.info>
-
-       * [BUGFIX] Correct initialisation of BACK_PATH
-
-2011-07-15  Christopher Stelmaszyk  <chrissitopher@gmx.de>
-
-       * [TASK] Add .gitignore file
-
-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
-       * 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 #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-04-26  Michael Miousse  <michael.miousse@infoglobe.ca>
-
-       * Fixed bug #13757: Scheduler task does not work at all
-
-2011-04-21  Michael Miousse  <michael.miousse@infoglobe.ca>
-
-       * Fixed bug #13953: Third-party classes cannot be checked due to dynamicConfigFile in TCA (thanks to Jan Philipp Timme)
-
-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 4b60177..0000000
+++ /dev/null
@@ -1,465 +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 separated 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);
-                       }
-               }
-       }
-
-       /**
-        * Store all the needed configuration values 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(array $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();
-               if (count($checkOptions) > 0) {
-                       $checkKeys = array_keys($checkOptions);
-                       $checkLinkTypeCondition = ' 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\')) '
-                                                                       . $checkLinkTypeCondition);
-
-                               // 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, assume the extension 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)) !== FALSE) {
-                                               // Analyse each record
-                                       $this->analyzeRecord($results, $table, $fields, $row);
-                               }
-                               $GLOBALS['TYPO3_DB']->sql_free_result($res);
-                       }
-
-                       foreach ($this->hookObjectsArr as $key => $hookObj) {
-                               if ((is_array($results[$key])) && empty($checkOptions) || (is_array($results[$key]) && $checkOptions[$key])) {
-                                               //  Check them
-                                       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(array &$results, $table, array $fields, array $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 soft references defined (see TYPO3 Core API document)
-                       if ($conf['softref'] && strlen($valueField)) {
-                                       // Explode the list of soft references/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 is 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 list
-        *
-        * @param array $resultArray findRef parsed records
-        * @param array $results Array of broken links
-        * @param array $record UID of the current record
-        * @param string $field The current field
-        * @param string $table The current table
-        * @return      void
-        */
-       private function analyseLinks(array $resultArray, array &$results, array $record, $field, $table) {
-               foreach ($resultArray['elements'] as $element) {
-                       $r = $element['subst'];
-                       $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 html parser
-        * @param array $record The current record
-        * @param string $field The current field
-        * @param string $table The current table
-        * @return void
-        */
-       private function analyseTypoLinks(array $resultArray, array &$results, $htmlParser, array $record, $field, $table) {
-               $currentR = array();
-               $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) && (isset($wasPage) && $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 marker array with the number of links found in a list of pages
-        *
-        * @param string $curPage Comma separated list of page uids
-        * @return array Marker array with the number of links found
-        */
-       public function getLinkCounts($curPage) {
-               $markerArray = array();
-
-               if (empty($this->pidList)) {
-                       $this->pidList = $curPage;
-               }
-
-               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)) !== FALSE) {
-                               $markerArray[$row['link_type']] = $row['nbBrokenLinks'];
-                               $markerArray['brokenlinkCount'] += $row['nbBrokenLinks'];
-                       }
-               }
-               $GLOBALS['TYPO3_DB']->sql_free_result($res);
-               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.
-        *
-        * @param integer $id Start page id
-        * @param integer $depth Depth to traverse down the page tree.
-        * @param integer $begin is an optional integer that determines at which
-        * @param string $permsClause Perms clause
-        * @param boolean $considerHidden Whether to consider hidden pages or not
-        * @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)) !== FALSE) {
-                               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);
-                               }
-                       }
-               }
-               $GLOBALS['TYPO3_DB']->sql_free_result($res);
-               return $theList;
-       }
-
-       /**
-        * @param array $pageInfo Array with uid, title, hidden, extendToSubpages from pages table
-        * @return boolean TRUE if rootline contains a hidden page, FALSE if not
-        */
-       public function getRootLineIsHidden(array $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)) !== FALSE) {
-                                       $hidden = $this->getRootLineIsHidden($row);
-                               }
-                               $GLOBALS['TYPO3_DB']->sql_free_result($res);
-                       } 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 e75f8f8..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 protected property errorParams
-        *
-        * @param array $value All parameters needed for the rendering of the error message
-        * @return void
-        */
-       protected function setErrorParams($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;
-       }
-
-       /**
-        * Construct a valid Url for browser output
-        *
-        * @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 37079ba..0000000
+++ /dev/null
@@ -1,198 +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>
- * @author Philipp Gampe <typo3.dev@philippgampe.info>
- * @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 $urlReports
-        */
-       protected $urlReports = array();
-
-       /**
-        * Cached list of all error parameters of the URLs, which were already checked for the current processing
-        *
-        * @var array $urlErrorParams
-        */
-       protected $urlErrorParams = array();
-
-       /**
-        * List of headers to be used for matching an URL for the current processing
-        *
-        * @var array $additionalHeaders
-        */
-       protected $additionalHeaders = array();
-
-
-       /**
-        * Checks a given URL for validity
-        *
-        * @param string $url The URL to check
-        * @param array $softRefEntry The soft reference entry which builds the context of that URL
-        * @param tx_linkvalidator_Processor $reference Parent instance of tx_linkvalidator_Processor
-        * @return boolean TRUE on success or FALSE on error
-        */
-       public function checkLink($url, $softRefEntry, $reference) {
-               $errorParams = array();
-               $isValidUrl = TRUE;
-
-               if (isset($this->urlReports[$url])) {
-                       if (!$this->urlReports[$url]) {
-                               if(is_array($this->urlErrorParams[$url])) {
-                                   $this->setErrorParams($this->urlErrorParams[$url]);
-                               }
-                       }
-                       return $this->urlReports[$url];
-               }
-
-               $config = array(
-                       'follow_redirects' => TRUE,
-                       'strict_redirects' => TRUE,
-               );
-
-                       /** @var t3lib_http_Request|HTTP_Request2 $request  */
-               $request = t3lib_div::makeInstance('t3lib_http_Request', $url, 'HEAD', $config);
-                       // Observe cookies
-               $request->setCookieJar(TRUE);
-
-               try {
-                               /** @var HTTP_Request2_Response $response  */
-                       $response = $request->send();
-                               // HEAD was not allowed, now trying GET
-                       if (isset($response) && $response->getStatus() === 405) {
-                               $request->setMethod('GET');
-                               $request->setHeader('Range', 'bytes = 0 - 4048');
-                                       /** @var HTTP_Request2_Response $response  */
-                               $response = $request->send();
-                       }
-               }
-               catch (Exception $e) {
-                       $isValidUrl = FALSE;
-                               // A redirect loop occurred
-                       if ($e->getCode() === 40) {
-                                       // Parse the exception for more information
-                               $trace = $e->getTrace();
-                               $traceUrl = $trace[0]['args'][0]->getUrl()->getUrl();
-                               $traceCode = $trace[0]['args'][1]->getStatus();
-
-                               $errorParams['errorType'] = 'loop';
-                               $errorParams['location'] = $traceUrl;
-                               $errorParams['errorCode'] = $traceCode;
-                       } else {
-                               $errorParams['errorType'] = 'exception';
-                       }
-                       $errorParams['message'] = $e->getMessage();
-               }
-
-               if (isset($response) && $response->getStatus() >= 300) {
-                       $isValidUrl = FALSE;
-                       $errorParams['errorType'] = $response->getStatus();
-                       $errorParams['message'] = $response->getReasonPhrase();
-               }
-
-               if (!$isValidUrl) {
-                       $this->setErrorParams($errorParams);
-               }
-
-               $this->urlReports[$url] = $isValidUrl;
-               $this->urlErrorParams[$url] = $errorParams;
-
-               return $isValidUrl;
-       }
-
-       /**
-        * Generate the localized error message from the error params saved from the parsing
-        *
-        * @param array $errorParams 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 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 'loop':
-                               $response = sprintf($GLOBALS['LANG']->getLL('list.report.redirectloop'), $errorParams['errorCode'], $errorParams['location']);
-                               break;
-
-                       case 'exception':
-                               $response = sprintf($GLOBALS['LANG']->getLL('list.report.httpexception'), $errorParams['message']);
-                               break;
-
-                       default:
-                               $response = sprintf($GLOBALS['LANG']->getLL('list.report.otherhttpcode'), $errorType, $errorParams['message']);
-               }
-
-               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))(?::\/\/)(?:[^\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']);
-}
-
-?>
\ No newline at end of file
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 11d7057..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 soft reference entry which builds the context of that url
-        * @param tx_linkvalidator_Processor $reference Parent instance of tx_linkvalidator_Processor
-        * @return boolean 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 $errorParams 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;
-       }
-
-
-       /**
-        * Construct a valid Url for browser output
-        *
-        * @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 9747dab..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 link for validity
-        *
-        * @param string $url Url to check
-        * @param array $softRefEntry The soft reference entry which builds the context of that url
-        * @param tx_linkvalidator_Processor $reference Parent instance of tx_linkvalidator_Processor
-        * @return string Validation error message or success 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();
-
-       /**
-        * Construct a valid Url for browser output
-        *
-        * @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 e004677..0000000
+++ /dev/null
@@ -1,304 +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 soft reference entry which builds the context of that url
-        * @param tx_linkvalidator_Processor $reference Parent instance of tx_linkvalidator_Processor
-        * @return boolean TRUE on success or FALSE on error
-        */
-       public function checkLink($url, $softRefEntry, $reference) {
-               $anchor = '';
-               $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 soft reference entry which builds the context of that url
-        * @param tx_linkvalidator_Processor $reference Parent instance of tx_linkvalidator_Processor
-        * @return boolean 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'] = self::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'] = self::HIDDEN;
-                               $this->errorParams['page']['title'] = $row['title'];
-                               $this->errorParams['page']['uid'] = $row['uid'];
-                               $this->responsePage = FALSE;
-                       }
-               } else {
-                       $this->errorParams['errorType']['page'] = self::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 soft reference entry which builds the context of that url
-        * @param tx_linkvalidator_Processor $reference Parent instance of tx_linkvalidator_Processor
-        * @return boolean 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'] = self::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'] = self::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'] = self::HIDDEN;
-                                       $this->errorParams['content']['title'] = $res['header'];
-                                       $this->errorParams['content']['uid'] = $res['uid'];
-                                       $this->responseContent = FALSE;
-                               }
-                       }
-
-               } else {
-                               // The content element does not exist
-                       $this->errorParams['errorType']['content'] = self::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 $errorParams 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 self::DELETED:
-                                       $errorPage = $GLOBALS['LANG']->getLL('list.report.pagedeleted');
-                                       $errorPage = str_replace('###title###', $errorParams['page']['title'], $errorPage);
-                                       $errorPage = str_replace('###uid###', $errorParams['page']['uid'], $errorPage);
-                                       break;
-
-                               case self::HIDDEN:
-                                       $errorPage = $GLOBALS['LANG']->getLL('list.report.pagenotvisible');
-                                       $errorPage = str_replace('###title###', $errorParams['page']['title'], $errorPage);
-                                       $errorPage = str_replace('###uid###', $errorParams['page']['uid'], $errorPage);
-                                       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 self::DELETED:
-                                       $errorContent = $GLOBALS['LANG']->getLL('list.report.contentdeleted');
-                                       $errorContent = str_replace('###title###', $errorParams['content']['title'], $errorContent);
-                                       $errorContent = str_replace('###uid###', $errorParams['content']['uid'], $errorContent);
-                                       break;
-
-                               case self::HIDDEN:
-                                       $errorContent = $GLOBALS['LANG']->getLL('list.report.contentnotvisible');
-                                       $errorContent = str_replace('###title###', $errorParams['content']['title'], $errorContent);
-                                       $errorContent = str_replace('###uid###', $errorParams['content']['uid'], $errorContent);
-                                       break;
-
-                               case self::MOVED:
-                                       $errorContent = $GLOBALS['LANG']->getLL('list.report.contentmoved');
-                                       $errorContent = str_replace('###title###', $errorParams['content']['title'], $errorContent);
-                                       $errorContent = str_replace('###uid###', $errorParams['content']['uid'], $errorContent);
-                                       $errorContent = str_replace('###wrongpage###', $errorParams['content']['wrongPage'], $errorContent);
-                                       $errorContent = str_replace('###rightpage###', $errorParams['content']['rightPage'], $errorContent);
-                                       break;
-
-                               default:
-                                       $errorContent = $GLOBALS['LANG']->getLL('list.report.contentnotexisting');
-                                       $errorContent = str_replace('###uid###', $errorParams['content']['uid'], $errorContent);
-                       }
-               }
-
-               if (isset($errorPage) && isset($errorContent)) {
-                       $response = $errorPage . '<br />' . $errorContent;
-               } elseif (isset($errorPage)) {
-                       $response = $errorPage;
-               } elseif (isset($errorContent)) {
-                       $response = $errorContent;
-               } else {
-                               // This should not happen
-                       $response = $GLOBALS['LANG']->getLL('list.report.noinformation');
-               }
-
-               return $response;
-       }
-
-       /**
-        * Construct a valid Url for browser output
-        *
-        * @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']);
-}
-
-?>
\ No newline at end of file
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 313efc3..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 for validity
-        *
-        * @param string $url Url to check
-        * @param array $softRefEntry The soft reference entry which builds the context of that url
-        * @param tx_linkvalidator_Processor $reference Parent instance of tx_linkvalidator_Processor
-        * @return boolean 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'] = self::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 $errorParams 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 self::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 d0e2970..0000000
+++ /dev/null
@@ -1,529 +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 different 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 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 Whether to 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 $emailOnBrokenLinkOnly 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 $page 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 $depth 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 $emailTemplateFile 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 $configuration specific TSconfig for this task
-        * @return void
-        */
-       public function setConfiguration($configuration) {
-               $this->configuration = $configuration;
-       }
-
-
-       /**
-        * Function execute from the Scheduler
-        *
-        * @return boolean TRUE on successful execution, FALSE on error
-        */
-       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) {
-               $page = intval($page);
-               $pageSections = '';
-               $pageIds = '';
-               $oldLinkCounts = array();
-
-               $modTS = $this->loadModTSconfig($page);
-               $searchFields = $this->getSearchField($modTS);
-               $linkTypes = $this->getLinkTypes($modTS);
-
-                       /** @var tx_linkvalidator_processor $processor */
-               $processor = t3lib_div::makeInstance('tx_linkvalidator_Processor');
-
-               if ($page === 0) {
-                       $rootLineHidden = FALSE;
-               } else {
-                       $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) {
-                                       // tx_linkvalidator_Processor::extGetTreeList always adds trailing comma:
-                               $pageIds .= $page;
-                       }
-               }
-
-               if (!empty($pageIds)) {
-                       $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(array $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 isset($searchFields) ? $searchFields : array();
-       }
-
-       /**
-        * 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(array $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 array $modTS TSconfig array
-        * @return boolean TRUE if mail was sent, FALSE if or not
-        */
-       protected function reportEmail($pageSections, array $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 Marker array with the number of link found
-        * @return string Content of the mail
-        */
-       protected function buildMail($curPage, $pageList, array $markerArray, array $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
-        */
-       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 ef4d51a..0000000
+++ /dev/null
@@ -1,283 +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 $taskInfo 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
-        */
-       protected function getSelectedState(array $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_Module $schedulerModule 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'] which is normally a comma separated 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
-                               );
-                       }
-                       $GLOBALS['TYPO3_DB']->sql_free_result($res);
-               } 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 470a67e..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 1662ef9..0000000
+++ /dev/null
@@ -1,181 +0,0 @@
-Manual for Linkvalidator
-Extension Key: linkvalidator
-Language: en
-Version: 1.5.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 TSconfig 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. 
-
-You are advised to use cURL to check for links. Linkvalidator uses the HTTP request library shipped with TYPO3. Please have a look in the Install Tool at the section “All Configuration” which includes an HTTP section at the end.
-There you may define a default timeout and you may change from using sockets to using the cURL library.
-
-
-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". 
-
-This list may be extended by other extensions providing a linktype checker, e.g. DAM.
-db,file,external
-checkhidden
-boolean
-If set, disabled pages and 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 48bd07b..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-<?php
-
-########################################################################
-# Extension Manager/Repository config file for ext "linkvalidator".
-#
-# Auto generated 23-10-2011 17:09
-#
-# 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.5.0',
-       'constraints' => array(
-               'depends' => array(
-                       'php' => '5.3.0-0.0.0',
-                       'typo3' => '4.6.0-0.0.0',
-                       'info' => '1.1.0-0.0.0',
-               ),
-               'conflicts' => array(
-               ),
-               'suggests' => array(
-               ),
-       ),
-       '_md5_values_when_last_written' => 'a:26:{s:9:"ChangeLog";s:4:"a390";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:"e7a3";s:14:"ext_tables.sql";s:4:"2489";s:13:"locallang.xlf";s:4:"ff7a";s:44:"classes/class.tx_linkvalidator_processor.php";s:4:"f8f6";s:61:"classes/linktype/class.tx_linkvalidator_linktype_abstract.php";s:4:"1186";s:61:"classes/linktype/class.tx_linkvalidator_linktype_external.php";s:4:"f1b8";s:57:"classes/linktype/class.tx_linkvalidator_linktype_file.php";s:4:"917a";s:62:"classes/linktype/class.tx_linkvalidator_linktype_interface.php";s:4:"3eec";s:61:"classes/linktype/class.tx_linkvalidator_linktype_internal.php";s:4:"9d5f";s:64:"classes/linktype/class.tx_linkvalidator_linktype_linkhandler.php";s:4:"d5d2";s:56:"classes/tasks/class.tx_linkvalidator_tasks_validator.php";s:4:"36d6";s:79:"classes/tasks/class.tx_linkvalidator_tasks_validatoradditionalfieldprovider.php";s:4:"375c";s:14:"doc/manual.sxw";s:4:"996f";s:14:"doc/manual.txt";s:4:"6872";s:54:"modfuncreport/class.tx_linkvalidator_modfuncreport.php";s:4:"3f9f";s:27:"modfuncreport/locallang.xlf";s:4:"95cb";s:31:"modfuncreport/locallang_csh.xlf";s:4:"6541";s:31:"modfuncreport/locallang_mod.xlf";s:4:"5156";s:31:"modfuncreport/mod_template.html";s:4:"4c0f";s:21:"res/linkvalidator.css";s:4:"77b4";s:21:"res/mailtemplate.html";s:4:"c425";s:20:"res/pagetsconfig.txt";s:4:"93e0";}',
-       '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 8ab5afe..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.xlf b/typo3/sysext/linkvalidator/locallang.xlf
deleted file mode 100644 (file)
index 29a0e5a..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xliff version="1.0">
-       <file source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:34Z" product-name="linkvalidator">
-               <header/>
-               <body>
-                       <trans-unit id="mod_linkvalidator" xml:space="preserve">
-                               <source>Linkvalidator</source>
-                       </trans-unit>
-                       <trans-unit id="tasks.validate.name" xml:space="preserve">
-                               <source>Linkvalidator</source>
-                       </trans-unit>
-                       <trans-unit id="tasks.validate.description" xml:space="preserve">
-                               <source>Search for broken links and store the result into the temporary table tx_linkvalidator_link in order to ease up the backend module.</source>
-                       </trans-unit>
-                       <trans-unit id="tasks.validate.page" xml:space="preserve">
-                               <source>Start page (uid)</source>
-                       </trans-unit>
-                       <trans-unit id="tasks.validate.depth" xml:space="preserve">
-                               <source>Depth</source>
-                       </trans-unit>
-                       <trans-unit id="tasks.validate.conf" xml:space="preserve">
-                               <source>Overwrite TSconfig</source>
-                       </trans-unit>
-                       <trans-unit id="tasks.validate.email" xml:space="preserve">
-                               <source>Send email report to</source>
-                       </trans-unit>
-                       <trans-unit id="tasks.validate.emailOnBrokenLinkOnly" xml:space="preserve">
-                               <source>Send email on new broken links only</source>
-                       </trans-unit>
-                       <trans-unit id="tasks.validate.emailTemplateFile" xml:space="preserve">
-                               <source>Email template file</source>
-                       </trans-unit>
-                       <trans-unit id="tasks.validate.invalidEmail" xml:space="preserve">
-                               <source>Invalid email format!</source>
-                       </trans-unit>
-                       <trans-unit id="tasks.validate.invalidPage" xml:space="preserve">
-                               <source>Invalid page uid, please enter a valid page uid!</source>
-                       </trans-unit>
-                       <trans-unit id="tasks.validate.invalidDepth" xml:space="preserve">
-                               <source>There is no depth set, please set it to one of the offered values!</source>
-                       </trans-unit>
-                       <trans-unit id="tasks.error.noSubject" xml:space="preserve">
-                               <source>No subject for the notification email</source>
-                       </trans-unit>
-                       <trans-unit id="tasks.error.invalidToEmail" xml:space="preserve">
-                               <source>Invalid format of one or more of the recipient email addresses!</source>
-                       </trans-unit>
-                       <trans-unit id="tasks.error.invalidFromEmail" xml:space="preserve">
-                               <source>Invalid format of the email address in the from header</source>
-                       </trans-unit>
-                       <trans-unit id="tasks.error.invalidTSconfig" xml:space="preserve">
-                               <source>Invalid TSconfig in the task configuration!</source>
-                       </trans-unit>
-                       <trans-unit id="tasks.error.invalidEmailTemplateFile" xml:space="preserve">
-                               <source>The email template file is not existing!</source>
-                       </trans-unit>
-               </body>
-       </file>
-</xliff>
diff --git a/typo3/sysext/linkvalidator/modfuncreport/class.tx_linkvalidator_modfuncreport.php b/typo3/sysext/linkvalidator/modfuncreport/class.tx_linkvalidator_modfuncreport.php
deleted file mode 100644 (file)
index a8e9605..0000000
+++ /dev/null
@@ -1,772 +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 recursive traversal of pages for 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;
-
-       /** @var t3lib_pageRenderer $pageRenderer */
-       protected $pageRenderer;
-
-       /**
-        * 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/';
-               $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 checkLink functions
-        *
-        * @return void
-        */
-       protected function createTabs() {
-               $panelCheck = '';
-               if ($this->modTS['showCheckLinkTab'] == 1) {
-                       $panelCheck = "{
-                               title: TYPO3.l10n.localize('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.l10n.localize('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 string $content
-        */
-       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() {
-                       // Build level selector
-               $opt = array();
-               $parts = array(
-                       0 => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:labels.depth_0'),
-                       1 => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:labels.depth_1'),
-                       2 => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:labels.depth_2'),
-                       3 => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:labels.depth_3'),
-                       999 => $GLOBALS['LANG']->sL('LLL:EXT:lang/locallang_core.xml:labels.depth_infi'),
-               );
-
-               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 = 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']
-                       );
-
-                               // Always add the current page, because we are just displaying the results
-                       $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)) !== FALSE) {
-                                               $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
-        * @param string $prefix
-        * @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###');
-
-               $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 representation 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']);
-}
-
-?>
\ No newline at end of file
diff --git a/typo3/sysext/linkvalidator/modfuncreport/locallang.xlf b/typo3/sysext/linkvalidator/modfuncreport/locallang.xlf
deleted file mode 100644 (file)
index 9a6c606..0000000
+++ /dev/null
@@ -1,200 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xliff version="1.0">
-       <file source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:34Z" product-name="linkvalidator">
-               <header/>
-               <body>
-                       <trans-unit id="menu.introduction" xml:space="preserve">
-                               <source>Introduction</source>
-                       </trans-unit>
-                       <trans-unit id="menu.checkLinks" xml:space="preserve">
-                               <source>Check Links for validity</source>
-                       </trans-unit>
-                       <trans-unit id="menu.overview" xml:space="preserve">
-                               <source>Overview of links on website</source>
-                       </trans-unit>
-                       <trans-unit id="overview.header" xml:space="preserve">
-                               <source>Overview - choose options to check the links</source>
-                       </trans-unit>
-                       <trans-unit id="overview.all.header" xml:space="preserve">
-                               <source>Total amounts in tt_content</source>
-                       </trans-unit>
-                       <trans-unit id="overview.all.records" xml:space="preserve">
-                               <source>Records with ext. links:</source>
-                       </trans-unit>
-                       <trans-unit id="overview.all.links" xml:space="preserve">
-                               <source>External links:</source>
-                       </trans-unit>
-                       <trans-unit id="overview.branch.header" xml:space="preserve">
-                               <source>Amounts from actual branch in tt_content</source>
-                       </trans-unit>
-                       <trans-unit id="overview.branch.records" xml:space="preserve">
-                               <source>Records with ext. links:</source>
-                       </trans-unit>
-                       <trans-unit id="overview.branch.links" xml:space="preserve">
-                               <source>External links:</source>
-                       </trans-unit>
-                       <trans-unit id="overview.attention.header" xml:space="preserve">
-                               <source>Attention:</source>
-                       </trans-unit>
-                       <trans-unit id="overview.attention.text" xml:space="preserve">
-                               <source>Checking links may take up to several minutes. Checking ONE link can last up to 3 seconds.</source>
-                       </trans-unit>
-                       <trans-unit id="Report" xml:space="preserve">
-                               <source>Report</source>
-                       </trans-unit>
-                       <trans-unit id="CheckLink" xml:space="preserve">
-                               <source>Check Links</source>
-                       </trans-unit>
-                       <trans-unit id="report.statistics.header" xml:space="preserve">
-                               <source>Show these types of broken links</source>
-                       </trans-unit>
-                       <trans-unit id="checklinks.statistics.header" xml:space="preserve">
-                               <source>Check these types of broken links</source>
-                       </trans-unit>
-                       <trans-unit id="report.func.title" xml:space="preserve">
-                               <source>Show this level</source>
-                       </trans-unit>
-                       <trans-unit id="checklinks.func.title" xml:space="preserve">
-                               <source>Check this level</source>
-                       </trans-unit>
-                       <trans-unit id="overviews.nbtotal" xml:space="preserve">
-                               <source>Broken links total:</source>
-                       </trans-unit>
-                       <trans-unit id="hooks.db" xml:space="preserve">
-                               <source>Internal Links:</source>
-                       </trans-unit>
-                       <trans-unit id="hooks.file" xml:space="preserve">
-                               <source>File Links:</source>
-                       </trans-unit>
-                       <trans-unit id="hooks.external" xml:space="preserve">
-                               <source>External Links:</source>
-                       </trans-unit>
-                       <trans-unit id="hooks.linkhandler" xml:space="preserve">
-                               <source>Linkhandler Links:</source>
-                       </trans-unit>
-                       <trans-unit id="label_refresh" xml:space="preserve">
-                               <source>Refresh display</source>
-                       </trans-unit>
-                       <trans-unit id="label_update" xml:space="preserve">
-                               <source>Check links</source>
-                       </trans-unit>
-                       <trans-unit id="list.header" xml:space="preserve">
-                               <source>Listing of broken links</source>
-                       </trans-unit>
-                       <trans-unit id="list.tableHead.path" xml:space="preserve">
-                               <source>Path</source>
-                       </trans-unit>
-                       <trans-unit id="list.tableHead.element" xml:space="preserve">
-                               <source>Element</source>
-                       </trans-unit>
-                       <trans-unit id="list.tableHead.headlink" xml:space="preserve">
-                               <source>Link</source>
-                       </trans-unit>
-                       <trans-unit id="list.tableHead.linktarget" xml:space="preserve">
-                               <source>URL / Link Target</source>
-                       </trans-unit>
-                       <trans-unit id="list.tableHead.linkmessage" xml:space="preserve">
-                               <source>Error message</source>
-                       </trans-unit>
-                       <trans-unit id="list.tableHead.lastCheck" xml:space="preserve">
-                               <source>Last check</source>
-                       </trans-unit>
-                       <trans-unit id="list.edit" xml:space="preserve">
-                               <source>Edit element containing this broken link</source>
-                       </trans-unit>
-                       <trans-unit id="list.field" xml:space="preserve">
-                               <source>(Field: %s)</source>
-                       </trans-unit>
-                       <trans-unit id="list.no.headline" xml:space="preserve">
-                               <source>no headline</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.pagedeleted" xml:space="preserve">
-                               <source>Page '###title###' (###uid###) is deleted.</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.pagenotvisible" xml:space="preserve">
-                               <source>Page '###title###' (###uid###) is not visible.</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.pagenotexisting" xml:space="preserve">
-                               <source>Page (###uid###) does not exist.</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.contentmoved" xml:space="preserve">
-                               <source>Element '###title###' (###uid###) is not located on page ###wrongpage###, but on page ###rightpage###.</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.contentdeleted" xml:space="preserve">
-                               <source>Element '###title###' (###uid###) is deleted.</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.contentnotvisible" xml:space="preserve">
-                               <source>Element '###title###' (###uid###) is not visible.</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.contentnotexisting" xml:space="preserve">
-                               <source>Element (###uid###) does not exist.</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.rowdeleted" xml:space="preserve">
-                               <source>###title### row (###uid###) is deleted.</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.rowdeleted.default.title" xml:space="preserve">
-                               <source>Linked</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.rownotexisting" xml:space="preserve">
-                               <source>Row (###uid###) does not exist.</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.noinformation" xml:space="preserve">
-                               <source>No information about the error is available.</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.noresponse" xml:space="preserve">
-                               <source>External Link not reachable.</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.redirectloop" xml:space="preserve">
-                               <source>A redirect loop occurred. (%s: %s)</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.pageforbidden403" xml:space="preserve">
-                               <source>Accessing this address is not allowed (403).</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.pagenotfound404" xml:space="preserve">
-                               <source>The requested url was not found (404).</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.externalerror" xml:space="preserve">
-                               <source>External Link returned HTTP error code (%s).</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.filenotexisting" xml:space="preserve">
-                               <source>File doesn't exist.</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.timeout" xml:space="preserve">
-                               <source>Operation timeout. The specified time-out period was reached according to the conditions.</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.internalerror500" xml:space="preserve">
-                               <source>Internal Server Error (500)</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.couldnotresolvehost" xml:space="preserve">
-                               <source>Could not resolve host. The given remote host was not resolved.</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.errornetworkdata" xml:space="preserve">
-                               <source>Failure with receiving network data.</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.otherhttpcode" xml:space="preserve">
-                               <source>An error occurred (%s): "%s".</source>
-                       </trans-unit>
-                       <trans-unit id="list.report.httpexception" xml:space="preserve">
-                               <source>Exception: %s</source>
-                       </trans-unit>
-                       <trans-unit id="list.msg.ok" xml:space="preserve">
-                               <source>Ok</source>
-                       </trans-unit>
-                       <trans-unit id="list.msg.lastRun" xml:space="preserve">
-                               <source>%1$s %2$s</source>
-                       </trans-unit>
-                       <trans-unit id="list.no.broken.links.title" xml:space="preserve">
-                               <source>No broken links to show!</source>
-                       </trans-unit>
-                       <trans-unit id="list.no.broken.links" xml:space="preserve">
-                               <source>There are no broken links to be displayed.</source>
-                       </trans-unit>
-                       <trans-unit id="no.access.title" xml:space="preserve">
-                               <source>No access!</source>
-                       </trans-unit>
-                       <trans-unit id="no.access" xml:space="preserve">
-                               <source>You do not have access to these listings.</source>
-                       </trans-unit>
-               </body>
-       </file>
-</xliff>
diff --git a/typo3/sysext/linkvalidator/modfuncreport/locallang_csh.xlf b/typo3/sysext/linkvalidator/modfuncreport/locallang_csh.xlf
deleted file mode 100644 (file)
index 8870125..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xliff version="1.0">
-       <file source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:34Z" product-name="linkvalidator">
-               <header/>
-               <body>
-                       <trans-unit id="checkboxes.description" xml:space="preserve">
-                               <source>Click the following checkboxes to consider or to ignore the corresponding broken links.</source>
-                       </trans-unit>
-                       <trans-unit id="tablehead_path.description" xml:space="preserve">
-                               <source>Path to the content element, which contains the broken link.</source>
-                       </trans-unit>
-                       <trans-unit id="tablehead_element.description" xml:space="preserve">
-                               <source>Type of the element containing the broken link, its headline and the field in which the broken link is located.</source>
-                       </trans-unit>
-                       <trans-unit id="tablehead_headlink.description" xml:space="preserve">
-                               <source>The linking text.</source>
-                       </trans-unit>
-                       <trans-unit id="tablehead_linktarget.description" xml:space="preserve">
-                               <source>URL to which the broken link is pointing.</source>
-                       </trans-unit>
-                       <trans-unit id="tablehead_linkmessage.description" xml:space="preserve">
-                               <source>Status of that link.</source>
-                       </trans-unit>
-                       <trans-unit id="tablehead_lastcheck.description" xml:space="preserve">
-                               <source>Date and time of the last update of the information in each table row.</source>
-                       </trans-unit>
-                       <trans-unit id="task_page.alttitle" xml:space="preserve">
-                               <source>Start page of the task</source>
-                       </trans-unit>
-                       <trans-unit id="task_page.description" xml:space="preserve">
-                               <source>UID of the start page for this task.</source>
-                       </trans-unit>
-                       <trans-unit id="task_depth.alttitle" xml:space="preserve">
-                               <source>Depth of the task</source>
-                       </trans-unit>
-                       <trans-unit id="task_depth.description" xml:space="preserve">
-                               <source>Level of pages the task should check.</source>
-                       </trans-unit>
-                       <trans-unit id="task_configuration.alttitle" xml:space="preserve">
-                               <source>Special TSconfig code</source>
-                       </trans-unit>
-                       <trans-unit id="task_configuration.description" xml:space="preserve">
-                               <source>TSconfig Code which defines settings for linkvalidator to be used for this task.</source>
-                       </trans-unit>
-                       <trans-unit id="task_email.alttitle" xml:space="preserve">
-                               <source>Email address</source>
-                       </trans-unit>
-                       <trans-unit id="task_email.description" xml:space="preserve">
-                               <source>Email address to which an email report is sent.</source>
-                       </trans-unit>
-                       <trans-unit id="task_emailonbrokenlinkonly.alttitle" xml:space="preserve">
-                               <source>Mailing option</source>
-                       </trans-unit>
-                       <trans-unit id="task_emailonbrokenlinkonly.description" xml:space="preserve">
-                               <source>Only send an email, if new broken links were found.</source>
-                       </trans-unit>
-                       <trans-unit id="task_emailfile.alttitle" xml:space="preserve">
-                               <source>Email template file</source>
-                       </trans-unit>
-                       <trans-unit id="task_emailfile.description" xml:space="preserve">
-                               <source>Define a template to be used for the email.</source>
-                       </trans-unit>
-               </body>
-       </file>
-</xliff>
diff --git a/typo3/sysext/linkvalidator/modfuncreport/locallang_mod.xlf b/typo3/sysext/linkvalidator/modfuncreport/locallang_mod.xlf
deleted file mode 100644 (file)
index 653e93e..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xliff version="1.0">
-       <file source-language="en" datatype="plaintext" original="messages" date="2011-10-17T20:22:34Z" product-name="linkvalidator">
-               <header/>
-               <body>
-                       <trans-unit id="mlang_tabs_tab" xml:space="preserve">
-                               <source>Check Links</source>
-                       </trans-unit>
-                       <trans-unit id="mlang_labels_tabdescr" xml:space="preserve">
-                               <source>Checks the links in your website for validity.</source>
-                       </trans-unit>
-                       <trans-unit id="mlang_labels_tablabel" xml:space="preserve">
-                               <source>Validates links</source>
-                       </trans-unit>
-               </body>
-       </file>
-</xliff>
diff --git a/typo3/sysext/linkvalidator/modfuncreport/mod_template.html b/typo3/sysext/linkvalidator/modfuncreport/mod_template.html
deleted file mode 100644 (file)
index 4551263..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-<!-- ###FULLDOC### begin -->
-                       <div class="linkvalidator_checkoptions">
-                               ###ID###
-                               ###CHECKALLLINK###
-                               <h4>###CHECKOPTIONS_TITLE###</h4>
-                               <div>###CHECKOPTIONS###</div>
-                       </div>
-                       <div class="linkvalidator_funcmenu"><h4>###FUNC_TITLE###</h4><div>###FUNC_MENU###</div></div>
-                       <div class="linkvalidator_button">###REFRESH######UPDATE###</div>
-
-                       ###CONTENT###
-<!-- ###FULLDOC### end -->
-
-
-<!-- ###CHECKOPTIONS_SECTION### begin -->
-       <table class="typo3-dblist" id="linkvalidator_statsTable" cellspacing="0" cellpadding="0">
-               <tr class="t3-row-header">
-                       <td>
-                               ###TOTAL_COUNT_LABEL###
-                       </td>
-                       <td class="number">###TOTAL_COUNT###</td>
-               </tr>
-               <!-- ###HOOK_SECTION### begin -->
-               <tr class="db_list_normal">
-                       <td>
-                               <div class="linkvalidator_singleOption">###OPTION###</div>
-                       </td>
-                       <td class="number">###COUNT###</td>
-               </tr>
-               <!-- ###HOOK_SECTION### end -->
-       </table>
-<!-- ###CHECKOPTIONS_SECTION### end -->
-
-
-<!-- ###BROKENLINKS_CONTENT### begin -->
-       ###LIST_HEADER###
-       <table class="typo3-dblist" id="linkvalidator_brokenLinksTable" cellspacing="0" cellpadding="0">
-               <tr class="t3-row-header">
-                       <td></td>
-                       <td>###TABLEHEAD_PATH###</td>
-                       <td>###TABLEHEAD_ELEMENT###</td>
-                       <td>###TABLEHEAD_HEADLINK###</td>
-                       <td>###TABLEHEAD_LINKTARGET###</td>
-                       <td>###TABLEHEAD_LINKMESSAGE###</td>
-                       <td>###TABLEHEAD_LASTCHECK###</td>
-               </tr>
-               <!-- ###BROKENLINKS_ITEM### begin -->
-               <tr class="db_list_normal">
-                       <td>###ACTIONLINK###</td>
-                       <td>###PATH###</td>
-                       <td>###ELEMENT###</td>
-                       <td>###HEADLINK###</td>
-                       <td><a href="###LINKTARGET###" target="_blank">###LINKTARGET###</a></td>
-                       <td>###LINKMESSAGE###</td>
-                       <td>###LASTCHECK###</td>
-               </tr>
-               <!-- ###BROKENLINKS_ITEM### end -->
-       </table>
-<!-- ###BROKENLINKS_CONTENT### end -->
-
-<!-- ###NOBROKENLINKS_CONTENT### begin -->
-       ###LIST_HEADER###
-       ###NO_BROKEN_LINKS###
-<!-- ###NOBROKENLINKS_CONTENT### end -->
diff --git a/typo3/sysext/linkvalidator/res/linkvalidator.css b/typo3/sysext/linkvalidator/res/linkvalidator.css
deleted file mode 100644 (file)
index a56c21b..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-@charset "UTF-8";
-
-#ext-gen19 {
-       overflow: auto;
-}
-
-.linkvalidator_funcmenu {
-       margin-bottom: 25px;
-       margin-left: 25px;
-       margin-top: 0;
-       float: left;
-}
-.linkvalidator_funcmenu input {
-       margin-left: 5px;
-}
-.linkvalidator_funcmenu div {
-       margin-top: 11px;
-}
-#linkvalidator-main .linkvalidator_funcmenu h4 {
-       clear: both;
-       padding: 0;
-}
-
-#linkvalidator-main h4 {
-       padding-top: 16px;
-}
-
-.linkvalidator_checkoptions {
-       float: left;
-       display: block;
-       margin-top: 0px;
-       width: 225px;
-}
-.linkvalidator_checkoptions div {
-       float: left;
-}
-#linkvalidator-main .linkvalidator_checkoptions h4 {
-       clear: both;
-       padding-top: 0px;
-}
-
-.linkvalidator_button {
-       clear: both;
-}
-
-#linkvalidator-main .typo3-message {
-       margin-top: 10px;
-}
-
-.linkvalidator_singleOption {
-       padding: 0;
-}
-.linkvalidator_singleOption label {
-       padding-left: 10px;
-       vertical-align: middle;
-}
-.linkvalidator_singleOption input {
-       vertical-align: middle;
-}
-.linkvalidator_singleOption .checkbox,
-.linkvalidator_singleOption .checkbox:hover {
-       margin-top: 0px;
-       margin-bottom: 0px;
-}
-.linkvalidator_singleOption-showalllinks {
-       padding-bottom: 10px;
-}
-
-#linkvalidator_statsTable {
-       width: 230px;
-       margin-top: 5px;
-       margin-bottom: 14px;
-}
-#linkvalidator_statsTable .t3-row-header td.number {
-       padding-top: 4px;
-}
-#linkvalidator_statsTable td,
-#linkvalidator_statsTable span {
-       vertical-align: middle;
-}
-#linkvalidator_statsTable td.number {
-       padding-right: 6px;
-       text-align: center;
-}
-#linkvalidator_statsTable td,
-#linkvalidator_brokenLinksTable td {
-       border-left: 1px solid white;
-} 
-#linkvalidator_statsTable td:first-child,
-#linkvalidator_brokenLinksTable td:first-child {
-       border-left: none;
-}
\ 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 7875e01..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-mod.linkvalidator {
-       searchFields {
-               pages = media,url
-               tt_content = bodytext,header_link,records
-               tt_news = bodytext,links
-       }
-       linktypes = db,file,external
-       checkhidden = 0
-       showCheckLinkTab = 1
-       mail {
-               fromname = Linkvalidator
-               fromemail = Linkvalidator@example.com
-               replytoname =
-               replytoemail =
-               subject = TYPO3 Linkvalidator report
-       }
-}
\ No newline at end of file