예제 #1
0
파일: eurl.php 프로젝트: KonzolozZ/e107
 public function ConfigObserver()
 {
     if (isset($_POST['update'])) {
         $config = is_array($_POST['eurl_config']) ? e107::getParser()->post_toForm($_POST['eurl_config']) : '';
         $modules = eRouter::adminReadModules();
         $locations = eRouter::adminBuildLocations($modules);
         $aliases = eRouter::adminSyncAliases(e107::getPref('url_aliases'), $config);
         e107::getConfig()->set('url_aliases', $aliases)->set('url_config', $config)->set('url_modules', $modules)->set('url_locations', $locations)->save();
         eRouter::clearCache();
     }
 }
예제 #2
0
 /**
  * Rebuild URL configuration values
  * Note - new core system pref values will be set, but not saved
  * e107::getConfig()->save() is required outside after execution of this method 
  * @return void
  */
 public function rebuildUrlConfig()
 {
     $modules = eRouter::adminReadModules();
     // get all available locations, non installed plugins will be ignored
     $config = eRouter::adminBuildConfig(e107::getPref('url_config'), $modules);
     // merge with current config
     $locations = eRouter::adminBuildLocations($modules);
     // rebuild locations pref
     $aliases = eRouter::adminSyncAliases(e107::getPref('url_aliases'), $config);
     // rebuild aliases
     // set new values, changes should be saved outside this methods
     e107::getConfig()->set('url_aliases', $aliases)->set('url_config', $config)->set('url_modules', $modules)->set('url_locations', $locations);
     eRouter::clearCache();
 }