закрыть панель настроек

Здесь вы можете выбрать цветовую схему интерфейса и расположение элементов на странице просмотра снимка или альбома. Вы также можете отключить (или включить) некоторые второстепенные элементы интерфейса (карусели, тултипы и др.) или изменить их поведение.

Настройки интерфейса

  • Цвет интерфейса:

Настройки карусели

Вид страницы альбома

Вид страницы снимка

ActionScript в среде Flash на основе FishUp API

Организация поиска с доступом к персональным данным


Пожалуй, трудно переоценить возможность поиска необходимой информации для любого приложения. FishUp API позволяет организовывать поиск, используя методы search и/или select различных сервисов. При возможности рекомендуем использовать методы select.

Помимо уже известных нам методов: groups.group.select - для выборки групп и galleries.gobject.select – для выборки фотографий, FishUp API позволяет производить выборку пользователей с помощью метода accounts.user.select и выбирать комментарии к фотографиям галерей с помощью метода galleries.comment.select. Главное назначение методов select - выборка объектов соответствующей сущности по различным критериям, задаваемым в аргументе term.

Значение аргумента term - это строка, в которой, в общем случае, можно в различных сочетаниях использовать 2 вида критериев поиска:
1. Полнотекстовые критерии или критерии на вхождение подстроки в название объекта
2. Дополнительные критерии (поиск по значениям атрибутов)

В сервисах FishUp в методах select эти виды поиска могут быть поддержаны в различных сочетаниях. Например, в методе groups.group.select допустимы только критерии на вхождение подстроки в название группы и дополнительные критерии, а в методе galleries.comment.select доступны лишь дополнительные критерии. Ну, а метод galleries.gobject.select, наряду с широким набором дополнительных критериев поддерживает и полнотекстовые запросы.

Напомним, в листингах 11 и 14 из предыдущих примеров были использованы дополнительные критерии для метода galleries.gobject.select, это group_id – для поиска фотографий группы с указанным идентификатором и gallery_id – для поиска фотографий галерей с указанным идентификатором. Но это только маленькая толика всех возможных дополнительных критериев. Для метода galleries.gobject.select также можно производить поиск по фотографиям указанного сайта (site), по владельцу фотографий (user_id), по автору (author), по наименованию (title), по дате создания фотографий (dt_created) и т.д.

Здесь же может быть использован критерий поиска - scope (область поиска) который для метода galleries.gobject.select может принимать значения: my (фотографии текущего пользователя), myfav (избранные фотографии текущего пользователя) и new (новые). Для метода galleries.gobject.select, scope может принимать значения: all (все группы), my (группы в которых участвует пользователь), public (только публичные группы) и new (новые группы).

Метод galleries.gobject.select поддерживает полнотекстовый режим поиска, как по тегам (tags – по умолчанию), так и по тегам в сочетании с наименованием и описанием фотографий (text). Для указания режима поиска следует использовать аргумент mode.

Например, необходимо организовать полнотекстовый поиск по тегам, наименованию и описанию фотографий, при этом в случае наличия идентификатора пользователя (token) ограничить область поиск только для текущего пользователя (scope = my). См. листинг 15.


Листинг 15. использование galleries.gobject.select с возможными критериями поиска


function select(numPage:Number, numObjCnt:Number, strSelect:String, strTypeOrder:String)
{
    this.onResult = selectResults;
    var scope:String;
    if (_parent.token != undefined and _parent.token != null) {
       scope = " scope:my";
    } else {
       scope = "";
    }
    my_fishup.call("galleries.gobject.select", this,
       {
        term: strSelect + scope,
        mode: "text",
        rec_per_page: numObjCnt,
        page: numPage,
        orderby: strTypeOrder,
        token: _parent.token,
        columns: "CROP_HOR_FILE,LARGE_FILE,TITLE,AUTHOR,
                  OBJECT_CNT,VIEW_CNT,RATE"
       }
    );

};

В приведенном примере использован вспомогательный аргумент orderby - позволяющий сортировать выбранные данные.

Создадим Flash-приложение с возможностью полнотекстового поиска фотографий из FishUp, позволяя выбирать сортировку по дате создания (DT_CREATED DESC), рейтингу (RATE DESC) и просмотрам фотографий (VIEW_CNT DESC) с доступом к персональным данным (задача “F” - финальная). Отметим, что необязательное ключевое слово DESC позволяет определить направление сортировки - по убыванию (аналог SQL). Полный список доступных вариантов сортировки для каждого метода см. в документации FishUp API (PDF - 825 Кб).

FishUp API предоставляет целый набор методов позволяющих управлять персональными данными. Например, фотографии можно:
  • добавлять (galleries.gobject.add),
  • обновлять (galleries.gobject.update),
  • клонировать (galleries.gobject.clone),
  • перемещать (galleries.gobject.move),
  • удалять (galleries.gobject.delete),
  • присоединять (galleries.gobject.link)
  • и т.д.

Для нашего Flash-приложения поддержим один из методов - galleries.gobject.update (см. листинг 16 - фрагмент класса _gobject06.as).


Листинг 16. _gobject06.as (фрагмент)

function update(numID:Number, strTitle:String, numPos:Number) {
    this.onResult = updateResults;
    this.curPos = numPos;
    my_fishup.call("galleries.gobject.update", this,
       {
        token: _parent.token,
        id: numID,
        data: {TITLE: strTitle}
       }
   );

};
function updateResults(result){
    if (result.ERROR.ERRORCODE != 0) {
       this["item"+this.curPos].txt_title.text =
        this["item"+this.curPos].TITLE;
       _parent.txt_message.text = result.ERROR.MESSAGE;
    } else {
       this["item"+this.curPos].TITLE =
        this["item"+this.curPos].txt_title.text;
       _parent.txt_message.text = "Данные изменены!";
    }
};



Где в результате выполнения метода galleries.gobject.update предполагается замена наименования (TITLE) для фотографии с указанным идентификатором (id). На рис. 10, схематично показано решение по определению методов с привязкой к нашим классам.

Определение методов FishUp с привязкой к нашим классам (задача “F”)

Рис. 10.
Определение методов FishUp с привязкой к нашим классам (задача “F”)


Класс _gobject06.as еще можно усовершенствовать добавлением таких методов как - add, clone, move, delete и link.




Пример Flash-приложения





Формируя строку поиска можно использовать логическое ИЛИ (|), логическое НЕ (-), целые фразы, заключая их в кавычки и групповой символ (*).Подстановка символа “*” поддерживается только справа. Для получения доступа к персональным фотографиям требуется подтверждение подлинности (“Войти”).
Загрузить пример, (ZIP - 47 Кб).




Вместо резюме



Сервисы FishUp развиваются, появляются новые методы, совершенствуются существующие, однако уже сейчас FishUp API представляет собой мощное средство позволяющее создавать многофункциональные клиентские приложения, ориентированные на людей которых объединяет ФОТОГРАФИЯ!


Ссылки




Общая информация Персональный фотосайт Практические примеры Помощь
© 2006-2020 Фишап.
Все права защищены.
Версия: 1.9.7