diff options
author | arron.woods <arron.woods@deae1e92-32f9-c189-e222-5b9b5081a27a> | 2012-06-07 12:25:49 +0000 |
---|---|---|
committer | arron.woods <arron.woods@deae1e92-32f9-c189-e222-5b9b5081a27a> | 2012-06-07 12:25:49 +0000 |
commit | d5fc5d659d7c6f76b07f781f253b67835f1b1dd1 (patch) | |
tree | f93eb6d47196f0e8805a5fcf73588283b4d2c26a /library/SSRS/Object | |
parent | 5fbc2b89624fa01c117a7595b96e2e320c6440f3 (diff) | |
download | php-ssrs-d5fc5d659d7c6f76b07f781f253b67835f1b1dd1.zip php-ssrs-d5fc5d659d7c6f76b07f781f253b67835f1b1dd1.tar.gz php-ssrs-d5fc5d659d7c6f76b07f781f253b67835f1b1dd1.tar.bz2 |
Fix report parameter mess, making it possible to send paramter values easily
Diffstat (limited to 'library/SSRS/Object')
-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 |
5 files changed, 37 insertions, 52 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; - } - } - -} |