00001 <?php
00002
00003
00004
00005 class DBFieldTextHtml extends DBFieldText {
00006
00007
00008
00009
00010
00011 public function __construct($name, $length = self::BLOB_LENGTH_SMALL, $default_value = null, $policy = self::NONE) {
00012 parent::__construct($name, $length, $default_value, $policy);
00013 }
00014
00015
00016
00017
00018
00019
00020
00021 public function validate($value) {
00022 $ret = new Status();
00023 if (!$this->is_null($value)) {
00024 $value = $this->convert_value($value);
00025 }
00026 if ($value !== '') {
00027
00028
00029 $test = String::preg_replace('|\W|ms', '', strip_tags($value));
00030 if ($test === '' && !$this->get_null_allowed()) {
00031 $ret->append(tr(
00032 '%field may not be empty',
00033 'core',
00034 array(
00035 '%field' => $this->get_field_name_translation(),
00036 )
00037 ));
00038 }
00039 }
00040 if($ret->is_ok()) {
00041 $ret->merge(parent::validate($value));
00042 }
00043 return $ret;
00044 }
00045
00046
00047
00048
00049
00050
00051
00052 protected function do_format_not_null($value) {
00053 return parent::do_format_not_null(
00054 $this->convert_value($value)
00055 );
00056 }
00057
00058
00059
00060
00061 protected function convert_value($value) {
00062 return HtmlText::apply_conversion(HtmlText::STORAGE, $value, $this->get_table()->get_table_name());
00063 }
00064 }