PDA

Zobacz pełną wersję : Integracja w drugą stronę ...



Aleksander28
06-02-2007, 10:33
Witajcie mam pytanie.
Chce do napisanych swoich skryptow php dodac kontrole uzytkownikow oparta na kontach juz zalozonych w joomli.

Czy da sie wymusic w zewnetrzym serwisie ale opartym o te same lokacje (foldery) logowanie / rejestracje userow?

Czy da sie aby dana grupa nie miala dostepu do danego skryptu?

Jak sprawdzic czy user jest zalogowany? czy nalezy do danej grupy?

Macie jakies sugestie? synatxy? jakie funkcje za to odpowiadaja?

Pozdrawiam
Aleksander

stone
06-02-2007, 20:40
Dane o użytkowniku masz w zmiennej $my, np $my->username

nexus246
07-02-2007, 11:08
Ale $my instnieje w kontekście skryptu joomli a nie zewnętrznych skryptach.

Generalnie to o czym piszesz nie jest specjalnie trudne. Obejrzyj sobie includes/joomla.php - są tam funkcje od autentykacji użytkownika, jeśli chodzi o rejestrację to też możesz sobie skopiować phpze skryptów joomli.

Ewentualnie spróbuj includować skrypty joomli zależnie od tego co potrzebujesz.

Aleksander28
07-02-2007, 17:38
Oki zobacze. Chcialem dolaczyc w pewien wolny sposob Joomle z swoim dzialem download i wymusic kontrole uzytkownikow w tym dodatku.

Plan mam taki, ze gosc sie loguje do Joomli i w zaleznosci od uprawnien (grupa) ma np prawa do dzialu download ktory jest calkiem niezalezym skryptem - moim od podstaw napisanym.

Pozdrawiam
Aleksander

Aleksander28
09-02-2007, 09:08
Nie jest to takie 'hop siup' :)

Zrobilem na poczatek:

// Set flag that this is a parent file
define( '_VALID_MOS', 1 );

require( '../globals.php' );
require_once( '../configuration.php' );
require_once( $mosConfig_absolute_path . '/includes/joomla.php' );

//Installation sub folder check, removed for work with SVN
if (file_exists( $mosConfig_absolute_path . 'installation/index.php' ) && $_VERSION->SVN == 0) {
define( '_INSTALL_CHECK', 1 );
include ( $mosConfig_absolute_path .'/offline.php');
exit();
}

// displays offline/maintanance page or bar
if ($mosConfig_offline == 1) {
require( $mosConfig_absolute_path .'/offline.php' );
}

// mainframe is an API workhorse, lots of 'core' interaction routines
$mainframe = new mosMainFrame( $database, $option, '.' );
$mainframe->initSession();

Dzieki temu mam dostep do funkcji Joomli i zabezpieczenie ze jak wylacze www to caly.

Teraz pytanie moze ktos z Was zna skladnie jak zrobic takie rzeczy:

a. sprawdzanie zalogowanego uzytkownika (co taka funkcja zwraca?),
b. sprawdzanie do jakiej grupy nalezy? (czy to dziala tez na adminow czy oni maja oddzielne sesje?),
c. ... to sie wyswietli temu, a to tamtemu ... jak to zrobic?

Pozdrawiam
Aleksander

stone
12-02-2007, 22:49
a. tu wracamy ro zmiennej $my gdzie masz właściwie wszystkie dane z tabeli użytkownika
b. powinno dać się także przez $my
c. chodzi Ci o indywidualne zachowania czy grupy?

Aleksander28
13-02-2007, 07:32
a. tu wracamy ro zmiennej $my gdzie masz właściwie wszystkie dane z tabeli użytkownika
b. powinno dać się także przez $my
c. chodzi Ci o indywidualne zachowania czy grupy?

ad a,b: sprobuje cos pokombinowac z ta zmienna $my .. gdybym mial chociaz jakis przyklad (np. jak sprawdzic kto jest zalogowany),

ad c: grupy.

plan mam taki.
plik glowny dla wszystkich (zarejestrowanych czy nie) do tego jak zarejestruje sie jakis user ma includowany plik z dodatkowyi opcjami, jak admin z pelnymi... to po chlopsku wytlumaczone :) mam nadzieje ze udalo mi sie wyjasnic.

Tutaj pracuje nad specjalistycznym downloadem. Musi byc oparty o kontrole uzytkownikow i grup. Wstepnie mialo to byc oparte o baze forum SMF - tu fakt byloby to dosc proste. Chlopaki z SMF mi wysztko wyjasnili i dziala. Jednak ze wzgledu na to, ze podjalem decyzje o nie uzywaniu forum a ze serwis mam na joomli (na marginesie najlepszy cms :) - pisalem z niego prace koncowa na studiach.) i teraz skrypt forum przewiduje samodzielna publikacje (ftp) jednakze nie kazdy ma miec do tego dostep - dlatego robie te kombincje. Oprzec uprawnienia np na wybranej grupie z joomli (jak nie to dodac - swoja) dodatkowo kontorlowac kto jest zalogowany.

Dzialam nadal
Pozdrawiam
Aleksander

stone
13-02-2007, 21:40
Co do a i b to przykładów masz całą pasę, przeszukaj tylko pliki Joomli :)
Co do c to joomla, jak pewnie wiesz oferuje dosyć ubogi wybór grup co może Ci utrudnić. Zobacz na komponenty rozszerzające możliwości zarządzania grupami np JACL http://www.joomlart.com