summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorarron.woods <arron.woods@deae1e92-32f9-c189-e222-5b9b5081a27a>2012-06-07 12:28:10 +0000
committerarron.woods <arron.woods@deae1e92-32f9-c189-e222-5b9b5081a27a>2012-06-07 12:28:10 +0000
commit4c2ec5eda13c29ed3095ecceb9c65db72dde8a8e (patch)
treef93eb6d47196f0e8805a5fcf73588283b4d2c26a
parent5fbc2b89624fa01c117a7595b96e2e320c6440f3 (diff)
downloadphp-ssrs-4c2ec5eda13c29ed3095ecceb9c65db72dde8a8e.zip
php-ssrs-4c2ec5eda13c29ed3095ecceb9c65db72dde8a8e.tar.gz
php-ssrs-4c2ec5eda13c29ed3095ecceb9c65db72dde8a8e.tar.bz2
Tagged 0.1.50.1.5
-rwxr-xr-xlibrary/SSRS/Object/ExecutionInfo.php16
-rwxr-xr-xlibrary/SSRS/Object/ExecutionParameter.php10
-rwxr-xr-xlibrary/SSRS/Object/ExecutionParameters.php29
-rwxr-xr-xlibrary/SSRS/Object/ReportParameter.php8
-rwxr-xr-xlibrary/SSRS/Object/ReportParameters.php26
-rwxr-xr-xlibrary/SSRS/Report.php2
-rwxr-xr-xsamples/LoadReport.php1
-rwxr-xr-xsamples/LoadReportWithParameters.php24
-rwxr-xr-xtests/library/SSRS/ReportTest.php21
-rw-r--r--tests/library/SSRS/ReportTest/SetExecutionParametersObject.php146
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'
- ),
- )
- )));