HEX
Server: Apache/2.4.25 (Debian)
System: Linux server17 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
User: web37 (1062)
PHP: 7.4.30
Disabled: show_source, highlight_file, apache_child_terminate, apache_get_modules, apache_note, apache_setenv, virtual, dl, disk_total_space, posix_getpwnam, posix_getpwuid, posix_mkfifo, posix_mknod, posix_setpgid, posix_setsid, posix_setuid, posix_uname, proc_nice, openlog, syslog, pfsockopen
Upload Files
File: /var/www/web37/htdocs/fickanzeiger/components/SiteDuplicateContentBackgroundTask.php
<?php
/**
 * Arfooo
 * 
 * @package    Arfooo
 * @copyright  Copyright (c) Arfooo Annuaire (fr) and Arfooo Directory (en)
 *             by Guillaume Hocine (c) 2007 - 2010
 *             http://www.arfooo.com/ (fr) and http://www.arfooo.net/ (en)
 * @author     Guillaume Hocine & Adrian Galewski
 * @license    http://creativecommons.org/licenses/by/2.0/fr/ Creative Commons
 */


class SiteDuplicateContentBackgroundTask extends BackgroundTask
{
    protected $taskId = "siteDuplicateContent";

    /**
     * @var GoogleDuplicateChecker
     */
    private $duplicateChecker;

    protected function loadItems()
    {
        $c = new Criteria();
        $c->add('status', 'validated');
        $this->items = $this->site->findAll($c, 'siteId, description');
    }

    protected function beforeParsing()
    {
        $this->duplicateChecker = new GoogleDuplicateChecker();
        $this->duplicateChecker
            ->setPhrasesToCheckCount(
                Config::get('duplicateContentCheckerPhrasesToCheckCount')
            )
            ->setWordsInPhraseCount(
                Config::get('duplicateContentCheckerWordsInPhraseCount')
            )
            ->setAllowableDuplicatedPhrasesCount(
                Config::get('duplicateContentCheckerAllowableDuplicatedPhrasesCount')
            );
    }

    protected function parseItem($site)
    {
        $isDuplicateContent = $this->duplicateChecker->isDuplicateContent($site['description']) ? '1' : '0';
        $this->site->updateByPk(array('isDuplicateContent' => $isDuplicateContent), $site['siteId']);
    }

    protected function afterParsing()
    {
        Mailer::getInstance()->sendDuplicateContentTaskFinished();
    }
}