/** * */ 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; }
/** * @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); } } }
/** * 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); }