<?php



function pdfs_basename($pdf){
    return basename($source, ".pdf");
}


function pdfs_count($pdf){

    $result = exec("pdftk $pdf dump_data | grep NumberOfPages");
    return trim(str_replace("NumberOfPages:", '', $result)); 

}

function pdfs_hash($pdf){
    $basefile = basename($pdf, ".pdf");
    return md5($basefile); 
}


function pdfs_cachefile($pdf){

    $name = pdfs_hash($pdf).'.pdf';
    $cachefile = PDFDIR.$name;
    $cacheurl = PDFPATH.$name;
    
    if (!file_exists($cachefile)) {
        if (copy($pdf, $cachefile))
            return $cacheurl;
        else
            return false;
    }
    
    return $cacheurl;


}


function pdfs_init($source, $page = 1){

    $result = array();

    $result['count'] = pdfs_count($source); // количество страниц   
    $result['pdfurl'] = SITE.trim(pdfs_cachefile($source), '/'); //полный файл на скачку


    $name = pdfs_hash($source);
    $cachedir = PGDIR.$name.'/';
    $cachefile = $name.'-'.$page.'.pdf';
    $fullcachefile = $cachedir.$cachefile;

    if (!file_exists($fullcachefile)){

        if (!file_exists($source))
            return false;
        
        if (!is_dir($cachedir))
            mkdir($cachedir);
        
        $cmd = "pdftk $source cat $page output $fullcachefile";
        shell_exec($cmd);

    }  
    
    if (file_exists($fullcachefile))
        $result['pdfpgurl'] = PGPATH.$name.'/'.$cachefile;
    else
        return false;

    return $result;    

}

