summaryrefslogtreecommitdiffstats
path: root/library/SSRS/Object
diff options
context:
space:
mode:
authorarron.woods <arron.woods@deae1e92-32f9-c189-e222-5b9b5081a27a>2012-06-07 12:25:49 +0000
committerarron.woods <arron.woods@deae1e92-32f9-c189-e222-5b9b5081a27a>2012-06-07 12:25:49 +0000
commitd5fc5d659d7c6f76b07f781f253b67835f1b1dd1 (patch)
treef93eb6d47196f0e8805a5fcf73588283b4d2c26a /library/SSRS/Object
parent5fbc2b89624fa01c117a7595b96e2e320c6440f3 (diff)
downloadphp-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-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
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;
- }
- }
-
-}