/phpSurvey/library/Snake/Ext/Checkbox.php
PHP | 117 lines | 57 code | 4 blank | 56 comment | 8 complexity | 0b9b692be0d9d7950afe6c27ceb0b8de MD5 | raw file
Possible License(s): LGPL-2.1, BSD-3-Clause
- <?php
- /**
- * ???????
- *
- * @param string $name
- * @param array $arr
- * @param array $selected
- * @param string $separator
- * @param string $extra
- */
- class Ext_Checkbox extends Ext_Snake {
- /**
- * HTML??input?name
- *
- * @var string
- */
- var $name = 'checkbox';
- /**
- * ??label??????
- *
- * @var array
- */
- var $vt = array();
- /**
- * ?????
- *
- * @var array
- */
- var $selected = array();
- /**
- * ????
- *
- * @var unknown_type
- */
- var $extra = null;
- /**
- * ???????
- *
- * @var unknown_type
- */
- var $method = 'xtype';
- /**
- * ????????true?echo
- * ???flase?return
- *
- * @var boolean
- */
- var $output = false;
-
- var $anchor = '20%';
- /**
- * ???????
- *
- */
- function group() {
- // ???????????
- $echo = array();
- if (!is_array($this->selected)) {
- $this->selected = array($this->selected);
- }
- foreach ((array)$this->vt as $value => $title) {
- if (in_array($value, $this->selected)) {
- $selected = true;
- }else {
- $selected = false;
- }
- $echo[] = $this->xtype($this->name,$value,$title,$selected,$this->anchor,$this->extra);
- }
- $output = implode(',',$echo);
- if ($this->output == true) {
- echo $output;
- }else {
- return $output;
- }
- }
-
- /**
- * ?xtype????????ITEM?
- *
- * @param string $name
- * @param string $value
- * @param string $label
- * @param boolean $selected
- * @param string $anchor
- * @param string $extra
- */
- function xtype($name,$value = 'on',$label='', $selected = false,$anchor = '20%', $extra = null)
- {
- if (empty($name)) {
- return ;
- }
- if (empty($name)) {
- $id = $name.'_'.mt_rand(0,99);
- }
- // ??????
- $label = st($label);
- $value = Basic::h($value);
- $string = "{ \r";
- if (!empty($label)) {
- $string .= "fieldLabel:'{$label}',\r";
- }
- $string .= " xtype:'checkbox',\r
- name:'{$name}[]',\r";
- if (is_numeric($value)){
- $string .= " inputValue:{$value},\r";
- }else {
- $string .= " inputValue:'{$value}',\r";
- }
- $string .= " anchor:'{$anchor}'\r";
- if ($selected){$string.=',checked:true';}
- if (!empty($extra)){$string.=','.$extra;}
- $string .= "}";
- return $string;
- }
-
-
- }