Re: вопрос по функциям CGPL

От: Dmitry Akindinov <CGatePro_at_mx_ru>
Дата: Tue 22 May 2007 - 16:47:59 MSD

Здравствуйте,

Samarit wrote:

> Dmitry Akindinov wrote:

>> Hello,
>>
>> Samarit wrote:
>>> Dmitry Akindinov wrote:
>>>> Здравствуйте,
>>>>
>>>> Samarit wrote:
>>>>> Samarit wrote:
>>>>>> Здравствуйте,
>>>>>>
>>>>>> подскажите пожалуйста про функцию GetAccountPreferences - что она
>>>>>> должна возвращать и в каком формате? пробую ее как написано в
>>>>>> хелпе, а она вроде ничего не выдает.
>>>>>>
>>>>> с GetAccountPreferences понял.
>>>>>
>>>>>> Нашел еще пару функций GetAccountSettings и GetAccountInfo - про
>>>>>> них почему то не написано в документации.
>>>>>> Если я правильно понимаю:
>>>>>> GetAccountInfo - возвращает параметры из account.info
>>>>>> GetAccountSettings - возвращает параметры из account.settings
>>>>>> Можно ли GetAccountInfo получить данные из другого аккаунта?
>>>>>> Пробовал:
>>>>>> GetAccountInfo("~" + address + "/parameter") - не получается.
>>>>>
>>>>> а вот с GetAccountInfo все-таки можно или нет данные другого
>>>>> аккаунта вытащить?
>>>>
>>>> А какие данные? Поразумевается, что вызова GetaccountPreferences
>>>> должно быть достаточно.
>>> Пробовал к примеру параметр LastLogin: GetAccountInfo - выдает (для
>>> текущего аккаунта), GetAccountPreferences - нет.
>>
>>> GetAccountPreferences - выдает то,что есть в закладке Preferences для
>>> данного аккаунта (как я понял).
>>> Задумка была такая: ввести свой собственный параметр в account.info,
>>> значение которого можно получить при помощи какой-либо функции в
>>> скрипте CGPL.
>>
>> Get/SetAccountPreferences для этого отлично подходит.
>>
>>> Значение параметра - переменная типа string в кодировке cp1251.
>>
>> Все должно бытьв utf-8.
>>
>>> Сначала подумалось сделать его как системный параметр CGP, но они
>>> хранятся в account.settings в utf-8 и при любом update данных
>>> аккаунта переписываются в "???".
>>
>> Поясните? При каком способе обновления данных аккаунта все
>> перезаписывается в ???
>>
> Поясню, что хотелось сделать: нужно во внешнее приложение передать 
> параметр аккаунта, но приложение понимает по-русски только в кодировке 
> cp1251. Первая мысль была ввести свой собственный системный параметр для 
> аккаунтов, приписать ему значение через CLI командой 
> UPDATEACCOUNTSETTINGS в cp1251. Все хорошо, но через административный 
> веб-интерфейс параметр виден как "???" (логично так как CGP ожидает там 
> utf-8) и при любом изменении установок аккаунта через веб эти "???" так 
> и записываются обратно в файл account.settings (так наверно и должно 
> быть). Вторая мысль была хранить параметр в account.info, т.е. так же 
> приписать ему значение через CLI командой UPDATEACCOUNTINFO в cp1251. 
> Так как этот параметр недоступен напрямую через веб, то он и не 
> портится. Вот только непонятно теперь как его можно вытянуть в скрипте 
> CGPL: GetAccountPreferences его не берет, так как имеет доступ "только к 
> той части, которая предусмотрена для хранения настроек интерфейса", a 
> GetAccountInfo похоже действует только для текущего аккаунта 
> (Impersonate не подойдет).
> Видимо моя идея изначально было неудачная :).

Да уж.

Правильный подход - хранить в utf-8, а непосредственно перед скармливанием внешнему приложению - переводить в нужную кодировку.

>>> В account.info значение не переделываются, но непонятно какой
>>> функцией эту переменную можно было бы получить.
>>> А GetAccountPreferences должна иметь доступ ко всем параметрам в
>>> account.info?
>>
>> Нет. Только к той части, которая предусмотрена для хранения настроек
>> интерфейса.
>>
>>>> А вызов GetAccountInfo отсутствует в документации совсем неспроста.
>>>> В следующих версиях он может просто исчезнуть или способ его вызова
>>>> и смысл параметров могут сильно измениться.
>>>>
>>>> По сути вопроса - можно сделать Impersonate на интересующий аккаунт
>>>> и там уже - GetAccountInfo. Сделать Impersonate обратно в аккаунт с
>>>> правами уже не получится.
>

-- 
Best regards,
Dmitry Akindinov
Получено Tue May 22 12:48:03 2007

Этот архив был сгенерирован hypermail 2.1.8 : Fri 24 Apr 2015 - 16:15:38 MSK