forked from DjMomo/ClassePhpFreebox
-
Notifications
You must be signed in to change notification settings - Fork 0
/
freebox.php
113 lines (94 loc) · 3.15 KB
/
freebox.php
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
102
103
104
105
106
107
108
109
110
111
112
113
<?php
/*************************************************************************************
**
** Exemple de script de gestion de la Freebox Révolution - Boitier Server
**
** https://github.com/DjMomo/ClassePhpFreebox
**
**************************************************************************************/
// inclusion de la classe PHP Freebox
// Les classes du dossier API sont incluses automatiquement
require('freebox.class.php');
// Fichier de configuration de la classe PHP
$config_file = 'mafreebox.cfg';
if(file_exists($config_file))
require_once($config_file);
else
die ("Fichier de configuration manquant !");
// Liste de caractères interdits dans un fichier XML
$char_interdit_xml = array("!","\"","#","$","%","&","'","(",")","*","+",",","/",";","<","=",">","?","@","[","\\","]","^","`","{","|","}","~");
// Instantation de la classe PHP Freebox pour l'authentification (obligatoire)
$freebox = new apifreebox($config);
/*************************************************************************************
**
** Ci dessous, 2 exemples : des écritures de données et une lecture de données
**
**************************************************************************************/
/********** Ecritures **********/
// On récupère l'argument
if (isset($_GET['do']) && ($_GET['do'] != null))
$do = $_GET['do'];
if (isset($do))
{
switch ($do)
{
// Quelques exemples d'actions sur la freebox Server
case "lcd_brightness" :
{
// Fixe la valeur de luminosité du lcd.
// Instantation de la classe PHP de la partie Configuration
$configuration = new Configuration($freebox);
// Valeur en %, de 0 à 100.
if (isset($_GET['val']) && (is_numeric($_GET['val'])))
$brightness = $_GET['val'];
else
$brightness = 100;
$array_config = array('brightness' => $brightness);
$freebox->DisplayResult($configuration->UpdateLcdConfig($array_config),"lcd_brightness");
break;
}
case "lcd_orientation" :
{
// Fixe l'orientation du lcd.
// Instantation de la classe PHP de la partie Configuration
$configuration = new Configuration($freebox);
// Valeur en degrés, de 0 à 90.
if (isset($_GET['val']) && (is_numeric($_GET['val'])))
$orientation = $_GET['val'];
else
$orientation = 0;
$array_config = array('orientation' => $orientation);
$freebox->DisplayResult($configuration->UpdateLcdConfig($array_config),"lcd_orieentation");
break;
}
case "reboot" :
{
// Reboote la Freebox Server
// Instantation de la classe PHP de la partie System
$system = new System($freebox);
$freebox->DisplayResult($system->Reboot(),"reboot");
break;
}
case "wifi" :
{
// Active/désactive la carte Wifi
// Instantation de la classe PHP de la partie Configuration
$configuration = new Configuration($freebox);
// On ou off
if ($_GET['val'] === "on" )
$enabled = true;
else
$enabled = false;
$array_config = array("ap_params" => array( "enabled" => $enabled));
$freebox->DisplayResult($configuration->UpdateWifiConfig($array_config),"wifi");
break;
}
}
}
/********** Lecture **********/
else
{
$xml = $freebox->config_to_XML();
echo $xml;
}
?>