/**
  * Clear sitemap for one root page
  *
  * @param   string $rootPageId Site root page id or domain
  * @return  string
  */
 public function clearSitemapCommand($rootPageId)
 {
     $rootPageId = $this->_getRootPageIdFromId($rootPageId);
     if ($rootPageId !== NULL) {
         $domain = RootPageUtility::getDomain($rootPageId);
         $query = 'DELETE FROM tx_metaseo_sitemap
                    WHERE page_rootpid = ' . DatabaseUtility::quote($rootPageId, 'tx_metaseo_sitemap') . '
                      AND is_blacklisted = 0';
         DatabaseUtility::exec($query);
         ConsoleUtility::writeLine('Sitemap cleared');
     } else {
         ConsoleUtility::writeErrorLine('No such root page found');
         ConsoleUtility::teminate(1);
     }
 }
Esempio n. 2
0
 /**
  * Clear outdated and invalid pages from sitemap table
  */
 public static function expire()
 {
     // #####################
     // Expired pages
     // #####################
     $expireDays = (int) \Metaseo\Metaseo\Utility\GeneralUtility::getExtConf('sitemap_pageSitemapExpireDays', 60);
     if (empty($expireDays)) {
         $expireDays = 60;
     }
     // No negative days allowed
     $expireDays = abs($expireDays);
     $tstamp = time() - $expireDays * 24 * 60 * 60;
     $query = 'DELETE FROM tx_metaseo_sitemap
                     WHERE tstamp <= ' . (int) $tstamp . '
                       AND is_blacklisted = 0';
     DatabaseUtility::exec($query);
     // #####################
     //  Deleted or
     // excluded pages
     // #####################
     $query = 'SELECT
                     ts.uid
                 FROM
                     tx_metaseo_sitemap ts
                     LEFT JOIN pages p
                         ON p.uid = ts.page_uid
                        AND p.deleted = 0
                        AND p.hidden = 0
                        AND p.tx_metaseo_is_exclude = 0
                 WHERE
                     p.uid IS NULL';
     $deletedSitemapPages = DatabaseUtility::getColWithIndex($query);
     // delete pages
     if (!empty($deletedSitemapPages)) {
         $query = 'DELETE FROM tx_metaseo_sitemap
                         WHERE uid IN (' . implode(',', $deletedSitemapPages) . ')
                           AND is_blacklisted = 0';
         DatabaseUtility::exec($query);
     }
 }
Esempio n. 3
0
 /**
  * Clear all meta tags for one page
  *
  * @param integer        $pid           PID
  * @param integer|NULL   $sysLanguage   System language id
  */
 protected function _clearMetaTags($pid, $sysLanguage)
 {
     $query = 'DELETE FROM tx_metaseo_metatag
                     WHERE pid = ' . (int) $pid . '
                       AND sys_language_uid = ' . (int) $sysLanguage;
     DatabaseUtility::exec($query);
 }
Esempio n. 4
0
 /**
  * Clear all cache
  *
  * @return boolean
  */
 public static function clearAll()
 {
     try {
         $query = 'TRUNCATE tx_metaseo_cache';
         DatabaseUtility::exec($query);
     } catch (\Exception $e) {
         return FALSE;
     }
     return TRUE;
 }