Example #1
0
 /**
  * Install Caches
  *
  * @return void
  */
 public function install_caches()
 {
     //-----------------------------------------
     // INIT
     //-----------------------------------------
     $this->settings['base_url'] = IPSSetUp::getSavedData('install_url');
     $this->settings['ipb_reg_number'] = IPSSetUp::getSavedData('lkey');
     $previous = $_REQUEST['previous'];
     //-----------------------------------------
     // Fetch next 'un
     //-----------------------------------------
     $next = IPSSetUp::fetchNextApplication($previous, '', $this->settings['gb_char_set']);
     /* Set up DB driver */
     $extra_install = $this->_setUpDBDriver(FALSE);
     //-----------------------------------------
     // Install SYSTEM Templates on first cycle
     //-----------------------------------------
     if (!$previous) {
         //-----------------------------------------
         // Global caches...
         //-----------------------------------------
         # Grab cache master file
         require_once IPS_ROOT_PATH . 'extensions/coreVariables.php';
         /*noLibHook*/
         /* Add handle */
         $_tmp = new coreVariables();
         $_cache = $_tmp->fetchCaches();
         $CACHE = $_cache['caches'];
         //-----------------------------------------
         // Adjust the table?
         //-----------------------------------------
         if ($extra_install and method_exists($extra_install, 'before_inserts_run')) {
             $q = $extra_install->before_inserts_run('caches');
         }
         //-----------------------------------------
         // Continue
         //-----------------------------------------
         if (is_array($CACHE)) {
             foreach ($CACHE as $cs_key => $cs_data) {
                 $output[] = "Обновление {$cs_key}...";
                 ipsRegistry::cache()->rebuildCache($cs_key, 'global');
             }
         }
         //-------------------------------------------------------------
         // Systemvars
         //-------------------------------------------------------------
         $output[] = "Обновление кеша системных переменных";
         $cache = array('mail_queue' => 0, 'task_next_run' => time() + 3600);
         ipsRegistry::cache()->setCache('systemvars', $cache, array('array' => 1));
         //-------------------------------------------------------------
         // Stats
         //-------------------------------------------------------------
         $output[] = "Обновление кеша статистики";
         $cache = array('total_replies' => 0, 'total_topics' => 1, 'mem_count' => 1, 'last_mem_name' => IPSSetUp::getSavedData('admin_user'), 'last_mem_id' => 1);
         ipsRegistry::cache()->setCache('stats', $cache, array('array' => 1));
         //-----------------------------------------
         // Adjust the table?
         //-----------------------------------------
         if ($extra_install and method_exists($extra_install, 'after_inserts_run')) {
             $q = $extra_install->after_inserts_run('caches');
         }
         $output[] = "Все кеши обновлены";
         //-----------------------------------------
         // Recache skins: Moved here so they are
         // build after hooks are added
         //-----------------------------------------
         /* Load skin classes */
         require_once IPS_ROOT_PATH . 'sources/classes/skins/skinFunctions.php';
         /*noLibHook*/
         require_once IPS_ROOT_PATH . 'sources/classes/skins/skinCaching.php';
         /*noLibHook*/
         require_once IPS_ROOT_PATH . 'sources/classes/skins/skinImportExport.php';
         /*noLibHook*/
         $skinFunctions = new skinImportExport($this->registry);
         /* Grab skin data */
         $this->DB->build(array('select' => '*', 'from' => 'skin_collections'));
         $this->DB->execute();
         while ($row = $this->DB->fetch()) {
             /* Bit of jiggery pokery... */
             if ($row['set_key'] == 'default') {
                 $row['set_key'] = 'root';
                 $row['set_id'] = 0;
             }
             $skinSets[$row['set_key']] = $row;
         }
         foreach ($skinSets as $skinKey => $skinData) {
             /* Bit of jiggery pokery... */
             if ($skinData['set_key'] == 'root') {
                 $skinData['set_key'] = 'default';
                 $skinData['set_id'] = 1;
                 $skinKey = 'default';
             }
             $skinFunctions->rebuildPHPTemplates($skinData['set_id']);
             if ($skinFunctions->fetchErrorMessages() !== FALSE) {
                 $this->registry->output->addWarning(implode("<br />", $skinFunctions->fetchErrorMessages()));
             }
             $skinFunctions->rebuildCSS($skinData['set_id']);
             if ($skinFunctions->fetchErrorMessages() !== FALSE) {
                 $this->registry->output->addWarning(implode("<br />", $skinFunctions->fetchErrorMessages()));
             }
             $skinFunctions->rebuildReplacementsCache($skinData['set_id']);
             if ($skinFunctions->fetchErrorMessages() !== FALSE) {
                 $this->registry->output->addWarning(implode("<br />", $skinFunctions->fetchErrorMessages()));
             }
         }
         $skinFunctions->rebuildSkinSetsCache();
         $output[] = "Кеш стиля обновлен";
         /* Rebuild FURL & GLOBAL caches */
         try {
             IPSLib::cacheFurlTemplates();
             IPSLib::cacheGlobalCaches();
         } catch (Exception $error) {
         }
     }
     //-----------------------------------------
     // Now install other caches
     //-----------------------------------------
     if ($next['key']) {
         $_PATH = IPSLib::getAppDir($next['key']) . '/extensions/';
         if (is_file($_PATH . 'coreVariables.php')) {
             //-----------------------------------------
             // Adjust the table?
             //-----------------------------------------
             if ($extra_install and method_exists($extra_install, 'before_inserts_run')) {
                 $q = $extra_install->before_inserts_run('caches');
             }
             # Grab cache master file
             require_once $_PATH . 'coreVariables.php';
             /*noLibHook*/
             if (is_array($CACHE)) {
                 foreach ($CACHE as $cs_key => $cs_data) {
                     $output[] = $next['title'] . ": Обновление {$cs_key}...";
                     ipsRegistry::cache()->rebuildCache($cs_key, $next['key']);
                 }
             } else {
                 $output[] = $next['title'] . ": Нет кешей для обновления...";
             }
             //-----------------------------------------
             // Adjust the table?
             //-----------------------------------------
             if ($extra_install and method_exists($extra_install, 'after_inserts_run')) {
                 $q = $extra_install->after_inserts_run('caches');
             }
         } else {
             $output[] = $next['title'] . ": Нет кешей для обновления...";
         }
         //-----------------------------------------
         // Done.. so get some more!
         //-----------------------------------------
         $this->_finishStep($output, "Установка: кеш", 'install&do=caches&previous=' . $next['key']);
     } else {
         $this->_finishStep($output, "Установка: кеш", 'done');
     }
 }
Example #2
0
 /**
  * Install Caches
  *
  * @return void
  */
 public function install_caches()
 {
     //-----------------------------------------
     // INIT
     //-----------------------------------------
     $this->settings['base_url'] = IPSSetUp::getSavedData('install_url');
     $previous = $_REQUEST['previous'];
     //-----------------------------------------
     // Fetch next 'un
     //-----------------------------------------
     $next = IPSSetUp::fetchNextApplication($previous, '', $this->settings['gb_char_set']);
     //-----------------------------------------
     // Install SYSTEM Templates
     //-----------------------------------------
     if ($next['key']) {
         $_PATH = IPSLib::getAppDir($next['key']) . '/extensions/';
         if (is_file($_PATH . 'coreVariables.php')) {
             # Grab cache master file
             $CACHE = array();
             require_once $_PATH . 'coreVariables.php';
             /*noLibHook*/
             if (is_array($CACHE) && count($CACHE)) {
                 foreach ($CACHE as $cs_key => $cs_data) {
                     if (empty($cs_data['skip_rebuild_when_upgrading'])) {
                         $output[] = $next['title'] . ": Обновление {$cs_key}...";
                         ipsRegistry::cache()->rebuildCache($cs_key, $next['key']);
                     }
                 }
             } else {
                 $output[] = $next['title'] . ": Нет кешей для обновления";
             }
         } else {
             $output[] = $next['title'] . ": Нет кешей для обновления";
         }
         //-----------------------------------------
         // Done.. so get some more!
         //-----------------------------------------
         $this->_finishStep($output, "Обновление: Кеш", 'upgrade&do=caches&previous=' . $next['key']);
     } else {
         //-----------------------------------------
         // Global caches...
         //-----------------------------------------
         # Grab cache master file
         require_once IPS_ROOT_PATH . 'extensions/coreVariables.php';
         /*noLibHook*/
         /* Add handle */
         $_tmp = new coreVariables();
         $_cache = $_tmp->fetchCaches();
         $CACHE = $_cache['caches'];
         //-----------------------------------------
         // Continue
         //-----------------------------------------
         if (is_array($CACHE)) {
             foreach ($CACHE as $cs_key => $cs_data) {
                 if (empty($cs_data['skip_rebuild_when_upgrading'])) {
                     $output[] = "Обновление {$cs_key}...";
                     ipsRegistry::cache()->rebuildCache($cs_key, 'global');
                 }
             }
         }
         //-------------------------------------------------------------
         // Systemvars
         //-------------------------------------------------------------
         $output[] = "Обновление кеша системных переменных";
         $cache = ipsRegistry::cache()->getCache('systemvars');
         $cache['task_next_run'] = time() + 3600;
         $cache['mail_queue'] = 0;
         ipsRegistry::cache()->setCache('systemvars', $cache, array('array' => 1));
         /* Reset IPSNews cache */
         ipsRegistry::cache()->setCache('ipsNewsData', array(), array('array' => 1));
         //-----------------------------------------
         // Output
         //-----------------------------------------
         $output[] = "Весь кеш обновлен";
         $this->_finishStep($output, "Обновление: Кеш", 'upgrade&do=templatecache');
     }
 }
 /**
  * Install Caches
  *
  * @return void
  */
 public function install_caches()
 {
     //-----------------------------------------
     // INIT
     //-----------------------------------------
     $this->settings['base_url'] = IPSSetUp::getSavedData('install_url');
     $previous = $_REQUEST['previous'];
     //-----------------------------------------
     // Fetch next 'un
     //-----------------------------------------
     $next = IPSSetUp::fetchNextApplication($previous);
     //-----------------------------------------
     // Install SYSTEM Templates
     //-----------------------------------------
     if ($next['key']) {
         $_PATH = IPS_ROOT_PATH . 'applications/' . $next['key'] . '/extensions/';
         if (file_exists($_PATH . 'coreVariables.php')) {
             # Grab cache master file
             require_once $_PATH . 'coreVariables.php';
             if (is_array($CACHE)) {
                 foreach ($CACHE as $cs_key => $cs_data) {
                     $output[] = $next['title'] . ": Building {$cs_key}...";
                     ipsRegistry::cache()->rebuildCache($cs_key, $next['key']);
                 }
             } else {
                 $output[] = $next['title'] . ": No caches to build...";
             }
         } else {
             $output[] = $next['title'] . ": No caches to build...";
         }
         //-----------------------------------------
         // Done.. so get some more!
         //-----------------------------------------
         $this->_finishStep($output, "Upgrade: Caches", 'upgrade&do=caches&previous=' . $next['key']);
     } else {
         //-----------------------------------------
         // Global caches...
         //-----------------------------------------
         # Grab cache master file
         require_once IPS_ROOT_PATH . 'extensions/coreVariables.php';
         /* Add handle */
         $_tmp = new coreVariables();
         $_cache = $_tmp->fetchCaches();
         $CACHE = $_cache['caches'];
         //-----------------------------------------
         // Continue
         //-----------------------------------------
         if (is_array($CACHE)) {
             foreach ($CACHE as $cs_key => $cs_data) {
                 $output[] = "System Building {$cs_key}...";
                 ipsRegistry::cache()->rebuildCache($cs_key, 'global');
             }
         }
         //-------------------------------------------------------------
         // Systemvars
         //-------------------------------------------------------------
         $output[] = "Rebuilding system variables cache...";
         $cache = array('mail_queue' => 0, 'task_next_run' => time() + 3600);
         ipsRegistry::cache()->setCache('systemvars', $cache, array('array' => 1, 'deletefirst' => 1));
         $output[] = "Global: All caches upgraded";
         $this->_finishStep($output, "Upgrade: Caches", 'upgrade&do=templatecache');
     }
 }