예제 #1
0
 public function label($label = null, $attributes = array())
 {
     $attributes = dmString::toArray($attributes);
     $attributes['class'] = dmArray::toHtmlCssClasses(empty($attributes['class']) ? array('label') : array_merge((array) $attributes['class'], array('label')));
     $label = null === $label ? $this->parent->getWidget()->getLabel($this->name) : $label;
     $this->htmlBuffer .= parent::renderLabel($label, $attributes);
     return $this;
 }
예제 #2
0
  public function renderBodyTag($options = array())
  {
    $options = dmString::toArray($options);

    $options['class'] = dmArray::toHtmlCssClasses(array_merge(dmArray::get($options, 'class', array()), array(
      'page_'.$this->page->get('module').'_'.$this->page->get('action'),
      $this->page->getPageView()->getLayout()->get('css_class')
    )));
    
    return parent::renderBodyTag($options);
  }
예제 #3
0
 public function renderZone(array $zone)
 {
     $style = !$zone['width'] || $zone['width'] === '100%' ? '' : ' style="width: ' . $zone['width'] . ';"';
     $html = '<div id="dm_zone_' . $zone['id'] . '" class="' . dmArray::toHtmlCssClasses(array('dm_zone', $zone['css_class'])) . '"' . $style . '>';
     if ($this->user->can('zone_edit')) {
         $html .= '<a class="dm dm_zone_edit" title="' . $this->i18n->__('Edit this zone') . '"></a>';
     }
     $html .= '<div class="dm_widgets">';
     $html .= $this->renderZoneInner($zone);
     $html .= '</div>';
     $html .= '</div>';
     return $html;
 }
 public function renderZone(array $zone)
 {
     $style = !$zone['width'] || $zone['width'] === '100%' ? '' : ' style="width: ' . $zone['width'] . ';"';
     $html = '<div id="dm_zone_' . $zone['id'] . '" class="' . dmArray::toHtmlCssClasses(array('dm_zone', 'dm_zone_' . $zone['id'], $zone['css_class'], $this->behaviorsManager->isZoneAttachable() ? 'dm_behaviors_attachable' : '')) . '"' . $style . '>';
     if ($this->user->can('zone_edit')) {
         $html .= '<a class="dm dm_zone_edit' . ($this->user->can('behavior_add') && $this->behaviorsManager->isZoneAttachable() ? ' dm_behaviors_droppable' : '') . '" title="' . $this->i18n->__('Edit this zone') . '"></a>';
     }
     if (($this->user->can('behavior_edit') || $this->user->can('behavior_delete')) && $this->behaviorsManager->isZoneAttachable()) {
         $html .= '<a class="dm dm_edit_behaviors_icon s16_gear s16" title="' . $this->i18n->__('Edit behaviors') . '"></a>';
     }
     $html .= '<div class="dm_widgets">';
     $html .= $this->renderZoneInner($zone);
     $html .= '</div>';
     $html .= '</div>';
     return $html;
 }
예제 #5
0
 public function renderZone(array $zone)
 {
     $style = !$zone['width'] || $zone['width'] === '100%' ? '' : ' style="width: ' . $zone['width'] . ';"';
     $html = '<div class="' . dmArray::toHtmlCssClasses(array('dm_zone', $zone['css_class'])) . '"' . $style . '>';
     $html .= '<div class="dm_widgets">';
     $html .= $this->renderZoneInner($zone);
     $html .= '</div>';
     $html .= '</div>';
     return $html;
 }
예제 #6
0
 protected function openPager()
 {
     return $this->helper->open('div', array('class' => dmArray::toHtmlCssClasses(array('pager', $this->getOption('class'), $this->getOption('ajax') ? 'dm_pager_ajax_links' : null)))) . $this->helper->open('ul.clearfix');
 }
예제 #7
0
$t->is_deeply(dmArray::firsts(array('alpha'), 2), array('alpha'), 'not enough values');
$array = array('alpha', 'beta', 'gamma', 'delta');
$t->is_deeply(dmArray::firsts($array, 2), array('alpha', 'beta'), 'first values');
$t->diag('get');
$t->is_deeply(dmArray::get('alpha', null, 'test'), 'test', 'first parameter is not an array');
$t->is_deeply(dmArray::get(array('alpha'), 0, 'test'), 'alpha', 'key exists');
$t->is_deeply(dmArray::get(array('alpha'), 1, 'test'), 'test', 'key not exists');
$t->is_deeply(dmArray::get(array(''), 0, 'test', false), '', 'empty value without default if empty');
$t->is_deeply(dmArray::get(array(''), 0, 'test', true), 'test', 'empty value with default if empty');
$t->is_deeply(dmArray::get(array('alpha'), 0, 'test', true), 'alpha', 'key exists with default if empty');
$t->diag('last');
$t->is_deeply(dmArray::last('alpha'), 'alpha', 'first parameter is not an array');
$t->is_deeply(dmArray::last(array()), null, 'empty source array');
$array = array('alpha', 'beta', 'gamma', 'delta');
$t->is_deeply(dmArray::last($array), 'delta', 'last value');
$t->diag('toHtmlCssClasses');
$classes = array('class1', '', ' class2', ' ', '  class3  ');
$cleanClasses = 'class1 class2 class3';
$t->is(dmArray::toHtmlCssClasses($classes), $cleanClasses, 'clean classes : ' . $cleanClasses);
$classes = array('class1');
$cleanClasses = 'class1';
$t->is(dmArray::toHtmlCssClasses($classes), $cleanClasses, 'clean classes : ' . $cleanClasses);
$classes = array('  class1 class2 class3  ');
$cleanClasses = 'class1 class2 class3';
$t->is(dmArray::toHtmlCssClasses($classes), $cleanClasses, 'clean classes : ' . $cleanClasses);
$t->diag('unsetEmpty');
$array = array(1 => '', 2 => 'delta', 3 => '', 'alpha' => 'gamma', 'gamma' => '', 'delta' => '');
$t->is_deeply(dmArray::unsetEmpty($array, array(3, 'gamma')), array('1' => '', '2' => 'delta', 'alpha' => 'gamma', 'delta' => ''), 'check');
$t->diag('valueToKey');
$array = array('alpha', 'beta', 'gamma', 'delta');
$t->is_deeply(dmArray::valueToKey($array), array('alpha' => 'alpha', 'beta' => 'beta', 'gamma' => 'gamma', 'delta' => 'delta'), 'check');
예제 #8
0
파일: dmForm.php 프로젝트: vjousse/diem
 public function renderSubmitTag($value = 'submit', $attributes = array())
 {
     $attributes = array_merge(array('value' => $value, 'type' => 'submit'), dmString::toArray($attributes));
     $attributes['class'] = dmArray::toHtmlCssClasses(array_merge(dmArray::get($attributes, 'class', array()), array('submit')));
     return sprintf('<input%s />', $this->getWidgetSchema()->attributesToHtml($attributes));
 }
예제 #9
0
파일: dmHtmlTag.php 프로젝트: theolymp/diem
 protected function convertAttributesToHtml(array $attributes)
 {
     /*
      * Implode classes
      */
     if (isset($attributes['class'])) {
         $attributes['class'] = dmArray::toHtmlCssClasses($attributes['class']);
     }
     /*
      * Remove non html attributes
      */
     foreach ($this->attributesToRemove as $key) {
         if (array_key_exists($key, $attributes)) {
             unset($attributes[$key]);
         }
     }
     /*
      * Remove empty attributes
      */
     $attributes = dmArray::unsetEmpty($attributes, $this->emptyAttributesToRemove);
     /*
      * Convert attributes array into html string params
      */
     $htmlAttributesString = '';
     foreach ($attributes as $key => $value) {
         if (null !== $value) {
             $htmlAttributesString .= ' ' . $key . '="' . htmlspecialchars((string) $value, ENT_COMPAT, 'UTF-8') . '"';
         }
     }
     return $htmlAttributesString;
 }
예제 #10
0
 public function setFcbkcompleteOptions(array $options)
 {
     $this->setAttribute('class', dmArray::toHtmlCssClasses(array($this->getAttribute('class'), json_encode($options))));
 }
 /**
  * @param  string $name        The element name
  * @param  string $value       The value displayed in this widget
  * @param  array  $attributes  An array of HTML attributes to be merged with the default HTML attributes
  * @param  array  $errors      An array of errors for the field
  *
  * @return string An HTML tag string
  *
  * @see sfWidgetForm
  */
 public function render($name, $value = null, $attributes = array(), $errors = array())
 {
     $attributes['class'] = dmArray::toHtmlCssClasses(array(dmArray::get($attributes, 'class'), 'dm_ckeditor', json_encode($this->getOption('config'))));
     return parent::render($name, $value, $attributes, $errors);
 }