Reputation: 6064
here is the part if having error.
Fatal error: Using $this when not in object context in /pb_events.php on line 6
line 6 is: $jpp = $this->vars->data["jpp"];
function DoEvents($this) {
global $_CONF, $_PAGE, $_TSM , $base;
$jpp = $this->vars->data["jpp"];
$cache["departments"] = $this->db->QFetchRowArray("SELECT * FROM {$this->tables[job_departments]}");
$cache["locations"] = $this->db->QFetchRowArray("SELECT * FROM {$this->tables[job_location]}");
$cache["names"] = $this->db->QFetchRowArray("SELECT * FROM {$this->tables[job_names]}");
$cache["categories"] = $this->db->QFetchRowArray("SELECT * FROM {$this->tables[job_categories]}");
Thanks a lot! appreciate!
Upvotes: 8
Views: 30893
Reputation: 9480
As per my comments.
You want to use $this
as passed variable and php doesn't allow it outside class methods body.
function DoEvents($obj) {
global $_CONF, $_PAGE, $_TSM , $base;
$jpp = $obj->vars->data["jpp"];
$cache["departments"] = $obj->db->QFetchRowArray("SELECT * FROM {$obj->tables[job_departments]}");
$cache["locations"] = $obj->db->QFetchRowArray("SELECT * FROM {$obj->tables[job_location]}");
$cache["names"] = $obj->db->QFetchRowArray("SELECT * FROM {$obj->tables[job_names]}");
$cache["categories"] = $obj->db->QFetchRowArray("SELECT * FROM {$obj->tables[job_categories]}");
Upvotes: 5
Reputation: 53940
$this only makes sense in methods, not in functions
this is ok
class Foo {
function bar() {
$this->...
this is not
function some() {
$this->
// edit: didn't notice he passes "$this" as parameter
advice: simply replace "$this" with "$somethingElse"
Upvotes: 15
Reputation: 20456
You have to make the object first.
$object=new Myobject;
DoEvents($object);
Upvotes: 0
Reputation: 5027
You cannot pass $this
to a procedural function. $this
is a reserved variable.
Upvotes: 7