Skip to content
Snippets Groups Projects
retrieve_attachment_from_cm.php 1.52 KiB
Newer Older
  • Learn to ignore specific revisions
  • <?php
    //case of res -> update attachment
    require_once 'modules/attachments/attachments_tables.php';
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
    $dbAttachment = new Database();
    $query = "SELECT relation, docserver_id, path, filename, format 
    
            WHERE res_id = ? AND res_id_master = ? ORDER BY relation desc";
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
    $stmt = $dbAttachment->query($query, array($objectId, $objectId, $_SESSION['doc_id']));
    
    if ($stmt->rowCount() == 0) {
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
        $result = array('ERROR' => _THE_DOC . ' ' . _EXISTS_OR_RIGHT);
        createXML('ERROR', $result);
    
    } else {
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
        $line = $stmt->fetchObject();
    
        $docserver = $line->docserver_id;
        $path = $line->path;
        $filename = $line->filename;
        $format = $line->format;
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
        $query = "select path_template from " . _DOCSERVERS_TABLE_NAME
            . " where docserver_id = ?";
        $stmt = $dbAttachment->query($query, array($docserver));
    
        $func = new functions();
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
        $lineDoc = $stmt->fetchObject();
    
        $docserver = $lineDoc->path_template;
        $fileOnDs = $docserver . $path . $filename;
        $fileOnDs = str_replace('#', DIRECTORY_SEPARATOR, $fileOnDs);
        $fileExtension = $func->extractFileExt($fileOnDs);
        $fileNameOnTmp = 'tmp_file_' . $_SESSION['user']['UserId']
            . '_' . rand() . '.' . $fileExtension;
        $filePathOnTmp = $_SESSION['config']['tmppath'] . $fileNameOnTmp;
        if (!copy($fileOnDs, $filePathOnTmp)) {
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
            $result = array('ERROR' => _FAILED_TO_COPY_ON_TMP 
                . ':' . $fileOnDs . ' ' . $filePathOnTmp
    
    Giovannoni Laurent's avatar
    Giovannoni Laurent committed
            createXML('ERROR', $result);