@@ -53,7 +53,7 @@ |
||
| 53 | 53 | * @param string $uri |
| 54 | 54 | * @param TypoScriptFrontendController $frontend |
| 55 | 55 | * |
| 56 | - * @return array |
|
| 56 | + * @return string[] |
|
| 57 | 57 | * |
| 58 | 58 | * @throws \Exception |
| 59 | 59 | * |
@@ -67,9 +67,9 @@ |
||
| 67 | 67 | $speakingUri = $frontend->cObj->typoLink_URL(['parameter' => $matches[1], 'additionalParams' => $matches[2]]); |
| 68 | 68 | $speakingUriParts = parse_url($speakingUri); |
| 69 | 69 | if (false === $speakingUriParts) { |
| 70 | - throw new \Exception('Could not parse URI: ' . $speakingUri, 1289915976); |
|
| 70 | + throw new \Exception('Could not parse URI: '.$speakingUri, 1289915976); |
|
| 71 | 71 | } |
| 72 | - $speakingUrlPath = '/' . ltrim($speakingUriParts['path'], '/'); |
|
| 72 | + $speakingUrlPath = '/'.ltrim($speakingUriParts['path'], '/'); |
|
| 73 | 73 | // Don't change anything if speaking URL is part of old URI: |
| 74 | 74 | // (it might be the case the using the speaking URL failed) |
| 75 | 75 | if (strpos($uri, $speakingUrlPath) !== 0 || $speakingUrlPath === '/') { |
@@ -66,7 +66,7 @@ discard block |
||
| 66 | 66 | $this->tableName, |
| 67 | 67 | $where, |
| 68 | 68 | '', |
| 69 | - htmlspecialchars($orderField) . ' ' . htmlspecialchars($orderDirection), |
|
| 69 | + htmlspecialchars($orderField).' '.htmlspecialchars($orderDirection), |
|
| 70 | 70 | self::getLimitFromItemCountAndOffset($itemCount, $offset) |
| 71 | 71 | ); |
| 72 | 72 | |
@@ -111,7 +111,7 @@ discard block |
||
| 111 | 111 | */ |
| 112 | 112 | public function countNotTimeouted($ttl) |
| 113 | 113 | { |
| 114 | - return $this->countByWhere('deleted = 0 AND ttl > ' . intval($ttl)); |
|
| 114 | + return $this->countByWhere('deleted = 0 AND ttl > '.intval($ttl)); |
|
| 115 | 115 | } |
| 116 | 116 | |
| 117 | 117 | /** |
@@ -127,7 +127,7 @@ discard block |
||
| 127 | 127 | { |
| 128 | 128 | $itemCount = filter_var($itemCount, FILTER_VALIDATE_INT, ['options' => ['min_range' => 1, 'default' => 20]]); |
| 129 | 129 | $offset = filter_var($offset, FILTER_VALIDATE_INT, ['options' => ['min_range' => 0, 'default' => 0]]); |
| 130 | - $limit = $offset . ', ' . $itemCount; |
|
| 130 | + $limit = $offset.', '.$itemCount; |
|
| 131 | 131 | |
| 132 | 132 | return $limit; |
| 133 | 133 | } |
@@ -47,7 +47,7 @@ |
||
| 47 | 47 | public function execute() |
| 48 | 48 | { |
| 49 | 49 | $processManager = new \tx_crawler_domain_process_manager(); |
| 50 | - $timeout = is_int($this->timeOut) ? (int)$this->timeOut : 1800; |
|
| 50 | + $timeout = is_int($this->timeOut) ? (int) $this->timeOut : 1800; |
|
| 51 | 51 | |
| 52 | 52 | try { |
| 53 | 53 | $processManager->multiProcess($timeout); |
@@ -39,7 +39,7 @@ |
||
| 39 | 39 | * |
| 40 | 40 | * Wrapper around core functionality to keep compatibility with TYPO3 6.2 |
| 41 | 41 | * |
| 42 | - * @param $table |
|
| 42 | + * @param string $table |
|
| 43 | 43 | * @param array $row |
| 44 | 44 | * @return string |
| 45 | 45 | */ |
@@ -111,7 +111,7 @@ |
||
| 111 | 111 | * This method is used to set the uid of the queue entry |
| 112 | 112 | * where the reason is relevant for. |
| 113 | 113 | * |
| 114 | - * @param int $entry_id |
|
| 114 | + * @param int $entry_uid |
|
| 115 | 115 | */ |
| 116 | 116 | public function setQueueEntryUid($entry_uid) |
| 117 | 117 | { |
@@ -71,8 +71,11 @@ |
||
| 71 | 71 | </div> |
| 72 | 72 | <?php elseif ($process->getState() == 'cancelled'): ?> |
| 73 | 73 | <?php echo $this->getLLLabel('LLL:EXT:crawler/modfunc1/locallang.xml:labels.process.cancelled'); ?> |
| 74 | - <?php else: ?> |
|
| 75 | - <?php echo $this->getLLLabel('LLL:EXT:crawler/modfunc1/locallang.xml:labels.process.success'); ?> |
|
| 74 | + <?php else { |
|
| 75 | + : ?> |
|
| 76 | + <?php echo $this->getLLLabel('LLL:EXT:crawler/modfunc1/locallang.xml:labels.process.success'); |
|
| 77 | +} |
|
| 78 | +?> |
|
| 76 | 79 | <?php endif; ?> |
| 77 | 80 | </td> |
| 78 | 81 | </tr> |
@@ -53,7 +53,7 @@ |
||
| 53 | 53 | </thead> |
| 54 | 54 | <tbody> |
| 55 | 55 | <?php foreach ($this->getProcessCollection() as $process): /* @var $process tx_crawler_domain_process */ ?> |
| 56 | - <tr class="<?php echo (++$count % 2 == 0) ? 'odd': 'even' ?>"> |
|
| 56 | + <tr class="<?php echo (++$count % 2 == 0) ? 'odd' : 'even' ?>"> |
|
| 57 | 57 | <td><?php echo $this->getIconForState(htmlspecialchars($process->getState())); ?></td> |
| 58 | 58 | <td><?php echo htmlspecialchars($process->getProcess_id()); ?></td> |
| 59 | 59 | <td><?php echo htmlspecialchars($this->asDate($process->getTimeForFirstItem())); ?></td> |
@@ -66,7 +66,7 @@ |
||
| 66 | 66 | { |
| 67 | 67 | $db = $this->getDB(); |
| 68 | 68 | $where = 'process_id_completed='.$db->fullQuoteStr($process->getProcess_id(), $this->tableName). |
| 69 | - ' AND exec_time > 0 '; |
|
| 69 | + ' AND exec_time > 0 '; |
|
| 70 | 70 | $limit = 1; |
| 71 | 71 | $groupby = ''; |
| 72 | 72 | |
@@ -211,7 +211,7 @@ discard block |
||
| 211 | 211 | $res = $db->exec_SELECTquery( |
| 212 | 212 | 'configuration, count(*) as c', |
| 213 | 213 | $this->tableName, |
| 214 | - 'set_id in ('. implode(',', $setIds).') AND scheduled < '.time(), |
|
| 214 | + 'set_id in ('.implode(',', $setIds).') AND scheduled < '.time(), |
|
| 215 | 215 | 'configuration' |
| 216 | 216 | ); |
| 217 | 217 | while ($row = $db->sql_fetch_assoc($res)) { |
@@ -291,7 +291,7 @@ discard block |
||
| 291 | 291 | $res = $db->exec_SELECTquery( |
| 292 | 292 | 'process_id_completed, min(exec_time) as start, max(exec_time) as end, count(*) as urlcount', |
| 293 | 293 | $this->tableName, |
| 294 | - 'exec_time != 0 and exec_time >= '.intval($start). ' and exec_time <= ' . intval($end), |
|
| 294 | + 'exec_time != 0 and exec_time >= '.intval($start).' and exec_time <= '.intval($end), |
|
| 295 | 295 | 'process_id_completed' |
| 296 | 296 | ); |
| 297 | 297 | |
@@ -116,6 +116,7 @@ discard block |
||
| 116 | 116 | * Set the page id |
| 117 | 117 | * |
| 118 | 118 | * @param int page id |
| 119 | + * @param integer $pageId |
|
| 119 | 120 | */ |
| 120 | 121 | public function setPageId($pageId) |
| 121 | 122 | { |
@@ -293,7 +294,7 @@ discard block |
||
| 293 | 294 | * Converts seconds into minutes |
| 294 | 295 | * |
| 295 | 296 | * @param int $seconds |
| 296 | - * @return int |
|
| 297 | + * @return double |
|
| 297 | 298 | */ |
| 298 | 299 | protected function asMinutes($seconds) |
| 299 | 300 | { |
@@ -444,7 +445,7 @@ discard block |
||
| 444 | 445 | * just a wrapper should be done in a cleaner way |
| 445 | 446 | * later on |
| 446 | 447 | * |
| 447 | - * @param $label |
|
| 448 | + * @param string $label |
|
| 448 | 449 | * @return string |
| 449 | 450 | */ |
| 450 | 451 | protected function getLLLabel($label) |
@@ -339,7 +339,7 @@ discard block |
||
| 339 | 339 | */ |
| 340 | 340 | protected function getRefreshLink() |
| 341 | 341 | { |
| 342 | - return '<input onclick="window.location=\'' . \TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('web_info') . '&SET[crawlaction]=multiprocess&id=' . $this->pageId . '\';" type="button" style="padding:4px 4px 4px 20px; background-position: 3px 3px; background-image: url(\'' . $this->getIconPath() . 'arrow_refresh.png' . '\'); background-repeat: no-repeat;" value="' . $this->getLLLabel('LLL:EXT:crawler/modfunc1/locallang.xml:labels.refresh') . '" />'; |
|
| 342 | + return '<input onclick="window.location=\''.\TYPO3\CMS\Backend\Utility\BackendUtility::getModuleUrl('web_info').'&SET[crawlaction]=multiprocess&id='.$this->pageId.'\';" type="button" style="padding:4px 4px 4px 20px; background-position: 3px 3px; background-image: url(\''.$this->getIconPath().'arrow_refresh.png'.'\'); background-repeat: no-repeat;" value="'.$this->getLLLabel('LLL:EXT:crawler/modfunc1/locallang.xml:labels.refresh').'" />'; |
|
| 343 | 343 | } |
| 344 | 344 | |
| 345 | 345 | /** |
@@ -360,9 +360,9 @@ discard block |
||
| 360 | 360 | protected function getEnableDisableLink() |
| 361 | 361 | { |
| 362 | 362 | if ($this->getIsCrawlerEnabled()) { |
| 363 | - return '<input onclick="window.location+=\'&action=stopCrawling\';" type="button" style="padding:4px 4px 4px 20px; background-position: 3px 3px; background-image: url(\'' . $this->getIconPath() . 'control_stop_blue.png' . '\'); background-repeat: no-repeat;" value="' . $this->getLLLabel('LLL:EXT:crawler/modfunc1/locallang.xml:labels.disablecrawling') . '" />'; |
|
| 363 | + return '<input onclick="window.location+=\'&action=stopCrawling\';" type="button" style="padding:4px 4px 4px 20px; background-position: 3px 3px; background-image: url(\''.$this->getIconPath().'control_stop_blue.png'.'\'); background-repeat: no-repeat;" value="'.$this->getLLLabel('LLL:EXT:crawler/modfunc1/locallang.xml:labels.disablecrawling').'" />'; |
|
| 364 | 364 | } else { |
| 365 | - return '<input onclick="window.location+=\'&action=resumeCrawling\';" type="button" style="padding:4px 4px 4px 20px; background-position: 3px 3px; background-image: url(\'' . $this->getIconPath() . 'control_play.png' . '\'); background-repeat: no-repeat;" value="' . $this->getLLLabel('LLL:EXT:crawler/modfunc1/locallang.xml:labels.enablecrawling') . '" />'; |
|
| 365 | + return '<input onclick="window.location+=\'&action=resumeCrawling\';" type="button" style="padding:4px 4px 4px 20px; background-position: 3px 3px; background-image: url(\''.$this->getIconPath().'control_play.png'.'\'); background-repeat: no-repeat;" value="'.$this->getLLLabel('LLL:EXT:crawler/modfunc1/locallang.xml:labels.enablecrawling').'" />'; |
|
| 366 | 366 | } |
| 367 | 367 | } |
| 368 | 368 | |
@@ -375,9 +375,9 @@ discard block |
||
| 375 | 375 | protected function getModeLink() |
| 376 | 376 | { |
| 377 | 377 | if ($this->getMode() == 'detail') { |
| 378 | - return '<input onclick="window.location+=\'&SET[processListMode]=simple\';" type="button" style="padding:4px 4px 4px 20px; background-position: 3px 3px; background-image: url(\'' . $this->getIconPath() . 'arrow_in.png' . '\'); background-repeat: no-repeat;" value="' . $this->getLLLabel('LLL:EXT:crawler/modfunc1/locallang.xml:labels.show.running') . '" />'; |
|
| 378 | + return '<input onclick="window.location+=\'&SET[processListMode]=simple\';" type="button" style="padding:4px 4px 4px 20px; background-position: 3px 3px; background-image: url(\''.$this->getIconPath().'arrow_in.png'.'\'); background-repeat: no-repeat;" value="'.$this->getLLLabel('LLL:EXT:crawler/modfunc1/locallang.xml:labels.show.running').'" />'; |
|
| 379 | 379 | } elseif ($this->getMode() == 'simple') { |
| 380 | - return '<input onclick="window.location+=\'&SET[processListMode]=detail\';" type="button" style="padding:4px 4px 4px 20px; background-position: 3px 3px; background-image: url(\'' . $this->getIconPath() . 'arrow_out.png' . '\'); background-repeat: no-repeat;" value="' . $this->getLLLabel('LLL:EXT:crawler/modfunc1/locallang.xml:labels.show.all') . '" />'; |
|
| 380 | + return '<input onclick="window.location+=\'&SET[processListMode]=detail\';" type="button" style="padding:4px 4px 4px 20px; background-position: 3px 3px; background-image: url(\''.$this->getIconPath().'arrow_out.png'.'\'); background-repeat: no-repeat;" value="'.$this->getLLLabel('LLL:EXT:crawler/modfunc1/locallang.xml:labels.show.all').'" />'; |
|
| 381 | 381 | } |
| 382 | 382 | } |
| 383 | 383 | |
@@ -390,7 +390,7 @@ discard block |
||
| 390 | 390 | protected function getAddLink() |
| 391 | 391 | { |
| 392 | 392 | if ($this->getActiveProcessCount() < $this->getMaxActiveProcessCount() && $this->getIsCrawlerEnabled()) { |
| 393 | - return '<input onclick="window.location+=\'&action=addProcess\';" type="button" style="padding:4px 4px 4px 20px; background-position: 3px 3px; background-image: url(\'' . $this->getIconPath() . 'add.png' . '\'); background-repeat: no-repeat;" value="' . $this->getLLLabel('LLL:EXT:crawler/modfunc1/locallang.xml:labels.process.add') . '" />'; |
|
| 393 | + return '<input onclick="window.location+=\'&action=addProcess\';" type="button" style="padding:4px 4px 4px 20px; background-position: 3px 3px; background-image: url(\''.$this->getIconPath().'add.png'.'\'); background-repeat: no-repeat;" value="'.$this->getLLLabel('LLL:EXT:crawler/modfunc1/locallang.xml:labels.process.add').'" />'; |
|
| 394 | 394 | } else { |
| 395 | 395 | return ''; |
| 396 | 396 | } |
@@ -417,7 +417,7 @@ discard block |
||
| 417 | 417 | if (!empty($title)) { |
| 418 | 418 | $title = ' title="'.$title.'"'; |
| 419 | 419 | } |
| 420 | - return '<img src="'.$this->getIconPath().$icon.'.png" ' . $title . ' />'; |
|
| 420 | + return '<img src="'.$this->getIconPath().$icon.'.png" '.$title.' />'; |
|
| 421 | 421 | } |
| 422 | 422 | |
| 423 | 423 | /** |
@@ -49,11 +49,11 @@ |
||
| 49 | 49 | |
| 50 | 50 | // Adding options to help archive: |
| 51 | 51 | /** |
| 52 | - * We removed the "proc" option as it seemd not to be working any more. But as the complete handling of the crawler has changed regarding the configuration |
|
| 53 | - * this is completely ok. Since configuration records were introduced to configure "what should be done" additionally to page ts the way to setup jobs |
|
| 54 | - * has drifted from selecting filtering processing instructions to selecting/filtering configuration keys (you can configure the processing instructions there). |
|
| 55 | - * This is also reflected in the backend modules and allows you a much clearer and powerful way to work with the crawler extension. |
|
| 56 | - */ |
|
| 52 | + * We removed the "proc" option as it seemd not to be working any more. But as the complete handling of the crawler has changed regarding the configuration |
|
| 53 | + * this is completely ok. Since configuration records were introduced to configure "what should be done" additionally to page ts the way to setup jobs |
|
| 54 | + * has drifted from selecting filtering processing instructions to selecting/filtering configuration keys (you can configure the processing instructions there). |
|
| 55 | + * This is also reflected in the backend modules and allows you a much clearer and powerful way to work with the crawler extension. |
|
| 56 | + */ |
|
| 57 | 57 | // $this->cli_options[] = array('-proc listOfProcInstr', 'Comma list of processing instructions. These are the "actions" carried out when crawling and you must specify at least one. Depends on third-party extensions. Examples are "tx_cachemgm_recache" from "cachemgm" extension (will recache pages), "tx_staticpub_publish" from "staticpub" (publishing pages to static files) or "tx_indexedsearch_reindex" from "indexed_search" (indexes pages).'); |
| 58 | 58 | // TODO: cleanup here! |
| 59 | 59 | $this->cli_options[] = ['-d depth', 'Tree depth, 0-99', "How many levels under the 'page_id' to include."]; |
@@ -58,7 +58,7 @@ |
||
| 58 | 58 | $this->cli_options[] = ['-d depth', 'Tree depth, 0-99', "How many levels under the 'page_id' to include."]; |
| 59 | 59 | $this->cli_options[] = ['-o mode', 'Output mode: "url", "exec", "queue"', "Specifies output modes\nurl : Will list URLs which wget could use as input.\nqueue: Will put entries in queue table.\nexec: Will execute all entries right away!"]; |
| 60 | 60 | $this->cli_options[] = ['-n number', 'Number of items per minute.', 'Specifies how many items are put in the queue per minute. Only valid for output mode "queue"']; |
| 61 | - $this->cli_options[] = ['-conf configurationkeys','List of Configuration Keys','A commaseperated list of crawler configurations']; |
|
| 61 | + $this->cli_options[] = ['-conf configurationkeys', 'List of Configuration Keys', 'A commaseperated list of crawler configurations']; |
|
| 62 | 62 | # $this->cli_options[] = array('-v level', 'Verbosity level 0-3', "The value of level can be:\n 0 = all output\n 1 = info and greater (default)\n 2 = warnings and greater\n 3 = errors"); |
| 63 | 63 | |
| 64 | 64 | // Setting help texts: |