Beispiel #1
0
 /**
  * Add a preference into the preference config.
  *
  * @param jPrefItem $preference the preference to add
  */
 public function addPreference($pref)
 {
     self::_loadIniModifier();
     $section = 'pref:' . $pref->id;
     self::$_ini->setValue('type', $pref->type, $section);
     self::$_ini->setValue('locale', $pref->locale, $section);
     self::$_ini->setValue('group', $pref->group, $section);
     self::$_ini->setValue('read_acl_subject', $pref->read_acl_subject, $section);
     self::$_ini->setValue('write_acl_subject', $pref->write_acl_subject, $section);
     self::$_ini->setValue('default_value', $pref->default_value, $section);
     self::$_ini->save(jApp::config()->chmodFile);
     if ($pref->value !== null) {
         jPref::set($pref->id, $pref->value);
     } elseif ($pref->default_value !== null) {
         jPref::set($pref->id, $pref->default_value);
     }
 }
 /**
  * 
  */
 public function reset()
 {
     $rep = $this->getResponse('redirect');
     $rep->action = 'jpref_admin~prefs:index';
     $id = $this->param('id', 0);
     $pref = jPrefManager::getPref($id);
     if (!$id || !$pref || empty($pref->default_value) && $pref->type != 'boolean') {
         return $rep;
     }
     if (!$pref->isWritable()) {
         jMessage::add(jLocale::get('jacl2~errors.action.right.needed'), 'error');
         return $rep;
     }
     $dvalue = $pref->default_value;
     if ($pref->type == 'integer') {
         $dvalue = (int) $dvalue;
     } elseif ($pref->type == 'decimal') {
         $dvalue = (double) $dvalue;
     } elseif ($pref->type == 'boolean') {
         if ($dvalue == 'false') {
             $dvalue = false;
         } else {
             if ($dvalue == 'true') {
                 $dvalue = true;
             }
         }
     }
     jPref::set($pref->id, $dvalue);
     jMessage::add(jLocale::get('jpref_admin~admin.message.pref.reseted'), 'notice');
     return $rep;
 }