Call to undefined function getSelect()...

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Ventilatiesysteem Productontwikkelaar HBO WO Verwa

Samengevat: Zij bieden flexibele ventilatiematerialen, geluidsdempers, rookgasafvoer producten en industrieslangen. Ben jij een technisch productontwikkelaar? Heb jij ervaring met het ontwikkelen van nieuwe producten? Vaste baan: Technisch Productontwikkelaar HBO WO €3.000 - €4.000 Zij bieden een variëteit aan flexibele ventilatiematerialen, geluiddempers, rookgasafvoer producten, industrieslangen en ventilatieslangen voor de scheepsbouw. Met slimme en innovatieve materialen zorgen wij voor een gezonde en frisse leefomgeving. Deze werkgever is een organisatie die volop in ontwikkeling is met hardwerkende collega's. Dit geeft goede ontwikkelingsmogelijkheden. De branche van dit bedrijf is Techniek en Engineering. Functie: Voor de vacature als Technisch Productontwikkelaar Ede Gld HBO WO ga

Bekijk vacature »

Robert

Robert

03/03/2005 10:48:00
Quote Anchor link
deze foutmelding geeft hij op pagina dbproperty.php, terwijl de functie gewoon bestaat.

Het script is een gratis script van http://ideabox.phpoutsourcing.com

om een ideeenbus aan te maken. Deze wil ik achter een beschermde (reeds bestaand) inlogsysteem hangen. Nu is dat gelukt, maar ik krijg nog steeds foutmeldingen.

in het bestand dbproperty.php wordt verwezen naar de functie:
function load( &$base, $whereFields="", $whatFields="*" )
{
global $applName;
$query = $base->getSelect();
if( !$query )
{
$typ = $base->getTypeInfo();
$tableName = $applName."_".get_class($base);
$firstField = TRUE;
$query = "SELECT $whatFields FROM $tableName";
if( $whereFields=="" ) $whereFields=getPrimaryKey( $typ );
foreach( $whereFields as $index=>$attribute ) {
if( !isset($base->{$attribute}) ) unset($whereFields[$index]);
}
if( sizeof($whereFields)==0 ) {
$whereFields = array_keys( $typ["attributes"] );
foreach( $whereFields as $index=>$attribute ) {
if(!isset($base->{$attribute})) unset($whereFields[$index]);
}
}
foreach( $whereFields as $key ) {
if( isset($base->{$key}) ) {
$value = $base->{$key};
$value=addcslashes($value,"'\\");
if( $firstField ) {
$query .= " WHERE $tableName.$key='$value'";
$firstField = FALSE;
}
else $query .= " AND $tableName.$key='$value'";
}
}
}
$ret = loadSQL( $base, $query );
return $ret;
}

applname staat in een constants.php die wordt geinclude in een include bestand:
$applName = "idea";

include bestand:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
include($gorumDir.'/generformlib_date.php');
include($gorumDir.'/notification.php');
include($gorumDir.'/zmail.php');
include($ideaDir.'/user.php');
include($ideaDir.'/globalsettings.php');
include($ideaDir.'/init.php');
include($ideaDir.'/idea.php');
include($ideaDir.'/history.php');
include($ideaDir.'/cord.php');
?>


in idea en in history wordt een functie get_select() aangemaakt die er zo uit ziet:

voor Idea.php

function getSelect()
{
global $categoryClassName, $applName,$gorumroll,$lll;
global $idea_typ, $userClassName;

$select = "SELECT ".getAllColumns($idea_typ, "i").
" u1.name AS creatorName, u2.name AS respName ".
" FROM $applName"."_idea AS i, ".
$applName."_$userClassName AS u1, ".
$applName."_$userClassName AS u2 ".
"WHERE i.creatorId=u1.id AND i.respId=u2.id ".
"AND i.id=$this->id";
return $select;
}

en history.php:
function getSelect()
{
global $categoryClassName, $applName,$gorumroll,$lll;
global $history_typ, $userClassName;

$select = "SELECT ".getAllColumns($history_typ, "h").
" u.name AS ownerName ".
" FROM $applName"."_history AS h, ".
$applName."_$userClassName AS u ".
"WHERE h.ownerId=u.id AND h.id=$this->id";
return $select;
}

dit komt uit de constants.php:
$userClassName = "ideauser";

kan iemand mij misschien hierbij helpen?
 
PHP hulp

PHP hulp

28/11/2024 00:01:57
 
Bart Waarom verplicht

Bart Waarom verplicht

03/03/2005 13:54:00
Quote Anchor link
Je moet de pagina met de functies al eerste include voordat je em kan gebruiken.

Of gebeurd dat al?
 

03/03/2005 14:02:00
Quote Anchor link
Roep je je functie aan voor dat je hem declareert?
 
Robert

Robert

03/03/2005 16:05:00
Quote Anchor link
nee....de functie is al eerder gedeclareert.

en de pagina met de functies worden eerder aangeroepen.

dit gedeelte heb ik opgelost trouwens...ik weet alleen niet meer hoe, maar ik krijg geen foutmeldingen meer, maar ook geen output dus ja...
 
Robert

Robert

03/03/2005 16:36:00
Quote Anchor link
nog eentje in de zelfde categorie...

Fatal error: Call to undefined function: loadhtmllist() in /web/sites/preview.ngn.nl/www/ideabox/gorum/htmllist.php on line 17

en hoe luiden LETTERLIJK de eerste 2 functies:

function loadHtmlList($base,&$list)
{

$base->hasObjectRights($hasRight, Priv_load, TRUE);
$query=getListQuery($base);
$base->loadObjectsSQL($query,$list, TRUE);
return ok;

}

function showHtmlList($base,&$s)
{
global $lll,$colspNum, $searchClassName;
$s="";
$base->loadHtmlList($list);
$base->hasGeneralRights($rights);
$rangeSelText = showRangeSelector($base);

$typ=$base->getTypeInfo();
$attrs=$typ["attributes"];
$colspNum=0;
if( !in_array("notools", $typ) ) $colspNum++;
foreach( $attrs as $attr=>$val ) {
if (in_array("list",$val) && !in_array("in new line", $val)) {
$colspNum++;
}
}
 
Jelmer -

Jelmer -

03/03/2005 18:44:00
Quote Anchor link
loadHtmlList($base,&$list)

hoofdlettergevoelig? in je foutmelding zitten geen hoofdletters, in de gedeclareerde functie wel...
 
Robert

Robert

04/03/2005 09:14:00
Quote Anchor link
ja dat vind ik dus ook vreemd...
 
Robert

Robert

04/03/2005 10:49:00
Quote Anchor link
ik weet ongeveer de oorzaak
 
Legolas

Legolas

04/03/2005 12:56:00
Quote Anchor link
hij wordt als een class aangeroepen in showhtmllist
 
Robert

Robert

04/03/2005 15:37:00
Quote Anchor link
oke...ik heb het al...

ik heb nog wel iets anders...

ik heb een binair rechtensysteem voor een applicatie.

In deze applicatie wordt iets ingebouwd waartoe bepaalde mensen toegang hebben. Deze applicatie kan weer aangepast worden en hiervoor zijn bepaalde mods verantwoordelijk.

Deze hebben rechten. In de oude situatie van de applicatie had je alleen recht 1 en 0, dus als je 1 had, was je admin en anders ben retourneert ie "FALSE". In de database heet dit $isAdmin die dus op 1 of 0 staat.

Nu moet ik dit: if (($cur_session->get_rights() & (16 | 64)) > 0) {

implementeren. Kan ik dan ook $isAdmin = (($cur_session->get_rights() & (16 | 64)) > 0)
of zoiets doen? $isAdmin bestaat zometeen dus niet meer. Aan de hand van de rechten 16 en 64 wordt bepaald of de gebruiker mag moderaten of niet.

dit zijn belangrijke functies in het verhaal:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
<?
function hasAdminRights( &$hasRight, $base="", $method="" )
{

    global $gorumuser;
    global $gorumrecognised;
    $hasRight = ($gorumrecognised && $gorumuser->isAdm);
    return ok;
}

function
hasGeneralRights($base, &$rights)
{

    global $generalRight;

    $rights = array();
    $base->hasObjectRights($hasRight, Priv_load);
    if( $generalRight ) $rights[Priv_load] = $hasRight;
    $base->hasObjectRights($hasRight, Priv_create);
    if( $generalRight ) $rights[Priv_create] = $hasRight;
    $base->hasObjectRights($hasRight, Priv_modify);
    if( $generalRight ) $rights[Priv_modify] = $hasRight;
    $base->hasObjectRights($hasRight, Priv_delete);
    if( $generalRight ) $rights[Priv_delete] = $hasRight;
}

?>

en deze klasse ook:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?
class User extends Object
{
function
hasObjectRights(&$hasRight, $method, $giveError=FALSE)
{

    global $gorumrecognised, $gorumauthlevel, $gorumuser,$lll;
    global $generalRight;
    $isAdm = ($gorumrecognised && $gorumuser->isAdm);
    $generalRight = FALSE;
    if( $method==Priv_delete && $isAdm)
    {

        $hasRight=TRUE;
        $generalRight = TRUE;
    }

    elseif($method==Priv_delete && isset($this->id) &&
           $this->id==$gorumuser->id)
    {

        $hasRight=TRUE;
        $generalRight = FALSE;
    }

    elseif( $method==Priv_load )
    {

        $hasRight=TRUE;
        $generalRight = TRUE;
    }

    elseif( $method==Priv_create )
    {

        $hasRight=TRUE;
        $generalRight = TRUE;
    }

    else if( !$gorumrecognised  )
    {

        $hasRight=FALSE;
        $generalRight = TRUE;
    }

    elseif( $isAdm )
    {

        $hasRight=TRUE;
        $generalRight = TRUE;
    }

    elseif( isset($this->id) && $this->id==$gorumuser->id)
    {

        $hasRight=TRUE;
        $generalRight = FALSE;
    }

    else
    {
        $hasRight=FALSE;
        $generalRight = FALSE;
    }

    if( !$hasRight && $giveError )
    {

        handleError($lll["permission_denied"]);
    }

    return ok;
}

?>

en klasse object natuurlijk, maar die is erg groot.

--------------------------------------------------------------------------------
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.