summaryrefslogtreecommitdiffstats
path: root/library/SSRS/Object/ReportParameter.php
diff options
context:
space:
mode:
authorarron.woods@gmail.com <arron.woods@gmail.com@deae1e92-32f9-c189-e222-5b9b5081a27a>2012-12-04 13:57:01 +0000
committerarron.woods@gmail.com <arron.woods@gmail.com@deae1e92-32f9-c189-e222-5b9b5081a27a>2012-12-04 13:57:01 +0000
commit32df2c87940c19a63dd4205443e44f39abf57ac5 (patch)
tree2d373d215567c72da0a86180679e3fa144dbe072 /library/SSRS/Object/ReportParameter.php
parentd293a6b0a7363dbaaf9acfe95a889a89573f22ed (diff)
downloadphp-ssrs-32df2c87940c19a63dd4205443e44f39abf57ac5.zip
php-ssrs-32df2c87940c19a63dd4205443e44f39abf57ac5.tar.gz
php-ssrs-32df2c87940c19a63dd4205443e44f39abf57ac5.tar.bz2
Data tidied on set rather than get
Diffstat (limited to 'library/SSRS/Object/ReportParameter.php')
-rwxr-xr-xlibrary/SSRS/Object/ReportParameter.php47
1 files changed, 24 insertions, 23 deletions
diff --git a/library/SSRS/Object/ReportParameter.php b/library/SSRS/Object/ReportParameter.php
index 343e4b5..7fb5a6a 100755
--- a/library/SSRS/Object/ReportParameter.php
+++ b/library/SSRS/Object/ReportParameter.php
@@ -38,33 +38,34 @@ class SSRS_Object_ReportParameter extends SSRS_Object_Abstract {
return $defaults;
}
- /**
- *
- * @return \SSRS_Object_ReportParameter_ValidValue[]
- */
- public function getValidValues() {
- $data = array();
+ public function setValidValues($validValues) {
+ if ($validValues instanceof stdClass && isset($validValues->ValidValue) && is_object($validValues->ValidValue)) {
+ $validValues = array($validValues->ValidValue);
+ } elseif ($validValues instanceof stdClass && isset($validValues->ValidValue)) {
+ $validValues = $validValues->ValidValue;
+ }
- if (key_exists('ValidValues', $this->data) && isset($this->data['ValidValues']->ValidValue)) {
- if (is_object($this->data['ValidValues']->ValidValue)) {
- $data[] = new SSRS_Object_ReportParameter_ValidValue($this->data['ValidValues']->ValidValue->Label,
- $this->data['ValidValues']->ValidValue->Value);
+ $data = array();
+ foreach ($validValues AS $value) {
+ if (is_object($value)) {
+ $data[] = new SSRS_Object_ReportParameter_ValidValue((string) $value->Label, (string) $value->Value);
+ } elseif (is_array($value)) {
+ $data[] = new SSRS_Object_ReportParameter_ValidValue((string) $value['Label'], (string) $value['Value']);
} else {
- foreach ($this->data['ValidValues']->ValidValue AS $value) {
- if (is_object($value)) {
- $data[] = new SSRS_Object_ReportParameter_ValidValue($value->Label, $value->Value);
- } else {
- $data[] = new SSRS_Object_ReportParameter_ValidValue((string) $value, (string) $value);
- }
- }
+ $data[] = new SSRS_Object_ReportParameter_ValidValue((string) $value, (string) $value);
}
-
-// if (!empty($this->data['AllowBlank'])) {
-// $data[] = new SSRS_Object_ReportParameter_ValidValue('', '');
-// }
}
- return $data;
+ $this->data['ValidValues'] = $data;
+ return $this;
+ }
+
+ /**
+ *
+ * @return \SSRS_Object_ReportParameter_ValidValue[]
+ */
+ public function getValidValues() {
+ return empty($this->data['ValidValues']) ? array() : $this->data['ValidValues'];
}
/**
@@ -113,7 +114,7 @@ class SSRS_Object_ReportParameter extends SSRS_Object_Abstract {
* @return bool
*/
public function isSelect() {
- return isset($this->data['ValidValues']);
+ return !empty($this->data['ValidValues']);
}
}