mirror of
https://github.com/FH-Complete/FHC-Core.git
synced 2026-07-24 10:22:18 +00:00
Anpassungen Moodle2.4
This commit is contained in:
+51
-5
@@ -3981,9 +3981,54 @@ if(!@$db->db_query("SELECT 1 FROM public.tbl_service LIMIT 1"))
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tl_service: '.$db->db_last_error().'</strong><br>';
|
||||
echo '<strong>public.tbl_service: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo 'Tabelle public.service hinzugefuegt, campus.tbl_zeitaufzeichnung geaendert<br>';
|
||||
echo 'Tabelle public.tbl_service hinzugefuegt, campus.tbl_zeitaufzeichnung geaendert<br>';
|
||||
}
|
||||
|
||||
// Service zusaetzliche Verknuepfung zu einem Content
|
||||
if(!@$db->db_query("SELECT content_id FROM public.tbl_service LIMIT 1"))
|
||||
{
|
||||
$qry ="ALTER TABLE public.tbl_service ADD COLUMN content_id integer;
|
||||
ALTER TABLE public.tbl_service ADD CONSTRAINT fk_content_service FOREIGN KEY(content_id) REFERENCES campus.tbl_content(content_id) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>public.tbl_service: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo 'Tabelle public.tbl_service Spalte content_id hinzugefuegt<br>';
|
||||
}
|
||||
|
||||
// Erweiterung der Moodle Tabelle zur Verwaltung von mehreren Moodle Instanzen
|
||||
if(!@$db->db_query("SELECT * FROM lehre.tbl_moodle_version LIMIT 1"))
|
||||
{
|
||||
$qry ="
|
||||
CREATE TABLE lehre.tbl_moodle_version
|
||||
(
|
||||
moodle_version varchar(8) NOT NULL,
|
||||
bezeichnung varchar(256),
|
||||
pfad varchar(256)
|
||||
);
|
||||
|
||||
ALTER TABLE lehre.tbl_moodle_version ADD CONSTRAINT pk_moodle_version PRIMARY KEY (moodle_version);
|
||||
|
||||
ALTER TABLE lehre.tbl_moodle ADD COLUMN moodle_version varchar(8);
|
||||
ALTER TABLE lehre.tbl_moodle ADD CONSTRAINT fk_moodle_version_moodle FOREIGN KEY(moodle_version) REFERENCES lehre.tbl_moodle_version(moodle_version) ON DELETE RESTRICT ON UPDATE CASCADE;
|
||||
|
||||
INSERT INTO lehre.tbl_moodle_version(moodle_version, bezeichnung, pfad) VALUES('1.9','Moodle 1.9','http://localhost/moodle/');
|
||||
INSERT INTO lehre.tbl_moodle_version(moodle_version, bezeichnung, pfad) VALUES('2.4','Moodle 2.4','http://localhost/moodle24/');
|
||||
UPDATE lehre.tbl_moodle SET moodle_version='1.9' WHERE moodle_version is null;
|
||||
|
||||
ALTER TABLE lehre.tbl_moodle ALTER COLUMN moodle_version SET NOT NULL;
|
||||
|
||||
GRANT SELECT ON lehre.tbl_moodle_version TO vilesci;
|
||||
GRANT SELECT ON lehre.tbl_moodle_version TO web;
|
||||
";
|
||||
|
||||
if(!$db->db_query($qry))
|
||||
echo '<strong>lehre.tbl_moodle_version: '.$db->db_last_error().'</strong><br>';
|
||||
else
|
||||
echo 'Tabelle lehre.tbl_moodle_version hinzugefuegt; Spalte moodle_version zu Tabelle tbl_moodle hinzugefuegt<br>';
|
||||
}
|
||||
echo '<br>';
|
||||
|
||||
@@ -4079,7 +4124,8 @@ $tabellen=array(
|
||||
"lehre.tbl_lehrform" => array("lehrform_kurzbz","bezeichnung","verplanen"),
|
||||
"lehre.tbl_lehrfunktion" => array("lehrfunktion_kurzbz","beschreibung","standardfaktor","sort"),
|
||||
"lehre.tbl_lehrveranstaltung" => array("lehrveranstaltung_id","kurzbz","bezeichnung","lehrform_kurzbz","studiengang_kz","semester","sprache","ects","semesterstunden","anmerkung","lehre","lehreverzeichnis","aktiv","planfaktor","planlektoren","planpersonalkosten","plankostenprolektor","koordinator","sort","zeugnis","projektarbeit","updateamum","updatevon","insertamum","insertvon","ext_id","bezeichnung_english","orgform_kurzbz","incoming"),
|
||||
"lehre.tbl_moodle" => array("lehrveranstaltung_id","lehreinheit_id","moodle_id","mdl_course_id","studiensemester_kurzbz","gruppen","insertamum","insertvon"),
|
||||
"lehre.tbl_moodle" => array("lehrveranstaltung_id","lehreinheit_id","moodle_id","mdl_course_id","studiensemester_kurzbz","gruppen","insertamum","insertvon","moodle_version"),
|
||||
"lehre.tbl_moodle_version" => array("moodle_version","bezeichnung","pfad"),
|
||||
"lehre.tbl_note" => array("note","bezeichnung","anmerkung","farbe"),
|
||||
"lehre.tbl_projektarbeit" => array("projektarbeit_id","projekttyp_kurzbz","titel","lehreinheit_id","student_uid","firma_id","note","punkte","beginn","ende","faktor","freigegeben","gesperrtbis","stundensatz","gesamtstunden","themenbereich","anmerkung","updateamum","updatevon","insertamum","insertvon","ext_id","titel_english","seitenanzahl","abgabedatum","kontrollschlagwoerter","schlagwoerter","schlagwoerter_en","abstract", "abstract_en", "sprache"),
|
||||
"lehre.tbl_projektbetreuer" => array("person_id","projektarbeit_id","betreuerart_kurzbz","note","faktor","name","punkte","stunden","stundensatz","updateamum","updatevon","insertamum","insertvon","ext_id"),
|
||||
@@ -4149,7 +4195,7 @@ $tabellen=array(
|
||||
"public.tbl_reihungstest" => array("reihungstest_id","studiengang_kz","ort_kurzbz","anmerkung","datum","uhrzeit","updateamum","updatevon","insertamum","insertvon","ext_id","freigeschaltet"),
|
||||
"public.tbl_status" => array("status_kurzbz","beschreibung","anmerkung","ext_id"),
|
||||
"public.tbl_semesterwochen" => array("semester","studiengang_kz","wochen"),
|
||||
"public.tbl_service" => array("service_id", "bezeichnung","beschreibung","ext_id","oe_kurzbz"),
|
||||
"public.tbl_service" => array("service_id", "bezeichnung","beschreibung","ext_id","oe_kurzbz","content_id"),
|
||||
"public.tbl_sprache" => array("sprache","locale","flagge","index","content","bezeichnung"),
|
||||
"public.tbl_standort" => array("standort_id","adresse_id","kurzbz","bezeichnung","insertvon","insertamum","updatevon","updateamum","ext_id", "firma_id"),
|
||||
"public.tbl_statistik" => array("statistik_kurzbz","bezeichnung","url","r","gruppe","sql","php","content_id","insertamum","insertvon","updateamum","updatevon","berechtigung_kurzbz"),
|
||||
@@ -4252,4 +4298,4 @@ if (!$result=@$db->db_query($sql_query))
|
||||
echo 'Attribut '.$fulltablename.'.<strong>'.$fieldnameDB.'</strong> existiert in der DB, aber nicht in diesem Skript!<BR>';
|
||||
}
|
||||
}
|
||||
?>
|
||||
?>
|
||||
|
||||
@@ -23,6 +23,15 @@
|
||||
|
||||
// We defined the web service functions to install.
|
||||
$functions = array(
|
||||
'fhcomplete_get_course_grades' => array(
|
||||
'classname' => 'local_fhcompletews_external',
|
||||
'methodname' => 'get_course_grades',
|
||||
'classpath' => 'local/fhcompletews/externallib.php',
|
||||
'description' => 'Get Grades of a course',
|
||||
'type' => 'read',
|
||||
'capabilities'=> 'moodle/course:update,moodle/course:viewhiddencourses',
|
||||
),
|
||||
|
||||
'fhcomplete_courses_by_shortname' => array(
|
||||
'classname' => 'local_fhcompletews_external',
|
||||
'methodname' => 'get_courses_by_shortname',
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
<?php
|
||||
|
||||
// Moodle is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
@@ -22,12 +21,147 @@
|
||||
*/
|
||||
require_once($CFG->libdir . "/externallib.php");
|
||||
|
||||
class local_fhcompletews_external extends external_api {
|
||||
class local_fhcompletews_external extends external_api
|
||||
{
|
||||
|
||||
|
||||
/**************************************************
|
||||
* Webservice get_course_grades
|
||||
*
|
||||
* Laedt die Noten eines Kurses
|
||||
**************************************************/
|
||||
public static function get_course_grades_parameters()
|
||||
{
|
||||
return new external_function_parameters(
|
||||
array('courseid' => new external_value(PARAM_INT, 'CourseID')), 'ID of the Course'
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get course Grades
|
||||
* @param int courseid
|
||||
* @return array
|
||||
*/
|
||||
public static function get_course_grades($courseid)
|
||||
{
|
||||
global $CFG, $DB;
|
||||
require_once($CFG->dirroot . "/course/lib.php");
|
||||
require_once($CFG->dirroot.'/grade/export/lib.php');
|
||||
|
||||
public static function get_courses_by_shortname_parameters() {
|
||||
//validate parameter
|
||||
$params = self::validate_parameters(self::get_course_grades_parameters(),
|
||||
array('courseid' => $courseid));
|
||||
|
||||
$notenart=3; // 2=Prozent; 3=Endnote nach Skala
|
||||
$gui=array();
|
||||
$final_id='';
|
||||
$data = array();
|
||||
|
||||
// Kursdaten Laden
|
||||
if (!$course = $DB->get_record('course', array('id'=>$courseid)))
|
||||
{
|
||||
throw new moodle_exception('Course not found', '', '', null, 'The course ' . $courseid . ' is not found');
|
||||
return false;
|
||||
}
|
||||
|
||||
$id=$course->id;
|
||||
$kursname=$course->fullname;
|
||||
$shortname=$course->shortname;
|
||||
|
||||
//ODS Notenexport starten
|
||||
require_login($course);
|
||||
$context = get_context_instance(CONTEXT_COURSE, $courseid);
|
||||
require_once($CFG->dirroot.'/grade/export/ods/grade_export_ods.php');
|
||||
|
||||
if (!$export = new grade_export_ods($course, 0, 0, false, false, $notenart, 2))
|
||||
{
|
||||
throw new moodle_exception('Fehler', '', '', null, "Moodle-Kurs ".$id." ".$shortname." - keine Export Information gefunden");
|
||||
return false;
|
||||
}
|
||||
|
||||
$grad =$export->columns;
|
||||
|
||||
// Im Export sind die Noten fuer alle Abgaben, Quiz, etc enthalten
|
||||
// Wir brauchen hier nur die Gesamtnote fuer die ganzen Kurs
|
||||
foreach ($export->columns as $key=>$grade_item)
|
||||
{
|
||||
// Gesamtnote hat den itemtype "course"
|
||||
if($grade_item->itemtype=='course')
|
||||
{
|
||||
$final_id=$key;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if($final_id=='')
|
||||
{
|
||||
throw new moodle_exception('Fehler', '', '', null,"Moodle-Kurs ".$id." ".$shortname." - keine Endnote gefunden");
|
||||
return false;
|
||||
}
|
||||
|
||||
// Liste mit allen Studierenden des Kurses durchlaufen
|
||||
$geub = new grade_export_update_buffer();
|
||||
$gui = new graded_users_iterator($export->course, $export->columns, $export->groupid);
|
||||
|
||||
$gui->init();
|
||||
$kursgrad =array();
|
||||
|
||||
while ($userdata = $gui->next_user())
|
||||
{
|
||||
$user_item=array();
|
||||
$user = $userdata->user;
|
||||
$user_item['vorname']=$user->firstname;
|
||||
$user_item['nachname']=$user->lastname;
|
||||
$user_item['idnummer']=$user->idnumber;
|
||||
$user_item['username']=$user->username;
|
||||
|
||||
// Aus den vorhanden Noten wird die Endnote fuer den Kurs herausgesucht
|
||||
if(isset($userdata->grades[$final_id]))
|
||||
{
|
||||
$gradestr = $export->format_grade($userdata->grades[$final_id]);
|
||||
$user_item['note']=$gradestr;
|
||||
}
|
||||
|
||||
$data[]=$user_item;
|
||||
}
|
||||
|
||||
$gui->close();
|
||||
$geub->close();
|
||||
|
||||
if (count($data)==0)
|
||||
{
|
||||
throw new moodle_exception('Fehler', '', '', null,"Moodle-Kurs ".$id." ".$shortname." - keine Kurs-Noten Informationen gefunden ");
|
||||
return false;
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns description of method result value
|
||||
* @return external_description
|
||||
*/
|
||||
public static function get_course_grades_returns()
|
||||
{
|
||||
return new external_multiple_structure(
|
||||
new external_single_structure(
|
||||
array(
|
||||
'vorname' => new external_value(PARAM_TEXT, 'vorname'),
|
||||
'nachname' => new external_value(PARAM_TEXT, 'nachname'),
|
||||
'idnummer' => new external_value(PARAM_TEXT, 'idnummer'),
|
||||
'username' => new external_value(PARAM_TEXT, 'username'),
|
||||
'note' => new external_value(PARAM_TEXT, 'note'),
|
||||
), 'course'
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
/**************************************************
|
||||
* Webservice get_courses_by_shortname
|
||||
*
|
||||
* Laedt Kurse anhand der Kurzbezeichnung
|
||||
**************************************************/
|
||||
public static function get_courses_by_shortname_parameters()
|
||||
{
|
||||
return new external_function_parameters(
|
||||
array('options' => new external_single_structure(
|
||||
array('shortnames' => new external_multiple_structure(
|
||||
@@ -45,7 +179,8 @@ class local_fhcompletews_external extends external_api {
|
||||
* @param array $options
|
||||
* @return array
|
||||
*/
|
||||
public static function get_courses_by_shortname($options) {
|
||||
public static function get_courses_by_shortname($options)
|
||||
{
|
||||
global $CFG, $DB;
|
||||
require_once($CFG->dirroot . "/course/lib.php");
|
||||
|
||||
@@ -63,13 +198,17 @@ class local_fhcompletews_external extends external_api {
|
||||
|
||||
//create return value
|
||||
$coursesinfo = array();
|
||||
foreach ($courses as $course) {
|
||||
foreach ($courses as $course)
|
||||
{
|
||||
|
||||
// now security checks
|
||||
$context = get_context_instance(CONTEXT_COURSE, $course->id);
|
||||
try {
|
||||
try
|
||||
{
|
||||
self::validate_context($context);
|
||||
} catch (Exception $e) {
|
||||
}
|
||||
catch (Exception $e)
|
||||
{
|
||||
$exceptionparam = new stdClass();
|
||||
$exceptionparam->message = $e->getMessage();
|
||||
$exceptionparam->shortname = $course->shortname;
|
||||
@@ -91,7 +230,8 @@ class local_fhcompletews_external extends external_api {
|
||||
|
||||
//some field should be returned only if the user has update permission
|
||||
$courseadmin = has_capability('moodle/course:update', $context);
|
||||
if ($courseadmin) {
|
||||
if ($courseadmin)
|
||||
{
|
||||
$courseinfo['categorysortorder'] = $course->sortorder;
|
||||
$courseinfo['idnumber'] = $course->idnumber;
|
||||
$courseinfo['showgrades'] = $course->showgrades;
|
||||
@@ -113,7 +253,8 @@ class local_fhcompletews_external extends external_api {
|
||||
}
|
||||
|
||||
if ($courseadmin or $course->visible
|
||||
or has_capability('moodle/course:viewhiddencourses', $context)) {
|
||||
or has_capability('moodle/course:viewhiddencourses', $context))
|
||||
{
|
||||
$coursesinfo[] = $courseinfo;
|
||||
}
|
||||
}
|
||||
@@ -125,7 +266,8 @@ class local_fhcompletews_external extends external_api {
|
||||
* Returns description of method result value
|
||||
* @return external_description
|
||||
*/
|
||||
public static function get_courses_by_shortname_returns() {
|
||||
public static function get_courses_by_shortname_returns()
|
||||
{
|
||||
return new external_multiple_structure(
|
||||
new external_single_structure(
|
||||
array(
|
||||
@@ -186,12 +328,21 @@ class local_fhcompletews_external extends external_api {
|
||||
)
|
||||
);
|
||||
}
|
||||
/**
|
||||
* Returns description of get_users() parameters.
|
||||
*
|
||||
* @return external_function_parameters
|
||||
* @since Moodle 2.5
|
||||
*/
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* get_users - Laedt User Anhand des Usernamens
|
||||
* Backport von Moodle 2.5
|
||||
* Ab Moodle 2.5 sollte dieses Webservice bereits integriert sein
|
||||
***********************************************************************/
|
||||
|
||||
|
||||
/**
|
||||
* Returns description of get_users() parameters.
|
||||
*
|
||||
* @return external_function_parameters
|
||||
* @since Moodle 2.5
|
||||
*/
|
||||
public static function get_users_parameters() {
|
||||
return new external_function_parameters(
|
||||
array(
|
||||
@@ -221,12 +372,12 @@ It could very slow or timeout. The function is designed to search some specific
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrieve matching user.
|
||||
*
|
||||
* @param array $criteria the allowed array keys are id/lastname/firstname/idnumber/username/email/auth.
|
||||
* @return array An array of arrays containing user profiles.
|
||||
* @since Moodle 2.5
|
||||
*/
|
||||
* Retrieve matching user.
|
||||
*
|
||||
* @param array $criteria the allowed array keys are id/lastname/firstname/idnumber/username/email/auth.
|
||||
* @return array An array of arrays containing user profiles.
|
||||
* @since Moodle 2.5
|
||||
*/
|
||||
public static function get_users($criteria = array()) {
|
||||
global $CFG, $USER, $DB;
|
||||
|
||||
@@ -345,11 +496,11 @@ It could very slow or timeout. The function is designed to search some specific
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns description of get_users result value.
|
||||
*
|
||||
* @return external_description
|
||||
* @since Moodle 2.5
|
||||
*/
|
||||
* Returns description of get_users result value.
|
||||
*
|
||||
* @return external_description
|
||||
* @since Moodle 2.5
|
||||
*/
|
||||
public static function get_users_returns() {
|
||||
return new external_single_structure(
|
||||
array('users' => new external_multiple_structure(
|
||||
@@ -360,12 +511,12 @@ It could very slow or timeout. The function is designed to search some specific
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create user return value description.
|
||||
*
|
||||
* @param array $additionalfields some additional field
|
||||
* @return single_structure_description
|
||||
*/
|
||||
/**
|
||||
* Create user return value description.
|
||||
*
|
||||
* @param array $additionalfields some additional field
|
||||
* @return single_structure_description
|
||||
*/
|
||||
public static function user_description($additionalfields = array()) {
|
||||
$userfields = array(
|
||||
'id' => new external_value(PARAM_INT, 'ID of the user'),
|
||||
@@ -423,8 +574,6 @@ It could very slow or timeout. The function is designed to search some specific
|
||||
}
|
||||
return new external_single_structure($userfields);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -480,5 +629,3 @@ function can_view_user_details_cap($user, $course = null) {
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
$plugin->version = 2013022105; // The (date) version of this module + 2 extra digital for daily versions
|
||||
$plugin->version = 2013031302; // The (date) version of this module + 2 extra digital for daily versions
|
||||
// This version number is displayed into /admin/forms.php
|
||||
// TODO: if ever this plugin get branched, the old branch number
|
||||
// will not be updated to the current date but just incremented. We will
|
||||
@@ -20,5 +20,5 @@ $plugin->version = 2013022105; // The (date) version of this module + 2 extra
|
||||
// display this version number with userdate (dev friendly)
|
||||
$plugin->requires = 2010112400; // Requires this Moodle version - at least 2.0
|
||||
$plugin->cron = 0;
|
||||
$plugin->release = '1.0 (Build: 2013022105)';
|
||||
$plugin->release = '1.0 (Build: 2013031302)';
|
||||
$plugin->maturity = MATURITY_STABLE;
|
||||
|
||||
@@ -0,0 +1,157 @@
|
||||
<?php
|
||||
/* Copyright (C) 2013 FH Technikum-Wien
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as
|
||||
* published by the Free Software Foundation; either version 2 of the
|
||||
* License, or (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.
|
||||
*
|
||||
* Authors: Andreas Oesterreicher <andreas.oesterreicher@technikum-wien.at> and
|
||||
*/
|
||||
/*
|
||||
* Synchronisiert die Lektoren und Studenten der aktuellen MoodleKurse
|
||||
* wenn kein aktuelles Studiensemester vorhanden ist, wird NICHT Synchronisiert
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/moodle24_course.class.php');
|
||||
require_once('../../include/moodle24_user.class.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/mail.class.php');
|
||||
|
||||
$db = new basis_db();
|
||||
$sync_lektoren_gesamt=0;
|
||||
$sync_studenten_gesamt=0;
|
||||
$group_updates=0;
|
||||
$fehler=0;
|
||||
$message='';
|
||||
$message_lkt='';
|
||||
$lektoren=array();
|
||||
|
||||
//nur Synchronisieren wenn ein aktuelles Studiensemester existiert damit keine
|
||||
//Probleme durch die Vorrueckung entstehen
|
||||
$stsem = new studiensemester();
|
||||
if($stsem_kurzbz=$stsem->getakt())
|
||||
{
|
||||
//nur die Eintraege des aktuellen Studiensemesters syncen
|
||||
$qry = "SELECT distinct mdl_course_id FROM lehre.tbl_moodle
|
||||
WHERE studiensemester_kurzbz=".$db->db_add_param($stsem_kurzbz)."
|
||||
AND moodle_version='2.4'";
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$course = new moodle24_course();
|
||||
if($course->load($row->mdl_course_id))
|
||||
{
|
||||
$message_lkt='';
|
||||
//Lektoren
|
||||
$mdluser = new moodle24_user();
|
||||
$mitarbeiter = $mdluser->getMitarbeiter($row->mdl_course_id);
|
||||
|
||||
if($mdluser->sync_lektoren($row->mdl_course_id))
|
||||
{
|
||||
$sync_lektoren_gesamt+=$mdluser->sync_create;
|
||||
$group_updates+=$mdluser->group_update;
|
||||
if($mdluser->sync_create>0 || $mdluser->group_update>0)
|
||||
{
|
||||
$message.="\nKurs: $course->mdl_fullname ($course->mdl_shortname):\n".$mdluser->log."\n";
|
||||
$message_lkt.="\nKurs: $course->mdl_fullname ($course->mdl_shortname):\n".$mdluser->log_public."\n";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$message.="\nFehler: $mdluser->errormsg";
|
||||
$fehler++;
|
||||
}
|
||||
|
||||
//Studenten
|
||||
$mdluser = new moodle24_user();
|
||||
if($mdluser->sync_studenten($row->mdl_course_id))
|
||||
{
|
||||
$sync_studenten_gesamt+=$mdluser->sync_create;
|
||||
$group_updates+=$mdluser->group_update;
|
||||
if($mdluser->sync_create>0 || $mdluser->group_update>0)
|
||||
{
|
||||
$message.="\nKurs: $course->mdl_fullname ($course->mdl_shortname):\n".$mdluser->log."\n";
|
||||
$message_lkt.="\nKurs: $course->mdl_fullname ($course->mdl_shortname):\n".$mdluser->log_public."\n";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$message.="\nFehler: $mdluser->errormsg";
|
||||
$fehler++;
|
||||
}
|
||||
|
||||
foreach ($mitarbeiter as $uid)
|
||||
{
|
||||
if(!isset($lektoren[$uid]))
|
||||
$lektoren[$uid]='';
|
||||
$lektoren[$uid].=$message_lkt;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$message.="\nFehler: in der Tabelle lehre.tbl_moodle wird auf den Kurs $row->mdl_course_id verwiesen, dieser existiert jedoch nicht im Moodle!";
|
||||
$fehler++;
|
||||
}
|
||||
}
|
||||
|
||||
if($sync_lektoren_gesamt>0 || $sync_studenten_gesamt>0 || $fehler>0 || $group_updates>0)
|
||||
{
|
||||
//Mail an die Lektoren
|
||||
foreach ($lektoren as $uid=>$message_lkt)
|
||||
{
|
||||
if($message_lkt!='')
|
||||
{
|
||||
$header = "Dies ist eine automatische Mail!\n";
|
||||
$header.= "Es wurden folgende Aktualisierungen an Ihren Moodle-Kursen durchgeführt:\n\n";
|
||||
|
||||
$to = "$uid@".DOMAIN;
|
||||
//$to = 'oesi@technikum-wien.at';
|
||||
|
||||
$mail = new mail($to, 'vilesci@'.DOMAIN,'Moodle - Aktualisierungen',$header.$message_lkt);
|
||||
if($mail->send())
|
||||
echo "Mail wurde an $to versandt<br>";
|
||||
else
|
||||
echo "Fehler beim Senden des Mails an $to<br>";
|
||||
}
|
||||
}
|
||||
//Mail an Admin
|
||||
$header = "Dies ist eine automatische Mail!\n";
|
||||
$header.= "Folgende Syncros mit den MoodleKursen wurde durchgeführt:\n\n";
|
||||
$header.= "Anzahl der aktualisierten Lektoren: $sync_lektoren_gesamt\n";
|
||||
$header.= "Anzahl der aktualisierten Studenten: $sync_studenten_gesamt\n";
|
||||
$header.= "Anzahl der Fehler: $fehler\n";
|
||||
|
||||
$to = MAIL_ADMIN;
|
||||
//$to = 'oesi@technikum-wien.at';
|
||||
|
||||
$mail = new mail($to, 'vilesci@'.DOMAIN,'Moodle Syncro',$header.$message);
|
||||
if($mail->send())
|
||||
echo "Mail wurde an $to versandt:<br>".nl2br($header.$message);
|
||||
else
|
||||
echo "Fehler beim Senden des Mails an $to:<br>".nl2br($header.$message);
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'Alle Zuteilungen sind auf dem neuesten Stand';
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
echo 'Fehler bei Select:'.$qry;
|
||||
}
|
||||
}
|
||||
else
|
||||
echo "Kein aktuelles Studiensemester vorhanden->kein Syncro";
|
||||
?>
|
||||
@@ -24,8 +24,8 @@
|
||||
* wenn kein aktuelles Studiensemester vorhanden ist, wird NICHT Synchronisiert
|
||||
*/
|
||||
require_once('../../config/vilesci.config.inc.php');
|
||||
require_once('../../include/moodle_course.class.php');
|
||||
require_once('../../include/moodle_user.class.php');
|
||||
require_once('../../include/moodle19_course.class.php');
|
||||
require_once('../../include/moodle19_user.class.php');
|
||||
require_once('../../include/studiensemester.class.php');
|
||||
require_once('../../include/studiengang.class.php');
|
||||
require_once('../../include/mail.class.php');
|
||||
@@ -45,17 +45,19 @@ $stsem = new studiensemester();
|
||||
if($stsem_kurzbz=$stsem->getakt())
|
||||
{
|
||||
//nur die Eintraege des aktuellen Studiensemesters syncen
|
||||
$qry = "SELECT distinct mdl_course_id FROM lehre.tbl_moodle WHERE studiensemester_kurzbz='".addslashes($stsem_kurzbz)."'";
|
||||
$qry = "SELECT distinct mdl_course_id FROM lehre.tbl_moodle
|
||||
WHERE studiensemester_kurzbz=".$db->db_add_param($stsem_kurzbz)."
|
||||
AND moodle_version='1.9';";
|
||||
if($result = $db->db_query($qry))
|
||||
{
|
||||
while($row = $db->db_fetch_object($result))
|
||||
{
|
||||
$course = new moodle_course();
|
||||
$course = new moodle19_course();
|
||||
if($course->load($row->mdl_course_id))
|
||||
{
|
||||
$message_lkt='';
|
||||
//Lektoren
|
||||
$mdluser = new moodle_user();
|
||||
$mdluser = new moodle19_user();
|
||||
$mitarbeiter = $mdluser->getMitarbeiter($row->mdl_course_id);
|
||||
|
||||
if($mdluser->sync_lektoren($row->mdl_course_id))
|
||||
@@ -75,7 +77,7 @@ if($stsem_kurzbz=$stsem->getakt())
|
||||
}
|
||||
|
||||
//Studenten
|
||||
$mdluser = new moodle_user();
|
||||
$mdluser = new moodle19_user();
|
||||
if($mdluser->sync_studenten($row->mdl_course_id))
|
||||
{
|
||||
$sync_studenten_gesamt+=$mdluser->sync_create;
|
||||
@@ -154,4 +156,4 @@ if($stsem_kurzbz=$stsem->getakt())
|
||||
}
|
||||
else
|
||||
echo "Kein aktuelles Studiensemester vorhanden->kein Syncro";
|
||||
?>
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user