waContact - Zarządzanie kontaktami

Kontakt jest zapisem osoby lub organizacji w systemowym pamięci frameworku. Aby móc zarządzać lub pobierać informacje o kontakcie, musi zostać utworzona instancja klasy waContact, np:

Metody

add
Dodaje dodatkową wartość do określonej właściwości kontaktu.

addToCategory
Dodaje kontakt do podanej kategorii.

delete
Usuwa kontakt.

delSettings
Usuwa właściwość kontaktu, który należy do podanej aplikacji.

get
Zwraca wartość właściwości kontaktu.

getCache
Zwraca wartość właściwości kontaktu z pamięci podręcznej bez odwoływania się do bazy danych.

getFirst
Zwraca pierwszą wartość właściwości multiple kontaktu.

getId
Zwraca numeryczny identyfikator (id) kontaktu.

getLocale
Zwraca locale kontaktu.

getName
Uzyskaj nazwę kontaktu.

getPasswordHash
Zwraca hash hasła.

getPhoto
Zwróć adres URL zdjęcia kontaktu.

getPhotoUrl
Zwraca adres URL zdjęcia określonego kontaktu.

getRights
Zwraca informacje o uprawnieniach kontaktu.

getSettings
Zwraca właściwości kontaktu związane z określoną aplikacją.

getStatus
Zwraca status kontaktu użytkownika.

getTime
Zwraca aktualną datę i czas, uwzględniając ustawienia lokalne i strefę czasową kontaktu.

getTimezone
Zwraca strefę czasową kontaktu.

isAdmin
Zwraca, czy użytkownik-kontakt ma pełne prawa dostępu do całego backendu lub określonej aplikacji.

load
Zwraca pełne informacje o kontakcie zapisane w pamięci podręcznej.

save
Zapisuje informacje kontaktowe w bazie danych.

set
Ustawia wartość dla określonej właściwości kontaktu.

setPhoto
Dodaje obraz dla istniejącego kontaktu.

setRight
Ustawianie uprawnień dla kontaktu.

setSettings
Zapisuje ustawienia dla kontaktu w bazie danych dla określonej aplikacji.

validate
Sprawdza, czy wartości właściwości kontaktu są poprawne.




public function add ($field, $value)

Dodaje dodatkową wartość dla określonej właściwości kontaktu.

Parametry

$field
Nazwa właściwości.

$value
Wartość tej właściwości.

Przykład

$contact = new waContact();
$contact
->set('email', 'email1@domain.com');
$contact
->add('email', 'email2@domain.com');



public function addToCategory ($category_id)
Dodaje kontakt do podanej kategorii. Dotyczy tylko istniejących kontaktów zapisanych w bazie danych.


Parametry

$category_id
Wartość całkowita id kategorii lub wartość łańcuchowa (tylko dla kategorii systemowych), w której chcesz dodać kontakt.

Przykład

$contact = new waContact(1);
$contact
->addToCategory(12);
$contact
->addToCategory('blog');



public function delete()
Usuwa kontakt z bazy danych.

Przykład

$contact = new waContact(123);
$contact
->delete();



public function delSettings ($app_id, $name)
Usuwa właściwość kontaktu z bazy danych, która należy do określonej aplikacji.

Parametry

$app_id
Identyfikator aplikacji.

$name
Identyfikator łańcuchowy właściwości kontaktu.

Przykład

$contact = new waContact(1);
$contact
->delSettings('blog', 'nickname');



public function get ($field_id, $format = null)
Zwraca wartość właściwości kontaktu zgodnie z określonym formatem.

Parametry

$field_id
Identyfikator nieruchomości kontaktowej.

$format
Łańcuchowa notacja formatu, w którym ma zostać pobrana wartość właściwości. Ważne wartości:

  • default: wartość właściwości zwykłego tekstu; dla wielu pól zwracana jest pierwsza dostępna wartość właściwości kontaktu
  • value: prosta tekstowa wartość właściwości; dla wielu pól zwracana jest tablica istniejących wartości właściwości kontaktu
  • html: pełna wartość właściwości, która została sformatowana za pomocą HTML do wyświetlenia na stronie internetowej
  • js: prosta wartość właściwości tekstowej; w przypadku wielu pól zwracana jest tablica dostępnych wartości właściwości kontaktowych z następującymi elementami podstawowymi dla każdej wartości
    • value: wartość elementu pola wielokrotnego, sformatowana za pomocą narzędzi HTML do wyświetlenia na stronie internetowej
    • data: prosta wartość elementu pola wielokrotnego w postaci łańcucha lub tablicy

    Oprócz tych podstawowych elementów, każda podtablica zwróconego zbioru danych może zawierać inne elementy właściwe dla danego typu właściwości kontaktu


  • format nieokreślony: wartość właściwości w postaci zwykłego tekstu; w przypadku wielu pól zwracana jest tablica istniejących wartości właściwości kontaktu, z których każda podtablica zawiera element wartości z wartością właściwości w postaci zwykłego tekstu, a także inne elementy charakterystyczne dla danego typu właściwości kontaktu

Przykład

$contact = new waContact(123);
$contact
->get('name');


Wynik

Marek Tusk


Przykład

$contact = new waContact(123);
$contact
->get('email', 'value');


Wynik

Array
(
   
[0] => email1@domain.com
   
[1] => email2@domain.com
)


Przykład

$contact = new waContact(123);
$contact
->get('url', 'js');


Wynik

Array
(
   
[0] => Array
       
(
           
[value] => <a target="_blank" href="https://domain1.com">domain1.com</a>
            [ext] => work
            [data] => https://domain1.com
        )

    [1] => Array
        (
            [value] => <a target="_blank" href="https://domain2.com"><i class="icon16 new-window"></i></a>

           
[ext] => personal
           
[data] => https://domain2.com
       
)

)



public function getCache ($field_id = null, $old_value = false)
Zwraca wartość właściwości kontaktu z cache'u bez odwoływania się do bazy danych.

Parametry

$field_id
Identyfikator właściwości kontaktu. Jeśli nie jest określone, zwraca informacje o wszystkich właściwościach kontaktu.

$old_value
Flaga wskazująca, czy zwracać tylko wartości właściwości kontaktu pobrane z bazy danych, ignorując dynamicznie dodane wartości. Jeśli nie zostanie podana, domyślną wartością jest false - aby zwrócić zarówno wartości pobrane z bazy danych, jak i wartości dodane dynamicznie.

Przykład

//otrzymujemy i zapisujemy w pamięci podręcznej informacje o kontakcie z bazy danych
$contact
= new waContact(123);
// dynamicznie dodawać nowe wartości do pola 'email', które zawiera już pewne wartości zapisane w bazie danych
$contact
->add('email', 'extra1@domain.com');
$contact
->add('email', 'extra2@domain.com');
//pobieranie wartości pola 'email' z cache'u: zarówno pobieranych z bazy danych jak i dodawanych dynamicznie
$contact
->getCache('email');


Wynik

Array
(
   
[0] => Array
       
(
           
[value] => email1@domain.com
           
[ext] => work
           
[status] => unknown
       
)

   
[1] => Array
       
(
           
[value] => email2@domain.com
           
[ext] => personal
           
[status] => unknown
       
)

   
[2] => Array
       
(
           
[value] => extra1@domain.com
           
[ext] =>
           
[status] => unknown
       
)

   
[3] => Array
       
(
           
[value] => extra2@domain.com
           
[ext] =>
           
[status] => unknown
       
)


)


Przykład

$contact = new waContact(123);
$contact
->add('email', 'extra1@domain.com');
$contact
->add('email', 'extra2@domain.com');
//pobieramy z pamięci podręcznej wartości pola 'email': tylko te, które zostały pobrane z bazy danych
$contact
->getCache('email', true);


Wynik

Array
(
   
[0] => Array
       
(
           
[value] => email1@domain.com
           
[ext] => work
           
[status] => unknown
       
)

   
[1] => Array
       
(
           
[value] => email2@domain.com
           
[ext] => personal
           
[status] => unknown
       
)
)



public function getFirst ($field_id)
Zwraca pierwszą wartość właściwości wielokrotnego kontaktu.

Parametry

$field_id
Identyfikator właściwości kontaktu.

Przykład

$contact = new waContact(123);
$contact
->getFirst('email');


Wynik

Array
(
   
[value] => email1@domain.com
   
[ext] =>
   
[status] => unknown
)



public function getId()
Zwraca numeryczny identyfikator (id) kontaktu.

Przykład

$contact = new waContact(123);
$contact
->getId();


Wynik

123



public function getLocale()

Zwraca locale kontaktu.

Przykład

$contact = new waContact(123);
$contact
->getLocale();


Wynik

pl_PL



public function getName()
Zwraca nazwę (name) kontaktu.

Przykład

$contact = new waContact(123);
$contact
->getName();


Wynik

Katarzyna Fesnak



public static function getPasswordHash ($password)
Zwraca hash dla podanego hasła. Funkcja md5 jest domyślnie używana do generowania hash. Jeśli funkcja wa_password_hash jest zdefiniowana w pliku konfiguracyjnym wa-config/SystemConfig.class.php, to jest ona używana do generowania hasha.

Parametry

$password
Ciąg z hasłem.

Przykład

waContact::getPasswordHash('6-~Md>vW);[&_3ue')


Wynik

09e9f44d40c72f889769f0d548b4e405



public function getPhoto ($width = null, $height = null)
Zwraca adres URL zdjęcia kontaktu.

Parametry

$width
Szerokość obrazu. Postępuje w taki sam sposób jak metoda getPhotoUrl.

$height
Wysokość obrazu. Postępuje w taki sam sposób jak metoda getPhotoUrl.

Przykład

$contact = new waContact(); //tworzymy nowy kontakt — nie ma jeszcze zdjęcia
$contact
->getPhoto(); //w przypadku kontaktów bez zdjęcia zwracany jest domyślny adres URL awatara


Wynik

/wa-content/img/userpic96.jpg


Przykład

$contact = new waContact(123); //otrzymujemy informacje o istniejącym kontakcie
$contact
->getPhoto(); //otrzymujemy adres URL zdjęcia tego kontaktu


Wynik

/wa-data/public/contacts/photo/1/1343144519.96x96.jpg



public static function getPhotoUrl ($id, $ts, $width = null, $height = null)
Zwraca adres URL zdjęcia określonego kontaktu.

Parametry

$id
Identyfikator kontaktu.

$ts
Identyfikator zdjęcia - przechowywany we właściwości photo kontaktu; jeśli nie zostanie podany, zwrócony zostanie adres URL domyślnego awatara kontaktu.

$width
Szerokość obrazu. Dozwolona jest wartość całkowita lub identyfikator łańcuchowy original, który wskazuje, że powinien zostać zwrócony oryginalny obraz pobrany z komputera użytkownika dla określonego kontaktu. Jeśli nie zostanie podana, używana jest domyślna wartość 96.

$height
Wysokość obrazu. Dozwolone są wartości całkowite. Jeśli nie zostanie podana, zostanie użyta wartość całkowita określona dla parametru $width.

Przykład

waContact::getPhotoUrl(1, 1915140120, 'original')


Wynik

/wa-data/public/contacts/photo/1/1915140120.original.jpg



public function getRights ($app_id, $name = null, $assoc = true)
Zwraca informacje o prawach dostępu użytkownika-kontaktu.

Parametry

$app_id
Identyfikator aplikacji, której prawa dostępu chcesz uzyskać.

$name
Łańcuchowy identyfikator praw dostępu zdefiniowanych dla określonej aplikacji. Jeśli nie zostanie określone, metoda zwróci wszystkie wartości praw dostępu dla tego kontaktu. Jeżeli na końcu identyfikatora praw dostępu zostanie dodany symbol %, wartości praw dostępu dla tego identyfikatora zostaną pobrane jako tablica. Struktura tablicy jest tworzona w zależności od wartości parametru $assoc.

$assoc
Flaga używana do tworzenia tablicy wartości dla wielu praw dostępu:

  • true (wartość domyślna): jako klucze tablicy używane są identyfikatory pól z prawami dostępu włączonymi dla danego użytkownika, a jako wartości - liczba 1.
  • false: klucze tablicy są automatycznie numerowane od 0, a jako wartości elementów tablicy wykorzystywane są identyfikatory pól wielokrotnych praw dostępu włączonych dla danego użytkownika.

Przykład

$contact = new waContact(123);
$contact
->getRights('shop', 'orders');


Wynik

1


Przykład

$contact = new waContact(123);
$contact
->getRights('shop', 'type%');


Wynik

Array
(
   
[.1] => 1
   
[.2] => 1
)


Przykład

$contact = new waContact(123);
$contact
->getRights('shop', 'type%', false);


Wynik

Array
(
   
[0] => .1
   
[1] => .2
)



public function getSettings ($app_id, $name = null, $default = null)
Zwraca właściwości kontaktu odpowiednie dla podanej aplikacji.

Parametry

$app_id
Identyfikator kontaktu.

$name
Identyfikator właściwości. Jeżeli jest określony identyfikator, to metoda zwraca wartość takiej właściwości związanej z określoną aplikacją. Jeżeli metoda nie jest określona, to zwraca tablicę asocjacyjną z wartościami wszystkich właściwości kontaktów powiązanych z aplikacją.

$default
Wartość domyślna, zwracana w przypadku braku wartości dla określonej właściwości. Jeśli w parametrze $default nie podano identyfikatora właściwości, parametr ten jest ignorowany.


Przykład

$contact = new waContact(123);
$contact
->getSettings('blog');


Wynik

Array
(
   
[blog_last_datetime] => 2013-12-03 13:52:33
   
[type_items_count] => overdue:posts:comments
)


Przykład

$contact = new waContact(123);
$contact
->getSettings('blog', 'type_items_count');


Wynik

overdue:posts:comments



public function getStatus()
Zwraca status kontaktu użytkownika: "online" lub "offline".

Przykład

$contact = new waContact(123);
$contact
->getStatus();


Wynik

online



public function getTime()
Zwraca aktualną datę i czas, biorąc pod uwagę locale i strefę czasową kontaktu.

Przykład

$contact = new waContact(123);
$contact
->getTime();


Wynik

03.12.2021 13:58



public function getTimezone()
Zwraca strefę czasową kontaktu.

Przykład

$contact = new waContact(123);
$contact
->getTimezone();


Wynik

Europe/Warsaw



public function isAdmin ($app_id = 'wa')
Zwraca, czy użytkownik-kontakt ma pełny dostęp ('admin') do całego backendu lub określonej aplikacji.

Parametry

$app_id
Identyfikator aplikacji. Jeśli nie jest określone, metoda sprawdza prawa dostępu dla całego backendu.

Przykład

$contact = new waContact(123);
$contact
->isAdmin('blog');


Wynik

false // jeśli użytkownik nie ma dostępu do aplikacji "Blog" lub ma ograniczone prawa do tej aplikacji
//w przeciwnym razie metoda zwróci true



public function load ($format = false, $all = false)
Zwraca pełne informacje o kontakcie, przechowywane w pamięci podręcznej.

Parametry

$format
Identyfikator formatu opisany dla metody get.

$all
Flaga określająca czy uwzględniać pola oznaczone jako ukryte w liście zwracanych wartości w pliku wa-system/contact/data/fields.php.

Przykład

$contact = new waContact(123);
$contact
->load('js', true);



public function save ($data = array(), $validate = false)
Zapisuje informacje kontaktowe w bazie danych.

Parametry

$data
Tablica asocjacyjna wartości właściwości dla kontaktu.

$validate
Flaga wskazująca czy wartości powinny być walidowane czy nie. Domyślną wartością jest false.

Przykład

$contact = new waContact();
$contact
->set('name', 'Marek Tusk');
$contact
->save();



public function set ($field_id, $value, $add = false)
Ustawia wartość dla określonej właściwości kontaktu.

Parametry

$field_id
Identyfikator właściwości.

$value
Wartość tej właściwości.

$add
Flaga wskazująca, czy dodać wartość do istniejących wartości określonej właściwości wielokrotnej, czy też usunąć istniejące wartości i zastąpić je określoną wartością.

Przykład

$contact = new waContact();
$contact
->set('name', 'Marek Tusk');



public function setPhoto ($file)
Dodaje obraz dla istniejącego kontaktu.

Parametry

$file
Ścieżka do pliku obrazu.

Przykład

$contact = new waContact(123);
$contact
->setPhoto('path/to/imagefile.png');



public function setRight ($app_id, $name, $value)
Ustawia prawa dostępu dla kontaktu użytkownika. Jeżeli użytkownik ma uprawnienia administratora do określonej aplikacji, to próba zmiany uprawnień użytkownika przy pomocy tej metody zostanie zignorowana.

Parametry

$app_id
Identyfikator aplikacji, dla której mają być ustawione prawa dostępu.

$name
Identyfikator praw dostępu obsługiwanych przez określoną aplikację.

$value
Wartość praw dostępu.

Przykład

$contact = new waContact(123);
$contact
->setRight('shop', 'orders', 1);



public function setSettings ($app_id, $name, $value = null)
Zapisuje do bazy danych dowolne ustawienia kontaktów związanych z określoną aplikacją.

Parametry

$app_id
Identyfikator aplikacji, dla której ma być ustawiona właściwość kontaktu.

$name
Identyfikator właściwości.

$value
Wartość właściwości.

Przykład

$contact = new waContact(123);
$contact
->setSettings('shop', 'sidebar_width', 200);



public function validate ($data=array())
Sprawdza czy wartości właściwości kontaktu są poprawne i zwraca tablicę komunikatów o błędach.

Parametry

$data
Tablica właściwości kontaktu.

Przykład

$data = array(
 
'name'  => 'Marek Tusk',
 
'email' => 'domain.com' //załóżmy, że adres e-mail kontaktu jest nieprawidłowy
);
$contact
= new waContact();
$contact
->validate($data);


Wynik

Array
(
   
[email] => Array
       
(
           
[0] => Adres e-mail wpisany nieprawidłowo
       
)

)



Błąd w tekście? Zaznacz ją myszką i kliknij Ctrl + F1 lub kliknij na ten blok!