/**
  * 
  */
 public static function getAllPreferences($get_prefs_values = true)
 {
     $preferences = self::_getPrefFile();
     $prefs = array();
     $nogroup = new jPrefItemGroup();
     $nogroup->id = '__nogroup';
     $nogroup->locale = 'jpref~prefs.group.others';
     foreach ($preferences as $item_key => $item) {
         if (substr($item_key, 0, 5) == 'group') {
             $g = new jPrefItemGroup();
             $g->setFromIniNode($item_key, $item);
             $prefs[$g->id] = $g;
         } else {
             if (substr($item_key, 0, 4) == 'pref') {
                 $p = new jPrefItem();
                 $p->setFromIniNode($item_key, $item);
                 //current user doesnt have rights to read this pref
                 if (!$p->isReadable()) {
                     continue;
                 }
                 if ($get_prefs_values) {
                     $p->loadValue();
                 }
                 if (!empty($p->group)) {
                     $prefs[$p->group]->prefs[] = $p;
                 } else {
                     $nogroup->prefs[] = $p;
                 }
             }
         }
     }
     usort($prefs, 'jPrefItem::compareGroup');
     if (count($nogroup->prefs) > 0) {
         $prefs['__nogroup'] = $nogroup;
     }
     return $prefs;
 }
Exemple #2
0
 /**
  * @since 1.6.5
  */
 public static function importFromIni($iniFile)
 {
     $ini = jIniFile::read($iniFile);
     if ($ini === false) {
         throw new Exception('Bad ini file: ' . basename($iniFile));
     }
     foreach ($ini as $section => $node) {
         if (strpos($section, 'pref:') === 0) {
             $p = new jPrefItem();
             $p->setFromIniNode($section, $node);
             self::addPreference($p);
         } elseif (strpos($section, 'group:') === 0) {
             $p = new jPrefItemGroup();
             $p->setFromIniNode($section, $node);
             self::addGroup($p);
         }
     }
 }
Exemple #3
0
 /**
  * Compare 2 group.
  *
  * @param jPrefItemGroup $a the first group
  * @param jPrefItemGroup $b the second group
  *
  * @deprecated 1.7.0
  */
 public static function compareGroup($a, $b)
 {
     return jPrefItemGroup::compareGroup($a, $b);
 }