🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.php
Article #219719

Error message: Declaration of Get_access::Validate() should be compatible with that of Task::Validate()

#219719
From: cromak
Date: Wed, 15 Jul 2009 11:21
136 lines
5071 bytes
Witam
podczas przetwarzania kodu pojawiają mi się błędy :
Moze to być spowodowane nowszą wersją php ? obecnie mam 5,2 serwer
apach 2.2

Error message: Declaration of Get_access::Validate() should be
compatible with that of Task::Validate()
Notice: Undefined offset: 2048 in ..\tasks\getaccess.php

kod:
class Get_access extends Task
{

  function Register() {
    return array('ID'=>"ACCESS", 'desc'=>"Lista zadań, do których
użytkownik jest uprawniony");
  }
  function Validate($sequence){
    if (parent::Validate($sequence)) {
      if (!isset($_SESSION['whoami'])) {$_SESSION['whoami'] = $this-
>Mod->guest_name;}
      if (!$GLOBALS['enabled'] = $this->Act->Is_enabled($_SESSION
['whoami'])) {
        $this->Error = "Konto zablokowane";
        $this->Valid = FALSE;
      }
    }
    return $this->Valid;
  }

  function Perform() {
    $access = $this->Act->Get_access($this->Mod->guest_name);
    if ($this->Mod->guest_name != $_SESSION['whoami']) {
      $access = array_merge($access, $this->Act->Get_access($_SESSION
['whoami']));
    }
    $GLOBALS['access'] = array_merge($GLOBALS['access'], $access);
    return $this->Valid;
  }
}

i klasa task

class Task

{
  /** @var object - przechowuje wskazanie na obiekt modułu */
  var $Mod;
  /** @var object - wskazanie na obiekt akcji */
  var $Act;
  /** @var boolean - wynik walidacji */
  var $Valid;
  /** @var string - tekst błędu walidacji będzie wy¶wietlony, je¶li
$Valid = FALSE */
  var $Error;
  /** @var mixed - wynik zwracany przez zadanie */
  var $Result;

  function Task(&$Module, &$Actions) {
    $this->Mod = & $Module;
    $this->Act = & $Actions;
  }

  /**
  * Task::Register()
  *
  * Prototyp - w klasach potomnych zwraca tablicę asocjacyjn±<BR>
  * ID => id zadania, Desc => opis zadania<BR>
  * Redefinicja w klasie potomnej <b>WYMAGANA</b>
  * @static
  */
  function Register() {
  }

  /**
  * Task::JSValidate()
  *
  * Prototyp - w klasach potomnych zwraca funkcję JavaScript<BR>
  * wklejan± do szablonu strony, która służy do weryfikacji
formularza<BR>
  * Redefinicja w klasie potomnej opcjonalna
  */
  function JSValidate() {
  }

  /**
  * Task::Validate()
  *
  * Służy do sprawdzenia numeru sekwencyjnego zadania oraz weryfikacji
parametrów przed wykonaniem zadania.<br>
  * W razie negatywnej walidacji zadanie nie będzie wykonane.<BR>
  * Nadaje warto¶ć TRUE atrybutowi {@link Valid} je¶li $_REQUEST
['tseq'] jest poprawnym numerem sekwencyjnym zadania.<BR>
  * lub sprawdzenie nie jest konieczne (podano parametr
$sequence=FALSE)<br>
  * Może nadać warto¶ć atrybutowi {@link Error} (komunikat o
błędzie).<BR>
  * Redefinicja w klasie potomnej opcjonalna<br>.
  * W razie redefinicji należy wywołać metodę rodzica dla sprawdzenia
numeru sekwencyjnego.
  * @param boolean $sequence Domy¶lnie TRUE, okre¶la czy ma być
wykonane sprawdzenie numeru sekwencyjnego zadania
  * @return boolean Wynik walidacji
  */
  function Validate($sequence = TRUE) {

    if ($sequence) {
      $this->Valid = FALSE;
      if (isset($_REQUEST['tseq'])) {
        if ($_REQUEST['tseq'] == $_SESSION['tseq']) {
          $this->Valid = TRUE;
        }
        else {$this->Error = "Zły numer sekwencyjny zadania ".$_REQUEST
['todo'];}
      }
      else {$this->Error = "Brak numeru sekwencyjnego zadania ".
$_REQUEST['todo'];}
    }
    else {$this->Valid = TRUE;}
    return $this->Valid;
  }

  /**
  * Task::Perform()
  *
  * Prototyp - w klasach potomnych zawiera włałciwy kod zadania do
wykonania<BR>
  * Redefinicja w klasie potomnej <b>WYMAGANA</b>
  */
  function Perform() {
  }

}

Proszę o podpowieć lub pomoc.
Dzięki
Technical Details
Message-ID: <4ea14898-299e-46b4-b113-0eb02beb31c0@k1g2000yqf.googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!nf1.ipartners.pl!ipartners.pl!plix.pl!newsfeed1.plix.pl!aotearoa.belnet.be!news.belnet.be!feeds.phibee-telecom.net!feeder.news-service.com!postnews.google.com!k1g2000yqf.googlegroups.com!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!newsfeed.gazeta.pl!nf1.ipartners.pl!ipartners.pl!plix.pl!newsfeed1.plix.pl!aotearoa.belnet.be!news.belnet.be!feeds.phibee-telecom.net!feeder.news-service.com!postnews.google.com!k1g2000yqf.googlegroups.com!not-for-mail
From: cromak <2xx2@wp.pl>
Newsgroups: pl.comp.lang.php
Subject: Error message: Declaration of Get_access::Validate() should be  compatible with that of Task::Validate()
Date: Wed, 15 Jul 2009 04:21:52 -0700 (PDT)
Organization: http://groups.google.com
Lines: 147
Message-ID: <4ea14898-299e-46b4-b113-0eb02beb31c0@k1g2000yqf.googlegroups.com>
NNTP-Posting-Host: 62.29.249.130
Mime-Version: 1.0
X-Trace: posting.google.com 1247656914 2508 127.0.0.1 (15 Jul 2009 11:21:54 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: Wed, 15 Jul 2009 11:21:54 +0000 (UTC)
Complaints-To: groups-abuse@google.com
Injection-Info: k1g2000yqf.googlegroups.com; posting-host=62.29.249.130;  posting-account=9It3oAoAAADwG8GXndWmfVqXZnd_SUKx
User-Agent: G2/1.0
X-HTTP-UserAgent: Mozilla/5.0 (Windows; U; Windows NT 5.1; pl; rv:1.9.1)  Gecko/20090624 Firefox/3.5,gzip(gfe),gzip(gfe)
X-HTTP-Via: 1.1 sq2.jmpolska.com:3128 (squid/2.5.STABLE12)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit