mirror of
https://gitlab.com/mojo42/Jirafeau.git
synced 2025-01-17 21:08:20 +01:00
[TASK] Remove Alias support
Some time ago, this was a weird idea. It's useless to keep this, it's just dead garbage code. Signed-off-by: Jerome Jutteau <mojo@couak.net>
This commit is contained in:
parent
d76baeb068
commit
379a0267c2
7
f.php
7
f.php
@ -45,13 +45,6 @@ if (!preg_match('/[0-9a-zA-Z_-]+$/', $link_name)) {
|
||||
}
|
||||
|
||||
$link = jirafeau_get_link($link_name);
|
||||
if (count($link) == 0) {
|
||||
/* Try alias. */
|
||||
$alias = jirafeau_get_alias(md5($link_name));
|
||||
if (count($alias) > 0) {
|
||||
$link = jirafeau_get_link($alias["destination"]);
|
||||
}
|
||||
}
|
||||
if (count($link) == 0) {
|
||||
require(JIRAFEAU_ROOT.'lib/template/header.php');
|
||||
echo '<div class="error"><p>' . t('Sorry, the requested file is not found') .
|
||||
|
@ -83,7 +83,7 @@ function jirafeau_check_var_dir($path)
|
||||
'<br />' . $mkdir_str2);
|
||||
}
|
||||
|
||||
foreach (array('files', 'links', 'async', 'alias') as $subdir) {
|
||||
foreach (array('files', 'links', 'async') as $subdir) {
|
||||
$subpath = $path.$subdir;
|
||||
|
||||
if (!jirafeau_mkdir($subpath) || !jirafeau_is_writable($subpath)) {
|
||||
|
@ -1214,185 +1214,6 @@ function hex_to_base64($hex)
|
||||
return base64_encode($b);
|
||||
}
|
||||
|
||||
/**
|
||||
* Read alias informations
|
||||
* @return array containing informations.
|
||||
*/
|
||||
function jirafeau_get_alias($hash)
|
||||
{
|
||||
$out = array();
|
||||
$link = VAR_ALIAS . s2p("$hash") . $hash;
|
||||
|
||||
if (!file_exists($link)) {
|
||||
return $out;
|
||||
}
|
||||
|
||||
$c = file($link);
|
||||
$out['md5_password'] = trim($c[0]);
|
||||
$out['ip'] = trim($c[1]);
|
||||
$out['update_date'] = trim($c[2]);
|
||||
$out['destination'] = trim($c[3], NL);
|
||||
|
||||
return $out;
|
||||
}
|
||||
|
||||
/** Create an alias to a jirafeau's link.
|
||||
* @param $alias alias name
|
||||
* @param $destination reference of the destination
|
||||
* @param $password password to protect alias
|
||||
* @param $ip client's IP
|
||||
* @return a string containing the edit code of the alias or the string "Error"
|
||||
*/
|
||||
function jirafeau_alias_create($alias, $destination, $password, $ip)
|
||||
{
|
||||
/* Check that alias and password are long enough. */
|
||||
if (strlen($alias) < 8 ||
|
||||
strlen($alias) > 32 ||
|
||||
strlen($password) < 8 ||
|
||||
strlen($password) > 32) {
|
||||
return 'Error';
|
||||
}
|
||||
|
||||
/* Check that destination exists. */
|
||||
$l = jirafeau_get_link($destination);
|
||||
if (!count($l)) {
|
||||
return 'Error';
|
||||
}
|
||||
|
||||
/* Check that alias does not already exists. */
|
||||
$alias = md5($alias);
|
||||
$p = VAR_ALIAS . s2p($alias);
|
||||
if (file_exists($p)) {
|
||||
return 'Error';
|
||||
}
|
||||
|
||||
/* Create alias folder. */
|
||||
@mkdir($p, 0755, true);
|
||||
if (!file_exists($p)) {
|
||||
return 'Error';
|
||||
}
|
||||
|
||||
/* Generate password. */
|
||||
$md5_password = md5($password);
|
||||
|
||||
/* Store informations. */
|
||||
$p .= $alias;
|
||||
$handle = fopen($p, 'w');
|
||||
fwrite($handle,
|
||||
$md5_password . NL .
|
||||
$ip . NL .
|
||||
time() . NL .
|
||||
$destination . NL);
|
||||
fclose($handle);
|
||||
|
||||
return 'Ok';
|
||||
}
|
||||
|
||||
/** Update an alias.
|
||||
* @param $alias alias to update
|
||||
* @param $destination reference of the new destination
|
||||
* @param $password password to protect alias
|
||||
* @param $new_password optional new password to protect alias
|
||||
* @param $ip client's IP
|
||||
* @return "Ok" or "Error" string
|
||||
*/
|
||||
function jirafeau_alias_update($alias, $destination, $password,
|
||||
$new_password, $ip)
|
||||
{
|
||||
$alias = md5($alias);
|
||||
/* Check that alias exits. */
|
||||
$a = jirafeau_get_alias($alias);
|
||||
if (!count($a)) {
|
||||
return 'Error';
|
||||
}
|
||||
|
||||
/* Check that destination exists. */
|
||||
$l = jirafeau_get_link($a["destination"]);
|
||||
if (!count($l)) {
|
||||
return 'Error';
|
||||
}
|
||||
|
||||
/* Check password. */
|
||||
if ($a["md5_password"] != md5($password)) {
|
||||
return 'Error';
|
||||
}
|
||||
|
||||
$p = $a['md5_password'];
|
||||
if (strlen($new_password) >= 8 &&
|
||||
strlen($new_password) <= 32) {
|
||||
$p = md5($new_password);
|
||||
} elseif (strlen($new_password) > 0) {
|
||||
return 'Error';
|
||||
}
|
||||
|
||||
/* Rewrite informations. */
|
||||
$p = VAR_ALIAS . s2p($alias) . $alias;
|
||||
$handle = fopen($p, 'w');
|
||||
fwrite($handle,
|
||||
$p . NL .
|
||||
$ip . NL .
|
||||
time() . NL .
|
||||
$destination . NL);
|
||||
fclose($handle);
|
||||
return 'Ok';
|
||||
}
|
||||
|
||||
/** Get an alias.
|
||||
* @param $alias alias to get
|
||||
* @return alias destination or "Error" string
|
||||
*/
|
||||
function jirafeau_alias_get($alias)
|
||||
{
|
||||
$alias = md5($alias);
|
||||
/* Check that alias exits. */
|
||||
$a = jirafeau_get_alias($alias);
|
||||
if (!count($a)) {
|
||||
return 'Error';
|
||||
}
|
||||
|
||||
return $a['destination'];
|
||||
}
|
||||
|
||||
function jirafeau_clean_rm_alias($alias)
|
||||
{
|
||||
$p = s2p("$alias");
|
||||
if (file_exists(VAR_ALIAS . $p . $alias)) {
|
||||
unlink(VAR_ALIAS . $p . $alias);
|
||||
}
|
||||
$parse = VAR_ALIAS . $p;
|
||||
$scan = array();
|
||||
while (file_exists($parse)
|
||||
&& ($scan = scandir($parse))
|
||||
&& count($scan) == 2 // '.' and '..' folders => empty.
|
||||
&& basename($parse) != basename(VAR_ALIAS)) {
|
||||
rmdir($parse);
|
||||
$parse = substr($parse, 0, strlen($parse) - strlen(basename($parse)) - 1);
|
||||
}
|
||||
}
|
||||
|
||||
/** Delete an alias.
|
||||
* @param $alias alias to delete
|
||||
* @param $password password to protect alias
|
||||
* @return "Ok" or "Error" string
|
||||
*/
|
||||
function jirafeau_alias_delete($alias, $password)
|
||||
{
|
||||
$alias = md5($alias);
|
||||
/* Check that alias exits. */
|
||||
$a = jirafeau_get_alias($alias);
|
||||
if (!count($a)) {
|
||||
return "Error";
|
||||
}
|
||||
|
||||
/* Check password. */
|
||||
if ($a["md5_password"] != md5($password)) {
|
||||
return 'Error';
|
||||
}
|
||||
|
||||
jirafeau_clean_rm_alias($alias);
|
||||
return 'Ok';
|
||||
}
|
||||
|
||||
/**
|
||||
* Replace markers in templates.
|
||||
*
|
||||
|
@ -39,7 +39,6 @@ define('JIRAFEAU_VERSION', '3.2.1');
|
||||
define('VAR_FILES', $cfg['var_root'] . 'files/');
|
||||
define('VAR_LINKS', $cfg['var_root'] . 'links/');
|
||||
define('VAR_ASYNC', $cfg['var_root'] . 'async/');
|
||||
define('VAR_ALIAS', $cfg['var_root'] . 'alias/');
|
||||
|
||||
// helping variable to build absolute link to
|
||||
// root of the domain without handling the URL scheme
|
||||
|
66
script.php
66
script.php
@ -363,72 +363,6 @@ fi
|
||||
exit;
|
||||
}
|
||||
}
|
||||
/* Create alias. */
|
||||
elseif (isset($_GET['alias_create'])) {
|
||||
if (isset($_POST['upload_password'])){
|
||||
if (!jirafeau_challenge_upload($cfg, get_ip_address($cfg), $_POST['upload_password'])) {
|
||||
echo 'Error 14: Invalid password';
|
||||
exit;
|
||||
}
|
||||
} else {
|
||||
if (!jirafeau_challenge_upload($cfg, get_ip_address($cfg), null)) {
|
||||
echo 'Error 13: No password nor allowed IP';
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
if (!isset($_POST['alias']) ||
|
||||
!isset($_POST['destination']) ||
|
||||
!isset($_POST['password'])) {
|
||||
echo 'Error 15';
|
||||
exit;
|
||||
}
|
||||
|
||||
echo jirafeau_alias_create($_POST['alias'],
|
||||
$_POST['destination'],
|
||||
$_POST['password'],
|
||||
$ip);
|
||||
}
|
||||
/* Get alias. */
|
||||
elseif (isset($_GET['alias_get'])) {
|
||||
if (!isset($_POST['alias'])) {
|
||||
echo 'Error 16';
|
||||
exit;
|
||||
}
|
||||
|
||||
echo jirafeau_alias_get($_POST['alias']);
|
||||
}
|
||||
/* Update alias. */
|
||||
elseif (isset($_GET['alias_update'])) {
|
||||
if (!isset($_POST['alias']) ||
|
||||
!isset($_POST['destination']) ||
|
||||
!isset($_POST['password'])) {
|
||||
echo 'Error 17';
|
||||
exit;
|
||||
}
|
||||
|
||||
$new_password = '';
|
||||
if (isset($_POST['new_password'])) {
|
||||
$new_password = $_POST['new_password'];
|
||||
}
|
||||
|
||||
echo jirafeau_alias_update($_POST['alias'],
|
||||
$_POST['destination'],
|
||||
$_POST['password'],
|
||||
$new_password,
|
||||
get_ip_address($cfg));
|
||||
}
|
||||
/* Delete alias. */
|
||||
elseif (isset($_GET['alias_delete'])) {
|
||||
if (!isset($_POST['alias']) ||
|
||||
!isset($_POST['password'])) {
|
||||
echo 'Error 18';
|
||||
exit;
|
||||
}
|
||||
|
||||
echo jirafeau_alias_delete($_POST['alias'],
|
||||
$_POST['password']);
|
||||
}
|
||||
/* Initialize an asynchronous upload. */
|
||||
elseif (isset($_GET['init_async'])) {
|
||||
if (isset($_POST['upload_password'])){
|
||||
|
Loading…
x
Reference in New Issue
Block a user