1
0
Fork 0
Dieser Commit ist enthalten in:
o.pinke 2020-07-24 19:30:36 +02:00
Ursprung 0228432ac4
Commit dcc1f7f323
10 geänderte Dateien mit 520 neuen und 514 gelöschten Zeilen

Datei anzeigen

@ -15,6 +15,23 @@
<conlite minversion="2.1.0" /> <conlite minversion="2.1.0" />
</requirements> </requirements>
<conlite> <conlite>
<areas>
<area menuless="1">linkchecker</area>
<area parent="linkchecker" menuless="1">lc_whitelist</area>
</areas>
<actions>
<action area="linkchecker">linkchecker</action>
<action area="linkchecker">whitelist_view</action>
</actions>
<frames>
<frame area="linkchecker" filetype="main" name="cl-linkchecker/includes/include.linkchecker.php" frameId="4" />
<frame area="lc_whitelist" filetype="main" name="cl-linkchecker/includes/include.linkchecker_whitelist.php" frameId="4" />
</frames>
<nav_sub>
<nav area="linkchecker" level="0" navm="content">cl-linkchecker/xml/;navigation/content/linkchecker/main</nav>
<nav area="linkchecker" level="1" navm="0">cl-linkchecker/xml/;navigation/content/linkchecker/overview</nav>
<nav area="lc_whitelist" level="1" navm="0">cl-linkchecker/xml/;navigation/content/linkchecker/whitelist</nav>
</nav_sub>
</conlite> </conlite>
</plugin> </plugin>

Datei anzeigen

@ -33,7 +33,7 @@ if(!defined('CON_FRAMEWORK')) {
} }
$plugin_name = "linkchecker"; $plugin_name = "linkchecker";
$cfg['plugins']['linkchecker'] = $cfg['path']['conlite'] . "plugins/" . $plugin_name . "/"; $cfg['plugins']['linkchecker'] = $cfg['path']['conlite'] . "plugins/" . 'cl-'.$plugin_name . "/";
$cfg['tab']['whitelist'] = $cfg['sql']['sqlprefix'] . '_pi_linkchecker_whitelist'; $cfg['tab']['whitelist'] = $cfg['sql']['sqlprefix'] . '_pi_linkchecker_whitelist';
// Templates // Templates

Datei anzeigen

@ -1,4 +1,5 @@
<?php <?php
/** /**
* Project: * Project:
* Contenido Content Management System * Contenido Content Management System
@ -29,61 +30,58 @@
* }} * }}
* *
*/ */
if (!defined('CON_FRAMEWORK')) {
if(!defined('CON_FRAMEWORK')) { die('Illegal call');
die('Illegal call');
} }
function cCatPerm($widcat, $db = null) function cCatPerm($widcat, $db = null) {
{ global $cfg, $sess, $auth, $group_id, $_arrCatIDs_cCP;
global $cfg, $sess, $auth, $group_id, $_arrCatIDs_cCP;
if (strpos($auth->auth['perm'], 'admin') !== FALSE) { if (strpos($auth->auth['perm'], 'admin') !== FALSE) {
return true; return true;
} }
if (is_null($db) || !is_object($db)) {
$db = new DB_ConLite;
}
$group_ids = getGroupIDs($db); if (is_null($db) || !is_object($db)) {
$group_ids[] = Contenido_Security::escapeDB($auth->auth['uid'], $db); $db = new DB_ConLite;
}
if (!is_array($_arrCatIDs_cCP)) { $group_ids = getGroupIDs($db);
$_arrCatIDs_cCP = array(); $group_ids[] = Contenido_Security::escapeDB($auth->auth['uid'], $db);
$sql_inc = " user_id='"; if (!is_array($_arrCatIDs_cCP)) {
$sql_inc .= implode("' OR user_id='", $group_ids) . "' "; $_arrCatIDs_cCP = array();
$sql = "SELECT idcat FROM ".$cfg['tab']['rights']."
$sql_inc = " user_id='";
$sql_inc .= implode("' OR user_id='", $group_ids) . "' ";
$sql = "SELECT idcat FROM " . $cfg['tab']['rights'] . "
WHERE idarea=6 AND idaction=359 AND ($sql_inc)"; WHERE idarea=6 AND idaction=359 AND ($sql_inc)";
$db->query($sql); $db->query($sql);
while ($db->next_record()) { while ($db->next_record()) {
$_arrCatIDs_cCP[$db->f('idcat')] = ''; $_arrCatIDs_cCP[$db->f('idcat')] = '';
} }
} }
return array_key_exists($widcat, $_arrCatIDs_cCP); return array_key_exists($widcat, $_arrCatIDs_cCP);
} }
function getGroupIDs(&$db) function getGroupIDs(&$db) {
{ global $cfg, $sess, $auth, $group_id, $_arrGroupIDs_gGI;
global $cfg, $sess, $auth, $group_id, $_arrGroupIDs_gGI;
if (is_array($_arrGroupIDs_gGI)) { if (is_array($_arrGroupIDs_gGI)) {
return $_arrGroupIDs_gGI; return $_arrGroupIDs_gGI;
} }
$sql = "SELECT group_id FROM ".$cfg["tab"]["groupmembers"]." WHERE user_id='".Contenido_Security::escapeDB($auth->auth["uid"], $db)."'";
$db->query($sql);
$_arrGroupIDs_gGI = array(); $sql = "SELECT group_id FROM " . $cfg["tab"]["groupmembers"] . " WHERE user_id='" . Contenido_Security::escapeDB($auth->auth["uid"], $db) . "'";
$db->query($sql);
while ($db->next_record()) $_arrGroupIDs_gGI = array();
$_arrGroupIDs_gGI[] = $db->f('group_id');
return $_arrGroupIDs_gGI; while ($db->next_record())
$_arrGroupIDs_gGI[] = $db->f('group_id');
return $_arrGroupIDs_gGI;
} }
?> ?>

Datei anzeigen

@ -1,4 +1,5 @@
<?php <?php
/** /**
* Project: * Project:
* Contenido Content Management System * Contenido Content Management System
@ -33,32 +34,31 @@
* }} * }}
* *
*/ */
if (!defined('CON_FRAMEWORK')) {
if(!defined('CON_FRAMEWORK')) { die('Illegal call');
die('Illegal call');
} }
$plugin_name = "linkchecker"; $plugin_name = "linkchecker";
global $cfg; global $cfg;
if(!$perm->have_perm_area_action($plugin_name, $plugin_name) && $cronjob != true) { if (!$perm->have_perm_area_action($plugin_name, $plugin_name) && $cronjob != true) {
exit; exit;
} }
if((int) $client == 0 && $cronjob != true) { if ((int) $client == 0 && $cronjob != true) {
$notification->displayNotification("error", i18n("No Client selected")); $notification->displayNotification("error", i18n("No Client selected"));
exit; exit;
} }
// If no mode defined, use mode three // If no mode defined, use mode three
if(empty($_GET['mode'])) { if (empty($_GET['mode'])) {
$_GET['mode'] = 3; $_GET['mode'] = 3;
} }
// If no action definied // If no action definied
if(empty($_GET['action'])) { if (empty($_GET['action'])) {
$_GET['action'] = 'linkchecker'; $_GET['action'] = 'linkchecker';
$action = "linkchecker"; $action = "linkchecker";
} }
plugin_include('linkchecker', 'includes/config.plugin.php'); plugin_include('linkchecker', 'includes/config.plugin.php');
@ -75,16 +75,15 @@ $aSearchIDInfosArt = array();
$aSearchIDInfosCatArt = array(); $aSearchIDInfosCatArt = array();
$aSearchIDInfosNonID = array(); $aSearchIDInfosNonID = array();
$iWhitelist_timeout = 2592000; // 30 days $iWhitelist_timeout = 2592000; // 30 days
// Var initialization // Var initialization
$aUrl = array('cms' => $cfgClient[$client]['path']['htmlpath'], 'contenido' => $cfg['path']['contenido_fullhtml']); $aUrl = array('cms' => $cfgClient[$client]['path']['htmlpath'], 'contenido' => $cfg['path']['contenido_fullhtml']);
// Template- and languagevars // Template- and languagevars
if($cronjob != true) { if ($cronjob != true) {
$tpl->set('s', 'FULLHTML', $aUrl['contenido']); $tpl->set('s', 'FULLHTML', $aUrl['contenido']);
$tpl->set('s', 'MODE', intval($_GET['mode'])); $tpl->set('s', 'MODE', intval($_GET['mode']));
$tpl->set('s', 'URL', $aUrl['contenido']); $tpl->set('s', 'URL', $aUrl['contenido']);
$tpl->set('s', 'SID', $sess->id); $tpl->set('s', 'SID', $sess->id);
} }
// Fill Subnav I // Fill Subnav I
@ -105,80 +104,74 @@ $tpl->set('s', 'UPDATE_HREF', $sLink . intval($_GET['mode']) . '&live=1');
$aCacheName = array('errors' => $sess->id, 'errorscount' => $aCacheName['errors'] . "ErrorsCountChecked"); $aCacheName = array('errors' => $sess->id, 'errorscount' => $aCacheName['errors'] . "ErrorsCountChecked");
$oCache = new Cache_Lite(array('cacheDir' => $cfgClient[$client]['path']['frontend'] . "cache/", 'caching' => true, 'lifeTime' => 1209600, 'automaticCleaningFactor' => 1)); $oCache = new Cache_Lite(array('cacheDir' => $cfgClient[$client]['path']['frontend'] . "cache/", 'caching' => true, 'lifeTime' => 1209600, 'automaticCleaningFactor' => 1));
/* ********* /* * ********
Program code Program code
********* */ * ******** */
/* function linksort */ /* function linksort */
function linksort($sErrors) { function linksort($sErrors) {
if($_GET['sort'] == "nameart") { if ($_GET['sort'] == "nameart") {
foreach($sErrors as $key => $aRow) { foreach ($sErrors as $key => $aRow) {
$aNameart[$key] = $aRow['nameart']; $aNameart[$key] = $aRow['nameart'];
} }
array_multisort($sErrors, SORT_ASC, SORT_STRING, $aNameart); array_multisort($sErrors, SORT_ASC, SORT_STRING, $aNameart);
} elseif ($_GET['sort'] == "namecat") {
} elseif($_GET['sort'] == "namecat") { foreach ($sErrors as $key => $aRow) {
$aNamecat[$key] = $aRow['namecat'];
}
foreach($sErrors as $key => $aRow) { array_multisort($sErrors, SORT_ASC, SORT_STRING, $aNamecat);
$aNamecat[$key] = $aRow['namecat']; } elseif ($_GET['sort'] == "wronglink") {
}
array_multisort($sErrors, SORT_ASC, SORT_STRING, $aNamecat); foreach ($sErrors as $key => $aRow) {
$aWronglink[$key] = $aRow['url'];
}
} elseif($_GET['sort'] == "wronglink") { array_multisort($sErrors, SORT_ASC, SORT_STRING, $aWronglink);
} elseif ($_GET['sort'] == "error_type") {
foreach($sErrors as $key => $aRow) { foreach ($sErrors as $key => $aRow) {
$aWronglink[$key] = $aRow['url']; $aError_type[$key] = $aRow['error_type'];
} }
array_multisort($sErrors, SORT_ASC, SORT_STRING, $aWronglink); array_multisort($sErrors, SORT_ASC, SORT_STRING, $aError_type);
}
} elseif($_GET['sort'] == "error_type") {
foreach($sErrors as $key => $aRow) {
$aError_type[$key] = $aRow['error_type'];
}
array_multisort($sErrors, SORT_ASC, SORT_STRING, $aError_type);
}
return $sErrors;
return $sErrors;
} }
// function url_is_image // function url_is_image
function url_is_image($sUrl) { function url_is_image($sUrl) {
if(substr($sUrl, -3, 3) == "gif" if (substr($sUrl, -3, 3) == "gif"
|| substr($sUrl, -3, 3) == "jpg" || substr($sUrl, -3, 3) == "jpg"
|| substr($sUrl, -4, 4) == "jpeg" || substr($sUrl, -4, 4) == "jpeg"
|| substr($sUrl, -3, 3) == "png" || substr($sUrl, -3, 3) == "png"
|| substr($sUrl, -3, 3) == "tif" || substr($sUrl, -3, 3) == "tif"
|| substr($sUrl, -3, 3) == "psd" || substr($sUrl, -3, 3) == "psd"
|| substr($sUrl, -3, 3) == "bmp") { || substr($sUrl, -3, 3) == "bmp") {
return true; return true;
} else { } else {
return false; return false;
} }
} }
// function url_is_uri // function url_is_uri
function url_is_uri($sUrl) { function url_is_uri($sUrl) {
if(substr($sUrl, 0, 4) == "file" if (substr($sUrl, 0, 4) == "file"
|| substr($sUrl, 0, 3) == "ftp" || substr($sUrl, 0, 3) == "ftp"
|| substr($sUrl, 0, 4) == "http" || substr($sUrl, 0, 4) == "http"
|| substr($sUrl, 0, 2) == "ww") { || substr($sUrl, 0, 2) == "ww") {
return true; return true;
} else { } else {
return false; return false;
} }
} }
/* Check: Changes after last check? */ /* Check: Changes after last check? */
@ -187,9 +180,9 @@ $sql = "SELECT lastmodified FROM " . $cfg['tab']['content'] . " content
WHERE art.online = '1'"; WHERE art.online = '1'";
/* Whitelist: Add */ /* Whitelist: Add */
if(!empty($_GET['whitelist'])) { if (!empty($_GET['whitelist'])) {
$sql = "INSERT INTO " . $cfg['tab']['whitelist'] . " VALUES ('" . Contenido_Security::escapeDB(base64_decode($_GET['whitelist']), $db) . "', '" . time() . "')"; $sql = "INSERT INTO " . $cfg['tab']['whitelist'] . " VALUES ('" . Contenido_Security::escapeDB(base64_decode($_GET['whitelist']), $db) . "', '" . time() . "')";
$db->query($sql); $db->query($sql);
} }
/* Whitelist: Get */ /* Whitelist: Get */
@ -198,8 +191,8 @@ $sql = "SELECT url FROM " . $cfg['tab']['whitelist'] . " WHERE lastview < " . (t
$db->query($sql); $db->query($sql);
$aWhitelist = array(); $aWhitelist = array();
while($db->next_record()) { while ($db->next_record()) {
$aWhitelist[] = $db->f("url"); $aWhitelist[] = $db->f("url");
} }
/* Get all links */ /* Get all links */
@ -207,207 +200,197 @@ while($db->next_record()) {
$sCache_errors = $oCache->get($aCacheName['errors'], intval($_GET['mode'])); $sCache_errors = $oCache->get($aCacheName['errors'], intval($_GET['mode']));
// Search if cache doesn't exist or we're in live mode // Search if cache doesn't exist or we're in live mode
if($sCache_errors && $_GET['live'] != 1) { if ($sCache_errors && $_GET['live'] != 1) {
$aErrors = unserialize($sCache_errors); $aErrors = unserialize($sCache_errors);
} else { // If no cache exists } else { // If no cache exists
// Select all categorys
$sql = "SELECT idcat FROM " . $cfg['tab']['cat'] . " GROUP BY idcat";
$db->query($sql);
// Select all categorys while ($db->next_record()) {
$sql = "SELECT idcat FROM " . $cfg['tab']['cat'] . " GROUP BY idcat";
$db->query($sql);
while($db->next_record()) { if ($cronjob != true) { // Check userrights, if no cronjob
$iCheck = cCatPerm($db->f("idcat"), $db2);
if($cronjob != true) { // Check userrights, if no cronjob if ($iCheck == true) {
$aCats[] = Contenido_Security::toInteger($db->f("idcat"));
}
} else {
$aCats[] = Contenido_Security::toInteger($db->f("idcat"));
}
}
$iCheck = cCatPerm($db->f("idcat"), $db2); // Use SQL-WHERE if lang is not zero
if ($langart != 0) {
if($iCheck == true) { $sLang_where = "AND art.idlang = '" . Contenido_Security::toInteger($langart) . "' AND catName.idlang = '" . Contenido_Security::toInteger($langart) . "'";
$aCats[] = Contenido_Security::toInteger($db->f("idcat")); } elseif (!isset($langart)) {
} $sLang_where = "AND art.idlang = '" . Contenido_Security::toInteger($lang) . "' AND catName.idlang = '" . Contenido_Security::toInteger($lang) . "'";
}
} else { if (!empty($aCats)) {
$aCats[] = Contenido_Security::toInteger($db->f("idcat")); // How many articles exists? [Text]
} $sql = "SELECT art.title, art.idlang, cat.idart, cat.idcat, catName.name AS namecat, con.value FROM " . $cfg['tab']['cat_art'] . " cat
}
// Use SQL-WHERE if lang is not zero
if($langart != 0) {
$sLang_where = "AND art.idlang = '" . Contenido_Security::toInteger($langart) . "' AND catName.idlang = '" . Contenido_Security::toInteger($langart) . "'";
} elseif(!isset($langart)) {
$sLang_where = "AND art.idlang = '" . Contenido_Security::toInteger($lang) . "' AND catName.idlang = '" . Contenido_Security::toInteger($lang) . "'";
}
if(!empty($aCats)) {
// How many articles exists? [Text]
$sql = "SELECT art.title, art.idlang, cat.idart, cat.idcat, catName.name AS namecat, con.value FROM " . $cfg['tab']['cat_art'] . " cat
LEFT JOIN " . $cfg['tab']['art_lang'] . " art ON (art.idart = cat.idart) LEFT JOIN " . $cfg['tab']['art_lang'] . " art ON (art.idart = cat.idart)
LEFT JOIN " . $cfg['tab']['cat_lang'] . " catName ON (catName.idcat = cat.idcat) LEFT JOIN " . $cfg['tab']['cat_lang'] . " catName ON (catName.idcat = cat.idcat)
LEFT JOIN " . $cfg['tab']['content'] . " con ON (con.idartlang = art.idartlang) LEFT JOIN " . $cfg['tab']['content'] . " con ON (con.idartlang = art.idartlang)
WHERE (con.value LIKE '%action%' OR con.value LIKE '%data%' OR con.value LIKE '%href%' OR con.value LIKE '%src%') WHERE (con.value LIKE '%action%' OR con.value LIKE '%data%' OR con.value LIKE '%href%' OR con.value LIKE '%src%')
AND cat.idcat IN (0, " . join(", ", $aCats) . ") AND cat.idcat != '0' " . $sLang_where . " AND cat.idcat IN (0, " . join(", ", $aCats) . ") AND cat.idcat != '0' " . $sLang_where . "
AND art.online = '1' AND art.redirect = '0'"; AND art.online = '1' AND art.redirect = '0'";
$db->query($sql); $db->query($sql);
while($db->next_record()) { while ($db->next_record()) {
// Text decode // Text decode
$value = urldecode($db->f("value")); $value = urldecode($db->f("value"));
// Search the text // Search the text
searchLinks($value, $db->f("idart"), $db->f("title"), $db->f("idcat"), $db->f("namecat"), $db->f("idlang")); searchLinks($value, $db->f("idart"), $db->f("title"), $db->f("idcat"), $db->f("namecat"), $db->f("idlang"));
// Search front_content.php-links // Search front_content.php-links
if($_GET['mode'] != 2) { if ($_GET['mode'] != 2) {
searchFrontContentLinks($value, $db->f("idart"), $db->f("title"), $db->f("idcat"), $db->f("namecat")); searchFrontContentLinks($value, $db->f("idart"), $db->f("title"), $db->f("idcat"), $db->f("namecat"));
} }
}
} // How many articles exists? [Redirects]
$sql = "SELECT art.title, art.redirect_url, art.idlang, cat.idart, cat.idcat, catName.name AS namecat FROM " . $cfg['tab']['cat_art'] . " cat
// How many articles exists? [Redirects]
$sql = "SELECT art.title, art.redirect_url, art.idlang, cat.idart, cat.idcat, catName.name AS namecat FROM " . $cfg['tab']['cat_art'] . " cat
LEFT JOIN " . $cfg['tab']['art_lang'] . " art ON (art.idart = cat.idart) LEFT JOIN " . $cfg['tab']['art_lang'] . " art ON (art.idart = cat.idart)
LEFT JOIN " . $cfg['tab']['cat_lang'] . " catName ON (catName.idcat = cat.idcat) LEFT JOIN " . $cfg['tab']['cat_lang'] . " catName ON (catName.idcat = cat.idcat)
WHERE cat.idcat IN (0, " . join(", ", $aCats) . ") AND cat.idcat != '0' " . $sLang_where . " WHERE cat.idcat IN (0, " . join(", ", $aCats) . ") AND cat.idcat != '0' " . $sLang_where . "
AND art.online = '1' AND art.redirect = '1'"; AND art.online = '1' AND art.redirect = '1'";
$db->query($sql); $db->query($sql);
while($db->next_record()) { while ($db->next_record()) {
// Search links // Search links
searchLinks($db->f("redirect_url"), $db->f("idart"), $db->f("title"), $db->f("idcat"), $db->f("namecat"), $db->f("idlang"), "Redirect"); searchLinks($db->f("redirect_url"), $db->f("idart"), $db->f("title"), $db->f("idcat"), $db->f("namecat"), $db->f("idlang"), "Redirect");
// Search front_content.php-links // Search front_content.php-links
if($_GET['mode'] != 2) { if ($_GET['mode'] != 2) {
searchFrontContentLinks($db->f("redirect_url"), $db->f("idart"), $db->f("title"), $db->f("idcat"), $db->f("namecat")); searchFrontContentLinks($db->f("redirect_url"), $db->f("idart"), $db->f("title"), $db->f("idcat"), $db->f("namecat"));
} }
}
} // Check the links
checkLinks();
// Check the links
checkLinks();
} }
} }
/* Analysis of the errors */ /* Analysis of the errors */
// Templateset // Templateset
if($cronjob != true) { if ($cronjob != true) {
$tpl->set('s', 'TITLE', i18n('Link analysis from ', $plugin_name) . strftime(i18n('%Y-%m-%d', $plugin_name), time())); $tpl->set('s', 'TITLE', i18n('Link analysis from ', $plugin_name) . strftime(i18n('%Y-%m-%d', $plugin_name), time()));
} }
// If no errors found, say that // If no errors found, say that
if(empty($aErrors) && $cronjob != true) { if (empty($aErrors) && $cronjob != true) {
$tpl->set('s', 'NO_ERRORS', i18n("<strong>No errors</strong> were found.", $plugin_name)); $tpl->set('s', 'NO_ERRORS', i18n("<strong>No errors</strong> were found.", $plugin_name));
$tpl->generate($cfg['templates']['linkchecker_noerrors']); $tpl->generate($cfg['templates']['linkchecker_noerrors']);
} elseif(!empty($aErrors) && $cronjob != true) { } elseif (!empty($aErrors) && $cronjob != true) {
$tpl->set('s', 'ERRORS_HEADLINE', i18n("Total checked links", $plugin_name)); $tpl->set('s', 'ERRORS_HEADLINE', i18n("Total checked links", $plugin_name));
$tpl->set('s', 'ERRORS_HEADLINE_ARTID', i18n("idart", $plugin_name)); $tpl->set('s', 'ERRORS_HEADLINE_ARTID', i18n("idart", $plugin_name));
$tpl->set('s', 'ERRORS_HEADLINE_ARTICLE', i18n("Article", $plugin_name)); $tpl->set('s', 'ERRORS_HEADLINE_ARTICLE', i18n("Article", $plugin_name));
$tpl->set('s', 'ERRORS_HEADLINE_CATID', i18n("idcat", $plugin_name)); $tpl->set('s', 'ERRORS_HEADLINE_CATID', i18n("idcat", $plugin_name));
$tpl->set('s', 'ERRORS_HEADLINE_CATNAME', i18n("Category", $plugin_name)); $tpl->set('s', 'ERRORS_HEADLINE_CATNAME', i18n("Category", $plugin_name));
$tpl->set('s', 'ERRORS_HEADLINE_DESCRIPTION', i18n("Description", $plugin_name)); $tpl->set('s', 'ERRORS_HEADLINE_DESCRIPTION', i18n("Description", $plugin_name));
$tpl->set('s', 'ERRORS_HEADLINE_LINK', i18n("Linkerror", $plugin_name)); $tpl->set('s', 'ERRORS_HEADLINE_LINK', i18n("Linkerror", $plugin_name));
$tpl->set('s', 'ERRORS_HEADLINE_LINKS_ARTICLES', i18n("Links to articles", $plugin_name)); $tpl->set('s', 'ERRORS_HEADLINE_LINKS_ARTICLES', i18n("Links to articles", $plugin_name));
$tpl->set('s', 'ERRORS_HEADLINE_LINKS_CATEGORYS', i18n("Links to categories", $plugin_name)); $tpl->set('s', 'ERRORS_HEADLINE_LINKS_CATEGORYS', i18n("Links to categories", $plugin_name));
$tpl->set('s', 'ERRORS_HEADLINE_LINKS_DOCIMAGES', i18n("Links to documents and images", $plugin_name)); $tpl->set('s', 'ERRORS_HEADLINE_LINKS_DOCIMAGES', i18n("Links to documents and images", $plugin_name));
$tpl->set('s', 'ERRORS_HEADLINE_OTHERS', i18n("Links to extern sites and not defined links", $plugin_name)); $tpl->set('s', 'ERRORS_HEADLINE_OTHERS', i18n("Links to extern sites and not defined links", $plugin_name));
$tpl->set('s', 'ERRORS_HEADLINE_WHITELIST', "Whitelist"); $tpl->set('s', 'ERRORS_HEADLINE_WHITELIST', "Whitelist");
$tpl->set('s', 'ERRORS_HELP_ERRORS', i18n("Wrong links", $plugin_name)); $tpl->set('s', 'ERRORS_HELP_ERRORS', i18n("Wrong links", $plugin_name));
// error_output initialization // error_output initialization
$aError_output = array('art' => '', 'cat' => '', 'docimages' => '', 'others' => ''); $aError_output = array('art' => '', 'cat' => '', 'docimages' => '', 'others' => '');
foreach($aErrors as $sKey => $aRow) { foreach ($aErrors as $sKey => $aRow) {
$aRow = linksort($aRow); $aRow = linksort($aRow);
for($i = 0; $i < count($aRow); $i++) { for ($i = 0; $i < count($aRow); $i++) {
$tpl2 = new Template; $tpl2 = new Template;
$tpl2->reset(); $tpl2->reset();
$tpl2->set('s', 'ERRORS_ERROR_TYPE', $aRow[$i]['error_type']); $tpl2->set('s', 'ERRORS_ERROR_TYPE', $aRow[$i]['error_type']);
$tpl2->set('s', 'ERRORS_ARTID', $aRow[$i]['idart']); $tpl2->set('s', 'ERRORS_ARTID', $aRow[$i]['idart']);
$tpl2->set('s', 'ERRORS_ARTICLE', $aRow[$i]['nameart']); $tpl2->set('s', 'ERRORS_ARTICLE', $aRow[$i]['nameart']);
$tpl2->set('s', 'ERRORS_ARTICLE_SHORT', substr($aRow[$i]['nameart'], 0, 20) . ((strlen($aRow[$i]['nameart']) > 20) ? ' ...' : '')); $tpl2->set('s', 'ERRORS_ARTICLE_SHORT', substr($aRow[$i]['nameart'], 0, 20) . ((strlen($aRow[$i]['nameart']) > 20) ? ' ...' : ''));
$tpl2->set('s', 'ERRORS_CATID', $aRow[$i]['idcat']); $tpl2->set('s', 'ERRORS_CATID', $aRow[$i]['idcat']);
$tpl2->set('s', 'ERRORS_LINK', $aRow[$i]['url']); $tpl2->set('s', 'ERRORS_LINK', $aRow[$i]['url']);
$tpl2->set('s', 'ERRORS_LINK_ENCODE', base64_encode($aRow[$i]['url'])); $tpl2->set('s', 'ERRORS_LINK_ENCODE', base64_encode($aRow[$i]['url']));
$tpl2->set('s', 'ERRORS_LINK_SHORT', substr($aRow[$i]['url'], 0, 55) . ((strlen($aRow[$i]['url']) > 55) ? ' ...' : '')); $tpl2->set('s', 'ERRORS_LINK_SHORT', substr($aRow[$i]['url'], 0, 55) . ((strlen($aRow[$i]['url']) > 55) ? ' ...' : ''));
$tpl2->set('s', 'ERRORS_CATNAME', $aRow[$i]['namecat']); $tpl2->set('s', 'ERRORS_CATNAME', $aRow[$i]['namecat']);
$tpl2->set('s', 'ERRORS_CATNAME_SHORT', substr($aRow[$i]['namecat'], 0, 20) . ((strlen($aRow[$i]['namecat']) > 20) ? ' ...' : '')); $tpl2->set('s', 'ERRORS_CATNAME_SHORT', substr($aRow[$i]['namecat'], 0, 20) . ((strlen($aRow[$i]['namecat']) > 20) ? ' ...' : ''));
$tpl2->set('s', 'MODE', $_GET['mode']); $tpl2->set('s', 'MODE', $_GET['mode']);
$tpl2->set('s', 'URL', $aUrl['contenido']); $tpl2->set('s', 'URL', $aUrl['contenido']);
$tpl2->set('s', 'SID', $sess->id); $tpl2->set('s', 'SID', $sess->id);
if($aRow[$i]['error_type'] == "unknown") { if ($aRow[$i]['error_type'] == "unknown") {
$tpl2->set('s', 'ERRORS_ERROR_TYPE_HELP', i18n("Unknown: articles, documents etc. do not exist.", $plugin_name)); $tpl2->set('s', 'ERRORS_ERROR_TYPE_HELP', i18n("Unknown: articles, documents etc. do not exist.", $plugin_name));
} elseif($aRow[$i]['error_type'] == "offline") { } elseif ($aRow[$i]['error_type'] == "offline") {
$tpl2->set('s', 'ERRORS_ERROR_TYPE_HELP', i18n("Offline: article or category is offline.", $plugin_name)); $tpl2->set('s', 'ERRORS_ERROR_TYPE_HELP', i18n("Offline: article or category is offline.", $plugin_name));
} elseif($aRow[$i]['error_type'] == "startart") { } elseif ($aRow[$i]['error_type'] == "startart") {
$tpl2->set('s', 'ERRORS_ERROR_TYPE_HELP', i18n("Offline: article or category is offline.", $plugin_name)); $tpl2->set('s', 'ERRORS_ERROR_TYPE_HELP', i18n("Offline: article or category is offline.", $plugin_name));
} elseif($aRow[$i]['error_type'] == "dbfs") { } elseif ($aRow[$i]['error_type'] == "dbfs") {
$tpl2->set('s', 'ERRORS_ERROR_TYPE_HELP', i18n("dbfs: no matches found in the dbfs database.", $plugin_name)); $tpl2->set('s', 'ERRORS_ERROR_TYPE_HELP', i18n("dbfs: no matches found in the dbfs database.", $plugin_name));
} }
if($sKey != "cat") { if ($sKey != "cat") {
$aError_output[$sKey] .= $tpl2->generate($cfg['templates']['linkchecker_test_errors'], 1); $aError_output[$sKey] .= $tpl2->generate($cfg['templates']['linkchecker_test_errors'], 1);
} else { } else {
$aError_output[$sKey] .= $tpl2->generate($cfg['templates']['linkchecker_test_errors_cat'], 1); // special template for idcats $aError_output[$sKey] .= $tpl2->generate($cfg['templates']['linkchecker_test_errors_cat'], 1); // special template for idcats
} }
}
}
} /* Counter */
if ($iCounter = $oCache->get($aCacheName['errorscount'], intval($_GET['mode']))) { // Cache exists?
$iErrors_count_checked = $iCounter;
} else { // Count searched links: idarts + idcats + idcatarts + others
$iErrors_count_checked = count($aSearchIDInfosArt) + count($aSearchIDInfosCat) + count($aSearchIDInfosCatArt) + count($aSearchIDInfosNonID);
}
} // Count errors
foreach ($aErrors as $sKey => $aRow) {
$iErrors_counted += count($aErrors[$sKey]);
}
/* Counter */ $tpl->set('s', 'ERRORS_COUNT_CHECKED', $iErrors_count_checked);
if($iCounter = $oCache->get($aCacheName['errorscount'], intval($_GET['mode']))) { // Cache exists? $tpl->set('s', 'ERRORS_COUNT_ERRORS', $iErrors_counted);
$iErrors_count_checked = $iCounter; $tpl->set('s', 'ERRORS_COUNT_ERRORS_PERCENT', round(($iErrors_counted * 100) / $iErrors_count_checked, 2));
} else { // Count searched links: idarts + idcats + idcatarts + others
$iErrors_count_checked = count($aSearchIDInfosArt) + count($aSearchIDInfosCat) + count($aSearchIDInfosCatArt) + count($aSearchIDInfosNonID);
}
// Count errors /* Template output */
foreach($aErrors as $sKey => $aRow) { foreach ($aError_output as $sKey => $sValue) {
$iErrors_counted += count($aErrors[$sKey]);
}
$tpl->set('s', 'ERRORS_COUNT_CHECKED', $iErrors_count_checked); if (empty($aError_output[$sKey])) { // Errors for this type?
$tpl->set('s', 'ERRORS_COUNT_ERRORS', $iErrors_counted); $tpl2->set('s', 'ERRORS_NOTHING', i18n("No errors for this type.", $plugin_name));
$tpl->set('s', 'ERRORS_COUNT_ERRORS_PERCENT', round(($iErrors_counted * 100) / $iErrors_count_checked, 2)); $aError_output[$sKey] = $tpl2->generate($cfg['templates']['linkchecker_test_nothing'], 1);
}
/* Template output */ $tpl->set('s', 'ERRORS_SHOW_' . strtoupper($sKey), $aError_output[$sKey]);
foreach($aError_output as $sKey => $sValue) {
if(empty($aError_output[$sKey])) { // Errors for this type? if (count($aErrors[$sKey]) > 0) {
$tpl2->set('s', 'ERRORS_NOTHING', i18n("No errors for this type.", $plugin_name)); $tpl->set('s', 'ERRORS_COUNT_ERRORS_' . strtoupper($sKey), '<span style="color: #FF0000;">' . count($aErrors[$sKey]) . '</span>');
$aError_output[$sKey] = $tpl2->generate($cfg['templates']['linkchecker_test_nothing'], 1); } else {
} $tpl->set('s', 'ERRORS_COUNT_ERRORS_' . strtoupper($sKey), count($aErrors[$key]));
}
}
$tpl->set('s', 'ERRORS_SHOW_' . strtoupper($sKey), $aError_output[$sKey]); $tpl->generate($cfg['templates']['linkchecker_test']);
if(count($aErrors[$sKey]) > 0) { /* Cache */
$tpl->set('s', 'ERRORS_COUNT_ERRORS_' . strtoupper($sKey), '<span style="color: #FF0000;">' . count($aErrors[$sKey]) . '</span>'); // Remove older cache
} else { $oCache->remove($aCacheName['errors'], intval($_GET['mode']));
$tpl->set('s', 'ERRORS_COUNT_ERRORS_' . strtoupper($sKey), count($aErrors[$key]));
}
}
$tpl->generate($cfg['templates']['linkchecker_test']);
/* Cache */
// Remove older cache
$oCache->remove($aCacheName['errors'], intval($_GET['mode']));
// Build new cache
$oCache->save(serialize($aErrors), $aCacheName['errors'], intval($_GET['mode']));
$oCache->save($iErrors_count_checked, $aCacheName['errorscount'], intval($_GET['mode']));
// Build new cache
$oCache->save(serialize($aErrors), $aCacheName['errors'], intval($_GET['mode']));
$oCache->save($iErrors_count_checked, $aCacheName['errorscount'], intval($_GET['mode']));
} }
// Log // Log
if($cronjob != true) { if ($cronjob != true) {
$backend->log(0, 0, $client, $lang, $action); $backend->log(0, 0, $client, $lang, $action);
} }
?> ?>

Datei anzeigen

@ -1,36 +1,43 @@
<!DOCTYPE html>
<html> <html>
<head>
<title>Linkchecker</title>
<link rel="stylesheet" type="text/css" href="styles/contenido.css" />
</head>
<head> <body style="margin:10px">
<title>Linkchecker</title>
<link rel="stylesheet" type="text/css" href="styles/contenido.css" />
</head>
<body style="margin:10px"> <table width="100%" style="border: 1px solid #B5B5B5;" cellspacing="0" cellpadding="3" border="0">
<tr class="text_medium" style="height:25px;">
<td style="background-color: #E2E2E2;" colspan="3">
<a href="{INTERNS_HREF}" title="{INTERNS_LABEL}" style="margin-left:10px;">
{INTERNS_LABEL}<img style="vertical-align:middle; margin-left:5px;" src="images/submit.gif" border="0">
</a>
<a href="{EXTERNS_HREF}" title="{EXTERNS_LABEL}" style="margin-left:15px;">
{EXTERNS_LABEL}<img style="vertical-align:middle; margin-left:5px;" src="images/submit.gif" border="0">
</a>
<a href="{INTERNS_EXTERNS_HREF}" title="{INTERNS_EXTERNS_LABEL}" style="margin-left:15px;">
{INTERNS_EXTERNS_LABEL}<img style="vertical-align:middle; margin-left:5px;" src="images/submit.gif" border="0">
</a>
</td>
</tr>
</table>
<table width="100%" style="border: 1px solid #B5B5B5;" cellspacing="0" cellpadding="3" border="0"> <div style="padding-top:10px;"></div>
<tr class="text_medium" style="height:25px;">
<td style="background-color: #E2E2E2; colspan="3">
<a href="{INTERNS_HREF}" alt="{INTERNS_LABEL}" title="{INTERNS_LABEL}" style="margin-left:10px;">{INTERNS_LABEL}<img style="vertical-align:middle; margin-left:5px;" src="images/submit.gif" border="0"></a>
<a href="{EXTERNS_HREF}" alt="{EXTERNS_LABEL}" title="{EXTERNS_LABEL}" style="margin-left:15px;">{EXTERNS_LABEL}<img style="vertical-align:middle; margin-left:5px;" src="images/submit.gif" border="0"></a>
<a href="{INTERNS_EXTERNS_HREF}" alt="{INTERNS_EXTERNS_LABEL}" title="{INTERNS_EXTERNS_LABEL}" style="margin-left:15px;">{INTERNS_EXTERNS_LABEL}<img style="vertical-align:middle; margin-left:5px;" src="images/submit.gif" border="0"></a>
</td>
</tr>
</table>
<div style="padding-top:10px;"></div> <table cellspacing="0" cellpadding="2" border="0">
<tr valign="middle">
<table cellspacing="0" cellpadding="2" border="0"> <td><h2>{TITLE}</h2></td>
<tr valign="middle"> </tr>
<td><h2>{TITLE}</h2></td> <tr>
</tr> <td style="padding-top:5px; padding-bottom:15px; vertical-align:middle;">
<tr> <a href="{UPDATE_HREF}"><img src="images/but_refresh.gif" style="margin-right:3px; vertical-align:middle;" title="i18n('Refresh')" alt="i18n('Refresh')"></a>
<td style="padding-top:5px; padding-bottom:15px; vertical-align:middle;"> <a href="{UPDATE_HREF}">i18n('Refresh')</a>
<a href="{UPDATE_HREF}"><img src="images/but_refresh.gif" style="margin-right:3px; vertical-align:middle;" title="i18n('Refresh')" alt="i18n('Refresh')"></a> </td>
<a href="{UPDATE_HREF}">i18n('Refresh')</a> </tr>
</td> <tr valign="middle">
</tr> <td class="text_medium">{NO_ERRORS}</td>
<tr valign="middle"> </tr>
<td class="text_medium">{NO_ERRORS}</td> </table>
</tr> </body>
</table> </html>
</body></html>

Datei anzeigen

@ -1,202 +1,202 @@
<!DOCTYPE html>
<html> <html>
<head> <head>
<title>Linkchecker</title> <title>Linkchecker</title>
<link rel="stylesheet" type="text/css" href="styles/contenido.css" /> <link rel="stylesheet" type="text/css" href="styles/contenido.css" />
<link rel="stylesheet" type="text/css" href="styles/tip_balloon.css" /> <link rel="stylesheet" type="text/css" href="styles/tip_balloon.css" />
<script type="text/javascript" src="scripts/rowMark.js"></script> <script type="text/javascript" src="scripts/rowMark.js"></script>
<script type="text/javascript" src="scripts/general.js"></script> <script type="text/javascript" src="scripts/general.js"></script>
<script type="text/javascript" src="scripts/browserCheck.js"></script> <script type="text/javascript" src="scripts/browserCheck.js"></script>
<script type="text/javascript" src="scripts/cfoldingrow.js"></script> <script type="text/javascript" src="scripts/cfoldingrow.js"></script>
<script type="text/javascript" src="scripts/jquery/jquery.js"></script> <script type="text/javascript" src="scripts/jquery/jquery.js"></script>
<script type="text/javascript">
function toggleTableBody(tableId)
{
var collapseButton = 'images/close_all.gif'; <script type="text/javascript">
var expandButton = 'images/open_all.gif'; function toggleTableBody(tableId)
var curTable = document.getElementById(tableId); {
var curButton = document.getElementById(tableId+'_img');
if(curTable.style.display == "inline" || curTable.style.display == "") var collapseButton = 'images/close_all.gif';
{ var expandButton = 'images/open_all.gif';
curTable.style.display = "none"; var curTable = document.getElementById(tableId);
curButton.src = expandButton; var curButton = document.getElementById(tableId + '_img');
}
else if(curTable.style.display == "none")
{
curTable.style.display = "inline";
curButton.src = collapseButton;
}
}
</script>
</head>
<body style="margin: 10px"> if (curTable.style.display == "inline" || curTable.style.display == "")
{
curTable.style.display = "none";
curButton.src = expandButton;
} else if (curTable.style.display == "none")
{
curTable.style.display = "inline";
curButton.src = collapseButton;
}
}
</script>
</head>
<script type="text/javascript" src="scripts/wz_tooltip.js"></script> <body style="margin: 10px">
<script type="text/javascript" src="scripts/tip_balloon.js"></script>
<a href="javascript:location.reload()" accesskey="s"></a> <script type="text/javascript" src="scripts/wz_tooltip.js"></script>
<script type="text/javascript" src="scripts/tip_balloon.js"></script>
<table width="100%" style="border: 1px solid #B5B5B5;" cellspacing="0" cellpadding="3" border="0"> <a href="javascript:location.reload()" accesskey="s"></a>
<tr class="text_medium" style="height:25px;line-height:25px;">
<td style="background-color: #E2E2E2; colspan="3">
<a href="{INTERNS_HREF}" alt="{INTERNS_LABEL}" title="{INTERNS_LABEL}" style="margin-left:10px;">{INTERNS_LABEL}<img style="vertical-align:middle; margin-left:5px;" src="images/submit.gif" border="0"></a>
<a href="{EXTERNS_HREF}" alt="{EXTERNS_LABEL}" title="{EXTERNS_LABEL}" style="margin-left:15px;">{EXTERNS_LABEL}<img style="vertical-align:middle; margin-left:5px;" src="images/submit.gif" border="0"></a>
<a href="{INTERNS_EXTERNS_HREF}" alt="{INTERNS_EXTERNS_LABEL}" title="{INTERNS_EXTERNS_LABEL}" style="margin-left:15px;">{INTERNS_EXTERNS_LABEL}<img style="vertical-align:middle; margin-left:5px;" src="images/submit.gif" border="0"></a>
</td>
</tr>
</table>
<div style="padding-top:10px;"></div> <table width="100%" style="border: 1px solid #B5B5B5;" cellspacing="0" cellpadding="3" border="0">
<tr class="text_medium" style="height:25px;line-height:25px;">
<td style="background-color: #E2E2E2;" colspan="3">
<a href="{INTERNS_HREF}" title="{INTERNS_LABEL}" style="margin-left:10px;">
{INTERNS_LABEL}<img style="vertical-align:middle; margin-left:5px;" src="images/submit.gif" border="0">
</a>
<a href="{EXTERNS_HREF}" title="{EXTERNS_LABEL}" style="margin-left:15px;">
{EXTERNS_LABEL}<img style="vertical-align:middle; margin-left:5px;" src="images/submit.gif" border="0">
</a>
<a href="{INTERNS_EXTERNS_HREF}" title="{INTERNS_EXTERNS_LABEL}" style="margin-left:15px;">
{INTERNS_EXTERNS_LABEL}<img style="vertical-align:middle; margin-left:5px;" src="images/submit.gif" border="0">
</a>
</td>
</tr>
</table>
<table cellspacing="0" cellpadding="2" border="0"> <div style="padding-top:10px;"></div>
<tr valign="middle">
<td><h2>{TITLE}</h2></td>
</tr>
<tr>
<td style="padding-top:5px; padding-bottom:15px; vertical-align:middle;">
<a href="{UPDATE_HREF}"><img src="images/but_refresh.gif" style="margin-right:3px; vertical-align:middle;" title="i18n('Refresh')" alt="i18n('Refresh')"></a>
<a href="{UPDATE_HREF}">i18n('Refresh')</a>
</td>
</tr>
</table>
<table width="100%" style="border-left: 1px solid #B5B5B5;" cellspacing="0" cellpadding="3" border="0"> <table cellspacing="0" cellpadding="2" border="0">
<tr class="text_medium"> <tr valign="middle">
<td style="background-color: #CCCCCC; border: 1px solid #B5B5B5; border-left: 0px; width: 20%;">{ERRORS_HEADLINE}:</td> <td><h2>{TITLE}</h2></td>
<td style="background-color: #E2E2E2; border: 1px solid #B5B5B5; border-left: 0px; border-right: 0px; width: 10%;">{ERRORS_COUNT_CHECKED} </tr>
<td style="background-color: #E2E2E2; border: 1px solid #B5B5B5; border-left: 0px; width: 70%;">{ERRORS_HELP_ERRORS}: <span style="color: #FF0000;">{ERRORS_COUNT_ERRORS} ({ERRORS_COUNT_ERRORS_PERCENT} %)</span></td> <tr>
</tr> <td style="padding-top:5px; padding-bottom:15px; vertical-align:middle;">
</table> <a href="{UPDATE_HREF}"><img src="images/but_refresh.gif" style="margin-right:3px; vertical-align:middle;" title="i18n('Refresh')" alt="i18n('Refresh')"></a>
<a href="{UPDATE_HREF}">i18n('Refresh')</a>
</td>
</tr>
</table>
<table width="100%" style="border-left: 1px solid #B5B5B5;" cellspacing="0" cellpadding="3" border="0">
<tr class="text_medium">
<td style="background-color: #CCCCCC; border: 1px solid #B5B5B5; border-left: 0px; width: 20%;">{ERRORS_HEADLINE}:</td>
<td style="background-color: #E2E2E2; border: 1px solid #B5B5B5; border-left: 0px; border-right: 0px; width: 10%;">{ERRORS_COUNT_CHECKED}
<td style="background-color: #E2E2E2; border: 1px solid #B5B5B5; border-left: 0px; width: 70%;">{ERRORS_HELP_ERRORS}: <span style="color: #FF0000;">{ERRORS_COUNT_ERRORS} ({ERRORS_COUNT_ERRORS_PERCENT} %)</span></td>
</tr>
</table>
<div style="margin-top: 20px"></div>
<table width="100%" style="border-left: 1px solid #B5B5B5;" cellspacing="0" cellpadding="3" border="0">
<tr class="text_medium" style="background-color: #E2E2E2;">
<td nowrap="nowrap" valign="top" style="color: #666666; border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; width: 20%;"><a style="color: #666666;" href="{URL}main.php?area=linkchecker&amp;frame=4&amp;contenido={SID}&action=linkchecker&mode={MODE}&sort=nameart">{ERRORS_HEADLINE_ARTICLE}</a> (ID)</td>
<td nowrap="nowrap" valign="top" style="color: #666666; border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; width: 20%;"><a style="color: #666666;" href="{URL}main.php?area=linkchecker&amp;frame=4&amp;contenido={SID}&action=linkchecker&mode={MODE}&sort=namecat">{ERRORS_HEADLINE_CATNAME}</a> (ID)</td>
<td nowrap="nowrap" valign="top" style="color: #666666; border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; width: 40%;"><a style="color: #666666;" href="{URL}main.php?area=linkchecker&amp;frame=4&amp;contenido={SID}&action=linkchecker&mode={MODE}&sort=wronglink">{ERRORS_HEADLINE_LINK}</a></td>
<td nowrap="nowrap" valign="top" style="color: #666666; border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; width: 10%;"><a style="color: #666666;" href="{URL}main.php?area=linkchecker&amp;frame=4&amp;contenido={SID}&action=linkchecker&mode={MODE}&sort=error_type">{ERRORS_HEADLINE_DESCRIPTION}</a></td>
<td nowrap="nowrap" valign="top" style="color: #666666; border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; text-align: center; width: 10%;">{ERRORS_HEADLINE_WHITELIST}</td>
</tr>
</table>
<div style="margin-top: 10px"></div>
<!-- ######################### -->
<!-- ### Links to Articles ### -->
<!-- ######################### -->
<div style="margin-bottom: 10px">
<!-- Table Head -->
<table width="100%" style="border: 1px solid #B5B5B5;background-color: #F1F1F1;">
<tr>
<td>
<strong>{ERRORS_HEADLINE_LINKS_ARTICLES}</strong> ({ERRORS_COUNT_ERRORS_ART})
</td>
<td align="center" style="padding:0;width:22px;">
<a href="#" onclick="javascript:toggleTableBody('{ID_LINKS_ARTICLES}')" style="height:1em;line-height:1em;width:100%;height:100%;display:block;"><img style="padding-top:5px" src="images/close_all.gif" id = "{ID_LINKS_ARTICLES}_img"></a>
</td>
</tr>
</table>
<!-- Table Body -->
<div id="{ID_LINKS_ARTICLES}">
<table width="100%" style="border: 1px solid #B5B5B5;border-top:none;" cellspacing="0" cellpadding="3" border="0">
{ERRORS_SHOW_ART}
</table>
</div>
</div>
<div style="margin-top: 20px"></div> <!-- ##################################### -->
<!-- ### Links to Documents and Images ### -->
<!-- ##################################### -->
<div style="margin-bottom: 10px">
<!-- Table Head -->
<table width="100%" style="border: 1px solid #B5B5B5;background-color: #F1F1F1;">
<tr >
<td>
<strong>{ERRORS_HEADLINE_LINKS_DOCIMAGES}</strong> ({ERRORS_COUNT_ERRORS_DOCIMAGES})
</td>
<td align="center" style="padding:0;width:22px;">
<a href="#" onclick="javascript:toggleTableBody('{ID_LINKS_DOCSIMGS}')" style="height:1em;line-height:1em;width:100%;height:100%;display:block;"><img style="padding-top:5px" src="images/close_all.gif" id = "{ID_LINKS_DOCSIMGS}_img"></a>
</td>
</tr>
</table>
<!-- Table Body -->
<div id="{ID_LINKS_DOCSIMGS}">
<table width="100%" style="border: 1px solid #B5B5B5;border-top:none;" cellspacing="0" cellpadding="3" border="0">
{ERRORS_SHOW_DOCIMAGES}
</table>
</div>
</div>
<table width="100%" style="border-left: 1px solid #B5B5B5;" cellspacing="0" cellpadding="3" border="0"> <!-- ############################### -->
<tr class="text_medium" style="background-color: #E2E2E2;"> <!-- ### Links to external sites ### -->
<td nowrap="nowrap" valign="top" style="color: #666666; border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; width: 20%;"><a style="color: #666666;" href="{URL}main.php?area=linkchecker&amp;frame=4&amp;contenido={SID}&action=linkchecker&mode={MODE}&sort=nameart">{ERRORS_HEADLINE_ARTICLE}</a> (ID)</td> <!-- ############################### -->
<td nowrap="nowrap" valign="top" style="color: #666666; border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; width: 20%;"><a style="color: #666666;" href="{URL}main.php?area=linkchecker&amp;frame=4&amp;contenido={SID}&action=linkchecker&mode={MODE}&sort=namecat">{ERRORS_HEADLINE_CATNAME}</a> (ID)</td> <div style="margin-bottom: 20px">
<td nowrap="nowrap" valign="top" style="color: #666666; border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; width: 40%;"><a style="color: #666666;" href="{URL}main.php?area=linkchecker&amp;frame=4&amp;contenido={SID}&action=linkchecker&mode={MODE}&sort=wronglink">{ERRORS_HEADLINE_LINK}</a></td> <!-- Table Head -->
<td nowrap="nowrap" valign="top" style="color: #666666; border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; width: 10%;"><a style="color: #666666;" href="{URL}main.php?area=linkchecker&amp;frame=4&amp;contenido={SID}&action=linkchecker&mode={MODE}&sort=error_type">{ERRORS_HEADLINE_DESCRIPTION}</a></td> <table width="100%" style="border: 1px solid #B5B5B5;background-color: #F1F1F1;">
<td nowrap="nowrap" valign="top" style="color: #666666; border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; text-align: center; width: 10%;">{ERRORS_HEADLINE_WHITELIST}</td> <tr >
</tr> <td>
</table> <strong>{ERRORS_HEADLINE_OTHERS}</strong> ({ERRORS_COUNT_ERRORS_OTHERS})
</td>
<td align="center" style="padding:0;width:22px;">
<a href="#" onclick="javascript:toggleTableBody('{ID_LINKS_EXTERNAL}')" style="height:1em;line-height:1em;width:100%;height:100%;display:block;"><img style="padding-top:5px" src="images/close_all.gif" id = "{ID_LINKS_EXTERNAL}_img"></a>
</td>
</tr>
</table>
<!-- Table Body -->
<div id="{ID_LINKS_EXTERNAL}">
<table width="100%" style="border: 1px solid #B5B5B5;border-top:none;" cellspacing="0" cellpadding="3" border="0">
{ERRORS_SHOW_OTHERS}
</table>
</div>
</div>
<div style="margin-top: 10px"></div> <table width="100%" style="border-left: 1px solid #B5B5B5;" cellspacing="0" cellpadding="3" border="0">
<tr class="text_medium" style="background-color: #E2E2E2;">
<td nowrap="nowrap" valign="top" style="color: #666666; border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; width: 20%;"><a style="color: #666666;" href="{URL}main.php?area=linkchecker&amp;frame=4&amp;contenido={SID}&action=linkchecker&mode={MODE}&sort=namecat">{ERRORS_HEADLINE_CATNAME}</a> (ID)</td>
<td nowrap="nowrap" valign="top" style="color: #666666; border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; width: 20%;"><a style="color: #666666;" href="{URL}main.php?area=linkchecker&amp;frame=4&amp;contenido={SID}&action=linkchecker&mode={MODE}&sort=nameart">{ERRORS_HEADLINE_ARTICLE}</a> (ID)</td>
<td nowrap="nowrap" valign="top" style="color: #666666; border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; width: 40%;"><a style="color: #666666;" href="{URL}main.php?area=linkchecker&amp;frame=4&amp;contenido={SID}&action=linkchecker&mode={MODE}&sort=wronglink">{ERRORS_HEADLINE_LINK}</a></td>
<td nowrap="nowrap" valign="top" style="color: #666666; border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; width: 10%;"><a style="color: #666666;" href="{URL}main.php?area=linkchecker&amp;frame=4&amp;contenido={SID}&action=linkchecker&mode={MODE}&sort=error_type">{ERRORS_HEADLINE_DESCRIPTION}</a></td>
<td nowrap="nowrap" valign="top" style="color: #666666; border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; text-align: center; width: 10%;">{ERRORS_HEADLINE_WHITELIST}</td>
</tr>
</table>
<!-- ######################### --> <!-- ########################### -->
<!-- ### Links to Articles ### --> <!-- ### Links to Categories ### -->
<!-- ######################### --> <!-- ########################### -->
<div style="margin-bottom: 10px"> <div style="margin-top: 10px; margin-bottom: 10px;">
<!-- Table Head --> <!-- Table Head -->
<table width="100%" style="border: 1px solid #B5B5B5;background-color: #F1F1F1;"> <table width="100%" style="border: 1px solid #B5B5B5;background-color: #F1F1F1;">
<tr> <tr >
<td> <td>
<strong>{ERRORS_HEADLINE_LINKS_ARTICLES}</strong> ({ERRORS_COUNT_ERRORS_ART}) <strong>{ERRORS_HEADLINE_LINKS_CATEGORYS}</strong> ({ERRORS_COUNT_ERRORS_CAT})
</td> </td>
<td align="center" style="padding:0;width:22px;"> <td align="center" style="padding:0;width:22px;">
<a href="#" onclick="javascript:toggleTableBody('{ID_LINKS_ARTICLES}')" style="height:1em;line-height:1em;width:100%;height:100%;display:block;"><img style="padding-top:5px" src="images/close_all.gif" id = "{ID_LINKS_ARTICLES}_img"></a> <a href="#" onclick="javascript:toggleTableBody('{ID_LINKS_CATEGORIES}')" style="height:1em;line-height:1em;width:100%;height:100%;display:block;"><img style="padding-top:5px" src="images/close_all.gif" id = "{ID_LINKS_CATEGORIES}_img"></a>
</td> </td>
</tr> </tr>
</table> </table>
<!-- Table Body --> <!-- Table Body -->
<div id="{ID_LINKS_ARTICLES}"> <div id="{ID_LINKS_CATEGORIES}">
<table width="100%" style="border: 1px solid #B5B5B5;border-top:none;" cellspacing="0" cellpadding="3" border="0"> <table width="100%" style="border: 1px solid #B5B5B5;border-top:none;" cellspacing="0" cellpadding="3" border="0">
{ERRORS_SHOW_ART} {ERRORS_SHOW_CAT}
</table> </table>
</div> </div>
</div> </div>
<!-- Print Button -->
<a style="margin-left:3px;" href="javascript:print()"><img src="{URL}images/print.gif" alt="" border="0"></a>
<!-- ##################################### --> </body>
<!-- ### Links to Documents and Images ### --> </html>
<!-- ##################################### -->
<div style="margin-bottom: 10px">
<!-- Table Head -->
<table width="100%" style="border: 1px solid #B5B5B5;background-color: #F1F1F1;">
<tr >
<td>
<strong>{ERRORS_HEADLINE_LINKS_DOCIMAGES}</strong> ({ERRORS_COUNT_ERRORS_DOCIMAGES})
</td>
<td align="center" style="padding:0;width:22px;">
<a href="#" onclick="javascript:toggleTableBody('{ID_LINKS_DOCSIMGS}')" style="height:1em;line-height:1em;width:100%;height:100%;display:block;"><img style="padding-top:5px" src="images/close_all.gif" id = "{ID_LINKS_DOCSIMGS}_img"></a>
</td>
</tr>
</table>
<!-- Table Body -->
<div id="{ID_LINKS_DOCSIMGS}">
<table width="100%" style="border: 1px solid #B5B5B5;border-top:none;" cellspacing="0" cellpadding="3" border="0">
{ERRORS_SHOW_DOCIMAGES}
</table>
</div>
</div>
<!-- ############################### -->
<!-- ### Links to external sites ### -->
<!-- ############################### -->
<div style="margin-bottom: 20px">
<!-- Table Head -->
<table width="100%" style="border: 1px solid #B5B5B5;background-color: #F1F1F1;">
<tr >
<td>
<strong>{ERRORS_HEADLINE_OTHERS}</strong> ({ERRORS_COUNT_ERRORS_OTHERS})
</td>
<td align="center" style="padding:0;width:22px;">
<a href="#" onclick="javascript:toggleTableBody('{ID_LINKS_EXTERNAL}')" style="height:1em;line-height:1em;width:100%;height:100%;display:block;"><img style="padding-top:5px" src="images/close_all.gif" id = "{ID_LINKS_EXTERNAL}_img"></a>
</td>
</tr>
</table>
<!-- Table Body -->
<div id="{ID_LINKS_EXTERNAL}">
<table width="100%" style="border: 1px solid #B5B5B5;border-top:none;" cellspacing="0" cellpadding="3" border="0">
{ERRORS_SHOW_OTHERS}
</table>
</div>
</div>
<table width="100%" style="border-left: 1px solid #B5B5B5;" cellspacing="0" cellpadding="3" border="0">
<tr class="text_medium" style="background-color: #E2E2E2;">
<td nowrap="nowrap" valign="top" style="color: #666666; border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; width: 20%;"><a style="color: #666666;" href="{URL}main.php?area=linkchecker&amp;frame=4&amp;contenido={SID}&action=linkchecker&mode={MODE}&sort=namecat">{ERRORS_HEADLINE_CATNAME}</a> (ID)</td>
<td nowrap="nowrap" valign="top" style="color: #666666; border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; width: 20%;"><a style="color: #666666;" href="{URL}main.php?area=linkchecker&amp;frame=4&amp;contenido={SID}&action=linkchecker&mode={MODE}&sort=nameart">{ERRORS_HEADLINE_ARTICLE}</a> (ID)</td>
<td nowrap="nowrap" valign="top" style="color: #666666; border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; width: 40%;"><a style="color: #666666;" href="{URL}main.php?area=linkchecker&amp;frame=4&amp;contenido={SID}&action=linkchecker&mode={MODE}&sort=wronglink">{ERRORS_HEADLINE_LINK}</a></td>
<td nowrap="nowrap" valign="top" style="color: #666666; border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; width: 10%;"><a style="color: #666666;" href="{URL}main.php?area=linkchecker&amp;frame=4&amp;contenido={SID}&action=linkchecker&mode={MODE}&sort=error_type">{ERRORS_HEADLINE_DESCRIPTION}</a></td>
<td nowrap="nowrap" valign="top" style="color: #666666; border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; text-align: center; width: 10%;">{ERRORS_HEADLINE_WHITELIST}</td>
</tr>
</table>
<!-- ########################### -->
<!-- ### Links to Categories ### -->
<!-- ########################### -->
<div style="margin-top: 10px; margin-bottom: 10px;">
<!-- Table Head -->
<table width="100%" style="border: 1px solid #B5B5B5;background-color: #F1F1F1;">
<tr >
<td>
<strong>{ERRORS_HEADLINE_LINKS_CATEGORYS}</strong> ({ERRORS_COUNT_ERRORS_CAT})
</td>
<td align="center" style="padding:0;width:22px;">
<a href="#" onclick="javascript:toggleTableBody('{ID_LINKS_CATEGORIES}')" style="height:1em;line-height:1em;width:100%;height:100%;display:block;"><img style="padding-top:5px" src="images/close_all.gif" id = "{ID_LINKS_CATEGORIES}_img"></a>
</td>
</tr>
</table>
<!-- Table Body -->
<div id="{ID_LINKS_CATEGORIES}">
<table width="100%" style="border: 1px solid #B5B5B5;border-top:none;" cellspacing="0" cellpadding="3" border="0">
{ERRORS_SHOW_CAT}
</table>
</div>
</div>
<!-- Print Button -->
<a style="margin-left:3px;" href="javascript:print()"><img src="{URL}images/print.gif" alt="" border="0"></a>
</body></html>

Datei anzeigen

@ -1,51 +1,52 @@
<!DOCTYPE html>
<html> <html>
<head> <head>
<title>Linkchecker</title> <title>Linkchecker</title>
<link rel="stylesheet" type="text/css" href="styles/contenido.css" /> <link rel="stylesheet" type="text/css" href="styles/contenido.css" />
<script type="text/javascript" src="scripts/rowMark.js"></script> <script type="text/javascript" src="scripts/rowMark.js"></script>
<script type="text/javascript" src="scripts/general.js"></script> <script type="text/javascript" src="scripts/general.js"></script>
</head> </head>
<body style="margin: 10px"> <body style="margin: 10px">
<a href="javascript:location.reload()" accesskey="s"></a> <a href="javascript:location.reload()" accesskey="s"></a>
<table cellspacing="0" cellpadding="2" border="0"> <table cellspacing="0" cellpadding="2" border="0">
<tr valign="middle"> <tr valign="middle">
<td><h2>{TITLE}</h2></td> <td><h2>{TITLE}</h2></td>
</tr> </tr>
<tr valign="middle"> <tr valign="middle">
<td class="text_medium">{HELP}</td> <td class="text_medium">{HELP}</td>
</tr> </tr>
</table> </table>
<div style="margin-top: 5px"></div> <div style="margin-top: 5px"></div>
<table width="100%" style="border-left: 1px solid #B5B5B5;" cellspacing="0" cellpadding="3" border="0"> <table width="100%" style="border-left: 1px solid #B5B5B5;" cellspacing="0" cellpadding="3" border="0">
<tr class="text_medium" style="background-color: #E2E2E2;"> <tr class="text_medium" style="background-color: #E2E2E2;">
<td nowrap="nowrap" valign="top" style="border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; width: 75%;"><strong>{HEADLINE_URLS}</strong> ({WHITELIST_COUNT})</td> <td nowrap="nowrap" valign="top" style="border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; width: 75%;"><strong>{HEADLINE_URLS}</strong> ({WHITELIST_COUNT})</td>
<td nowrap="nowrap" valign="top" style="border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; width: 15%; text-align: center;"><strong>{HEADLINE_ENTRY}</strong></td> <td nowrap="nowrap" valign="top" style="border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; width: 15%; text-align: center;"><strong>{HEADLINE_ENTRY}</strong></td>
<td nowrap="nowrap" valign="top" style="border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; width: 10%;"><strong>{HEADLINE_DELETE}</strong></td> <td nowrap="nowrap" valign="top" style="border: 1px solid #B5B5B5; border-left: 0px; white-space:nowrap; width: 10%;"><strong>{HEADLINE_DELETE}</strong></td>
</tr> </tr>
</table> </table>
<div style="margin-top: 10px"></div> <div style="margin-top: 10px"></div>
<table width="100%" style="border: 1px solid #B5B5B5; border-top: 0px;" cellspacing="0" cellpadding="3" border="0"> <table width="100%" style="border: 1px solid #B5B5B5; border-top: 0px;" cellspacing="0" cellpadding="3" border="0">
{WHITELIST} {WHITELIST}
</table>
<div style="margin-top: 10px"></div> </table>
<table width="100%" cellspacing="0" cellpadding="3" border="0"> <div style="margin-top: 10px"></div>
<tr>
<td style="text-align: left;"><a href="javascript:print()"><img src="{CONTENIDO_URL}images/print.gif" alt="" border="0"></a></td>
</tr>
</table>
</body></html> <table width="100%" cellspacing="0" cellpadding="3" border="0">
<tr>
<td style="text-align: left;"><a href="javascript:print()"><img src="{CONTENIDO_URL}images/print.gif" alt="" border="0"></a></td>
</tr>
</table>
</body></html>