Files
luos/thirdparty/html2ps_pdf/box.input.img.php
Paula Quispe 9eb7d6cac2 HOR-2689
2017-08-03 17:00:30 -04:00

128 lines
3.8 KiB
PHP

<?php
class ButtonBrokenImageBox extends BrokenImgBox {
var $_field_name;
var $_field_value;
var $_action_url;
function ButtonBrokenImageBox($width, $height, $alt, $field, $value, $action_url) {
$this->BrokenImgBox($width, $height, $alt);
$this->_field_name = $field;
$this->_field_value = $value;
$this->set_action_url($action_url);
}
function readCSS(&$state) {
parent::readCSS($state);
$this->_readCSS($state,
array(CSS_HTML2PS_FORM_ACTION));
}
function set_action_url($action_url) {
$this->_action_url = $action_url;
}
function show(&$driver) {
$status = parent::show($driver);
global $g_config;
if ($g_config['renderforms']) {
$driver->field_pushbuttonimage($this->get_left_padding(),
$this->get_top_padding(),
$this->get_width() + $this->get_padding_left() + $this->get_padding_right(),
$this->get_height() + $this->get_padding_top() + $this->get_padding_bottom(),
$this->_field_name,
$this->_field_value,
$this->_action_url);
};
return $status;
}
}
class ButtonImageBox extends ImgBox {
var $_field_name;
var $_field_value;
var $_action_url;
function ButtonImageBox($img, $field, $value, $action_url) {
$this->ImgBox($img);
$this->_field_name = $field;
$this->_field_value = $value;
$this->set_action_url($action_url);
}
function readCSS(&$state) {
parent::readCSS($state);
$this->_readCSS($state,
array(CSS_HTML2PS_FORM_ACTION));
}
function set_action_url($action_url) {
$this->_action_url = $action_url;
}
function show(&$driver) {
$status = parent::show($driver);
global $g_config;
if ($g_config['renderforms']) {
$driver->field_pushbuttonimage($this->get_left_padding(),
$this->get_top_padding(),
$this->get_width() + $this->get_padding_left() + $this->get_padding_right(),
$this->get_height() + $this->get_padding_top() + $this->get_padding_bottom(),
$this->_field_name,
$this->_field_value,
$this->_action_url);
};
return $status;
}
function &create(&$root, &$pipeline) {
$name = $root->get_attribute('name');
$value = $root->get_attribute('value');
$url_autofix = new AutofixUrl();
$src = $url_autofix->apply(trim($root->get_attribute("src")));
$src_img = Image::get($pipeline->guess_url($src), $pipeline);
if (is_null($src_img)) {
error_log(sprintf("Cannot open image at '%s'", $src));
if ($root->has_attribute('width')) {
$width = px2pt($root->get_attribute('width'));
} else {
$width = px2pt(BROKEN_IMAGE_DEFAULT_SIZE_PX);
};
if ($root->has_attribute('height')) {
$height = px2pt($root->get_attribute('height'));
} else {
$height = px2pt(BROKEN_IMAGE_DEFAULT_SIZE_PX);
};
$alt = $root->get_attribute('alt');
$css_state =& $pipeline->getCurrentCSSState();
$box =& new ButtonBrokenImagebox($width, $height, $alt, $name, $value,
$css_state->getProperty(CSS_HTML2PS_FORM_ACTION));
$box->readCSS($css_state);
return $box;
};
$css_state =& $pipeline->getCurrentCSSState();
$box =& new ButtonImageBox($src_img, $name, $value,
$css_state->getProperty(CSS_HTML2PS_FORM_ACTION));
$box->readCSS($css_state);
$box->_setupSize();
return $box;
}
}
?>