DeRijckeBjorn
Gebruiker
- Lid geworden
- 20 jan 2012
- Berichten
- 23
Hallo !
Ik heb een probleempje:
in deze code worden een aantal variabelen gedefinieerd
en krijgen ze een waarde:
Connect is bevoorbeeld : new IXR client (zie lijn 70)
en ook een aantal settings (lijn 46 - 53)
Het probleem is dat in mijn plugin file deze dingen niet meer gedefinieerd zijn
(de plugins worden op lijn 103 - 109 geladen).
hier is een voorbeeld van een plugin:
Op lijn 58 geeft php nu een error dat $connect nog niet bestaat:
Hoe kan ik er nu voor zorgen dat in al mijn plugins de vooraf gedefinieerde variabelen beschikbaar zijn ?
(ik zou ook variabelen in de plugins willen definieren die dan in een andere plugin gebruikt kunnen worden)
Alvast bedankt!
Groetjes, Bjorn
Ik heb een probleempje:
in deze code worden een aantal variabelen gedefinieerd
en krijgen ze een waarde:
PHP:
<?php
define ("nl", "\r\n");
define ("CIversion", "0.1"); //don't change
// required files
require_once("inc/GbxRemote.inc.php");
require_once("inc/xmlparser.inc.php");
//*****
// CI
//*****
class Cicon {
function startup () {
// variables
global $setting;
global $xml_parser;
global $dbsetting;
global $serversetting;
global $server;
//$this->xml_parser = new Examsly();
//$this->client = new IXR_Client_Gbx;
} //function startup
function loadsetting () {
echo "Loading settings...";
$setting = array();
if(file_exists('config1.xml')) {
$xml = @simplexml_load_file('config1.xml');
//Settings to load from config1.xml
$setting['serverip'] = $xml->server_settings->serverip;
$setting['serverport'] = $xml->server_settings->serverport;
$setting['serverlogin'] = $xml->server_settings->serverlogin;
$setting['serverpassword'] = $xml->server_settings->serverpassword;
$setting['nation'] = $xml->server_settings->nation;
$setting['location'] = $xml->server_settings->location;
$setting['passdisplay'] = $xml->other->displayserverpass;
$setting['superpass'] = $xml->server_settings->Superadminpass;
echo nl, "done!", nl, nl;
echo "Connecting to server:", nl, "ServerIP: ", $setting['serverip'], nl;
echo "Serverport: ", $setting['serverport'], nl, nl;
//*******************
// Connect to server
//*******************
$Ip=$setting['serverip'];
$Port=5008;
$Login='SuperAdmin';
$Password='Superpass';
$connect = new IXR_Client_Gbx();
$connect->InitWithIp($Ip,$Port);
//Does the connection work?
if (!$connect->InitWithIp($Host, $Port)) {
echo "Connection failed! Check IP & Port.", nl;
exit;
}
$connect->query("Authenticate", $Login, $Password);
if (!$connect->query("Authenticate", $Login, $Password)) {
echo "Login failed! Check login settings.", nl;
exit;
}
$connect->query('SendHideManialinkPage'); //Close all leftover manialinks
$connect->query('SendDisplayManialinkPage', '<?xml version="1.0" encoding="UTF-8" ?>
<manialink id="1">
<quad posn="0 43 0" sizen="30 3" style="Bgs1" halign="center" substyle="NavButton" action="0"/>
<label text="$fff**Has succesfuly connected to the server! Loading plugins..." halign="center" posn="0 42.7 1" sizen="30 3" />
</manialink>', 0, False); // Send startup message
echo "Connected to server!", nl;
echo "Loading plugins.", nl;
$plg=0;
//*****************
// Loading Plugins
//*****************
Echo nl, "List of plugins:", nl;
if ($handle = opendir('inc\plugins')) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != ".." && $entry != "localrecords") {
$plg++;
$pluginname = $entry;
if (file_exists('inc/plugins/'.$pluginname)) {
require('inc/plugins/'.$pluginname);
}
else echo"plugin failed to load, or no plugins!";
}
}
closedir($handle);
}
echo nl,"Plugins loaded! Amount: ",$plg,nl;
} // if
else {
echo 'ERROR: Can\'t read the Config file! Check location/name';
exit;
} // else
} // function loadsetting
function connect () {
echo nl, "END", nl;
} // function connect
} //class Cicon
$testcicon = new Cicon();
$testcicon->startup();
$testcicon->loadsetting();
$testcicon->connect();
?>
en ook een aantal settings (lijn 46 - 53)
Het probleem is dat in mijn plugin file deze dingen niet meer gedefinieerd zijn
(de plugins worden op lijn 103 - 109 geladen).
hier is een voorbeeld van een plugin:
PHP:
<?php
if(!defined('nl')) {
define('nl', "\r\n");
goto start;
}
else {
goto start;
}
// Here the plugin starts
start:
class readrec {
var $rec;
var $ctrackid; //current track id
function reeadrec() {
$ctrackid =1;
$rec = array();
if(file_exists('inc\plugins\localrecords\1.xml')) {
$xml = @simplexml_load_file('inc\plugins\localrecords\1.xml');
$rec['trackname'] = $xml->trackname;
$rec['author'] = $xml->author;
$rec['trackid'] = $xml->trackid;
if($xml->recs->r1) {
$rec['rec1']['time'] = $xml->recs->r1->timee;
$rec['rec1']['date'] = $xml->recs->r1->datee;
$rec['rec1']['login'] = $xml->recs->r1->driver->login;
$rec['rec1']['nickname'] = $xml->recs->r1->driver->nickname;
if($xml->recs->r2) {
$rec['rec2']['time'] = $xml->recs->r2->timee;
$rec['rec2']['date'] = $xml->recs->r2->datee;
$rec['rec2']['login'] = $xml->recs->r2->driver->login;
$rec['rec2']['nickname'] = $xml->recs->r2->driver->nickname;
if($xml->recs->r3) {
$rec['rec3']['time'] = $xml->recs->r3->timee;
$rec['rec3']['date'] = $xml->recs->r3->datee;
$rec['rec3']['login'] = $xml->recs->r3->driver->login;
$rec['rec3']['nickname'] = $xml->recs->r3->driver->nickname;
} //r3
else $connect->query('ChatSendServerMessage', '$z$fff2 records on this track!');
} //r2
else $connect->query('ChatSendServerMessage', '$z$fffOnly 1 record on this track!');
} //r1
else $connect->query('ChatSendServerMessage', '$z$fffNo records on this track!');
} //if records file exists
else echo "No file found";
} //function reeadrec
} //class readrec
$test = new readrec();
$test->reeadrec();
?>
Code:
fatal error: Call to a member function query() on a non-object in Y:\... on line ...
(ik zou ook variabelen in de plugins willen definieren die dan in een andere plugin gebruikt kunnen worden)
Alvast bedankt!
Groetjes, Bjorn
Laatst bewerkt: