Account Suspended
Account Suspended
This Account has been suspended.
Contact your hosting provider for more information.
 All Data Structures Functions Variables Pages
BuilderDividerElement.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 
38  {
39  public static function isUIAccessible()
40  {
41  return true;
42  }
43 
44  protected static function resolveLabel()
45  {
46  return Zurmo::t('EmailTemplatesModule', 'Divider');
47  }
48 
49  protected function resolveDefaultProperties()
50  {
51  $properties = array(
52  'backend' => array(
53  'divider-padding' => '10',
54  ),
55  'frontend' => array(
56  'inlineStyles' => array(
57  'border-top-width' => '1',
58  'border-top-style' => 'solid',
59  'border-top-color' => '#333333',
60  ),
61  )
62  );
63  return $properties;
64  }
65 
66  protected function renderControlContentNonEditable()
67  {
68  $src = $this->resolveDividerImageUrl();
69  $alt = static::resolveLabel();
70  $imageOptions = array();
71  $imageHeight = ArrayUtil::getNestedValue($this->properties, "frontend['inlineStyles']['border-top-width']");
72  if (isset($imageHeight))
73  {
74  // get rid of px as for border-top-width we have to save it with px(it appears in style property).
75  $imageHeight = substr($imageHeight, 0, -2);
76  $imageOptions = array('height' => $imageHeight);
77  }
78  $content = ZurmoHtml::image($src, $alt, $imageOptions);
79  return $content;
80  }
81 
82  protected function renderSettingsTab(ZurmoActiveForm $form)
83  {
84  $propertiesForm = BuilderDividerElementPropertiesEditableElementsUtil::render($this->model, $form);
85  return $propertiesForm;
86  }
87 
88  protected function renderContentTab(ZurmoActiveForm $form)
89  {
90  return null;
91  }
92 
97  protected function resolveDividerImageUrl()
98  {
99  // its simple divider, we would use same dummy image for divider
100  return $this->resolveDummyDividerImageUrl();
101  }
102 
107  protected function resolveDummyDividerImageUrl()
108  {
109  return PlaceholderImageUtil::resolveTransparentImageUrl(true);
110  }
111 
112  protected function resolveWrapperTdNonEditableByContent($content)
113  {
114  $options = $this->resolveNonEditableContentWrappingTdOptions();
115  $content = ZurmoHtml::tag('tr', array(), ZurmoHtml::tag('td', $options, $content));
116  $content = $this->resolveContentForPaddingTds($content);
117  return $content;
118  }
119 
125  protected function resolveContentForPaddingTds($content)
126  {
127  $paddingTdContent = $this->resolvePaddingTdContent();
128  $content = $paddingTdContent . $content . $paddingTdContent;
129  return $content;
130  }
131 
136  protected function resolvePaddingTdContent()
137  {
138  $src = $this->resolveDummyDividerImageUrl();
139  $alt = static::resolveLabel();
140  if (isset($this->properties['backend']) && isset($this->properties['backend']['divider-padding']))
141  {
142  $height = $this->properties['backend']['divider-padding'];
143  }
144  else
145  {
146  $height = 0;
147  }
148  $imageOptions = array('height' => $height);
149  $content = ZurmoHtml::image($src, $alt, $imageOptions);
150  $content = ZurmoHtml::tag('tr', array(), ZurmoHtml::tag('td', array(), $content));
151  return $content;
152  }
153 
154  protected function resolveNonEditableWrapperHtmlOptions()
155  {
156  $options = parent::resolveNonEditableWrapperHtmlOptions();
157  $options['class'] .= ' ' . $this->resolveDividerCssClassNames();
158  return $options;
159  }
160 
165  protected function resolveDividerCssClassNames()
166  {
167  return 'simple-divider';
168  }
169 
175  protected function resolveWrapperTrNonEditableByContent($content)
176  {
177  return $content;
178  }
179  }
180 ?>
static getNestedValue(array $array, $key)
Definition: ArrayUtil.php:275
resolveWrapperTrNonEditableByContent($content)
Generated on Sun Oct 25 2020 07:10:29
Account Suspended
Account Suspended
This Account has been suspended.
Contact your hosting provider for more information.