Пример #1
0
 /**
  * @param string $lookup
  * @param string $value
  * @param bool   $use_private
  *
  * @returns bool
  */
 public static function getLookupValue($lookup, &$value, $use_private = false)
 {
     if (empty($lookup)) {
         return false;
     }
     $_parts = explode('.', $lookup);
     if (count($_parts) > 1) {
         $_section = array_shift($_parts);
         $_lookup = implode('.', $_parts);
         if (!empty($_section)) {
             switch ($_section) {
                 case 'session':
                     switch ($_lookup) {
                         case 'id':
                         case 'token':
                             $value = static::getSessionToken();
                             return true;
                             //                            case 'ticket':
                             //                                $value = static::_generateTicket();
                             //
                             //                                return true;
                     }
                     break;
                 case 'user':
                 case 'role':
                     // get fields here
                     if (!empty($_lookup)) {
                         $info = static::get($_section);
                         if (isset($info, $info[$_lookup])) {
                             $value = $info[$_lookup];
                             return true;
                         }
                     }
                     break;
                 case 'app':
                     switch ($_lookup) {
                         case 'id':
                             $value = static::get('app.id');
                             return true;
                         case 'api_key':
                             $value = static::getApiKey();
                             return true;
                     }
                     break;
                 case 'df':
                     switch ($_lookup) {
                         case 'host_url':
                             $value = Curl::currentUrl(false, false);
                             return true;
                         case 'name':
                             $value = \Config::get('df.instance_name', gethostname());
                             return true;
                         case 'version':
                             $value = \Config::get('df.version');
                             return true;
                         case 'api_version':
                             $value = \Config::get('df.api_version');
                             return true;
                         case 'confirm_invite_url':
                             $value = url(\Config::get('df.confirm_invite_url'));
                             return true;
                         case 'confirm_register_url':
                             $value = url(\Config::get('df.confirm_register_url'));
                             return true;
                         case 'confirm_reset_url':
                             $value = url(\Config::get('df.confirm_reset_url'));
                             return true;
                     }
                     break;
             }
         }
     }
     $control = $use_private ? 'lookup_secret' : 'lookup';
     $lookups = static::get($control);
     if (isset($lookups, $lookups[$lookup])) {
         $value = $lookups[$lookup];
         return true;
     }
     return false;
 }