Пример #1
0
 /**
  * Gets a value of a specified entry at the current menu.
  * 
  * @param int|string|null $number     A number identifying the entry you're
  *     targeting. Can also be an ID or (in some menus) name. For menus where
  *     there are no entries (e.g. "/system identity"), you can specify NULL.
  * @param string          $value_name The name of the value you want to get.
  * 
  * @return string|null|bool The value of the specified property. If the
  *     property is not set, NULL will be returned. If no such entry exists,
  *     FALSE will be returned.
  */
 public function get($number, $value_name)
 {
     if (is_int($number) || (string) $number === (string) (int) $number) {
         $this->find();
         if (isset($this->idCache[(int) $number])) {
             $number = $this->idCache[(int) $number];
         } else {
             return false;
         }
     }
     $request = new Request($this->menu . '/print');
     if (null !== $number) {
         $number = (string) $number;
         $request->setQuery(Query::where('.id', $number)->orWhere('name', $number));
     }
     $request->setArgument('.proplist', $value_name);
     $responses = $this->client->sendSync($request)->getAllOfType(Response::TYPE_DATA);
     if (0 === count($responses)) {
         return false;
     }
     return $responses->getArgument($value_name);
 }