Seditio Source
Root |
./othercms/Just-CMS v1.3.2 Valentina/plugins/i18n_base/basic.class.php
<?php

class I18nBasic {
 
  static
$settings = null;
 
  public static function
getProperty($name, $default = null) {
    if (
self::$settings == null) self::loadSettings();
    return isset(
self::$settings[$name]) ? self::$settings[$name] : $default;
  }
 
  public static function
setProperty($name, $value) {
   
self::setProperties(array($name => $value));
  }
 
  public static function
setProperties($properties) {
    if (
self::$settings == null) self::loadSettings();
    foreach (
$properties as $key => $value) self::$settings[$key] = (string) $value;
   
self::saveSettings();
  }
 
  public static function
addUrlsToIgnore($pattern) {
   
$patterns = preg_split('/\|/', self::getProperty(I18N_PROP_URLS_TO_IGNORE, ''));
    if (!
in_array($pattern, $patterns)) $patterns[] = $pattern;
   
self::setProperty(I18N_PROP_URLS_TO_IGNORE, implode('|', $patterns));
  }
 
  public static function
removeUrlsToIgnore($pattern) {
   
$patterns = preg_split('/\|/', self::getProperty(I18N_PROP_URLS_TO_IGNORE, ''));
   
$patterns = array_diff($patterns, array($pattern));
   
self::setProperty(I18N_PROP_URLS_TO_IGNORE, implode('|', $patterns));
  }

  private static function
loadSettings() {
   
self::$settings = array();
    if (
file_exists(GSDATAOTHERPATH . I18N_SETTINGS_FILE)) {
     
$data = getXML(GSDATAOTHERPATH . I18N_SETTINGS_FILE);
      foreach (
$data->children() as $child) self::$settings[$child->getName()] = (string) $child;
    }
  }
 
  private static function
saveSettings() {
   
$data = @new SimpleXMLExtended('<?xml version="1.0" encoding="UTF-8"?><settings></settings>');
    foreach (
self::$settings as $key => $value) {
      if (
$value != null) {
       
$data->addChild($key)->addCData((string) $value);
      }
    }
   
XMLsave($data, GSDATAOTHERPATH . I18N_SETTINGS_FILE);
  }
 
}