<?php
// IP-adres van de Yealink-telefoon
$phoneIP = "IP_ADDRESS_OF_YEALINK_PHONE";
// Gebruikersnaam en wachtwoord voor de webinterface van de telefoon (indien ingesteld)
$username = "YOUR_USERNAME";
$password = "YOUR_PASSWORD";
// URL om de configuratie van de telefoon op te halen
$configURL = "http://$phoneIP/servlet?p=loadfile&c=config&a=display&type=ALL";
// Voer een HTTP GET-verzoek uit om de configuratie op te halen
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $configURL);
// Als de telefoon is beveiligd met een gebruikersnaam en wachtwoord, gebruik dan de volgende regel
// curl_setopt($ch, CURLOPT_USERPWD, "$username:$password");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
curl_close($ch);
if ($response === false) {
die("Fout bij het ophalen van de configuratie.");
}
// Definieer de regex-patronen voor het wijzigen van BLF naar Speed Dial
$regexPatterns = array(
"/^key\d+\.type=16$/m" => "key%d.type=9", // BLF (type 16) naar Speed Dial (type 9)
);
// Loop door de patronen en voer de wijzigingen uit
foreach ($regexPatterns as $pattern => $replacement) {
$modifiedConfig = preg_replace($pattern, $replacement, $response);
if ($modifiedConfig !== null) {
$response = $modifiedConfig;
}
}
// Hier kun je de aangepaste configuratie $response opslaan in een nieuw bestand of deze naar de telefoon verzenden.
// Voor het opslaan van de aangepaste configuratie in een bestand
file_put_contents("modified_config.cfg", $response);
// Of voor het verzenden van de configuratie naar de telefoon (vervolgstappen zijn vereist)
echo "Configuratie aangepast en opgeslagen.";
?>