{"id":671,"date":"2009-07-14T16:31:57","date_gmt":"2009-07-14T15:31:57","guid":{"rendered":"http:\/\/www.bdjl.de\/localhost\/?p=671"},"modified":"2010-02-28T19:50:13","modified_gmt":"2010-02-28T18:50:13","slug":"moodle-mrbs-und-force-login","status":"publish","type":"post","link":"https:\/\/www.bdjl.de\/localhost\/?p=671","title":{"rendered":"Moodle, MRBS und force login"},"content":{"rendered":"<p>Ich will im n\u00e4chsten Schuljahr den Block MRBS im Moodle meiner Schule als Klassenarbeitsordner zur Verf\u00fcgung stellen. Dabei sollten die Sch\u00fcler\/innen nur sehen k\u00f6nnen, wann Sie eine KA schreiben und die Berichtsfunktion nutzen, die Lehrer\/innen sollten diese eintragen k\u00f6nnen und die Eltern sollten m\u00f6glichst ohne ihre Kinder nur lesenden Zugriff haben &#8211; nicht jedoch Zugriff auf die Berichtsfunktion.<\/p>\n<p>Leider fehlt eine solche Funktion im Add-on Paket zu Moodle. Dabei ist diese leicht nachzur\u00fcsten:<\/p>\n<p>Ich habe in der report.php nun das Folgende stehen (fett gedruckt sind meine Zugaben):<\/p>\n<blockquote><p>&lt;?php<br \/>\n# $Id: report.php,v 1.8 2008\/08\/17 23:07:29 arborrow Exp $<br \/>\nrequire_once(&#8222;..\/..\/..\/config.php&#8220;); \/\/for Moodle integration<br \/>\nrequire_once &#8222;grab_globals.inc.php&#8220;;<br \/>\ninclude &#8222;config.inc.php&#8220;;<br \/>\ninclude &#8222;functions.php&#8220;;<br \/>\ninclude &#8222;$dbsys.php&#8220;;<\/p>\n<p><strong>require_login();<\/strong><br \/>\n<strong>#<\/strong>if ($CFG-&gt;forcelogin) {<br \/>\n<strong>#<\/strong> require_login();<br \/>\n<strong>#<\/strong> }<\/p>\n<p>[&#8230;]<\/p><\/blockquote>\n<p>Das scheint reibungslos zu funktionieren. Wenn jemand auf den Schalter &#8222;Bericht&#8220; klickt, dann zwingt Moodle die Person zum Login. Da der Bericht die Funktion ist, mit der im MySQL Dummheiten gemacht werden k\u00f6nnten, bin ich damit wohl vorerst auf der sicheren Seite.<\/p>\n<p>Dieser Zwang zum Login k\u00f6nnte auch Teil der index.php werden, wenn MRBS f\u00fcr Fremde komplett unlesbar sein soll.<\/p>\n<blockquote><p>&lt;?php<\/p>\n<p># $Id: index.php,v 1.2 2007\/12\/28 05:53:06 arborrow Exp $<\/p>\n<p># Index is just a stub to redirect to the appropriate view<br \/>\n# as defined in config.inc.php using the variable $default_view<br \/>\n# If $default_room is defined in config.inc.php then this will<br \/>\n# be used to redirect to a particular room.<br \/>\nrequire_once(&#8222;..\/..\/..\/config.php&#8220;);; \/\/for Moodle integration<br \/>\nrequire_once &#8222;grab_globals.inc.php&#8220;;<br \/>\ninclude(&#8222;config.inc.php&#8220;);<br \/>\ninclude(&#8222;$dbsys.php&#8220;);<br \/>\n<strong>require_login();<\/strong><\/p>\n<p>[&#8230;]<strong><br \/>\n<\/strong><\/p><\/blockquote>\n<p>Noch was: Der Gastzugang muss dann ausgeschaltet sein &#8211; sonst k\u00f6nnen G\u00e4ste weiterhin den Bericht aufrufen, da diese dem System gegen\u00fcber keine Fremden mehr sind. Soll auch das verhindert werden, dann darf die Berichtsfunktion nur dem Admin allein zugeteilt werden.<\/p>\n<p>In die report.php geh\u00f6rt f\u00fcr diesen Fall der folgende Code:<\/p>\n<blockquote><p>[&#8230;]<\/p>\n<p>#check if user is admin<br \/>\nif( ! getAuthorised(2))<br \/>\n{<br \/>\nshowAccessDenied($day, $month, $year, $area);<br \/>\nexit();<br \/>\n}<\/p>\n<p>[&#8230;]<\/p><\/blockquote>\n<p>Selbstverst\u00e4ndlich darf das <strong>[&#8230;]<\/strong> in den Codeschnipseln jeweils NICHT mitkopiert werden &#8211; das steht hier nur, damit klar wird, dass die jeweilige Datei noch weitergeht.<\/p>\n<p>Mehr war das nicht. Garantie f\u00fcr die Sicherheit und Funktionsf\u00e4higkeit von MRBS und Moodle nach der Anwendung dieser Hacks \u00fcbernehme ich selbstverst\u00e4ndlich keine, die Anwendung erfolgt auf eigenes Risiko. Bei mir l\u00e4uft der Hack seit Juli 2009 ohne Probleme &#8211; bei \u00fcber 700 Buchungen im Monat.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ich will im n\u00e4chsten Schuljahr den Block MRBS im Moodle meiner Schule als Klassenarbeitsordner zur Verf\u00fcgung stellen. Dabei sollten die Sch\u00fcler\/innen nur sehen k\u00f6nnen, wann Sie eine KA schreiben und die Berichtsfunktion nutzen, die Lehrer\/innen sollten diese eintragen k\u00f6nnen und die Eltern sollten m\u00f6glichst ohne ihre Kinder nur lesenden Zugriff haben &#8211; nicht jedoch Zugriff [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[13,10],"tags":[],"class_list":["post-671","post","type-post","status-publish","format-standard","hentry","category-moodle","category-schule"],"_links":{"self":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/671","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=671"}],"version-history":[{"count":13,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/671\/revisions"}],"predecessor-version":[{"id":915,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=\/wp\/v2\/posts\/671\/revisions\/915"}],"wp:attachment":[{"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=671"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=671"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.bdjl.de\/localhost\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=671"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}