/**
  * Constructor
  *
  * @access private
  * @return void
  */
 private function __construct()
 {
     // set list of all multi-languages plugins classes
     $this->classes = array(array('dir' => KocujSitemapPlugin::getInstance()->getPluginDir() . '/classes/multilang/qtranslate.class.php', 'class' => 'kocujsitemap_qtranslate', 'original' => true));
     // get list of additional multi-languages plugins classes
     $additionalMultiLangClasses = apply_filters('kocujsitemap_additionalmultilangphpclasses', array());
     if (!empty($additionalMultiLangClasses)) {
         $ok = true;
         foreach ($additionalMultiLangClasses as $val) {
             if (!isset($val['dir']) || !isset($val['class'])) {
                 $ok = false;
             }
         }
         if (!empty($ok)) {
             $this->classes = array_merge($this->classes, $additionalMultiLangClasses);
             foreach ($this->classes as $key => $val) {
                 $this->classes[$key]['original'] = false;
             }
         }
     }
     // load all classes
     if (!empty($this->classes)) {
         $methods = array('getInstance', 'getName', 'getLanguages', 'checkPluginAdmin', 'checkPlugin', 'beforeGetBlogName', 'afterGetBlogName', 'getTranslatedBlogName', 'beforeGetHomeURL', 'afterGetHomeURL', 'getTranslatedHomeURL', 'beforeGetPages', 'afterGetPages', 'beforeGetPageItem', 'afterGetPageItem', 'getTranslatedPageURL', 'getTranslatedPageTitle', 'beforeGetPosts', 'afterGetPosts', 'beforeGetPostItem', 'afterGetPostItem', 'getTranslatedPostURL', 'getTranslatedPostTitle', 'beforeGetCategories', 'afterGetCategories', 'beforeGetCategoryItem', 'afterGetCategoryItem', 'getTranslatedCategoryURL', 'getTranslatedCategoryTitle', 'beforeGetMenu', 'afterGetMenu', 'beforeGetMenuItem', 'afterGetMenuItem', 'getTranslatedMenuURL', 'getTranslatedMenuTitle');
         foreach ($this->classes as $key => $class) {
             $ok = false;
             if (file_exists($class['dir'])) {
                 include_once $class['dir'];
                 if (class_exists('KocujSitemapPluginMultiLang_' . $class['class'])) {
                     $ok = true;
                     eval('$instance = KocujSitemapPluginMultiLang_' . $class['class'] . '::getInstance();');
                     if (empty($class['original'])) {
                         foreach ($methods as $method) {
                             if (!method_exists($instance, $method)) {
                                 $ok = false;
                                 break;
                             }
                         }
                     }
                     if (!empty($ok)) {
                         $activeAdmin = $instance->checkPluginAdmin();
                         if (!empty($activeAdmin)) {
                             $name = $instance->getName();
                             $active = $instance->checkPlugin();
                             $this->data[$key] = array('instance' => $instance, 'active' => $active, 'admin_id' => 'MultiLang_' . $class['class'], 'admin_label' => sprintf(__('Use %s plugin', 'kocuj-sitemap'), $name), 'admin_description' => sprintf(__('Use %s plugin (if installed and activated) for multi-language websites; uncheck it only if you have any problems because of this setting', 'kocuj-sitemap'), $name));
                         } else {
                             $ok = false;
                         }
                     }
                 }
             }
             if (empty($ok)) {
                 unset($this->classes[$key]);
             }
         }
     }
 }
    {
        // create cache
        KocujSitemapPluginCache::getInstance()->createCache();
    }
    /**
     * Delete cron
     *
     * @access public
     * @return void
     */
    public function cronDelete()
    {
        // cron delete
        wp_clear_scheduled_hook($this->cronId);
    }
}
// initialize class
KocujSitemapPlugin::getInstance();
/**
 * Display sitemap
 *
 * @access public
 * @param string $title Sitemap title - default: empty
 * @param string $class Sitemap class - default: empty
 * @return void
 */
function kocujsitemap_show_sitemap($title = '', $class = '')
{
    // show sitemap
    echo KocujSitemapPluginSitemap::getInstance()->getSitemap($title, $class);
}
 /**
  * Get cache directory
  *
  * @access private
  * @return string Cache directory
  */
 private function getCacheDirectory()
 {
     // get cache directory
     return KocujSitemapPlugin::getInstance()->getPluginDir() . '/cache';
 }