コード例 #1
0
ファイル: sl_html.php プロジェクト: sandulungu/StarLight
 public function meioImage($filename, $options = array())
 {
     $options += array('folder' => 'cms_images', 'thumb' => 'icon', 'title' => null, 'link' => null);
     $image = $this->Html->image("/files/{$options['folder']}/thumb/{$options['thumb']}/{$filename}", array('alt' => $options['thumb'], 'title' => $options['title']));
     if (isset($options['link'])) {
         return $options['link'] ? $this->link($image, $options['link']) : $image;
     }
     return Pheme::parse('JqueryColorbox') . $this->link($image, "/files/{$options['folder']}/{$filename}", array('rel' => 'colorbox', 'webroot' => true));
 }
コード例 #2
0
ファイル: bridge.php プロジェクト: sandulungu/StarLight
 static function parseOutputBuffer($blockName, $options = array())
 {
     $options['skin'] = ob_get_clean();
     $result = Pheme::parse($blockName, $options);
     ob_start();
     return $result;
 }
コード例 #3
0
ファイル: sl_form.php プロジェクト: sandulungu/StarLight
 public function input($fieldName, $options = array())
 {
     $view = ClassRegistry::getObject('view');
     $this->setEntity($fieldName);
     $modelKey = $this->model();
     $fieldKey = $this->field();
     if ($modelKey[0] >= 'A' && $modelKey[0] <= 'Z') {
         $model = ClassRegistry::init($modelKey);
         $schema = $model->schema($fieldKey);
         $options += array('meioUpload' => $model->Behaviors->enabled('MeioUpload') && isset($model->Behaviors->MeioUpload->__fields[$model->alias][$fieldKey]), 'before' => '', 'after' => '', 'translate' => $model->Behaviors->enabled('Translate') && in_array($fieldKey, $model->Behaviors->Translate->settings[$model->alias]));
         if ($schema['type'] == 'boolean') {
             $options += array('checkedByDefault' => (bool) $schema['default']);
         } else {
             $options += array('default' => $schema['default']);
         }
         // if this is a MeioUpload field and a file has been uploaded, then show it
         if ($options['meioUpload'] && !empty($view->data[$modelKey][$fieldKey]) && is_string($view->data[$modelKey][$fieldKey])) {
             $meioUploadOptions = $model->Behaviors->MeioUpload->__fields[$model->alias][$fieldKey];
             $filename = r(DS, '/', "{$meioUploadOptions['dir']}/{$view->data[$modelKey][$fieldKey]}");
             if (isset($meioUploadOptions['thumbsizes']['icon'])) {
                 $iconFilename = r(DS, '/', "{$meioUploadOptions['dir']}/thumb/icon/{$view->data[$modelKey][$fieldKey]}");
                 $options['before'] .= sprintf('<a class="sl-uploaded-image" href="%s" rel="colorbox" target="_blank"><img src="%s" /></a>', $this->assetUrl($filename), $this->assetUrl($iconFilename));
                 Pheme::parse('JqueryColorbox');
             } else {
                 $options['after'] .= sprintf('<a class="sl-uploaded-file" href="%s" target="_blank">%s</a>', $this->assetUrl($filename), __t('View uploaded file'));
             }
         }
         unset($options['meioUpload']);
         if (in_array($schema['type'], array('datetime', 'date', 'time'))) {
             $options += array('dateFormat' => SlConfigure::read2('I18n.options.dateFormat'), 'timeFormat' => SlConfigure::read2('I18n.options.timeFormat'));
         }
     }
     $prefix = SlConfigure::read2('View.options.modelPrefix');
     if (empty($prefix)) {
         $prefix = $this->plugin;
     }
     $options += array('label' => __t(Inflector::humanize(r('.', ' ', preg_replace("/^{$prefix}_|_id\$/", '', $fieldName)))), 'translate' => false);
     if (isset($options['checkedByDefault'])) {
         if (!isset($view->data[$modelKey][$fieldKey])) {
             $options['checked'] = $options['checkedByDefault'];
         }
         unset($options['checkedByDefault']);
     }
     $translate = $options['translate'];
     unset($options['translate']);
     if ($translate) {
         $fields = array();
         $catalogs = SlConfigure::read('I18n.catalogs');
         $options2 = $options;
         foreach ($catalogs as $catalog) {
             $options2['label'] = $catalog['language'];
             if (isset($options['value']) && is_array($options['value'])) {
                 if (isset($options['value'][$catalog['locale']])) {
                     $options2['value'] = $options['value'][$catalog['locale']];
                 } else {
                     unset($options2['value']);
                 }
             } else {
                 unset($options2['value']);
             }
             $fields["{$fieldName}_{$catalog['locale']}"] = $options2;
         }
         if (count($fields) == 1) {
             return parent::input(key($fields), array('label' => $options['label']) + $options2);
         }
         return $this->inputs(array('legend' => $options['label']) + $fields);
     } else {
         return parent::input($fieldName, $options);
     }
 }