Account Suspended
Account Suspended
This Account has been suspended.
Contact your hosting provider for more information.
 All Data Structures Functions Variables Pages
DropDownElement.php
1 <?php
2  /*********************************************************************************
3  * Zurmo is a customer relationship management program developed by
4  * Zurmo, Inc. Copyright (C) 2017 Zurmo Inc.
5  *
6  * Zurmo is free software; you can redistribute it and/or modify it under
7  * the terms of the GNU Affero General Public License version 3 as published by the
8  * Free Software Foundation with the addition of the following permission added
9  * to Section 15 as permitted in Section 7(a): FOR ANY PART OF THE COVERED WORK
10  * IN WHICH THE COPYRIGHT IS OWNED BY ZURMO, ZURMO DISCLAIMS THE WARRANTY
11  * OF NON INFRINGEMENT OF THIRD PARTY RIGHTS.
12  *
13  * Zurmo is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
15  * FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more
16  * details.
17  *
18  * You should have received a copy of the GNU Affero General Public License along with
19  * this program; if not, see http://www.gnu.org/licenses or write to the Free
20  * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
21  * 02110-1301 USA.
22  *
23  * You can contact Zurmo, Inc. with a mailing address at 27 North Wacker Drive
24  * Suite 370 Chicago, IL 60606. or at email address contact@zurmo.com.
25  *
26  * The interactive user interfaces in original and modified versions
27  * of this program must display Appropriate Legal Notices, as required under
28  * Section 5 of the GNU Affero General Public License version 3.
29  *
30  * In accordance with Section 7(b) of the GNU Affero General Public License version 3,
31  * these Appropriate Legal Notices must retain the display of the Zurmo
32  * logo and Zurmo copyright notice. If the display of the logo is not reasonably
33  * feasible for technical reasons, the Appropriate Legal Notices must display the words
34  * "Copyright Zurmo Inc. 2017. All rights reserved".
35  ********************************************************************************/
36 
40  class DropDownElement extends Element
41  {
46  protected function renderControlEditable()
47  {
48  return $this->form->dropDownList(
49  $this->model->{$this->attribute},
50  'value',
51  $this->getDropDownArray(),
52  $this->getEditableHtmlOptions()
53  );
54  }
55 
56  protected function resolveIdForLabel()
57  {
58  return $this->getIdForSelectInput();
59  }
60 
67  protected function renderControlNonEditable()
68  {
69  $dropDownModel = $this->model->{$this->attribute};
70  $dropDownArray = $this->getDropDownArray();
71  return Yii::app()->format->text(ArrayUtil::getArrayValue($dropDownArray, $dropDownModel->value));
72  }
73 
74  protected function convertDropDownModelsToArrayByIdName($dropDownModels)
75  {
76  $array = array();
77  if (!empty($dropDownModels))
78  {
79  foreach ($dropDownModels as $dropDownModel)
80  {
81  $array[$dropDownModel->id] = $dropDownModel;
82  }
83  }
84  return $array;
85  }
86 
87  protected function getAddBlank()
88  {
89  if (ArrayUtil::getArrayValue($this->params, 'addBlank'))
90  {
91  return true;
92  }
93  else
94  {
95  return false;
96  }
97  }
98 
99  public function getIdForSelectInput()
100  {
101  return $this->getEditableInputId($this->attribute, 'value');
102  }
103 
104  protected function getNameForSelectInput()
105  {
106  return $this->getEditableInputName($this->attribute, 'value');
107  }
108 
109  public function getEditableNameIds()
110  {
111  return array(
112  $this->getIdForSelectInput(),
113  );
114  }
115 
116  protected function getEditableHtmlOptions()
117  {
118  $htmlOptions = array(
119  'name' => $this->getNameForSelectInput(),
120  'id' => $this->getIdForSelectInput(),
121  );
122  if ($this->getAddBlank())
123  {
124  $htmlOptions['empty'] = Zurmo::t('Core', '(None)');
125  }
126  $htmlOptions['disabled'] = $this->getDisabledValue();
127  return $htmlOptions;
128  }
129 
130  protected function getDropDownArray()
131  {
132  $dropDownModel = $this->model->{$this->attribute};
133  $dataAndLabels = CustomFieldDataUtil::
134  getDataIndexedByDataAndTranslatedLabelsByLanguage($dropDownModel->data, Yii::app()->language);
135  return $dataAndLabels;
136  }
137 
142  protected function renderError()
143  {
144  return $this->form->error($this->model, $this->attribute,
145  array('inputID' => $this->getEditableInputId($this->attribute, 'value')));
146  }
147  }
148 ?>
static getDataIndexedByDataAndTranslatedLabelsByLanguage(CustomFieldData $customFieldData, $language)
static getArrayValue($array, $element, $defaultValue=null)
Definition: ArrayUtil.php:45
Generated on Mon Jul 6 2020 07:10:29
Account Suspended
Account Suspended
This Account has been suspended.
Contact your hosting provider for more information.