This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
MatritumCantat_Web/www/components/com_docman/includes_frontend/upload.link.php
2012-09-18 20:02:43 +00:00

106 lines
2.8 KiB
PHP

<?php
/**
* DOCman 1.4.x - Joomla! Document Manager
* @version $Id: upload.link.php 765 2009-01-05 20:55:57Z mathias $
* @package DOCman_1.4
* @copyright (C) 2003-2009 Joomlatools
* @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
* @link http://www.joomlatools.eu/ Official website
**/
defined('_VALID_MOS') or die('Restricted access');
if (defined('_DOCMAN_LINK_TRANSFER')) {
return true;
} else {
define('_DOCMAN_LINK_TRANSFER' , 1);
}
include_once dirname(__FILE__) . '/upload.link.html.php';
class DMUploadMethod
{
function fetchMethodForm($uid, $step, $update = false)
{
global $task;
switch ($step)
{
case 2: // Input the remote URL(Form)
{
$lists = array();
$lists['action'] = _taskLink($task, $uid, array('step' => $step + 1), false);
return HTML_DMUploadMethod::linkFileForm($lists);
} break;
case 3: // Create a link
{
$url = stripslashes(mosGetParam($_REQUEST , 'url' , 'http://'));
$err = DMUploadMethod::linkFileProcess($uid, $step, $url);
if($err['_error']) {
_returnTo($task, $err['_errmsg'], '', array("method" => 'link' ,"step" => $step - 1 ,"localfile" => '' , "url" => DOCMAN_Utils::safeEncodeURL($url)));
}
$uploaded = DOCMAN_Utils::safeEncodeURL(_DM_DOCUMENT_LINK . $url);
$catid = $update ? 0 : $uid;
$docid = $update ? $uid : 0;
return fetchEditDocumentForm($docid , $uploaded, $catid);
} break;
default:
break;
}
return true;
}
function linkFileProcess($uid, $step, $url)
{
DOCMAN_token::check() or die('Invalid Token');
global $_DMUSER, $_DOCMAN;
if ($url == '') {
return array(
'_error' => 1,
'_errmsg'=> _DML_FILENAME_REQUIRED
);
}
$path = $_DOCMAN->getCfg('dmpath');
//get file validation settings
if ($_DMUSER->isSpecial) {
$validate = _DM_VALIDATE_ADMIN;
} else {
if ($_DOCMAN->getCfg('user_all', false)) {
$validate = _DM_VALIDATE_USER_ALL ;
} else {
$validate = _DM_VALIDATE_USER;
}
}
//upload the file
$upload = new DOCMAN_FileUpload();
$file = $upload->uploadLINK($url , $validate);
if (!$file) {
$msg = _DML_ERROR_LINKING . " - " . $upload->_err;
return array(
'_error' => 1,
'_errmsg'=> $msg
);
}
$msg = _DML_LINKED;
return array(
'_error' => 0,
'_errmsg'=> $msg
);
}
}