Просмотр файла fmget-server/profile.php

Размер файла: 4.58Kb
<?php
# FMGET ver. 1.1
# © Alex Extend, 2008
# 
# Данная программа является свободным программным обеспечением. Вы вправе
# распространять ее и/или модифицировать в соответствии с условиями версии 2 либо
# по вашему выбору с условиями более поздней версии Стандартной Общественной
# Лицензии GNU, опубликованной Free Software Foundation.
# 
# Мы распространяем данную программу в надежде на то, что она будет вам полезной
# однако НЕ ПРЕДОСТАВЛЯЕМ НА НЕЕ НИКАКИХ ГАРАНТИЙ, в том числе ГАРАНТИИ ТОВАРНОГО
# СОСТОЯНИЯ ПРИ ПРОДАЖЕ и ПРИГОДНОСТИ ДЛЯ ИСПОЛЬЗОВАНИЯ В КОНКРЕТНЫХ ЦЕЛЯХ. Для
# получения более подробной информации ознакомьтесь со Стандартной Общественной
# Лицензией GNU.

error_reporting(E_ALL);
ob_start();
header("Content-Type: text/html; charset=utf-8");
header("Cache-Control: no-cache,must-revalidate");
header("Pragma: no-cache");
include ('conf.php');
session_name('fproxysid');
session_start();
$users=unserialize(file_get_contents('users.txt'));
$mode=@$_REQUEST['mode'];
if (preg_match('/\?([^@\|]+@[^@\|]+)\|\|([^\|]+)\|\|(.+)$/', $_SERVER['REQUEST_URI'], $m)) {
	$_REQUEST['email']=$m[1];
	$_REQUEST['pass']=$m[2];
	$_REQUEST['url']=$m[3];
	$mode='get';
}
if (isset($_REQUEST['email']) and isset($_REQUEST['pass'])) {
	$_SESSION['email']=$_REQUEST['email'];
	$_SESSION['pass']=$_REQUEST['pass'];
}
$email=@$_SESSION['email'];
$pass=@$_SESSION['pass'];
$info=@unserialize(file_get_contents("$basedir/users/$email/info.txt"));

?>
<html>
<head>
<title>FMGET</title>
</head>
<body>
<h1>FMGET</h1>
<?php 
if (@$users[$email]['pass']!=$pass) exit("Ошибка авторизации");
if ((!empty($users[$email]['expire'])) and ($users[$email]['expire']<time())) exit("Срок действия аккаунта истек");

if ($mode=='get'){
	$url=$_REQUEST['url'];
	if (!preg_match('|^http://([^/]+)/?(.*)$|', $url, $m)) exit("Неверный url");
	$host=$m[1];
	$host=str_replace(".$pdomain", '', $host);
	$uri=$m[2];
	header("Location: http://$host.$pdomain/$uri");
} 
if ($mode=='ok'){
	$tmp=$_REQUEST['tmp'];
	if (!file_exists("$basedir/users/tmp$tmp.txt")) exit;
	$iweb=unserialize(file_get_contents("$basedir/users/tmp$tmp.txt"));
	$info['list'][]=$iweb;
	unlink("$basedir/users/tmp$tmp.txt");
	echo "<h2>Файл принят</h2>Запустите <b>fmget start</b> для начала загрузки<br>";
	echo "URL: $iweb[url]<br>Размер: $iweb[size]<br>";
}
if ($mode=='del'){
	$n=intval($_REQUEST['n']);
	unset($info['list'][$n]);
	$info['list']=array_values($info['list']);
}
if ($mode=='getbutton'){
$burl="javascript:location.href='http://$pdomain/profile.php?$email||$pass||'+location.href";?>
<h2>Получить кнопку</h2>
<a href="<?php echo $burl?>">FMGET</a><br>
Добавьте эту ссылку в закладки или перетащите на панель браузера. Для начала загрузки перейдите по ней, находясь на странице с описанием файла.<br>
<?php }?>
<?php if ((!empty($info['url'])) or (!empty($info['list']))) echo "<h2>Список файлов</h2>";
if (!empty($info['url'])) echo "<b>Текущий:</b> $info[url] ($info[size])<br>";

if (!empty($info['list'])) {
	foreach ($info['list'] as $n=>$v) {
		echo "$v[url] ($v[size]) <a href=\"profile.php?mode=del&n=$n\">[del]</a><br>";
	}
}
file_put_contents("$basedir/users/$email/info.txt", serialize($info));
?>
<h2>Загрузить файл</h2>
<form action="profile.php" method="get">
<input type="hidden" name="mode" value="get">
URL: <input type="text" name="url" size="60" value="http://"> 
<input type="submit" value="Перейти">
</form>
<br>
<a href="profile.php?mode=getbutton">Получить кнопку для загрузки</a><br>
<a href="profile.php">Обновить</a><br><br>
Инфо о аккаунте:<br>
<?php
$u=$users[$email];
echo "Email: $email<br>";
echo "SMTP-сервер: $u[smtphost]<br>";
if (@$u['expire'] and $u['expire']>time()) echo 'Действителен до: '.date('d.m.Y', $u['expire'])."<br>";	
?>
</body>
</html>