jPrefManager::getPref PHP Метод

getPref() публичный статический Метод

public static getPref ( $pref_id, $get_pref_value = true )
    public static function getPref($pref_id, $get_pref_value = true)
    {
        $preferences = self::_getPrefFile();
        $item_key = 'pref:' . $pref_id;
        if (isset($preferences[$item_key])) {
            $ini_node = $preferences[$item_key];
            $p = new jPrefItem();
            $p->setFromIniNode($item_key, $ini_node);
            //current user doesnt have rights to read this pref
            if (!$p->isReadable()) {
                return null;
            }
            if ($get_pref_value) {
                $p->loadValue();
            }
            return $p;
        } else {
            return;
        }
    }

Usage Example

Пример #1
0
 /**
  * 
  */
 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;
 }