Squiz Matrix  4.12.2
 All Data Structures Namespaces Functions Variables Pages
html_width.inc
1 <?php
18 require_once SQ_INCLUDE_PATH.'/asset_attribute.inc';
19 
35 {
36 
37 
45  function Asset_Attribute_HTML_Width($attributeid=0, $value=null)
46  {
47  $this->Asset_Attribute($attributeid, $value);
48 
49  }//end constructor
50 
51 
61  function setEditParams(&$node)
62  {
63  if (!parent::setEditParams($node)) return false;
64 
65  return true;
66 
67  }//end setEditParams()
68 
69 
78  function paint($prefix, $read_only=false)
79  {
80  $is_pct = (strpos($this->value, '%') !== false);
81 
82  if ($read_only) {
83  echo (int) $this->value.($is_pct ? ' '.translate('percent') : ' '.translate('pixels'));
84  return;
85  }
86 
87  require_once SQ_LIB_PATH.'/html_form/html_form.inc';
88  text_box($prefix, (int) $this->value, 4, 0, false, 'onFocus="javascript: this.__sq_init_value = this.value;" onChange="javascript: if (isNaN(parseInt(this.value))) { this.value = this.__sq_init_value; alert(js_translate(\'cannot_accept_non_digit_characters\')); } else { this.value = parseInt(this.value); } "');
89  combo_box($prefix.'_pct', Array(0 => 'Pixels', 1 => 'Percent'), false, $is_pct, 0, $extras='', $maxlength=0);
90 
91  }//end paint()
92 
93 
101  function process($prefix)
102  {
103 
104  if (!isset($_REQUEST[$prefix])) return false;
105 
106  if ($_REQUEST[$prefix.'_pct'] == 1) {
107 
108  $value = (int) $_REQUEST[$prefix].'%';
109  } else {
110  $value = (int) $_REQUEST[$prefix];
111  }
112 
113  if ((string)$this->value != (string) $value && $this->setValue($value)) {
114  $this->processed = true;
115  } else {
116  $this->processed = false;
117  }
118 
119  }//end process()
120 
121 
130  function validateValue(&$value)
131  {
132  if (preg_match('/^[0-9a-f]+%?$/i', (string) $value)) {
133  return true;
134  } else if (!empty($this->_params['allow_blanks']) && strlen($value) == 0) {
135  return true;
136  } else {
137  return false;
138  }
139 
140  }//end validateValue()
141 
142 
143 }//end class
144 
145 ?>