blob: 31691dcb6830d13480be0d743579efac4e9f98fd (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
|
<?php
// src/model/File.php
//
// manipulations des fichiers
class File
{
private $file_name = '';
private $path = '';
private $data = ''; // écriture de binaire (blob) non prévue
private $file_rights = 0644;
private $folder_rights = 0755; // droits en octal
private $write_mod = 0; // 0 = écraser, 1 = ajouter à la suite, 2 = nouveau fichier
public function __construct(string $file_name, string $path)
{
$this->file_name = $file_name;
$this->path = $path;
}
// getters
public function getData(): string
{
return $this->data;
}
// setters
public function setFileName($file_name)
{
$this->file_name = $file_name;
}
public function setPath($path)
{
$this->path = $path;
}
public function setData($data)
{
$this->data = $data;
}
public function setFileRights(int $octal)
{
$this->file_rights($octal);
}
public function setFolderRights(int $octal)
{
$this->folder_rights($octal);
}
public function setWriteMod(int $mod)
{
$this->write_mod = $mod;
}
// fichiers
public function readFile(): string
{}
public function writeFile()
{
file_put_contents($this->path. $this->file_name, $data);
chmod($this->path, $this->file_rights);
}
// dossiers
public function makeFolder()
{
if(!file_exists($this->path))
{
mkdir($this->path);
chmod($this->path, $this->folder_rights);
}
}
}
// compilation à partir d'un fichier .tex
class latexToPdf extends File
{
public function __construct(string $latex_path, string $file_name, string $pdf_path)
{}
$output_dir = '';
if($pdf_path !== '')
{
$output_dir = '-output-directory=' . $pdf_path . ' ';
}
// compilation
//echo 'pdflatex ' . $output_dir . $latex_path . $file_name . "\n";
exec('pdflatex ' . $output_dir . $latex_path . $file_name);
// nettoyage
$basename = basename($file_name, '.tex');
unlink($pdf_path . $basename . '.aux');
unlink($pdf_path . $basename . '.log');
}
|