PDA

Zobacz pełną wersję : weryfikacja użytkownika



pkrol
13-08-2009, 12:35
Witam, mam pewien problem. Posiadam komponent, który sam stworzyłem i potrzebuję go teraz dostosować do JOOMLA 1.5.x.
W jaki sposób można zweryfikować czy użytkownik jest super adminem??
Dotychczas miałem taki kod:


global $my;
echo $typ = $my->usertype;

if($typ != "Super Administrator") {
$this->blad('<br><br>musisz sie zalogowac');
return false;
}

domyślam się, że w nowej JOOMLI nie co się pozmieniało. Czy ktoś mógłby mi pomóc??

Jola
13-08-2009, 21:35
Witam,

$user =& JFactory::getUser();
if ($user->get('gid') != 25)
{...tutaj Twoja reakcja na nie-superadmina....}Pozdrawiam

pkrol
13-08-2009, 22:54
function wyniki_edycja($sciezka, $kolejka, $adres, $akcja, $plik, $rodzaj) {
global $my;
echo $typ = $my->usertype;
$user =& JFactory::getUser();
if ($user->get('gid') != 63 or $user->get('gid') != 62 or $user->get('gid') != 64) {
$this->blad('<br><br>musisz sie zalogowac');
return false;
}

$this->sciezka["terminarz'] = $sciezka . "terminarz.dat";
$this->sciezka['play_off'] = $sciezka.'play-off.dat';
$this->sciezka['terminy'] = $sciezka.'terminy.dat';
$this->sciezka['druzyny'] = $sciezka.'druzyny.dat';
$this->sciezka['dane'] = $sciezka.'_dane.dat';

$this->pobierz_dane();

if($tabele != '') $this->dane['tabele'] = $tabele; else $this->dane['tabele'] = 'wszystkie';
$this->dane['akcja'] = $akcja;
$this->dane['plik'] = $plik;
$this->dane['sciezka'] = $sciezka;
$this->dane['adres'] = $adres;
$this->dane['rodzaj'] = $rodzaj;

if($this->dane['rodzaj'] == 1) $adresik = $this->dane['adres'].$this->dane['kolejka'];
if($this->dane['rodzaj'] == 2) $adresik = $this->dane['adres'];
$this->dokument .= '<p align="center">'."\n".
' <a href="'.$adresik.'">[powrót]</a><br>'."\n".
' <a href="'.$adresik.'&amp;akcja=zasadnicza">[wyniki]</a> -'."\n".
' <a href="'.$adresik.'&amp;akcja=play_off">[play-off]</a> -'."\n".
' <a href="'.$adresik.'&amp;akcja=nazwy_druzyn">[drużyny]</a> -'."\n".
' <a href="'.$adresik.'&amp;akcja=plik_z_danymi&amp;plik=dane">[p. danych]</a> -'."\n".
' <a href="'.$adresik.'&amp;akcja=plik_z_danymi&amp;plik=druzyny">[p. druzyn]</a> -'."\n".
' <a href="'.$adresik.'&amp;akcja=plik_z_danymi&amp;plik=terminarz">[p. terminarza]</a> -'."\n".
' <a href="'.$adresik.'&amp;akcja=plik_z_danymi&amp;plik=play_off">[p. play-off]</a> -'."\n".
' <a href="'.$adresik.'&amp;akcja=plik_z_danymi&amp;plik=terminy">[p.&nbsp;terminów]</a>'."\n".
'</p>'."\n";


if($kolejka) $this->dane['kolejka'] = $kolejka; else $this->dane['kolejka'] = $this->dane['kolejka_plik'];

# przypisywanie nazw druzyn
if(!$nazwy =@ file($this->sciezka['druzyny'])) $this->blad('we - nie ma pliku z druzynami');
if(is_array($nazwy)) {
foreach($nazwy as $druzyna) {
$linia = explode(',', chop($druzyna));
if($linia[0] && $linia[0]{0} != '#') {
$this->nazwa_druzyny[$linia[0]][1] = $linia[1];
$this->nazwa_druzyny[$linia[0]][2] = $linia[2];
}
}
}


if($_POST['akcja']) {
switch($_POST['akcja']) {
case 'plik_z_danymi' : $this->plik_z_danymi_wykonaj(); break;
case 'nazwy_druzyn' : $this->nazwy_druzyn_wykonaj(); break;
case 'zasadnicza' : $this->zasadnicza_wykonaj(); break;
case 'play_off' : $this->mlodziezowka_wykonaj(); break;
}
} elseif($this->dane['akcja']) {
switch($this->dane['akcja']) {
case 'plik_z_danymi' : $this->plik_z_danymi(); break;
case 'nazwy_druzyn' : $this->nazwy_druzyn(); break;
case 'zasadnicza' : $this->zasadnicza(); break;
case 'play_off' : $this->mlodziezowka(); break;
default : $this->blad('wybrana funkcja jest niedostępna');
}
}

}mam sobie taką funkcję i wyskakuje mi następujący błąd po zalogowaniu:

Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in /_wyniki/wyniki_edycja.class.php on line 36


proszę o pomoc

Jola
13-08-2009, 23:03
Cóż mogę napisać zeby nie używać niecenzuralnych słów, chyba tylko: piii, pii, piii.
Dostałeś dobry warunek i go ...pii....
Co innego gid, a co innego id.
W funkcji $user->get('gid')chodzi o gid a nie o id użytkownika!
Błąd jest na czerwono:
$this->sciezka["terminarz']

pkrol
13-08-2009, 23:22
poprawione zostały wszystkie błędy. Ale nadal nie działa, po zalogowaniu powinno się u góry pojawić menu do edycji wyników, a się nie pojawia :(

przesyłam calutki kod za to odpowiedzialny

błagam pomóżcie
i przepraszam za moje niedopatrzenie :)

kod znajduje się w pliku w załączniku

pozdrawiam
Piotrek Król
http://jlps.szps.kielce.pl