Initial commit
This commit is contained in:
commit
e7b8b047fe
3 changed files with 74 additions and 0 deletions
5
composer.json
Normal file
5
composer.json
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
{
|
||||||
|
"require": {
|
||||||
|
"llagerlof/moodlerest": "2.3.0"
|
||||||
|
}
|
||||||
|
}
|
25
config.php.sample
Normal file
25
config.php.sample
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
// Configuration for upload-timetable.php
|
||||||
|
|
||||||
|
// Moodle Webservice token
|
||||||
|
$config['token'] = '11157f172aff76f65712e5468fca3331';
|
||||||
|
|
||||||
|
// Webservice URL
|
||||||
|
$config['url'] = 'https://moodlesb.steinbeisschule-reutlingen.de/webservice/rest/server.php';
|
||||||
|
|
||||||
|
// Filename for storing hashes
|
||||||
|
$config['hashfile'] = 'hashes.json';
|
||||||
|
|
||||||
|
// Filepath to untis
|
||||||
|
$config['files'] = array();
|
||||||
|
$config['files'][] = array('name' => 'lesson', 'file' => 'untis/export/lesson.txt');
|
||||||
|
$config['files'][] = array('name' => 'teacher', 'file' => 'untis/export/teacher.txt');
|
||||||
|
$config['files'][] = array('name' => 'room', 'file' => 'untis/export/room.txt');
|
||||||
|
$config['files'][] = array('name' => 'class', 'file' => 'untis/export/class.txt');
|
||||||
|
$config['files'][] = array('name' => 'time', 'file' => 'untis/export/time.txt');
|
||||||
|
$config['files'][] = array('name' => 'absence_reason', 'file' => 'untis/export/GPU012.TXT');
|
||||||
|
$config['files'][] = array('name' => 'absence', 'file' => 'untis/export/GPU013.TXT');
|
||||||
|
$config['files'][] = array('name' => 'substitution', 'file' => 'untis/export/GPU014.TXT');
|
||||||
|
|
||||||
|
|
44
upload_timetable.php
Normal file
44
upload_timetable.php
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* upload-timetable
|
||||||
|
*
|
||||||
|
* @package upload_timetable
|
||||||
|
* @copyright 2020 Raphael Dannecker <raphael.dannecker@steinbeisschule-reutlingen.de>
|
||||||
|
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
|
||||||
|
*/
|
||||||
|
|
||||||
|
require_once dirname(__FILE__) . '/vendor/autoload.php';
|
||||||
|
require_once('config.php');
|
||||||
|
|
||||||
|
$token = '8d962a172b9f56f65712e5710fca2435';
|
||||||
|
$domainname = 'https://moodlesb.steinbeisschule-reutlingen.de';
|
||||||
|
|
||||||
|
$MoodleRest = new MoodleRest($config['url'], $config['token']);
|
||||||
|
|
||||||
|
if (file_exists ($config['hashfile'])) {
|
||||||
|
$hashfile = file_get_contents($config['hashfile']);
|
||||||
|
$hashes = (array) json_decode($hashfile);
|
||||||
|
} else $hashes = array();
|
||||||
|
|
||||||
|
$untis_data = array('files' => array());
|
||||||
|
foreach($config['files'] as $file) {
|
||||||
|
$content = file_get_contents($file['file']);
|
||||||
|
$hash = md5($content);
|
||||||
|
if (! array_key_exists($file['name'],$hashes) || $hashes[$file['name']] != $hash)
|
||||||
|
$untis_data['files'][] = array('name' => $file['name'], 'content' => base64_encode($content));
|
||||||
|
$hashes[$file['name']] = $hash;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (count($untis_data['files'])) {
|
||||||
|
$result = $MoodleRest->request('mod_timetable_update', $untis_data, MoodleRest::METHOD_POST);
|
||||||
|
print_r($result);
|
||||||
|
if (true) {
|
||||||
|
$hashfile = fopen($config['hashfile'],'w');
|
||||||
|
fwrite($hashfile, json_encode($hashes, JSON_FORCE_OBJECT));
|
||||||
|
fclose($hashfile);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
echo "Nothing to do\n";
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue