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