コード例 #1
0
ファイル: APP_GROUP_web.php プロジェクト: com-itzcy/hdjob
 public function build_struct($data)
 {
     $data['rule'] = json_decode($data['rule']);
     $tags = new MyTags();
     $rule = '';
     $validate = '';
     $width = empty($data['width']) ? '' : ' width:' . $data['width'] . 'px;';
     $height = empty($data['height']) ? '' : ' height:' . $data['height'] . 'px;';
     $style = '';
     if ($width . $height != '') {
         $style = ' style="' . $width . $height . '" ';
     }
     if (!empty($data['rule'])) {
         $validate = ' validate={';
         foreach ($data['rule'] as $rule_key => $rule_value) {
             $rule .= '"' . $rule_key . '"' . ':' . $rule_value . ',';
         }
         //组合错误消息
         if (trim($data['error_tips']) != '') {
             $rule .= '"messages":"' . $data['error_tips'] . '"';
         }
         $validate .= trim($rule, ',') . '} ';
     }
     if (substr($data['field_type'], 0, 6) == 'switch' && $data['setting']['type'] == 'option') {
         $this->html_struct[$data['field_name']]['add_html'] = '<select name="' . $data['field_name'] . '" ' . $data['js_event'] . ' ' . $validate . '><option value="">请选择</option>';
         $this->html_struct[$data['field_name']]['edit_html'] = '<select name="' . $data['field_name'] . '" ' . $data['js_event'] . ' ' . $validate . '><option value="">请选择</option>';
     }
     if (substr($data['field_type'], 0, 5) == 'input') {
         $this->html_struct[$data['field_name']]['add_html'] = '<input type="text" name="' . $data['field_name'] . '" ' . $data['js_event'] . ' ' . $data['html_attr'] . $validate . ' value="' . $data['default_val'] . '" />';
         $this->html_struct[$data['field_name']]['edit_html'] = "<input type=\"text\" name=\"" . $data['field_name'] . '" ' . $data['js_event'] . ' ' . $data['html_attr'] . $validate . $style . " value=\"<?php echo \$" . $data['field_name'] . ";?>\" />";
     }
     if ($data['field_type'] == 'switch') {
         foreach ($data['data'] as $radio_v => $radio_n) {
             if ($radio_v == $data['default_val']) {
                 $checked = 'checked="checked"';
                 $selected = 'selected="selected"';
             } else {
                 $checked = '';
                 $selected = $checked;
             }
             $edit_checked = '<?php if(in_array("' . $radio_v . '",explode("#",$' . $data['field_name'] . '))):?>checked<?php endif;?>';
             $edit_selected = '<?php if($' . $data['field_name'] . '=="' . $radio_v . '"):?>selected<?php endif;?>';
             if ($data['setting']['type'] == 'radio') {
                 $this->html_struct[$data['field_name']]['add_html'] .= '<label><input type="' . $data['setting']['type'] . "\" name=\"{$data['field_name']}\" {$data['js_event']} value=\"{$radio_v}\"{$validate} {$checked} />{$radio_n}</label>";
                 $this->html_struct[$data['field_name']]['edit_html'] .= '<label><input type="' . $data['setting']['type'] . "\" name=\"{$data['field_name']}\" {$data['js_event']} value=\"{$radio_v}\"{$validate} {$edit_checked} />{$radio_n}</label>";
             } else {
                 if ($data['setting']['type'] == 'checkbox') {
                     $this->html_struct[$data['field_name']]['add_html'] .= '<label><input type="' . $data['setting']['type'] . "\" name=\"{$data['field_name']}[]\" {$data['js_event']} value=\"{$radio_v}\"{$validate} {$checked} />{$radio_n}</label>";
                     $this->html_struct[$data['field_name']]['edit_html'] .= '<label><input type="' . $data['setting']['type'] . "\" name=\"{$data['field_name']}[]\" {$data['js_event']} value=\"{$radio_v}\"{$validate} {$edit_checked} />{$radio_n}</label>";
                 } else {
                     //下拉列表
                     $this->html_struct[$data['field_name']]['add_html'] .= '<option value="' . $radio_v . '" ' . $selected . '>' . $radio_n . '</option>';
                     $this->html_struct[$data['field_name']]['edit_html'] .= '<option value="' . $radio_v . '" ' . $edit_selected . '>' . $radio_n . '</option>';
                 }
             }
         }
     }
     if (substr($data['field_type'], 0, 6) == 'switch' && $data['setting']['type'] == 'option') {
         $this->html_struct[$data['field_name']]['add_html'] .= '</select>';
         $this->html_struct[$data['field_name']]['edit_html'] .= '</select>';
     }
     if ($data['field_type'] == 'editor') {
         //编辑器
         $editor_attr = array('name' => $data['field_name'], 'id' => $data['field_name'], 'content' => $data['default_val'], 'width' => $data['width'], 'height' => $data['height'], 'style' => $data['editor_style']);
         if (isset($data['rule']['maxlength'])) {
             $editor_attr['max'] = $data['rule']['maxlength'];
             //最大输入字数
         }
         $this->html_struct[$data['field_name']]['add_html'] = $tags->_editor($editor_attr, '');
         $editor_attr['content'] = '$' . $data['field_name'];
         $this->html_struct[$data['field_name']]['edit_html'] = $tags->_editor($editor_attr, '');
     }
     if ($data['field_type'] == 'textarea') {
         //文本域
         $this->html_struct[$data['field_name']]['add_html'] = '<textarea name = "' . $data['field_name'] . '" ' . $data['js_event'] . ' ' . $data['html_attr'] . $validate . $style . ' >' . $data['default_val'] . '</textarea>';
         $this->html_struct[$data['field_name']]['edit_html'] = '<textarea name = "' . $data['field_name'] . '" ' . $data['js_event'] . ' ' . $data['html_attr'] . $validate . $style . ' ><?php echo $' . $data['field_name'] . ';?></textarea>';
     }
     if ($data['field_type'] == 'linkage') {
         //联动数据
         $attr = array();
         $data['attached'] = json_decode($data['attached']);
         if (!empty($data['attached'])) {
             $attr['field'] = $data['field_name'] . '#';
             $attr['edit_field'] = '$' . $data['field_name'] . '#$';
             $attr['field'] .= implode('#', $data['attached']);
             $attr['edit_field'] .= implode('#$', $data['attached']);
         } else {
             $attr['field'] = $data['field_name'];
             $attr['edit_field'] = '$' . $data['field_name'];
         }
         $attr['edit_field'] = rtrim($attr['edit_field'], '#$');
         $attr['data'] = $data['lcgid'];
         $attr['style'] = $data['linkage_style'];
         $attr['attr'] = $data['html_attr'] . $validate;
         $attr['checkbox'] = isset($data['setting']['checkbox']) ? 'true' : 'false';
         if (!empty($data['default_val'])) {
             $attr['defaults'] = $data['default_val'];
         }
         $this->html_struct[$data['field_name']]['add_html'] = $tags->_linkage($attr, '');
         $attr['defaults'] = $attr['edit_field'];
         $this->html_struct[$data['field_name']]['edit_html'] = $tags->_linkage($attr, '');
     }
 }
コード例 #2
0
ファイル: TagCloud_example3.php プロジェクト: Ogwang/sainp
     *
     * @var    int
     * @access protected
     */
    protected $fontSizeRange = 0;
    /**
     * Defines the base font size
     *
     * @var    int
     * @access protected
     */
    protected $baseFontSize = 12;
}
// }}}
// Create an instance of our extended HTML_TagCloud we prepared above
$tags = new MyTags();
// Add Elements (same as TagCloud_example1.php)
$tags->addElement('PHP', 'http://www.php.net', 39, strtotime('-1 day'));
$tags->addElement('XML', 'http://www.xml.org', 21, strtotime('-2 week'));
$tags->addElement('Perl', 'http://www.perl.org', 15, strtotime('-1 month'));
$tags->addElement('PEAR', 'http://pear.php.net', 32, time());
$tags->addElement('MySQL', 'http://www.mysql.com', 10, strtotime('-2 day'));
$tags->addElement('PostgreSQL', 'http://pgsql.com', 6, strtotime('-3 week'));
// Print out HTML and CSS
print $tags->buildALL();
// Show source, you don't need this line in your code, it's just for showing off
?>
<br/>
Take a look at the source:<br/>
<?php 
show_source(__FILE__);