привет.) независимые скрипты да, а то что модули под dcms то на простом mysql
PHP
if (isset($_POST['name'])) {
$address = $_FILES['address']['name'];
$resolution = strtolower(strrchr($address, '.'));
$res_address = array('.mp4');
$screenshot = $_FILES['screenshot']['name'];
$resolution_scr = strtolower(strrchr($screenshot, '.'));
$res_scr = array('.jpg');
if (empty($_FILES['address'])) $error = '<div class="err">Выберите файл</div>';
else if (empty($_FILES['screenshot'])) $error = '<div class="err">Выберите фото</div>';
else if(preg_match('/.php/i', $address) || preg_match('/.pl/i', $address) || $address == '.htaccess' || !in_array($resolution, $res_address)) $error = '<div class="err">Недопустимый файл</div>';
else if(preg_match('/.php/i', $screenshot) || preg_match('/.pl/i', $screenshot) || $screenshot == '.htaccess' || !in_array($resolution_scr, $res_scr)) $error = '<div class="err">Недопустимый файл</div>';
else if (iconv_strlen($_POST['name'], 'UTF-8') > 128 or iconv_strlen($_POST['name'], 'UTF-8') < 16) $error = '<div class="err">Короткое или длинное название</div>';
else if (iconv_strlen($_POST['description'], 'UTF-8') > 1024 or iconv_strlen($_POST['description'], 'UTF-8') < 64) $error = '<div class="err">Короткое или длинное описание</div>';
if ($error) {
error($error);
foot();
exit;
}
$md5 = md5(time());
$name = mysqli_real_escape_string($mysqli, filter($_POST['name']));
$description = mysqli_real_escape_string($mysqli, filter($_POST['description']));
$duration = mysqli_real_escape_string($mysqli, filter($_POST['duration']));
$category = mysqli_real_escape_string($mysqli, abs(intval($_POST['category'])));
$translit = rand(1, 9999).'_'.str_replace(' ', '_', transliterate($name));
move_uploaded_file($_FILES['address']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/content/video/'. $md5 .'.mp4');
move_uploaded_file($_FILES['screenshot']['tmp_name'], $_SERVER['DOCUMENT_ROOT'].'/content/screenshots/'. $md5 .'.jpg');
mysqli_query($mysqli, "INSERT INTO `ero_files` SET `category` = '$category', `recoil` = '/content/video/".$md5.".mp4', `screenshot` = '/content/screenshots/".$md5.".jpg', `address` = '/content/video/".$md5.".mp4', `tags` = '".tags($description)."', `name` = '$name', `description` = '$description', `translit` = '$translit', `duration` = '$duration', `date` = '".time()."'");
header('location: /video_'.$translit.'.html');
exit;
}
?>
<form method="post" enctype="multipart/form-data">
<b>Файл</b> <br /><br />
<input type="file" name="address" /><br /><br />
<b>Фото</b> <br /><br />
<input type="file" name="screenshot" /><br /><br />
<b>Категория</b> <br /><br />
<select class="injected" name="category">
<?
$request = mysqli_query($mysqli, "select `id`, `name` from ero_categories order by id asc");
while ($categories = mysqli_fetch_assoc($request)){
?>
<option value="<?=$categories['id']?>"><?=$categories['name']?></option>
<?
}
?>
</select><br /><br />
<b>Название</b> <br /><br />
<input type="text" class="injected" name="name" /><br /><br />
<b>Продолжительность</b> <br /><br />
<input type="text" class="injected" name="duration" value="<?=rand(5, 20);?>:<?=rand(10, 59);?>" /><br /><br />
<b>Описание</b> <br /><br />
<textarea name="description" class="injected" rows="4" cols="47"></textarea><br /><br />
<input type="submit" class="byecos" value="Добавить" />
<a href="/control.html" class="byecos">Управление EroCMS</a>
</form>