Файл: adm_fm.php
Строк: 547
<?php
/**
* @author [FaNiska]
* @copyright 2009
* Загруз центр
* Предложения, идеи, вопросы и об ошибках писать в icq 65-64-538 или на mobi-m-ru@ya.ru
*/
include 'inc/db_connect.php';
include 'inc/function.php';
include 'inc/set.php';
include 'inc/adm_head.php';
require 'inc/adm.php';
echo '<div class="title">Файл менеджер</div>';
if ($index == 1 && !isset($_GET['c']))
{
$category = mysql_query("SELECT * FROM `category` WHERE `s_name`!='vlink' && `s_name`!='vrazdel' && `s_name`!='link' ORDER BY `por`;");
while ($cat = mysql_fetch_array($category))
{
$cat['s_name'] = str_replace('files/', '', $cat['s_name']);
echo '<div class="menu"><img src="ico/' . $cat['ico'] . '.gif" alt="+" width="16" height="16" /> <a href="?c=' . $cat['s_name'] . '">' . $cat['r_name'] . '</a></div><br />';
}
echo '<hr />';
} elseif (isset($_GET['c']))
{
if ($id != 0)
{
$cat = mysql_fetch_array(mysql_query("SELECT `id_p`, `s_name`, `p_i_f` FROM `$table` WHERE `id`='$id';"));
if (!is_dir($cat['s_name'] . '/'))
{
exit('Выбранный раздел не существует');
}
} else
{
if (!is_dir($head_cat['s_name'] . '/'))
{
exit('Выбранный раздел не существует');
}
}
if (isset($_GET['act']) && isset($table) && isset($_GET['fid']))
{
$fid = valid_int($_GET['fid']);
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `$table` WHERE `id` = '$fid'"), 0) == 0)
{
echo '<div>Произошла ошибка при выборе раздела или файла. Раздела(файла) с ID=' . $fid . ' не существует</div>';
} else
{
$file = mysql_fetch_array(mysql_query("SELECT * FROM `$table` WHERE `id`=$fid LIMIT 1"));
/// СТАРТ. СКРИНШОТ
if ($_GET['act'] == 'scren')
{
if (isset($_GET['podact']) && $_GET['podact'] == 'del')
{
echo '<div>Вы действительно хотите удалить текущий скриншот файла?<br />
<a href="?c=' . $table . '&fid=' . $fid . '&act=scren&podact=del&yes">ДА</a>|<a href="?c=' . $table . '&fid=' . $fid . '&act=scren">ОТМЕНА</a></div>';
if (isset($_GET['yes']))
{
$pathinfo = pathinfo($file['s_name']);
$screenshot = str_replace($pathinfo['extension'], '', basename($file['s_name']));
$screenshot = $file['folder'] . '/' . $screenshot;
@unlink($screenshot . 'GIF');
@unlink($screenshot . 'PNG');
@unlink($screenshot . 'JPG');
echo '<div>Скриншот группы удален!<br />
<a href="?c=' . $table . '&fid=' . $fid . '&act=scren">назад</a></div>';
}
} elseif (isset($_GET['podact']) && $_GET['podact'] == 'imp')
{
if (isset($_POST['ok']) && isset($_POST['file']) && eregi("http://", $_POST['file']) && eregi('.gif$|.png$|.jpeg$|.jpg$', $_POST['file']))
{
$newfile = ereg_replace('^.*/', null, $_POST["file"]);
if (eregi('gif', $newfile))
$ras = 'GIF';
elseif (eregi('jpg', $newfile))
$ras = 'JPG';
elseif (eregi('jpeg', $newfile))
$ras = 'JPG';
elseif (eregi('png', $newfile))
$ras = 'PNG';
$pathinfo = pathinfo($file['s_name']);
$screenshot = str_replace($pathinfo['extension'], '', basename($file['s_name']));
@chmod($file['folder'] . '/', 0777);
if (@copy($_POST["file"], $file['folder'] . '/' . $screenshot . $ras))
{
echo '<div>Скриншот импортирован! Сохранен по адресу <b>' . $file['folder'] . '/' . $screenshot . $ras . '</b></div>';
} else
{
echo '<div>Произошла ошибка. Не удалось импортировать скриншот. Возможно у папки группы cmod не 777</div>';
}
} elseif (isset($_POST['ok']) && isset($_POST['file']))
{
echo '<div>Произошла ошибка при импорте скриншота. Могут быть следующие причины:<br />
1) Вы указали не прямой путь к изображению<br />
2) Вы написали прямой адрес изображения без http://</div>';
}
echo "<form class="foot" enctype="multipart/form-data" action="" method="post">";
echo "<b>Путь к файлу скриншота</b> (с http:// и только прямой адрес изобажения):<br />n";
echo "<input name="file" type="text" /><br />n";
echo "<input class="submit" name="ok" type="submit" value="Импортировать" /><br />n";
echo "«<a href="?c=$table&id=$id&act=scren">Отмена</a><br />n";
echo "</form>";
} elseif (isset($_GET['podact']) && $_GET['podact'] == 'upl')
{
if (isset($_POST['ok']))
{
if (isset($_FILES['file']) && eregi('.gif$|.png$|.jpeg$|.jpg$', $_FILES["file"]['name']) && filesize($_FILES["file"]['tmp_name']) > 0)
{
if (eregi('gif', $_FILES["file"]['name']))
$ras = 'GIF';
elseif (eregi('jpg', $_FILES["file"]['name']))
$ras = 'JPG';
elseif (eregi('jpeg', $_FILES["file"]['name']))
$ras = 'JPG';
elseif (eregi('png', $_FILES["file"]['name']))
$ras = 'PNG';
$pathinfo = pathinfo($file['s_name']);
$screenshot = str_replace($pathinfo['extension'], '', basename($file['s_name']));
@chmod($file['folder'] . '/', 0777);
if (@copy($_FILES["file"]['tmp_name'], $file['folder'] . '/' . $screenshot . $ras))
{
echo '<div>Скриншот выгружен! И расположился по адресу: <b>' . $file['folder'] . '/' . $screenshot . $ras . '</b></div>';
} else
{
echo '<div>Ошибка! Не удалось выгрузить скриншот. Возможно у папки нет соответствующих прав (cmod папки должен быть 777)</div>';
}
} else
{
echo '<div>Ошибка! Файл должен иметь расширение gif, jpg или png.</div>';
}
} elseif (!isset($_POST['ok']))
{
echo "<form class="foot" enctype="multipart/form-data" action="" method="post">";
echo "Файл (только изображение):<br />n";
echo "<input name="file" type="file" accept='image/*,image/gif,image/png,image/jpeg'/><br />n";
echo "<input class="submit" name="ok" type="submit" value="Выгрузить" /><br />n";
echo "«<a href="?c=$table&id=$id&act=scren">Отмена</a><br />n";
echo "</form>";
}
} elseif (!isset($_GET['podact']))
{
$pathinfo = pathinfo($file['s_name']);
$screenshot = str_replace($pathinfo['extension'], '', basename($file['s_name']));
$screenshot = $file['folder'] . '/' . $screenshot;
if (is_file($screenshot . 'GIF'))
echo "Скриншот:<br /><img src="{$screenshot}GIF" alt="$file[r_name]" /><br />n";
elseif (is_file($screenshot . 'JPG'))
echo "Скриншот:<br /><img src="{$screenshot}JPG" alt="$file[r_name]" /><br />n";
elseif (is_file($screenshot . 'PNG'))
echo "Скриншот:<br /><img src="{$screenshot}PNG" alt="$file[r_name]" /><br />n";
echo '<hr /><div>
<a href="?c=' . $table . '&fid=' . $fid . '&act=scren&podact=del">удалить скриншот</a><br />
<a href="?c=' . $table . '&fid=' . $fid . '&act=scren&podact=imp">импортировать скриншот</a><br />
<a href="?c=' . $table . '&fid=' . $fid . '&act=scren&podact=upl">выгрузить скриншот</a><br /></div>';
}
}
/// КОНЕЦ. СКРИНШОТ.
/// СТАРТ. ПЕРЕИМЕНОВАНИЕ
elseif ($_GET['act'] == 'rename')
{
if (isset($_POST['name']) && $_POST['name'] != null)
{
mysql_query("UPDATE `$table` SET `r_name`=" . quote_smart(esc($_POST['name'])) . " WHERE `id`='$fid';");
echo '<div>Переименование прошло успешно.</div>';
} else
{
echo '<form action="" method="post">
Введите новое название (имя):
<input type="text" value="' . $file['r_name'] . '" name="name" />
<input type="submit" value="Изменить" />
</form>';
}
}
/// КОНЕЦ. ПЕРЕИМЕНОВАНИЕ
/// СТАРТ. УДАЛЕНИЕ ПАПКИ
elseif ($_GET['act'] == 'delete')
{
if (isset($_GET['yes']) && $_GET['yes'] == 'yes')
{
mysql_query("DELETE FROM `$table` WHERE `id` = '$fid' LIMIT 1;");
@mysql_query("DELETE FROM `$table` WHERE `id_p` = '$fid';");
mysql_query("OPTIMIZE TABLE `$table`;");
echo '<div>Раздел и файлы успешно удалены из базы!</div>';
} else
{
echo '<div>Внимание. Удаление приведет к полной очистке информации раздела в базе данных. Файлы также останутся на сервере, однако они перестанут быть доступными для скачивания. Будут удалены описания файлов, кол-во скачиваний, рейтинги и комментарии. Подтвердите свой выбор.<br />
<a href="?c=' . $table . '&fid=' . $fid . '&act=delete&yes=yes">Подтверждаю. Удалить!</a> | <a href="?">Отмена</a></div>';
}
}
/// КОНЕЦ. УДАЛЕНИЕ ПАПКИ
/// СТАРТ. УДАЛЕНИЕ ФАЙЛА
elseif ($_GET['act'] == 'delfile')
{
if (isset($_GET['fid']))
{
$fid = valid_int($_GET['fid']);
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `$table` WHERE `id` = '$fid' && `type` = '2'"), 0) == 0)
{
echo '<div>Ошибка! Выбранный вами файл не найден в базе.</div>';
} elseif (isset($_GET['yes']))
{
if ($_GET['yes'] == 1)
{
mysql_query("DELETE FROM `$table` WHERE `id` = $fid LIMIT 1;");
echo '<div>Файл успешно удален из базы.</div>';
} elseif ($_GET['yes'] == 2)
{
$file = mysql_fetch_array(mysql_query("SELECT `s_name`, `f_ras` FROM `$table` WHERE `id`='$fid'"));
$gif = str_replace(".$file[f_ras]", '.GIF', $file['s_name']);
$jpg = str_replace(".$file[f_ras]", '.JPG', $file['s_name']);
$png = str_replace(".$file[f_ras]", '.PNG', $file['s_name']);
mysql_query("DELETE FROM `$table` WHERE `id` = '$fid' LIMIT 1;");
@unlink($file['s_name']);
@unlink($gif);
@unlink($jpg);
@unlink($png);
echo '<div>Файл успешно удален из базы и с сервера.</div>';
} else
{
echo '<div>Ошибка при выборе метода удаления.</div>';
}
} else
{
echo '<div><b>Вы действительно хотите удалить файл? Сделайте выбор.</b><br />
<a href="?c=' . $table . '&act=delfile&fid=' . $fid . '&yes=1">Удалить только с базы</a> | <a href="?c=' . $table . '&act=delfile&fid=' . $fid . '&yes=2">Удалить и с базы, и сервера</a> | <a href="?c=' . $table . '&id=' . $file['id_p'] . '">отмена</a></div>';
}
}
}
/// КОНЕЦ. УДАЛЕНИЕ ФАЙЛА
/// СТАРТ. ДОБАВЛЕНИЕ И ИЗМЕНЕНИЕ ОПИСАНИЯ ФАЙЛА
elseif ($_GET['act'] == 'about')
{
if (isset($_POST['about']) && $_POST['about'] != null && isset($_POST['ok']))
{
mysql_query("UPDATE `$table` SET `about`=" . quote_smart($_POST['about']) . " WHERE `id`=$fid;");
echo '<div>Описание файла (<b>' . $file['r_name'] . '</b>) изменено.</div>';
} else
{
echo '<div><form action="" method="post">
Описание файла <b>' . $file['r_name'] . '</b>:<br />
<textarea name="about">' . $file['about'] . '</textarea>
<input type="submit" value="Изменить" name="ok" />
</form></div>';
}
}
/// КОНЕЦ. ДОБАВЛЕНИЕ И ИЗМЕНЕНИЕ ОПИСАНИЯ ФАЙЛА
/// СТАРТ. СОЗДАНИЕ ГРУППЫ
elseif ($_GET['act'] == 'group')
{
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `$table` WHERE `id_p` = '$fid' && `type` = '1'"), 0) == 0)
{
if (isset($_POST['type']))
{
mysql_query("UPDATE `$table` SET `gr_id`='" . valid_int($_POST['type']) . "' WHERE `id`='$fid';");
echo '<div>Папка назначена как группа. Теперь вы можете изменять её параметры через редактор групп.</div>';
} else
{
echo '<form action="" method="post">
Выберите тип группы для папки <b>' . $file['r_name'] . '</b> :<br />
<select name="type">
<option value="1">Альбом картинок</option>
<option value="3">Музыкальный альбом</option>
<option value="5">Видео альбом</option>
<option value="2">Java группа</option>
<option value="4">Софт - пак</option>
</select>
<input type="submit" value="Изменить" />
</form>';
}
} else
{
echo '<div>Ошибка! Возможно Вы выбрали папку, в которой содержатся подпапки (подпапки в этом случае недопустимы). Также тип "группа" желательно определять только для папок содержащих файлы одного типа.</div>';
}
}
/// КОНЕЦ. СОЗДАНИЕ ГРУППЫ
/// СТАРТ. УДАЛЕНИЕ ГРУППЫ
elseif ($_GET['act'] == 'groupdel')
{
if (isset($_GET['yes']) && $_GET['yes'] == 'ok')
{
mysql_query("UPDATE `$table` SET `gr_id`='0', `about`='' WHERE `id`='$fid';");
@unlink($file['s_name'] . '/' . $fid . '.JPG');
@unlink($file['s_name'] . '/' . $fid . '.GIF');
@unlink($file['s_name'] . '/' . $fid . '.PNG');
echo '<div>Группа расформирована и теперь она является простой папкой с файлами.</div>';
} else
{
echo '<div>Вы действительно хотите расформировать группу? Папка и файлы всё равно останутся, просто они перестанут быть группой. Также у группы будет удалено описание и скриншот (если они есть).<br />
<a href="?c=' . $table . '&fid=' . $fid . '&act=groupdel&yes=ok">Подтверждаю</a> | <a href="?c=' . $table . '&id=' . $file['id_p'] . '">Отмена</a>
</div>';
}
}
/// КОНЕЦ. УДАЛЕНИЕ ГРУППЫ
/// СТАРТ. СМЕНА ИКОНКИ ПАПКИ
elseif ($_GET['act'] == 'ico')
{
if (isset($_GET['i']))
{
echo '<div>Выбор иконки для папки <b>' . $file['r_name'] . '</b></div><br /><div>';
$i = valid_int($_GET['i']);
if (is_file('ico/' . $i . '.gif'))
{
mysql_query("UPDATE `$table` SET `ico`='$i' WHERE `id`=$fid;");
echo '<div>Иконка обновлена</div>';
} else
{
echo '<div>Ошибка. Выбранная иконка не найдена.</div>';
}
echo '</div>';
} else
{
echo '<div>Выбор иконки для раздела <b>' . $file['r_name'] . '</b></div><br /><div>';
$k_post = 100;
$k_page = k_page($k_post, $step);
$page = page($k_page);
$start = $step * $page - $step;
for ($i = $start; $i < ($start + $step); $i++)
{
echo '<a href="?c=' . $table . '&fid=' . $fid . '&act=ico&i=' . $i . '"><img src="ico/' . $i . '.gif" alt="' . $i . '" width="16" height="16" /></a> ';
}
echo '</div>';
$str = str("?c=$table&act=ico&fid=$fid&step=$step&", $k_page, $page); // Вывод страниц
echo $str;
$k_page = $k_post = $start = 0;
}
}
/// КОНЕЦ. СМЕНА ИКОНКИ ПАПКИ
}
}
/// СТАРТ. РАБОТА С ПАПКАМИ И ФАЙЛАМИ.
elseif (isset($_GET['act']) && isset($table) && isset($_GET['id']) && $_GET['act'] == 'files')
{
$arr_name = '';
$id = valid_int($_GET['id']);
if (mysql_result(mysql_query("SELECT COUNT(*) FROM `$table` WHERE `id` = '$id'"), 0) == 0 && $id != 0)
{
echo '<div>Произошла ошибка при выборе раздела или файла. Раздела(файла) с ID=' . $id . ' не существует</div>';
} else
{
if ($id == 0)
{
$file['s_name'] = 'files/' . $table;
} else
{
$file = mysql_fetch_array(mysql_query("SELECT * FROM `$table` WHERE `id`='$id' LIMIT 1"));
}
if (isset($_GET['podact']) && $_GET['podact'] == 'newdir')
{
if (isset($_POST['name']) && isset($_POST['ok']))
{
if ($_POST['name'] == null)
{
echo '<div>Ошибка. Нужно ввести название папки, т.к. пустое имя недопустимо.</div>';
} else
{
$newdir_serv = retranslit(esc($_POST['name'], 1));
$newdir_serv = ereg_replace('^(([0-9]{1,3}))_(.*)', '\1_\2', $newdir_serv);
@chmod($file['s_name'], 0777);
if (@mkdir($file['s_name'] . '/' . $newdir_serv, 0777))
{
@chmod($file['s_name'] . '/' . $newdir_serv, 0777);
$name = esc($_POST['name'], 1);
$name = ereg_replace('^(([0-9]{1,3}))_(.*)', '\2', $name);
mysql_query("INSERT IGNORE INTO `$table` (`id_p`, `type`, `r_name`, `s_name`, `folder`, `up_time`) VALUES ('$id', '1', " . quote_smart($name) . ", '" . $file['s_name'] . "/" . $newdir_serv . "', '" . $file['s_name'] . "', '$time');");
echo "Папка $name ($newdir_serv) успешно создана!";
} else
{
echo "Ошибка при создании $name ($newdir_serv) папки ";
}
}
} else
{
echo '<form action="" method="post">
<b>Название новой папки</b> (можно на русском):<br />
<input type="text" value="" name="name" /><br />
<input type="submit" value="Создать" name="ok" />
</form>';
}
} elseif ($_GET['podact'] == 'upload')
{
$count_f = 0;
if (isset($_POST['k_forms']) && isset($_POST['ok']))
{
$k_forms = valid_int($_POST['k_forms']);
for ($i = 0; $i < $k_forms; $i++)
{
$ext = valid_ext($_FILES["file_$i"]['name']);
if (isset($_FILES["file_$i"]) && !eregi('^.|.php|.html?$|.sql$|.ini$|.db$|.dat$', $_FILES["file_$i"]['name']) && $ext && filesize($_FILES["file_$i"]['tmp_name']) > 0)
{
$newfile = retranslit(esc($_FILES["file_$i"]['name'], 1));
$name = eregi_replace('.[^.]*$', null, $newfile); // имя файла без расширения
if (@copy($_FILES["file_$i"]['tmp_name'], $file['s_name'] . '/' . $name . '.' . $ext))
{
@chmod($file['s_name'] . '/' . $name . '.' . $ext, 0777);
$first_name = eregi_replace('.[^.]*$', null, $newfile); // имя файла без расширения
if (isset($_POST["name_$i"]) && $_POST["name_$i"] != null)
{
$name = esc($_POST["name_$i"]);
}
if (isset($_POST["about_$i"]) && $_POST["about_$i"] != null)
{
$about = esc($_POST["about_$i"]);
} else
{
$about = '';
}
$size = filesize($file['s_name'] . '/' . $newfile); // размер файла
mysql_query("REPLACE INTO `$table` (`id_p`, `type`, `r_name`, `s_name`, `f_ras`, `folder`, `about`, `size`, `up_time`) VALUES ('$id', '2', " . quote_smart($name) . ", '" . $file['s_name'] . "/" . $newfile . "', '$ext', '" . $file['s_name'] . "', " . quote_smart($about) . ", '$size', '$time');");
if (isset($_FILES["src_$i"]) && eregi('.gif$|.png$|.jpeg$|.jpg$', $_FILES["src_$i"]['name']) && filesize($_FILES["src_$i"]['tmp_name']) > 0)
{
if (eregi('gif', $_FILES["src_$i"]['name']))
$ras = 'GIF';
elseif (eregi('jpg', $_FILES["src_$i"]['name']))
$ras = 'JPG';
elseif (eregi('jpeg', $_FILES["src_$i"]['name']))
$ras = 'JPG';
elseif (eregi('png', $_FILES["src_$i"]['name']))
$ras = 'PNG';
if (@copy($_FILES["src_$i"]['tmp_name'], $file['s_name'] . '/' . $name . '.' . $ras))
{
echo '<div>Скриншот выгружен: <b>' . $file['s_name'] . '/' . $name . '.' . $ras . '</b></div>';
} else
{
echo '<div>Ошибка! Не удалось выгрузить скриншот.</div>';
}
} else
{
echo '<div>Ошибка! Файл должен иметь расширение gif, jpg или png.</div>';
}
$count_f++;
echo "<div>Файл сохранился: <b>[$i]</b> $first_name -> $name<br />";
}
}
}
echo "<div>Успешно выгруженных файлов $count_f<br />$arr_name</div>";
} else
{
if (isset($_POST['k_forms']))
$k_forms = valid_int($_POST['k_forms']);
elseif (isset($_SESSION['k_forms']))
$k_forms = valid_int($_SESSION['k_forms']);
else
$k_forms = 1;
$_SESSION['k_forms'] = $k_forms;
echo "<form class="foot" enctype="multipart/form-data" action="" method="post">";
echo "Количество выгружаемых файлов:<br />n";
echo "<input type="text" name="k_forms" value="$k_forms"/><br />n";
echo "<input class="submit" type="submit" value="Показать формы" /><br />n";
for ($i = 0; $i < $k_forms; $i++)
{
echo "Файл (" . ($i + 1) . "):<br />n";
echo "<input name="file_$i" type="file" /><br />n";
echo "Скриншот (" . ($i + 1) . "):<br />n";
echo "<input name="src_$i" type="file" accept='image/*,image/gif,image/png,image/jpeg'/><br />n";
echo "Описание (" . ($i + 1) . "):<br />n";
echo '<textarea name="about_' . $i . '"></textarea><br />';
echo "Название (" . ($i + 1) . "):<br />n";
echo "<input type="text" name="name_$i" value=""/><br />n";
}
echo "<input class="submit" name="ok" type="submit" value="Выгрузить" /><br />n";
echo "«<a href="?c=$table&id=$id&act=files">Отмена</a><br />n";
echo "</form>";
}
} elseif ($_GET['podact'] == 'import')
{
$count_f = 0;
if (isset($_POST['k_forms']) && isset($_POST['ok']))
{
$k_forms = valid_int($_POST['k_forms']);
for ($i = 0; $i < $k_forms; $i++)
{
if (isset($_POST["file_$i"]) && isset($_POST["name_$i"]) && isset($_POST["newfile_$i"]))
{
if ($_POST["newfile_$i"] == null || empty($_POST["newfile_$i"]))
{
$newfile = ereg_replace('^.*/', null, $_POST["file_$i"]);
} else
{
$newfile = $_POST["newfile_$i"];
}
$ext = valid_ext($newfile);
$name = eregi_replace('.[^.]*$', null, $newfile); // имя файла без расширения
$newfile = $name . '.' . $ext;
@chmod($file['s_name'], 0777);
if (ereg('^[^/]*.[^/]*$', $newfile) && $ext && @copy($_POST["file_$i"], $file['s_name'] . '/' . $newfile))
{
@chmod($file['s_name'] . '/' . $newfile, 0777);
$first_name = eregi_replace('.[^.]*$', null, $newfile); // имя файла без расширения
if ($_POST["name_$i"] != null)
{
$name = eregi_replace('.[^.]*$', null, $_POST["name_$i"]);
$name = esc($name);
} else
{
$name = eregi_replace('.[^.]*$', null, $newfile); // имя файла без расширения
$name = esc($name);
}
if (isset($_POST["about_$i"]) && $_POST["about_$i"] != null)
{
$about = esc($_POST["about_$i"]);
} else
{
$about = '';
}
$size = filesize($file['s_name'] . '/' . $newfile); // размер файла
mysql_query("REPLACE INTO `$table` (`id_p`, `type`, `r_name`, `s_name`, `f_ras`, `folder`, `about`, `size`, `up_time`) VALUES ('$id', '2', " . quote_smart($name) . ", '" . $file['s_name'] . "/" . $newfile . "', '$ext', '" . $file['s_name'] . "', " . quote_smart($about) . ", '$size', '$time');");
$count_f++;
if (isset($_POST["scr_$i"]) && !empty($_POST["scr_$i"]) && eregi("http://", $_POST["scr_$i"]) && eregi('.gif$|.png$|.jpeg$|.jpg$', $_POST["scr_$i"]))
{
$newfile = ereg_replace('^.*/', null, $_POST["scr_$i"]);
if (eregi('gif', $newfile))
$ras = 'GIF';
elseif (eregi('jpg', $newfile))
$ras = 'JPG';
elseif (eregi('jpeg', $newfile))
$ras = 'JPG';
elseif (eregi('png', $newfile))
$ras = 'PNG';
if (@copy($_POST["scr_$i"], $file['s_name'] . '/' . $first_name . '.' . $ras))
{
echo '<div>Скриншот импортирован! <b>' . $file['s_name'] . '/' . $first_name . '.' . $ras . '</b></div>';
} else
{
echo '<div>Не удалось импортировать скриншот.</div>';
}
} elseif (!empty($_POST["scr_$i"]))
{
echo '<div>Произошла ошибка при импорте скриншота.</div>';
}
echo "<b>[$i]</b> $first_name -> $name<br />";
}
}
}
echo "<div>Успешно импортированных файлов $count_f<br />$arr_name</div>";
} else
{
if (isset($_POST['k_forms']))
$k_forms = valid_int($_POST['k_forms']);
elseif (isset($_SESSION['k_forms']))
$k_forms = valid_int($_SESSION['k_forms']);
else
$k_forms = 1;
$_SESSION['k_forms'] = $k_forms;
echo "<form class="foot" enctype="" action="" method="post">";
echo "Количество импортируемых файлов:<br />n";
echo "<input type="text" name="k_forms" value="$k_forms"/><br />n";
echo "<input class="submit" type="submit" value="Показать формы" /><br />n";
for ($i = 0; $i < $k_forms; $i++)
{
echo "<b>Путь к файлу (" . ($i + 1) . ")</b> (с http://):<br />n";
echo "<input name="file_$i" type="text" /><br />n";
echo "Сохранить как (не обязательно):<br />n";
echo "<input name="newfile_$i" type="text" /><br />n";
echo "Название в загрузках (не обязательно):<br />n";
echo "<input name="name_$i" type="text" /><br />n";
echo "Описание (" . ($i + 1) . "):<br />n";
echo '<textarea name="about_' . $i . '"></textarea><br />';
echo "<b>Путь к скриншоту (" . ($i + 1) . ")</b> (с http://, только прямая ссылка на изображение gif,png,jpg):<br />n";
echo "<input name="scr_$i" type="text" /><br />n";
}
echo "<input class="submit" name="ok" type="submit" value="Импортировать" /><br />n";
echo "«<a href="?c=$table&id=$id&act=files">Отмена</a><br />n";
echo "</form>";
echo "<div><b>1)</b> <u>Путь к файлу</u> - нужно ввести полный прямой(!) адрес к файлу начиная с http://<br /> <b>2)</b> <u>Сохранить как</u> - нужно ввести новое имя файла с расширением, под которым он сохранится на сервере (Н-р: video.3gp , java_game.jar, proga.sis и т.д.). Если не понимаете, вводить это не обязательно.<br /><b>3)</b> <u>Название в загрузках</u> - новое название, с которым файл будет отображаться в загруз центре. Вводить не обязательно, т.к. это название можно изменить и после.</div>";
}
} elseif ($_GET['podact'] == 'psevdo')
{
if (isset($_POST['ok']))
{
$error = '';
if (isset($_POST['name']) && $_POST['name'] != null)
{
$name = esc($_POST['name']);
} else
{
$error = $error . 'Не введено название файла<br />';
}
if (isset($_POST['about']) && $_POST['about'] != null)
{
$about = esc($_POST['about']);
} else
$about = '';
if (isset($_POST['size']) && $_POST['size'] != null)
{
$size = valid_int($_POST['size']);
} else
$size = 0;
if (isset($_POST['f_ras']) && $_POST['f_ras'] != null)
{
$f_ras = strtolower(esc($_POST['f_ras']));
} else
{
$error = $error . 'Не введено расширение файла<br />';
}
if (isset($_POST['s_name']) && $_POST['s_name'] != null && preg_match('|^http://[0-9a-z-.]+.[a-z]{2,4}/[wW]+|i', $_POST['s_name']))
{
$s_name = esc($_POST['s_name']);
} else
{
$error = $error . 'Не введена ссылка на файла или введена без http://<br />';
}
if (isset($_POST['url_link']) && $_POST['url_link'] != null && preg_match('|^http://[0-9a-z-.]+.[a-z]{2,4}/[wW]+|i', $_POST['url_link']))
{
$url_link = esc($_POST['url_link']);
} elseif (isset($_POST['url_link']) && $_POST['url_link'] != null && !eregi("http://", $_POST['url_link']))
{
$error = $error . 'Доп ссылка на файл введена без http://<br />';
} else
{
$url_link = '';
}
if (isset($_POST['scr_link']) && $_POST['scr_link'] != null && eregi("http://", $_POST['scr_link']) && eregi('.gif$|.png$|.jpeg$|.jpg$', $_POST['scr_link']))
{
$scr_link = esc($_POST['scr_link']);
} elseif (isset($_POST['scr_link']) && $_POST['scr_link'] != null && (!eregi("http://", $_POST['scr_link']) || !eregi('.gif$|.png$|.jpeg$|.jpg$', $_POST['scr_link'])))
{
$error = $error . 'Cсылка скриншота введена без http:// или введена ссылка не на изображение.<br />';
} else
{
$scr_link = '';
}
if (!empty($error))
{
echo "<div><b>ОШИБКА</b><br />$error</div>";
} else
{
mysql_query("REPLACE INTO `$table` (`id_p`, `type`, `r_name`, `s_name`, `f_ras`, `folder`, `url_link`, `scr_link`, `about`, `size`, `up_time`) VALUES ('$id', '2', " . quote_smart($name) . ", " . quote_smart($s_name) . ", " . quote_smart($f_ras) . ", '" . $file['s_name'] . "', " . quote_smart($url_link) . ", " . quote_smart($scr_link) . ", " . quote_smart($about) . ", " . quote_smart($size) . ", '$time');");
$usid = mysql_insert_id();
$newfile = retranslit(esc($_FILES["screen"]['name'], 1));
if (eregi('gif', $newfile))
$ras = 'GIF';
elseif (eregi('jpg', $newfile))
$ras = 'JPG';
elseif (eregi('jpeg', $newfile))
$ras = 'JPG';
elseif (eregi('png', $newfile))
$ras = 'PNG';
if (@copy($_FILES["screen"]['tmp_name'], $file['s_name'] . '/' . $usid . '.' . $ras))
{
echo '<div>Скриншот загружен и принял название ' . $usid . '.' . $ras . '- (' . $file['s_name'] . '/' . $usid . '.' . $ras . ').</div>';
} else
{
echo '<div>Скриншот не загружен. ' . $usid . '.' . $ras . '- (' . $file['s_name'] . '/' . $usid . '.' . $ras . ').</div>';
}
echo '<div>Файл успешно создан.</div>';
}
} else
{
echo '<div>Создание псевдо-файла</div>';
echo '<form method="post" enctype="multipart/form-data">
<b>Название файла</b><br />
<input type="text" value="" name="name" /><br />
Описание<br />
<input type="text" value="" name="about" /><br />
Размер в байтах (цифры)<br />
<input type="text" value="" name="size" /><br />
<b>Расширение</b> (только строчные буквы (jar, zip, exe и т.п.))<br />
<input type="text" value="" name="f_ras" /><br />
<b>Ссылка на файл</b> (с http://)<br />
<input type="text" value="http://" name="s_name" /><br />
Дополнительная ссылка на файл (если есть; с http://)<br />
<input type="text" value="http://" name="url_link" /><br />
Ссылка на скриншот (если есть; с http://)<br />
<input type="text" value="http://" name="scr_link" /><br />
Или выгрузить скрин<br />
<input name="screen" type="file" /><br />
<input type="submit" value="Создать" name="ok" /><br />
</form>';
}
}
}
}
/// КОНЕЦ. РАБОТА С ПАПКАМИ И ФАЙЛАМИ.
////////// START - ПОСТРАНИЧНАЯ НАВИГАЦИЯ
if (isset($file['id_p']) && isset($_GET['act']) && $_GET['act'] != 'files')
$id = $file['id_p'];
$k_post = mysql_result(mysql_query("SELECT COUNT(*) FROM `$table` WHERE `id_p`=$id"), 0);
$k_page = k_page($k_post, $step);
$page = page($k_page);
$start = $step * $page - $step;
////////// END - ПОСТРАНИЧНАЯ НАВИГАЦИЯ
echo "<hr /><div class='navi'>";
echo 'Сортировка: ';
echo "<a href="?c=$table&id=$id&sort=r_name&p=0&step=$step&page=$page">Абв</a>|";
echo "<a href="?c=$table&id=$id&sort=r_name&p=1&step=$step&page=$page">Яюэ</a>|";
echo "<a href="?c=$table&id=$id&sort=size&p=1&step=$step&page=$page">Размер-max</a>|";
echo "<a href="?c=$table&id=$id&sort=size&p=0&step=$step&page=$page">Размер-min</a>|";
echo "<a href="?c=$table&id=$id&sort=up_time&p=1&step=$step&page=$page">Новые</a>|";
echo "<a href="?c=$table&id=$id&sort=plus&p=1&step=$step&page=$page">Рейтинг</a>|";
echo "<a href="?c=$table&id=$id&sort=count&p=1&step=$step&page=$page">Популяр.</a>";
echo "</div>";
echo "<div class='navi'>Вывод по: <a href="?c=$table&id=$id&sort=$sort&p=$p&step=5&page=$page">5</a>|<a href="?c=$table&id=$id&sort=$sort&p=$p&step=10&page=$page">10</a>|<a href="?c=$table&id=$id&sort=$sort&p=$p&step=15&page=$page">15</a>|<a href="?c=$table&id=$id&sort=$sort&p=$p&step=20&page=$page">20</a></div><hr />";
$s = mysql_query("SELECT * FROM `$table` WHERE `id_p`=$id ORDER BY `$sort` $por LIMIT $start, $step");
echo '<table border="2" width="100%">';
while ($list = mysql_fetch_array($s))
{
if (empty($list['f_ras']))
{
if ($list['sizetime'] == 0 || $list['sizetime'] < ($time - 60))
{
$allfiles = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `' . $table . '` WHERE `folder` LIKE "' . $list['s_name'] . '%" AND `type`=2;'));
$allfiles = $allfiles['0'];
$allnew = mysql_fetch_array(mysql_query('SELECT COUNT(*) FROM `' . $table . '` WHERE `folder` LIKE "' . $list['s_name'] . '%" AND `type`=2 AND `up_time`>' . $new_time . ';'));
$allnew = '/+' . $allnew['0'];
mysql_query("UPDATE `$table` SET `p_i_f`='" . $allfiles . "i" . $allnew . "', `sizetime`='$time' WHERE `id`=$list[id] LIMIT 1;");
} else
{
$count = explode('i', $list['p_i_f']);
$allfiles = $count['0'];
$allnew = $count['1'];
}
$list['r_name'] = str_replace('*', '', $list['r_name']);
if ($list['gr_id'] > 0 && $list['gr_id'] < 6)
{
switch ($list['gr_id'])
{
case '1': // альбом картинок
$ico = "<img src='ext/mo.gif' alt='+' width='16' height='16'/> ";
break;
case '2': // java группа
$ico = "<img src='ext/jar.gif' alt='+' width='16' height='16'/> ";
break;
case '3': // mp3 альбом
$ico = "<img src='ext/mp3.gif' alt='+' width='16' height='16'/> ";
break;
case '4': // софт пак
$ico = "<img src='ext/sis.gif' alt='+' width='16' height='16'/> ";
break;
case '5': // видео альбом
$ico = "<img src='ext/3gp.gif' alt='+' width='16' height='16'/> ";
break;
}
echo "<tr><td> $ico <a href='group.php?c=$table&id=$list[id]'>$list[r_name]</a></td><td>[$allfiles$allnew]</td><td><a href='adm_group.php?c=$table&id=$list[id]&page=$page'>редактор группы</a> : <a href='?c=$table&fid=$list[id]&act=groupdel&page=$page'>отменить группу</a></td></tr>";
} else
{
echo "<tr><td><img src='ico/$list[ico].gif' alt='+'/> <a href='?c=$table&id=$list[id]'>$list[r_name]</a></td><td>[$allfiles$allnew]</td><td><a href='?c=$table&fid=$list[id]&act=rename&page=$page'>переим.</a> : <a href='?c=$table&fid=$list[id]&act=delete&page=$page'>удалить.</a> : <a href='?c=$table&fid=$list[id]&act=group&page=$page'>группа.</a> : <a href='?c=$table&fid=$list[id]&act=ico&page=$page'>иконка</a></td></tr>";
}
} elseif (in_array($list['f_ras'], $arr_ext)) ////// ФИЛЬТР ПО РАСШИРЕНИЮ
{
$list['r_name'] = str_replace('*', '', $list['r_name']);
echo "<tr><td><img src='ext/$list[f_ras].gif' alt='+' width='16' height='16'/> <a href='file.php?c=$table&id=$list[id]'>$list[r_name]</a></td><td>" . size_file($list['size']) . "</td><td><a href='?c=$table&fid=$list[id]&act=rename&page=$page'>переим.</a> : <a href='?c=$table&fid=$list[id]&act=delfile&page=$page'>удал.</a> : <a href='?c=$table&fid=$list[id]&act=about&page=$page'>опис.</a> : <a href='?c=$table&fid=$list[id]&act=scren&page=$page'>скрин.</a></td></tr>";
}
}
echo '</table><hr />';
echo '<div class="navi"> <b>Работа с папками и файлами:</b> <a href="?c=' . $table . '&id=' . $id . '&act=files&podact=newdir">новая папка</a> : <a href="?c=' . $table . '&id=' . $id . '&act=files&podact=upload">выгрузка файлов</a> : <a href="?c=' . $table . '&id=' . $id . '&act=files&podact=import">импорт</a>: <a href="?c=' . $table . '&id=' . $id . '&act=files&podact=psevdo">псевдо файл</a></div>';
if (isset($fid))
{
$fid_g = "&fid=$fid";
}
if (isset($_GET['act']))
{
$act_g = "&act=" . clean($_GET['act']);
}
if ($k_page > 1)
{
$str = str("?c=$table&id=$id&sort=$sort{$fid_g}{$act_g}&p=$p&step=$step&", $k_page, $page); // Вывод страниц
echo $str;
}
}
include 'inc/adm_foot.php';
?>