示例#1
0
 public function init()
 {
     global $polylang;
     self::define_constants();
     $options = get_option('polylang');
     // plugin upgrade
     if ($options && version_compare($options['version'], POLYLANG_VERSION, '<')) {
         $upgrade = new PLL_Upgrade($options);
         if (!$upgrade->upgrade()) {
             // if the version is too old
             return;
         }
     }
     $class = apply_filters('pll_model', PLL_SETTINGS ? 'PLL_Admin_Model' : 'PLL_Model');
     $model = new $class($options);
     $links_model = $model->get_links_model();
     if (PLL_ADMIN) {
         $polylang = new PLL_Admin($links_model);
         $polylang->init();
     } elseif ($model->get_languages_list()) {
         $polylang = new PLL_Frontend($links_model);
         $polylang->init();
     }
     if (!$model->get_languages_list()) {
         do_action('pll_no_language_defined');
     }
     // to load overriden textdomains
     // load wpml-config.xml
     if (!defined('PLL_WPML_COMPAT') || PLL_WPML_COMPAT) {
         PLL_WPML_Config::instance();
     }
     do_action('pll_init');
 }
示例#2
0
 public function init()
 {
     global $polylang;
     $options = get_option('polylang');
     // plugin upgrade
     if ($options && version_compare($options['version'], POLYLANG_VERSION, '<')) {
         $upgrade = new PLL_Upgrade($options);
         if (!$upgrade->upgrade()) {
             // if the version is too old
             return;
         }
     }
     $model = PLL_SETTINGS ? new PLL_Admin_Model($options) : new PLL_Model($options);
     $links_model = $this->get_links_model($model);
     if (PLL_ADMIN) {
         $polylang = new PLL_Admin($links_model);
         $polylang->init();
     } elseif ($model->get_languages_list()) {
         $polylang = new PLL_Frontend($links_model);
         $polylang->init();
     } else {
         do_action('pll_no_language_defined');
     }
     // to load overriden textdomains
     // load wpml-config.xml
     if (!defined('PLL_WPML_COMPAT') || PLL_WPML_COMPAT) {
         new PLL_WPML_Config();
     }
 }
 /**
  * Polylang initialization
  * setups models and separate admin and frontend
  *
  * @since 1.2
  */
 public function init()
 {
     global $polylang;
     self::define_constants();
     $options = get_option('polylang');
     // plugin upgrade
     if ($options && version_compare($options['version'], POLYLANG_VERSION, '<')) {
         $upgrade = new PLL_Upgrade($options);
         if (!$upgrade->upgrade()) {
             // if the version is too old
             return;
         }
     }
     // Make sure that this filter is *always* added before PLL_Model::get_languages_list() is called for the first time
     add_filter('pll_languages_list', array('PLL_Static_Pages', 'pll_languages_list'), 2, 2);
     // before PLL_Links_Model
     /**
      * Filter the model class to use
      * /!\ this filter is fired *before* the $polylang object is available
      *
      * @since 1.5
      *
      * @param string $class either PLL_Model or PLL_Admin_Model
      */
     $class = apply_filters('pll_model', PLL_SETTINGS ? 'PLL_Admin_Model' : 'PLL_Model');
     $model = new $class($options);
     $links_model = $model->get_links_model();
     if (PLL_SETTINGS) {
         $polylang = new PLL_Settings($links_model);
     } elseif (PLL_ADMIN) {
         $polylang = new PLL_Admin($links_model);
     } elseif ($model->get_languages_list() && empty($_GET['deactivate-polylang'])) {
         $polylang = new PLL_Frontend($links_model);
     }
     if (!$model->get_languages_list()) {
         /**
          * Fires when no language has been defined yet
          * Used to load overriden textdomains
          *
          * @since 1.2
          */
         do_action('pll_no_language_defined');
     }
     if (!empty($polylang)) {
         /**
          * Fires after the $polylang object is created and before the API is loaded
          *
          * @since 2.0
          *
          * @param object $polylang
          */
         do_action_ref_array('pll_pre_init', array(&$polylang));
         require_once PLL_INC . '/api.php';
         // loads the API
         if (!defined('PLL_WPML_COMPAT') || PLL_WPML_COMPAT) {
             PLL_WPML_Compat::instance();
             // WPML API
             PLL_WPML_Config::instance();
             // wpml-config.xml
         }
         $polylang->init();
         /**
          * Fires after the $polylang object and the API is loaded
          *
          * @since 1.7
          *
          * @param object $polylang
          */
         do_action_ref_array('pll_init', array(&$polylang));
     }
 }
示例#4
0
 public function init()
 {
     global $polylang;
     self::define_constants();
     $options = get_option('polylang');
     // plugin upgrade
     if ($options && version_compare($options['version'], POLYLANG_VERSION, '<')) {
         $upgrade = new PLL_Upgrade($options);
         if (!$upgrade->upgrade()) {
             // if the version is too old
             return;
         }
     }
     // /!\ this filter is fired *before* the $polylang object is available
     $class = apply_filters('pll_model', PLL_SETTINGS ? 'PLL_Admin_Model' : 'PLL_Model');
     $model = new $class($options);
     $links_model = $model->get_links_model();
     add_filter('pll_languages_list', array('PLL_Static_Pages', 'pll_languages_list'), 2, 2);
     // before PLL_Links_Model
     if (PLL_SETTINGS) {
         $polylang = new PLL_Settings($links_model);
     } elseif (PLL_ADMIN) {
         $polylang = new PLL_Admin($links_model);
     } elseif ($model->get_languages_list() && empty($_GET['deactivate-polylang'])) {
         $polylang = new PLL_Frontend($links_model);
     }
     if (!$model->get_languages_list()) {
         do_action('pll_no_language_defined');
         // to load overriden textdomains
     }
     if (!empty($polylang)) {
         require_once PLL_INC . '/api.php';
         // loads the API
         if (!defined('PLL_WPML_COMPAT') || PLL_WPML_COMPAT) {
             PLL_WPML_Compat::instance();
             // WPML API
             PLL_WPML_Config::instance();
             // wpml-config.xml
         }
         $polylang->init();
         do_action('pll_init', $polylang);
     }
 }