Call to undefined function getSelect()...
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:
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?
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)
1
2
3
4
5
6
7
8
9
10
11
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');
?>
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?
Je moet de pagina met de functies al eerste include voordat je em kan gebruiken.
Of gebeurd dat al?
Of gebeurd dat al?
Roep je je functie aan voor dat je hem declareert?
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...
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...
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++;
}
}
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++;
}
}
loadHtmlList($base,&$list)
hoofdlettergevoelig? in je foutmelding zitten geen hoofdletters, in de gedeclareerde functie wel...
hoofdlettergevoelig? in je foutmelding zitten geen hoofdletters, in de gedeclareerde functie wel...
ja dat vind ik dus ook vreemd...
ik weet ongeveer de oorzaak
hij wordt als een class aangeroepen in showhtmllist
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:
en deze klasse ook:
en klasse object natuurlijk, maar die is erg groot.
--------------------------------------------------------------------------------
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)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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;
}
?>
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)
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
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;
}
?>
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.
--------------------------------------------------------------------------------




