dir = $dir;
$this->prefix = $prefix;
if(!empty($this->value))
{
// Проверяем, не является ли файл скриптом PHP
// или Perl, html, если это так преобразуем его в формат .txt
$extentions = array("#\.php#is",
"#\.phtml#is",
"#\.php3#is",
"#\.html#is",
"#\.htm#is",
"#\.hta#is",
"#\.pl#is",
"#\.xml#is",
"#\.inc#is",
"#\.shtml#is",
"#\.xht#is",
"#\.xhtml#is");
// Заменяем русские символы на транслит
$this->value[$this->name]['name'] =
$this->encodestring($this->value[$this->name]['name']);
// Извлекаем из имени файла расширение
$path_parts = pathinfo($this->value[$this->name]['name']);
$ext = ".".$path_parts['extension'];
$path = basename($this->value[$this->name]['name'],$ext);
$add = $ext;
foreach($extentions AS $exten)
{
if(preg_match($exten, $ext)) $add = ".txt";
}
$path .= $add;
$path = str_replace("//","/",$dir."/".$prefix.$path);
// Перемещаем файл из временной директории сервера в
// директорию /files Web-приложения
if (copy($this->value[$this->name]['tmp_name'], $path))
{
// Уничтожаем файл во временной директории
@unlink($this->value[$this->name]['tmp_name']);
// Изменяем права доступа к файлу
@chmod($path, 0644);
}
}
}
// Метод, для возврата имени названия поля
// и самого тэга элемента управления
function get_html()
{
// Если элементы оформления не пусты - учитываем их
if(!empty($this->css_style))
{
$style = "style=\"".$this->css_style."\"";
}
else $style = "";
if(!empty($this->css_class))
{
$class = "class=\"".$this->css_class."\"";
}
else $class = "";
// Формируем тэг
$tag = "type."\"
name=\"".$this->name."\">\n";
// Если поле обязательно, помечаем этот факт
if($this->is_required) $this->caption .= " *";
// Формируем подсказку, если она имеется
$help = "";
if(!empty($this->help))
{
$help .= "".
nl2br($this->help)
."";
}
if(!empty($help)) $help .= "
";
if(!empty($this->help_url))
{
$help .= "
помощь
";
}
return array($this->caption, $tag, $help);
}
// Метод, проверяющий корректность переданных данных
function check()
{
if($this->is_required)
{
if(empty($this->value[$this->name]))
{
return "Поле \"".$this->caption."\" не заполнено";
}
}
return "";
}
// Возвращает перекодированное имя файла
function get_filename()
{
if(!empty($this->value))
{
if(!empty($this->value[$this->name]['name']))
{
return mysql_escape_string($this->encodestring(
$this->prefix.$this->value[$this->name]['name']));
}
else return "";
}
else return "";
}
}
?>