diff options
author | arron.woods <arron.woods@deae1e92-32f9-c189-e222-5b9b5081a27a> | 2012-06-07 12:28:10 +0000 |
---|---|---|
committer | arron.woods <arron.woods@deae1e92-32f9-c189-e222-5b9b5081a27a> | 2012-06-07 12:28:10 +0000 |
commit | 4c2ec5eda13c29ed3095ecceb9c65db72dde8a8e (patch) | |
tree | f93eb6d47196f0e8805a5fcf73588283b4d2c26a | |
parent | 5fbc2b89624fa01c117a7595b96e2e320c6440f3 (diff) | |
download | php-ssrs-4c2ec5eda13c29ed3095ecceb9c65db72dde8a8e.zip php-ssrs-4c2ec5eda13c29ed3095ecceb9c65db72dde8a8e.tar.gz php-ssrs-4c2ec5eda13c29ed3095ecceb9c65db72dde8a8e.tar.bz2 |
Tagged 0.1.50.1.5
-rwxr-xr-x | library/SSRS/Object/ExecutionInfo.php | 16 | ||||
-rwxr-xr-x | library/SSRS/Object/ExecutionParameter.php | 10 | ||||
-rwxr-xr-x | library/SSRS/Object/ExecutionParameters.php | 29 | ||||
-rwxr-xr-x | library/SSRS/Object/ReportParameter.php | 8 | ||||
-rwxr-xr-x | library/SSRS/Object/ReportParameters.php | 26 | ||||
-rwxr-xr-x | library/SSRS/Report.php | 2 | ||||
-rwxr-xr-x | samples/LoadReport.php | 1 | ||||
-rwxr-xr-x | samples/LoadReportWithParameters.php | 24 | ||||
-rwxr-xr-x | tests/library/SSRS/ReportTest.php | 21 | ||||
-rw-r--r-- | tests/library/SSRS/ReportTest/SetExecutionParametersObject.php | 146 |
10 files changed, 61 insertions, 222 deletions
diff --git a/library/SSRS/Object/ExecutionInfo.php b/library/SSRS/Object/ExecutionInfo.php index 42b8c31..55998fd 100755 --- a/library/SSRS/Object/ExecutionInfo.php +++ b/library/SSRS/Object/ExecutionInfo.php @@ -11,9 +11,19 @@ class SSRS_Object_ExecutionInfo extends SSRS_Object_Abstract { $this->setData($info); } - public function setParameters(stdClass $params){ - $this->data['Parameters'] = new SSRS_Object_ReportParameters(); - $this->data['Parameters']->setParameters($params->ReportParameter); + public function setParameters(stdClass $params) { + $parameters = array(); + foreach ($params->ReportParameter AS $reportParam) { + $parameter = new SSRS_Object_ReportParameter($reportParam->Name, null); + $parameter->setData($reportParam); + + $parameters[] = $parameter; + } + + $execParams = new SSRS_Object_ExecutionParameters(); + $execParams->setParameters($parameters); + + $this->data['Parameters'] = $execParams; } } diff --git a/library/SSRS/Object/ExecutionParameter.php b/library/SSRS/Object/ExecutionParameter.php deleted file mode 100755 index 36680e9..0000000 --- a/library/SSRS/Object/ExecutionParameter.php +++ /dev/null @@ -1,10 +0,0 @@ -<?php - -/** - * Description of ExecutionParameters - * - * @author andrew - */ -class SSRS_Object_ExecutionParameter extends SSRS_Object_Abstract { - -} diff --git a/library/SSRS/Object/ExecutionParameters.php b/library/SSRS/Object/ExecutionParameters.php index 3dd8668..95f4dee 100755 --- a/library/SSRS/Object/ExecutionParameters.php +++ b/library/SSRS/Object/ExecutionParameters.php @@ -9,34 +9,37 @@ class SSRS_Object_ExecutionParameters extends SSRS_Object_ArrayIterator { public $iteratorKey = 'Parameters'; - public function __construct($data = null) { - parent::__construct($data); - - if ($data instanceof SSRS_Object_ReportParameters) { - $this->setParameters($data); - } + public function __construct(array $parameters = array()) { + parent::__construct(null); + $this->setParameters($parameters); } public function init() { $this->data['Parameters'] = array(); } - public function setParameters(SSRS_Object_ReportParameters $parameters) { - foreach ($parameters AS $parameter) { - if (($parameters instanceof SSRS_Object_ExecutionParameter) === false) { - $parameter = new SSRS_Object_ExecutionParameter($parameter); + public function setParameters(array $parameters) { + $this->data['Parameters'] = array(); + + foreach ($parameters AS $key => $parameter) { + if (($parameter instanceof SSRS_Object_ReportParameter) === false) { + $parameter = new SSRS_Object_ReportParameter($key, $parameter); } $this->data['Parameters'][] = $parameter; } } + public function getParameters() { + return $this->data['Parameters']; + } + public function getParameterArrayForSoapCall() { $execParams = array(); - foreach ($this AS $parameter) { + foreach ($this->getParameters() AS $parameter) { $execParams[] = array( - 'Name' => $parameter->Name, - 'Value' => $parameter->Value, + 'Name' => $parameter->name, + 'Value' => $parameter->value, ); } diff --git a/library/SSRS/Object/ReportParameter.php b/library/SSRS/Object/ReportParameter.php index 346b082..75fb8ab 100755 --- a/library/SSRS/Object/ReportParameter.php +++ b/library/SSRS/Object/ReportParameter.php @@ -7,4 +7,12 @@ */ class SSRS_Object_ReportParameter extends SSRS_Object_Abstract { + public function __construct($name, $value) { + $this->name = $name; + $this->value = $value; + } + + public $name; + public $value; + } diff --git a/library/SSRS/Object/ReportParameters.php b/library/SSRS/Object/ReportParameters.php deleted file mode 100755 index dc9b7b3..0000000 --- a/library/SSRS/Object/ReportParameters.php +++ /dev/null @@ -1,26 +0,0 @@ -<?php - -/** - * Description of ExecutionParameters - * - * @author andrew - */ -class SSRS_Object_ReportParameters extends SSRS_Object_ArrayIterator{ - - public $iteratorKey = 'Parameters'; - - public function init() { - $this->data['Parameters'] = array(); - } - - public function setParameters($parameters) { - foreach ($parameters AS $parameter) { - if (($parameters instanceof SSRS_Object_ReportParameter) === false) { - $parameter = new SSRS_Object_ReportParameter($parameter); - } - - $this->data['Parameters'][] = $parameter; - } - } - -} diff --git a/library/SSRS/Report.php b/library/SSRS/Report.php index aa8d543..83f7ca3 100755 --- a/library/SSRS/Report.php +++ b/library/SSRS/Report.php @@ -16,13 +16,11 @@ require_once('Object/ArrayIterator.php'); require_once('Object/CatalogItems.php'); require_once('Object/CatalogItem.php'); require_once('Object/ItemDefinition.php'); -require_once('Object/ExecutionParameter.php'); require_once('Object/ExecutionParameters.php'); require_once('Object/ExecutionInfo.php'); require_once('Object/Extensions.php'); require_once('Object/Extension.php'); require_once('Object/ReportParameter.php'); -require_once('Object/ReportParameters.php'); require_once('Object/Report.php'); require_once('Object/ReportOutput.php'); require_once('Report/Exception.php'); diff --git a/samples/LoadReport.php b/samples/LoadReport.php index 58910b3..81fb150 100755 --- a/samples/LoadReport.php +++ b/samples/LoadReport.php @@ -11,7 +11,6 @@ $ssrs = new SSRS_Report('http://localhost/reportserver/', $options); $result = $ssrs->loadReport('/Reports/Reference_Report'); $ssrs->setSessionId($result->executionInfo->ExecutionID); -$ssrs->setExecutionParameters(new SSRS_Object_ExecutionParameters($result->executionInfo->Parameters)); $output = $ssrs->render('HTML4.0'); // PDF | XML | CSV echo $output;
\ No newline at end of file diff --git a/samples/LoadReportWithParameters.php b/samples/LoadReportWithParameters.php new file mode 100755 index 0000000..62728b9 --- /dev/null +++ b/samples/LoadReportWithParameters.php @@ -0,0 +1,24 @@ +<?php + +require('../library/SSRS/Report.php'); + +$options = array( + 'username' => 'testing', + 'password' => 'password' +); + +$ssrs = new SSRS_Report('http://localhost/reportserver/', $options); +$result = $ssrs->loadReport('/Reports/Reference_Report'); + +$reportParameters = array( + 'key1' => 'value1', + 'key2' => 'value2', +); + +$parameters = new SSRS_Object_ExecutionParameters($reportParameters); + +$ssrs->setSessionId($result->executionInfo->ExecutionID) + ->setExecutionParameters($parameters); + +$output = $ssrs->render('HTML4.0'); // PDF | XML | CSV +echo $output;
\ No newline at end of file diff --git a/tests/library/SSRS/ReportTest.php b/tests/library/SSRS/ReportTest.php index 2cc19ed..03961e7 100755 --- a/tests/library/SSRS/ReportTest.php +++ b/tests/library/SSRS/ReportTest.php @@ -128,27 +128,6 @@ class SSRS_ReportTest extends PHPUnit_Framework_TestCase { $this->assertEquals($expected, $result); } - public function testSetExecutionParametersReturnsCorrectObject() { - require(dirname(__FILE__) . '/ReportTest/SetExecutionParametersObject.php'); - $executionID = 'ybv45155dta00245nxlqfi55'; - - $soapMock = $this->getMockFromWsdl(dirname(__FILE__) . '/ReportTest/ReportExecution2005.wsdl', 'SoapClientMockExecutionParams'); - $soapMock->expects($this->any()) - ->method('SetExecutionParameters') - ->with($this->equalTo(array('Parameters' => $parameters->getParameterArrayForSoapCall(), 'ParameterLanguage' => 'en-us'))) - ->will($this->returnValue($returnExecParams)); - - $ssrs = new SSRS_Report('http://test/ReportServer'); - $ssrs->setSoapExecution($soapMock) - ->setSessionId($executionID); - - $expected = new SSRS_Object_ExecutionInfo($returnExecParams); - $result = $ssrs->setExecutionParameters($parameters); - - $this->assertInstanceOf('SSRS_Object_ExecutionInfo', $result); - $this->assertEquals($expected, $result); - } - public function testRenderOutputsReport() { $executionID = 'ybv45155dta00245nxlqfi55'; diff --git a/tests/library/SSRS/ReportTest/SetExecutionParametersObject.php b/tests/library/SSRS/ReportTest/SetExecutionParametersObject.php deleted file mode 100644 index 79ded8e..0000000 --- a/tests/library/SSRS/ReportTest/SetExecutionParametersObject.php +++ /dev/null @@ -1,146 +0,0 @@ -<?php - -$execParams1 = new stdClass; -$execParams1->Name = 'Validation'; -$execParams1->Type = 'String'; -$execParams1->Nullable = null; -$execParams1->AllowBlank = null; -$execParams1->MultiValue = null; -$execParams1->QueryParameter = 1; -$execParams1->Prompt = null; -$execParams1->PromptUser = 1; -$execParams1->ValidValuesQueryBased = null; -$execParams1->DefaultValuesQueryBased = null; -$execParams1->DefaultValues->Value = 0; -$execParams1->State = 'HasValidValue'; - -$execParams2 = new stdClass; -$execParams2->name = 'portfolio'; -$execParams2->Type = 'String'; -$execParams2->Nullable = null; -$execParams2->AllowBlank = 1; -$execParams2->MultiValue = 1; -$execParams2->QueryParameter = 1; -$execParams2->Prompt = null; -$execParams2->PromptUser = 1; -$execParams2->ValidValuesQueryBased = null; -$execParams2->DefaultValuesQueryBased = null; -$execParams2->DefaultValues->Value = 61; -$execParams2->State = 'HasValidValue'; - -$execParams3 = new stdClass; -$execParams3->name = 'managedaccount'; -$execParams3->Type = 'String'; -$execParams3->Nullable = null; -$execParams3->AllowBlank = null; -$execParams3->MultiValue = 1; -$execParams3->QueryParameter = 1; -$execParams3->Prompt = 'Portfolio:'; -$execParams3->PromptUser = 1; -$execParams3->Dependencies->Dependency = array('Validation', 'portfolio'); -$execParams3->ValidValuesQueryBased = 1; -$execParams3->ValidValues->ValidValue->Label = 'Label 1'; -$execParams3->ValidValues->ValidValue->Value = '61'; -$execParams3->DefaultValuesQueryBased = 1; -$execParams3->DefaultValues->Value = 61; -$execParams3->State = 'HasValidValue'; - -$execParams4value1 = new stdClass; -$execParams4value1->Label = 0; -$execParams4value1->Value = 0; - -$execParams4value2 = new stdClass; -$execParams4value2->Label = 1; -$execParams4value2->Value = 1; - -$execParams4value = array($execParams4value1, $execParams4value2); - -$execParams4 = new stdClass; -$execParams4->name = 'visibility'; -$execParams4->Type = 'String'; -$execParams4->Nullable = null; -$execParams4->AllowBlank = 1; -$execParams4->MultiValue = null; -$execParams4->QueryParameter = null; -$execParams4->Prompt = null; -$execParams4->PromptUser = 1; -$execParams4->ValidValuesQueryBased = 1; -$execParams4->ValidValues->ValidValue = $execParams4value; -$execParams4->DefaultValuesQueryBased = 1; -$execParams4->DefaultValues->Value = 0; -$execParams4->State = 'HasValidValue'; - - -$execParams5value1 = new stdClass; -$execParams5value1->Label = '2011-02-25'; -$execParams5value1->Value = '2011-02-25'; - -$execParams5value2 = new stdClass; -$execParams5value2->Label = '2011-02-18'; -$execParams5value2->Value = '2011-02-18'; - -$execParams5values = array($execParams5value1, $execParams5value2); - -$execParams5 = new stdClass; -$execParams5->Name = 'eff_date2'; -$execParams5->Type = 'String'; -$execParams5->Nullable = null; -$execParams5->AllowBlank = 1; -$execParams5->MultiValue = null; -$execParams5->QueryParameter = 1; -$execParams5->Prompt = 'Date:'; -$execParams5->PromptUser = 1; -$execParams5->Dependencies->Dependency = array('managedaccount', 'validation'); -$execParams5->ValidValuesQueryBased = 1; -$execParams5->ValidValues->ValidValue = $execParams5values; -$execParams5->DefaultValuesQueryBased = 1; -$execParams5->DefaultValues->Value = '2011-01-21'; -$execParams5->State = 'HasValidValue'; - -$execParams = array($execParams1, $execParams2, $execParams3, $execParams4, $execParams5); - -$returnExecParams = new stdClass; -$returnExecParams->executionInfo->HasSnapshot = null; -$returnExecParams->executionInfo->NeedsProcessing = 1; -$returnExecParams->executionInfo->CredentialsRequired = null; -$returnExecParams->executionInfo->ParametersRequired = null; -$returnExecParams->executionInfo->ExpirationDateTime = '2011-03-08T14:40:17.383Z'; -$returnExecParams->executionInfo->ExecutionDateTime = '0001-01-01T00:00:00'; -$returnExecParams->executionInfo->NumPages = 0; -$returnExecParams->executionInfo->Parameters->ReportParameter = $execParams; -$returnExecParams->executionInfo->DataSourcePrompts = new stdClass; -$returnExecParams->executionInfo->HasDocumentMap = null; -$returnExecParams->executionInfo->ExecutionID = 'ybv45155dta00245nxlqfi55'; -$returnExecParams->executionInfo->ReportPath = '/Reports/Reference_Report'; -$returnExecParams->executionInfo->ReportPageSettings->PaperSize->Height = '210'; -$returnExecParams->executionInfo->ReportPageSettings->PaperSize->Width = '277.00000762939'; -$returnExecParams->executionInfo->ReportPageSettings->Margins->Top = '10'; -$returnExecParams->executionInfo->ReportPageSettings->Margins->Bottom = '10'; -$returnExecParams->executionInfo->ReportPageSettings->Margins->Left = '5'; -$returnExecParams->executionInfo->ReportPageSettings->Margins->Right = '5'; -$returnExecParams->executionInfo->AutoRefreshInterval = 0; - -$parameters = new SSRS_Object_ExecutionParameters(new SSRS_Object_ReportParameters(array( - 'Parameters' => array( - new SSRS_Object_ExecutionParameter(array( - 'Name' => 'Validation', - 'Value' => '0' - )), - array( - 'Name' => 'portfolio', - 'Value' => '61' - ), - array( - 'Name' => 'managedaccount', - 'Value' => '61' - ), - array( - 'Name' => 'visibility', - 'Value' => '0' - ), - array( - 'Name' => 'eff_date2', - 'Value' => '2011-01-21' - ), - ) - ))); |