Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class ReportAPI
- {
- protected $reportDataObject = null;
- public function __construct($url = 'URL', $username = 'username', $password = 'pass') {
- $this->client = new SoapClient($url , array('login' => $username, 'password' => $password, 'keep_alive' => true));
- }
- public function getReportData($reportID) {
- return $this->getDataObject($reportID)->data;
- }
- public function getReportCount($reportID) {
- return $this->getDataObject($reportID)->result_count;
- }
- public function runReport($reportID) {
- $newID = $this->client->runReport($reportID);
- $counter = 0;
- while($this->client->checkReportRun($newID) != 'complete'){
- if($counter > 2) {
- throw new Exception('Report Time Out');
- }
- sleep(5);
- $counter++;
- }
- $this->getDataObject($newID);
- return $newID;
- }
- public function functest() {
- $v0 = $this->getDataObject('id')->result_count;
- return $this->getDataObject('id')->data;
- }
- public function getLatestID($reportID) {
- $runlist = $this->client->getReportRunList($reportID);
- return $runlist[0][0];
- }
- public function getLatestReportData($reportID) {
- return $this->getReportData($this->getLatestID($reportID));
- }
- public function getTitles($reportID) {
- return $this->getDataObject($reportID)->columns;
- }
- public function getReportRunTime($reportID) {
- $runlist = $this->client->getReportRunList($reportID);
- return strtotime($runlist[0][2]);
- }
- public function getRawReport($reportID) {
- return $this->client->getReportDataObject($reportID);
- }
- protected function getDataObject($reportID) {
- if(!isset($this->reportDataObject) || $this->reportDataObject->report_run_id != $reportID) {
- $this->reportDataObject = $this->client->getReportDataObject($reportID);
- }
- return $this->reportDataObject;
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement